summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/issue-83760.rs
blob: e25b4f727856e54d39b84003a663b025947692d2 (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
28
29
30
31
32
33
34
35
36
37
38
39
40
struct Struct;

fn test1() {
    let mut val = Some(Struct);
    while let Some(foo) = val { //~ ERROR use of moved value
        if true {
            val = None;
        } else {

        }
    }
}

fn test2() {
    let mut foo = Some(Struct);
    let _x = foo.unwrap();
    if true {
        foo = Some(Struct);
    } else {
    }
    let _y = foo; //~ ERROR use of moved value: `foo`
}

fn test3() {
    let mut foo = Some(Struct);
    let _x = foo.unwrap();
    if true {
        foo = Some(Struct);
    } else if true {
        foo = Some(Struct);
    } else if true {
        foo = Some(Struct);
    } else if true {
        foo = Some(Struct);
    } else {
    }
    let _y = foo; //~ ERROR use of moved value: `foo`
}

fn main() {}