diff options
Diffstat (limited to 'src/test/ui/consts/issue-90762.rs')
-rw-r--r-- | src/test/ui/consts/issue-90762.rs | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/test/ui/consts/issue-90762.rs b/src/test/ui/consts/issue-90762.rs deleted file mode 100644 index 78d387386..000000000 --- a/src/test/ui/consts/issue-90762.rs +++ /dev/null @@ -1,31 +0,0 @@ -// run-pass -#![allow(unreachable_code)] - -use std::sync::atomic::{AtomicBool, Ordering, AtomicUsize}; - -struct Print(usize); - -impl Drop for Print { - fn drop(&mut self) { - println!("{}", self.0); - FOO[self.0].store(true, Ordering::Relaxed); - assert_eq!(BAR.fetch_sub(1, Ordering::Relaxed), self.0); - } -} - -const A: Print = Print(0); -const B: Print = Print(1); - -static FOO: [AtomicBool; 3] = - [AtomicBool::new(false), AtomicBool::new(false), AtomicBool::new(false)]; -static BAR: AtomicUsize = AtomicUsize::new(2); - -fn main() { - loop { - std::mem::forget(({ A }, B, Print(2), break)); - } - for (i, b) in FOO.iter().enumerate() { - assert!(b.load(Ordering::Relaxed), "{} not set", i); - } - assert_eq!(BAR.fetch_add(1, Ordering::Relaxed), usize::max_value()); -} |