Skip to content

Commit afcd33a

Browse files
committed
Add regression test
1 parent 9add632 commit afcd33a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/test/ui/consts/issue-90762.rs

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// run-pass
2+
#![allow(unreachable_code)]
3+
4+
use std::sync::atomic::{AtomicBool, Ordering};
5+
6+
struct Print(usize);
7+
8+
impl Drop for Print {
9+
fn drop(&mut self) {
10+
FOO[self.0].store(true, Ordering::Relaxed);
11+
}
12+
}
13+
14+
const A: Print = Print(0);
15+
const B: Print = Print(1);
16+
17+
static FOO: [AtomicBool; 3] = [AtomicBool::new(false), AtomicBool::new(false), AtomicBool::new(false)];
18+
19+
fn main() {
20+
loop {
21+
std::mem::forget(({A}, B, Print(2), break));
22+
}
23+
for (i, b) in FOO.iter().enumerate() {
24+
assert!(b.load(Ordering::Relaxed), "{} not set", i);
25+
}
26+
}

0 commit comments

Comments
 (0)