diff options
Diffstat (limited to 'tests/ui/use/use-after-move-self-based-on-type.rs')
-rw-r--r-- | tests/ui/use/use-after-move-self-based-on-type.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/use/use-after-move-self-based-on-type.rs b/tests/ui/use/use-after-move-self-based-on-type.rs new file mode 100644 index 000000000..932583495 --- /dev/null +++ b/tests/ui/use/use-after-move-self-based-on-type.rs @@ -0,0 +1,21 @@ +struct S { + x: isize, +} + +impl Drop for S { + fn drop(&mut self) {} +} + +impl S { + pub fn foo(self) -> isize { + self.bar(); + return self.x; //~ ERROR use of moved value: `self` + } + + pub fn bar(self) {} +} + +fn main() { + let x = S { x: 1 }; + println!("{}", x.foo()); +} |