diff options
Diffstat (limited to 'src/test/ui/consts/const-eval/nrvo.rs')
-rw-r--r-- | src/test/ui/consts/const-eval/nrvo.rs | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/test/ui/consts/const-eval/nrvo.rs b/src/test/ui/consts/const-eval/nrvo.rs deleted file mode 100644 index 1d2c6acc0..000000000 --- a/src/test/ui/consts/const-eval/nrvo.rs +++ /dev/null @@ -1,26 +0,0 @@ -// run-pass - -// When the NRVO is applied, the return place (`_0`) gets treated like a normal local. For example, -// its address may be taken and it may be written to indirectly. Ensure that MIRI can handle this. - -#![feature(const_mut_refs)] - -#[inline(never)] // Try to ensure that MIR optimizations don't optimize this away. -const fn init(buf: &mut [u8; 1024]) { - buf[33] = 3; - buf[444] = 4; -} - -const fn nrvo() -> [u8; 1024] { - let mut buf = [0; 1024]; - init(&mut buf); - buf -} - -const BUF: [u8; 1024] = nrvo(); - -fn main() { - assert_eq!(BUF[33], 3); - assert_eq!(BUF[19], 0); - assert_eq!(BUF[444], 4); -} |