about summary refs log tree commit diff
path: root/src/test/ui/issues
diff options
context:
space:
mode:
authorreez12g <reez12g@gmail.com>2022-02-22 08:37:52 +0900
committerMark Rousskov <mark.simulacrum@gmail.com>2022-03-03 22:41:27 -0500
commitbca67fe02f010754b5522c2c6234375cffa66b81 (patch)
treebd94d4205ae556425b5d4f2cc7a9d0e122dcb94c /src/test/ui/issues
parent6d7684101a51f1c375ec84aef5d2fbdeb214bbc2 (diff)
downloadrust-bca67fe02f010754b5522c2c6234375cffa66b81.tar.gz
rust-bca67fe02f010754b5522c2c6234375cffa66b81.zip
Add #[track_caller] to track callers when initializing poisoned Once
Diffstat (limited to 'src/test/ui/issues')
-rw-r--r--src/test/ui/issues/issue-87707.rs15
-rw-r--r--src/test/ui/issues/issue-87707.run.stderr3
2 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-87707.rs b/src/test/ui/issues/issue-87707.rs
new file mode 100644
index 00000000000..d2e9343f86c
--- /dev/null
+++ b/src/test/ui/issues/issue-87707.rs
@@ -0,0 +1,15 @@
+// test for #87707
+// edition:2018
+// run-fail
+// check-run-results
+
+use std::sync::Once;
+use std::panic;
+
+fn main() {
+    let o = Once::new();
+    let _ = panic::catch_unwind(|| {
+        o.call_once(|| panic!("Here Once instance is poisoned."));
+    });
+    o.call_once(|| {});
+}
diff --git a/src/test/ui/issues/issue-87707.run.stderr b/src/test/ui/issues/issue-87707.run.stderr
new file mode 100644
index 00000000000..8f82ccc0c2a
--- /dev/null
+++ b/src/test/ui/issues/issue-87707.run.stderr
@@ -0,0 +1,3 @@
+thread 'main' panicked at 'Here Once instance is poisoned.', $DIR/issue-87707.rs:12:24
+note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
+thread 'main' panicked at 'Once instance has previously been poisoned', $DIR/issue-87707.rs:14:7