summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/min_const_fn/min_const_fn_libstd.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/min_const_fn/min_const_fn_libstd.rs')
-rw-r--r--src/test/ui/consts/min_const_fn/min_const_fn_libstd.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/consts/min_const_fn/min_const_fn_libstd.rs b/src/test/ui/consts/min_const_fn/min_const_fn_libstd.rs
new file mode 100644
index 000000000..cb8f74186
--- /dev/null
+++ b/src/test/ui/consts/min_const_fn/min_const_fn_libstd.rs
@@ -0,0 +1,26 @@
+// build-pass (FIXME(62277): could be check-pass?)
+
+use std::cell::UnsafeCell;
+use std::sync::atomic::AtomicU32;
+pub struct Condvar {
+ condvar: UnsafeCell<AtomicU32>,
+}
+
+unsafe impl Send for Condvar {}
+unsafe impl Sync for Condvar {}
+
+#[repr(C)]
+#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
+struct NoWait(u32);
+
+const CONDVAR_HAS_NO_WAITERS: NoWait = NoWait(42);
+
+impl Condvar {
+ pub const fn new() -> Condvar {
+ Condvar {
+ condvar: UnsafeCell::new(AtomicU32::new(CONDVAR_HAS_NO_WAITERS.0)),
+ }
+ }
+}
+
+fn main() {}