2018-09-30 06:09:34 -05:00
|
|
|
struct Foo {
|
|
|
|
x: i32,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Foo {
|
2018-09-30 07:48:28 -05:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2018-09-30 06:09:34 -05:00
|
|
|
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()
|
2018-09-30 07:48:28 -05:00
|
|
|
//~^ ERROR cannot find value `my` in this scope
|
2018-09-30 06:09:34 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let this = vec![1, 2, 3];
|
|
|
|
let my = vec![1, 2, 3];
|
|
|
|
let len = this.len();
|
|
|
|
let len = my.len();
|
|
|
|
}
|