aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/obj-as.rs
blob: bbc37a975e393d386f1b4d896828069e865976ad (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
// xfail-boot
// xfail-boot
// xfail-stage0
// xfail-stage1
// xfail-stage2

obj big() {
  fn one() -> int { ret 1; }
  fn two() -> int { ret 2; }
  fn three() -> int { ret 3; }
}

type small = obj {
               fn one() -> int;
             };

fn main() {

  let big b = big();
  assert (b.one() == 1);
  assert (b.two() == 2);
  assert (b.three() == 3);

  let small s = b as small;
  assert (s.one() == 1);
}