From: Ralf Jung Date: Fri, 20 Jul 2018 07:05:58 +0000 (+0200) Subject: more information on determinism of CTFE X-Git-Url: https://git.ralfj.de/web.git/commitdiff_plain/1791ac8836fd81beb1de51a98e01e6af78226639?hp=bceb52de08298f3180adaa14b6ea1a9fdeb2a5d8 more information on determinism of CTFE --- diff --git a/ralf/_posts/2018-07-19-const.md b/ralf/_posts/2018-07-19-const.md index 23e9325..2bcd009 100644 --- a/ralf/_posts/2018-07-19-const.md +++ b/ralf/_posts/2018-07-19-const.md @@ -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. +**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.*