diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/moves/moves-based-on-type-access-to-field.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/moves/moves-based-on-type-access-to-field.rs b/src/test/ui/moves/moves-based-on-type-access-to-field.rs new file mode 100644 index 000000000..e2003ed6e --- /dev/null +++ b/src/test/ui/moves/moves-based-on-type-access-to-field.rs @@ -0,0 +1,14 @@ +// Tests that if you move from `x.f` or `x[0]`, `x` is inaccessible. +// Also tests that we give a more specific error message. + +struct Foo { f: String, y: isize } +fn consume(_s: String) {} +fn touch<A>(_a: &A) {} + +fn f20() { + let x = vec!["hi".to_string()]; + consume(x.into_iter().next().unwrap()); + touch(&x[0]); //~ ERROR borrow of moved value: `x` +} + +fn main() {} |