diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/suggestions/for-i-in-vec.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/for-i-in-vec.rs b/src/test/ui/suggestions/for-i-in-vec.rs new file mode 100644 index 000000000..55fc7ad4e --- /dev/null +++ b/src/test/ui/suggestions/for-i-in-vec.rs @@ -0,0 +1,27 @@ +// run-rustfix +#![allow(dead_code)] + +struct Foo { + v: Vec<u32>, + h: std::collections::HashMap<i32, i32>, +} + +impl Foo { + fn bar(&self) { + for _ in self.v { //~ ERROR cannot move out of `self.v` which is behind a shared reference + } + for _ in self.h { //~ ERROR cannot move out of `self.h` which is behind a shared reference + } + } +} + +const LOADERS: &Vec<&'static u8> = &Vec::new(); + +pub fn break_code() -> Option<&'static u8> { + for loader in *LOADERS { //~ ERROR cannot move out of a shared reference + return Some(loader); + } + None +} + +fn main() {} |