about summary refs log tree commit diff
path: root/src/test/ui/threads-sendsync/tls-init-on-init.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/threads-sendsync/tls-init-on-init.rs')
-rw-r--r--src/test/ui/threads-sendsync/tls-init-on-init.rs44
1 files changed, 0 insertions, 44 deletions
diff --git a/src/test/ui/threads-sendsync/tls-init-on-init.rs b/src/test/ui/threads-sendsync/tls-init-on-init.rs
deleted file mode 100644
index 193c1815105..00000000000
--- a/src/test/ui/threads-sendsync/tls-init-on-init.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-// run-pass
-#![allow(stable_features)]
-
-// ignore-emscripten no threads support
-
-#![feature(thread_local_try_with)]
-
-use std::thread;
-use std::sync::atomic::{AtomicUsize, Ordering};
-
-struct Foo { cnt: usize }
-
-thread_local!(static FOO: Foo = Foo::init());
-
-static CNT: AtomicUsize = AtomicUsize::new(0);
-
-impl Foo {
-    fn init() -> Foo {
-        let cnt = CNT.fetch_add(1, Ordering::SeqCst);
-        if cnt == 0 {
-            FOO.with(|_| {});
-        }
-        Foo { cnt: cnt }
-    }
-}
-
-impl Drop for Foo {
-    fn drop(&mut self) {
-        if self.cnt == 1 {
-            FOO.with(|foo| assert_eq!(foo.cnt, 0));
-        } else {
-            assert_eq!(self.cnt, 0);
-            if FOO.try_with(|_| ()).is_ok() {
-                panic!("should not be in valid state");
-            }
-        }
-    }
-}
-
-fn main() {
-    thread::spawn(|| {
-        FOO.with(|_| {});
-    }).join().unwrap();
-}