aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/obj-self-3.rs
blob: 1053029ed52e5641a768dcc329223cfacaf2b273 (plain) (blame)
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
// xfail-boot
fn main() {

  obj foo() {
      fn m1(int i) -> int {
          i += 1;
          ret i;
      }
      fn m2(int i) -> int {
          ret self.m1(i);
      }
      fn m3(int i) -> int {
          i += 1;
          ret self.m1(i);
      }
  }
  
  auto a = foo();
  let int i = 0;

  i = a.m1(i);
  assert (i == 1);
  i = a.m2(i);
  assert (i == 2);
  i = a.m3(i);
  assert (i == 4);
}