diff options
Diffstat (limited to 'src/test/ui/nll/issue-21232-partial-init-and-erroneous-use.rs')
-rw-r--r-- | src/test/ui/nll/issue-21232-partial-init-and-erroneous-use.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/test/ui/nll/issue-21232-partial-init-and-erroneous-use.rs b/src/test/ui/nll/issue-21232-partial-init-and-erroneous-use.rs deleted file mode 100644 index 46a156d2a..000000000 --- a/src/test/ui/nll/issue-21232-partial-init-and-erroneous-use.rs +++ /dev/null @@ -1,60 +0,0 @@ -// This test enumerates various cases of interest where an ADT or tuple is -// partially initialized and then used in some way that is wrong *even* -// after rust-lang/rust#54987 is implemented. -// -// See rust-lang/rust#21232, rust-lang/rust#54986, and rust-lang/rust#54987. -// -// See issue-21232-partial-init-and-use.rs for cases of tests that are -// meant to compile and run successfully once rust-lang/rust#54987 is -// implemented. - -struct D { - x: u32, - s: S, -} - -struct S { - y: u32, - z: u32, -} - - -impl Drop for D { - fn drop(&mut self) { } -} - -fn cannot_partially_init_adt_with_drop() { - let d: D; - d.x = 10; //~ ERROR E0381 -} - -fn cannot_partially_init_mutable_adt_with_drop() { - let mut d: D; - d.x = 10; //~ ERROR E0381 -} - -fn cannot_partially_reinit_adt_with_drop() { - let mut d = D { x: 0, s: S{ y: 0, z: 0 } }; - drop(d); - d.x = 10; - //~^ ERROR assign of moved value: `d` [E0382] -} - -fn cannot_partially_init_inner_adt_via_outer_with_drop() { - let d: D; - d.s.y = 20; //~ ERROR E0381 -} - -fn cannot_partially_init_inner_adt_via_mutable_outer_with_drop() { - let mut d: D; - d.s.y = 20; //~ ERROR E0381 -} - -fn cannot_partially_reinit_inner_adt_via_outer_with_drop() { - let mut d = D { x: 0, s: S{ y: 0, z: 0} }; - drop(d); - d.s.y = 20; - //~^ ERROR assign to part of moved value: `d` [E0382] -} - -fn main() { } |