diff options
| author | 5225225 <5225225@mailbox.org> | 2022-07-04 23:57:41 +0100 |
|---|---|---|
| committer | 5225225 <5225225@mailbox.org> | 2022-08-26 21:13:33 +0100 |
| commit | 3e567bcd4f32d413770d464192a2ed6ee636883b (patch) | |
| tree | cadf26abf4f3f715ba8615390b0183f45b1193cd /src/test/ui/lint/uninitialized-zeroed.rs | |
| parent | 450e99f93795c81c1f2d10be27fb3a98be5b0cfc (diff) | |
| download | rust-3e567bcd4f32d413770d464192a2ed6ee636883b.tar.gz rust-3e567bcd4f32d413770d464192a2ed6ee636883b.zip | |
Make invalid-value trigger on uninit primitives
Diffstat (limited to 'src/test/ui/lint/uninitialized-zeroed.rs')
| -rw-r--r-- | src/test/ui/lint/uninitialized-zeroed.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/test/ui/lint/uninitialized-zeroed.rs b/src/test/ui/lint/uninitialized-zeroed.rs index 5cd323c01db..2d1ee6492af 100644 --- a/src/test/ui/lint/uninitialized-zeroed.rs +++ b/src/test/ui/lint/uninitialized-zeroed.rs @@ -100,6 +100,9 @@ fn main() { let _val: [bool; 2] = mem::zeroed(); let _val: [bool; 2] = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized + let _val: i32 = mem::zeroed(); + let _val: i32 = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized + // Transmute-from-0 let _val: &'static i32 = mem::transmute(0usize); //~ ERROR: does not permit zero-initialization let _val: &'static [i32] = mem::transmute((0usize, 0usize)); //~ ERROR: does not permit zero-initialization @@ -114,13 +117,12 @@ fn main() { let _val: Option<&'static i32> = mem::zeroed(); let _val: Option<fn()> = mem::zeroed(); let _val: MaybeUninit<&'static i32> = mem::zeroed(); - let _val: i32 = mem::zeroed(); let _val: bool = MaybeUninit::zeroed().assume_init(); let _val: [bool; 0] = MaybeUninit::uninit().assume_init(); let _val: [!; 0] = MaybeUninit::zeroed().assume_init(); + // Some things that happen to work due to rustc implementation details, // but are not guaranteed to keep working. - let _val: i32 = mem::uninitialized(); let _val: OneFruit = mem::uninitialized(); } } |
