diff options
Diffstat (limited to 'tests/ui/self/suggest-self.rs')
-rw-r--r-- | tests/ui/self/suggest-self.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/ui/self/suggest-self.rs b/tests/ui/self/suggest-self.rs new file mode 100644 index 000000000..1cc17116e --- /dev/null +++ b/tests/ui/self/suggest-self.rs @@ -0,0 +1,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(); +} |