about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--library/core/tests/mem.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/library/core/tests/mem.rs b/library/core/tests/mem.rs
index 59588d97787..7822c69d10b 100644
--- a/library/core/tests/mem.rs
+++ b/library/core/tests/mem.rs
@@ -129,3 +129,21 @@ fn test_discriminant_send_sync() {
     is_send_sync::<Discriminant<Regular>>();
     is_send_sync::<Discriminant<NotSendSync>>();
 }
+
+#[test]
+fn assume_init_good() {
+    const TRUE: bool = {
+        let mut x = MaybeUninit::<bool>::uninit();
+        x.as_mut_ptr().write(true);
+        x.assume_init()
+    };
+    assert!(TRUE);
+}
+
+#[test]
+#[should_panic]
+fn assume_init_bad() {
+    const BAD: () = {
+        MaybeUninit::<!>::uninit().assume_init();
+    };
+}