File tree 1 file changed +5
-0
lines changed
1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -58,6 +58,11 @@ is actually accepted by the compiler because we know that there is no
58
58
59
59
* Dynamic check.* The Miri engine enforces this dynamically by ensuring that the
60
60
new data that is interned for a constant is all marked as immutable.
61
+ (Except for
62
+ [ data inside promoteds] ( https://github.com/rust-lang/rust/blob/d538b80ad77949e46989cd355cdec193b574f052/src/librustc_mir/interpret/intern.rs#L363-L367 )
63
+ which cannot easily be checked, and is thus just * marked* as immutable because
64
+ it descends from a shared reference subject to the strict syntactic checks of
65
+ lifetime extension.)
61
66
62
67
Note that a constant * referring to* some already existing mutable memory is
63
68
fine: inlining that reference everywhere has the same behavior as computing a
You can’t perform that action at this time.
0 commit comments