summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/const-eval/nrvo.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/const-eval/nrvo.rs')
-rw-r--r--src/test/ui/consts/const-eval/nrvo.rs26
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);
-}