diff options
Diffstat (limited to 'src/test/run-pass-valgrind/down-with-thread-dtors.rs')
-rw-r--r-- | src/test/run-pass-valgrind/down-with-thread-dtors.rs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/test/run-pass-valgrind/down-with-thread-dtors.rs b/src/test/run-pass-valgrind/down-with-thread-dtors.rs deleted file mode 100644 index 8531b8d83..000000000 --- a/src/test/run-pass-valgrind/down-with-thread-dtors.rs +++ /dev/null @@ -1,39 +0,0 @@ -// ignore-emscripten - -thread_local!(static FOO: Foo = Foo); -thread_local!(static BAR: Bar = Bar(1)); -thread_local!(static BAZ: Baz = Baz); - -static mut HIT: bool = false; - -struct Foo; -struct Bar(i32); -struct Baz; - -impl Drop for Foo { - fn drop(&mut self) { - BAR.with(|_| {}); - } -} - -impl Drop for Bar { - fn drop(&mut self) { - assert_eq!(self.0, 1); - self.0 = 2; - BAZ.with(|_| {}); - assert_eq!(self.0, 2); - } -} - -impl Drop for Baz { - fn drop(&mut self) { - unsafe { HIT = true; } - } -} - -fn main() { - std::thread::spawn(|| { - FOO.with(|_| {}); - }).join().unwrap(); - assert!(unsafe { HIT }); -} |