summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/for-i-in-vec.rs
blob: 55fc7ad4e373dc4b8430e0a91519b3eac646b688 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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() {}