2011-06-15 13:19:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-25 14:19:20 -05:00
|
|
|
// xfail-stage0
|
2011-05-03 20:13:51 -05:00
|
|
|
// xfail-stage1
|
|
|
|
// xfail-stage2
|
2010-06-23 23:03:09 -05:00
|
|
|
obj big() {
|
2011-06-15 13:19:50 -05:00
|
|
|
fn one() -> int { ret 1; }
|
|
|
|
fn two() -> int { ret 2; }
|
|
|
|
fn three() -> int { ret 3; }
|
2010-06-23 23:03:09 -05:00
|
|
|
}
|
|
|
|
|
2011-06-15 13:19:50 -05:00
|
|
|
type small =
|
|
|
|
obj {
|
|
|
|
fn one() -> int ;
|
|
|
|
};
|
2010-06-23 23:03:09 -05:00
|
|
|
|
|
|
|
fn main() {
|
2011-06-15 13:19:50 -05:00
|
|
|
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);
|
2010-06-23 23:03:09 -05:00
|
|
|
}
|