about summary refs log tree commit diff
path: root/tests/ui/suggestions/for-i-in-vec.fixed
blob: 17ae6fb5ab706fb685fbccd566731a5caf5a790a (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.clone() { //~ ERROR cannot move out of `self.v` which is behind a shared reference
        }
        for _ in &self.h.clone() { //~ 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.clone() { //~ ERROR cannot move out of a shared reference
        return Some(loader);
    }
    None
}

fn main() {}