more information on determinism of CTFE
authorRalf Jung <post@ralfj.de>
Fri, 20 Jul 2018 07:05:58 +0000 (09:05 +0200)
committerRalf Jung <post@ralfj.de>
Fri, 20 Jul 2018 07:05:58 +0000 (09:05 +0200)
personal/_posts/2018-07-19-const.md

index 23e9325ba43555e8b20de0e12f2b0f7783887fc7..2bcd00967f9f58bcaa2f6d3b35fb0ff40c59f828 100644 (file)
@@ -39,6 +39,7 @@ Clearly, we don't want CTFE to have actually observable side-effects outside of
 
 In fact, just naively letting programs read files would also be grossly unsafe:
 When computing the length of an array twice, it is important that we obtain the same result.
 
 In fact, just naively letting programs read files would also be grossly unsafe:
 When computing the length of an array twice, it is important that we obtain the same result.
+**Update:** As @eddyb points out, things get even worse once you consider const generics, traits, and coherence: At that point, you have to [rely on evaluating the same expression in different crates to produce the same result](https://internals.rust-lang.org/t/mir-constant-evaluation/3143/47). **/Update**
 
 > *CTFE must be deterministic.*
 
 
 > *CTFE must be deterministic.*