summaryrefslogtreecommitdiffstats
path: root/src/test/ui/structs-enums/struct-order-of-eval-4.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/structs-enums/struct-order-of-eval-4.rs')
-rw-r--r--src/test/ui/structs-enums/struct-order-of-eval-4.rs34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/test/ui/structs-enums/struct-order-of-eval-4.rs b/src/test/ui/structs-enums/struct-order-of-eval-4.rs
deleted file mode 100644
index 547df6318..000000000
--- a/src/test/ui/structs-enums/struct-order-of-eval-4.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// run-pass
-// Checks that struct-literal expression order-of-eval is as expected
-// even when no Drop-implementations are involved.
-
-use std::sync::atomic::{Ordering, AtomicUsize};
-
-struct W { wrapped: u32 }
-struct S { f0: W, _f1: i32 }
-
-pub fn main() {
- const VAL: u32 = 0x89AB_CDEF;
- let w = W { wrapped: VAL };
- let s = S {
- _f1: { event(0x01); 23 },
- f0: { event(0x02); w },
- };
- assert_eq!(s.f0.wrapped, VAL);
- let actual = event_log();
- let expect = 0x01_02;
- assert!(expect == actual,
- "expect: 0x{:x} actual: 0x{:x}", expect, actual);
-}
-
-static LOG: AtomicUsize = AtomicUsize::new(0);
-
-fn event_log() -> usize {
- LOG.load(Ordering::SeqCst)
-}
-
-fn event(tag: u8) {
- let old_log = LOG.load(Ordering::SeqCst);
- let new_log = (old_log << 8) + tag as usize;
- LOG.store(new_log, Ordering::SeqCst);
-}