Skip to content

Commit

Permalink
Reorder tests in panic-uninit-zeroed
Browse files Browse the repository at this point in the history
  • Loading branch information
nico-abram committed Nov 22, 2020
1 parent 2af9121 commit a6f7780
Showing 1 changed file with 54 additions and 43 deletions.
97 changes: 54 additions & 43 deletions src/test/ui/intrinsics/panic-uninitialized-zeroed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,20 +66,20 @@ fn main() {
"attempted to instantiate uninhabited type `!`"
);
test_panic_msg(
|| mem::uninitialized::<[!; 2]>(),
"attempted to instantiate uninhabited type `[!; 2]`"
|| mem::zeroed::<!>(),
"attempted to instantiate uninhabited type `!`"
);
test_panic_msg(
|| mem::zeroed::<!>(),
|| MaybeUninit::<!>::uninit().assume_init(),
"attempted to instantiate uninhabited type `!`"
);
test_panic_msg(
|| mem::zeroed::<[!; 2]>(),
|| mem::uninitialized::<[!; 2]>(),
"attempted to instantiate uninhabited type `[!; 2]`"
);
test_panic_msg(
|| MaybeUninit::<!>::uninit().assume_init(),
"attempted to instantiate uninhabited type `!`"
|| mem::zeroed::<[!; 2]>(),
"attempted to instantiate uninhabited type `[!; 2]`"
);
test_panic_msg(
|| MaybeUninit::<[!; 2]>::uninit().assume_init(),
Expand All @@ -91,20 +91,20 @@ fn main() {
"attempted to instantiate uninhabited type `Foo`"
);
test_panic_msg(
|| mem::uninitialized::<[Foo; 2]>(),
"attempted to instantiate uninhabited type `[Foo; 2]`"
|| mem::zeroed::<Foo>(),
"attempted to instantiate uninhabited type `Foo`"
);
test_panic_msg(
|| mem::zeroed::<Foo>(),
|| MaybeUninit::<Foo>::uninit().assume_init(),
"attempted to instantiate uninhabited type `Foo`"
);
test_panic_msg(
|| mem::zeroed::<[Foo; 2]>(),
|| mem::uninitialized::<[Foo; 2]>(),
"attempted to instantiate uninhabited type `[Foo; 2]`"
);
test_panic_msg(
|| MaybeUninit::<Foo>::uninit().assume_init(),
"attempted to instantiate uninhabited type `Foo`"
|| mem::zeroed::<[Foo; 2]>(),
"attempted to instantiate uninhabited type `[Foo; 2]`"
);
test_panic_msg(
|| MaybeUninit::<[Foo; 2]>::uninit().assume_init(),
Expand All @@ -116,20 +116,20 @@ fn main() {
"attempted to instantiate uninhabited type `Bar`"
);
test_panic_msg(
|| mem::uninitialized::<[Bar; 4]>(),
"attempted to instantiate uninhabited type `[Bar; 4]`"
|| mem::zeroed::<Bar>(),
"attempted to instantiate uninhabited type `Bar`"
);
test_panic_msg(
|| mem::zeroed::<Bar>(),
|| MaybeUninit::<Bar>::uninit().assume_init(),
"attempted to instantiate uninhabited type `Bar`"
);
test_panic_msg(
|| mem::zeroed::<[Bar; 4]>(),
|| mem::uninitialized::<[Bar; 4]>(),
"attempted to instantiate uninhabited type `[Bar; 4]`"
);
test_panic_msg(
|| MaybeUninit::<Bar>::uninit().assume_init(),
"attempted to instantiate uninhabited type `Bar`"
|| mem::zeroed::<[Bar; 4]>(),
"attempted to instantiate uninhabited type `[Bar; 4]`"
);
test_panic_msg(
|| MaybeUninit::<[Bar; 4]>::uninit().assume_init(),
Expand All @@ -141,14 +141,14 @@ fn main() {
|| mem::uninitialized::<fn()>(),
"attempted to leave type `fn()` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[fn(); 2]>(),
"attempted to leave type `[fn(); 2]` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::zeroed::<fn()>(),
"attempted to zero-initialize type `fn()`, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[fn(); 2]>(),
"attempted to leave type `[fn(); 2]` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::zeroed::<[fn(); 2]>(),
"attempted to zero-initialize type `[fn(); 2]`, which is invalid"
Expand All @@ -158,17 +158,19 @@ fn main() {
|| mem::uninitialized::<*const dyn Send>(),
"attempted to leave type `*const dyn std::marker::Send` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[*const dyn Send; 2]>(),
"attempted to leave type `[*const dyn std::marker::Send; 2]` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::zeroed::<*const dyn Send>(),
"attempted to zero-initialize type `*const dyn std::marker::Send`, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[*const dyn Send; 2]>(),
"attempted to leave type `[*const dyn std::marker::Send; 2]` uninitialized, \
which is invalid"
);
test_panic_msg(
|| mem::zeroed::<[*const dyn Send; 2]>(),
"attempted to zero-initialize type `[*const dyn std::marker::Send; 2]`, which is invalid"
"attempted to zero-initialize type `[*const dyn std::marker::Send; 2]`, \
which is invalid"
);

/* FIXME(#66151) we conservatively do not error here yet.
Expand Down Expand Up @@ -199,13 +201,13 @@ fn main() {
which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[(NonNull<u32>, u32, u32); 2]>(),
"attempted to leave type `[(std::ptr::NonNull<u32>, u32, u32); 2]` uninitialized, \
|| mem::zeroed::<(NonNull<u32>, u32, u32)>(),
"attempted to zero-initialize type `(std::ptr::NonNull<u32>, u32, u32)`, \
which is invalid"
);
test_panic_msg(
|| mem::zeroed::<(NonNull<u32>, u32, u32)>(),
"attempted to zero-initialize type `(std::ptr::NonNull<u32>, u32, u32)`, \
|| mem::uninitialized::<[(NonNull<u32>, u32, u32); 2]>(),
"attempted to leave type `[(std::ptr::NonNull<u32>, u32, u32); 2]` uninitialized, \
which is invalid"
);
test_panic_msg(
Expand All @@ -220,13 +222,13 @@ fn main() {
which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[OneVariant_NonZero; 2]>(),
"attempted to leave type `[OneVariant_NonZero; 2]` uninitialized, \
|| mem::zeroed::<OneVariant_NonZero>(),
"attempted to zero-initialize type `OneVariant_NonZero`, \
which is invalid"
);
test_panic_msg(
|| mem::zeroed::<OneVariant_NonZero>(),
"attempted to zero-initialize type `OneVariant_NonZero`, \
|| mem::uninitialized::<[OneVariant_NonZero; 2]>(),
"attempted to leave type `[OneVariant_NonZero; 2]` uninitialized, \
which is invalid"
);
test_panic_msg(
Expand All @@ -241,13 +243,13 @@ fn main() {
which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[NoNullVariant; 2]>(),
"attempted to leave type `[NoNullVariant; 2]` uninitialized, \
|| mem::zeroed::<NoNullVariant>(),
"attempted to zero-initialize type `NoNullVariant`, \
which is invalid"
);
test_panic_msg(
|| mem::zeroed::<NoNullVariant>(),
"attempted to zero-initialize type `NoNullVariant`, \
|| mem::uninitialized::<[NoNullVariant; 2]>(),
"attempted to leave type `[NoNullVariant; 2]` uninitialized, \
which is invalid"
);
test_panic_msg(
Expand All @@ -261,10 +263,6 @@ fn main() {
|| mem::uninitialized::<bool>(),
"attempted to leave type `bool` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[bool; 2]>(),
"attempted to leave type `[bool; 2]` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<LR>(),
"attempted to leave type `LR` uninitialized, which is invalid"
Expand All @@ -273,6 +271,19 @@ fn main() {
|| mem::uninitialized::<ManuallyDrop<LR>>(),
"attempted to leave type `std::mem::ManuallyDrop<LR>` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[bool; 2]>(),
"attempted to leave type `[bool; 2]` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[LR; 2]>(),
"attempted to leave type `[LR; 2]` uninitialized, which is invalid"
);
test_panic_msg(
|| mem::uninitialized::<[ManuallyDrop<LR>; 2]>(),
"attempted to leave type `[std::mem::ManuallyDrop<LR>; 2]` uninitialized, \
which is invalid"
);

// Some things that should work.
let _val = mem::zeroed::<bool>();
Expand Down

0 comments on commit a6f7780

Please sign in to comment.