//@ run-rustfix #![allow(dead_code)] struct Foo { v: Vec, h: std::collections::HashMap, } 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() {}