summaryrefslogtreecommitdiffstats
path: root/tests/ui/self/suggest-self.rs
blob: 1cc17116ea7f7abec0dbfda4625fc522fa3491c7 (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
41
struct Foo {
    x: i32,
}

impl Foo {
    fn this1(&self) -> i32 {
        let this = self;
        let a = 1;
        this.x
    }

    fn this2(&self) -> i32 {
        let a = Foo {
            x: 2
        };
        let this = a;
        this.x
    }

    fn foo(&self) -> i32 {
        this.x
        //~^ ERROR cannot find value `this` in this scope
    }

    fn bar(&self) -> i32 {
        this.foo()
        //~^ ERROR cannot find value `this` in this scope
    }

    fn baz(&self) -> i32 {
        my.bar()
        //~^ ERROR cannot find value `my` in this scope
    }
}

fn main() {
    let this = vec![1, 2, 3];
    let my = vec![1, 2, 3];
    let len = this.len();
    let len = my.len();
}