]> git.proxmox.com Git - rustc.git/blob - src/test/ui/self/suggest-self.rs
New upstream version 1.31.0~beta.4+dfsg1
[rustc.git] / src / test / ui / self / suggest-self.rs
1 // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 struct Foo {
12 x: i32,
13 }
14
15 impl Foo {
16 fn this1(&self) -> i32 {
17 let this = self;
18 let a = 1;
19 this.x
20 }
21
22 fn this2(&self) -> i32 {
23 let a = Foo {
24 x: 2
25 };
26 let this = a;
27 this.x
28 }
29
30 fn foo(&self) -> i32 {
31 this.x
32 //~^ ERROR cannot find value `this` in this scope
33 }
34
35 fn bar(&self) -> i32 {
36 this.foo()
37 //~^ ERROR cannot find value `this` in this scope
38 }
39
40 fn baz(&self) -> i32 {
41 my.bar()
42 //~^ ERROR cannot find value `my` in this scope
43 }
44 }
45
46 fn main() {
47 let this = vec![1, 2, 3];
48 let my = vec![1, 2, 3];
49 let len = this.len();
50 let len = my.len();
51 }
52