diff --git a/src/test/run-pass/max-min-classes.rs b/src/test/run-pass/max-min-classes.rs new file mode 100644 index 0000000000000..61e4bc047f498 --- /dev/null +++ b/src/test/run-pass/max-min-classes.rs @@ -0,0 +1,30 @@ +trait Product { + fn product() -> int; +} + +struct Foo { + x: int; + y: int; +} + +impl Foo { + fn sum() -> int { + self.x + self.y + } +} + +impl Foo : Product { + fn product() -> int { + self.x * self.y + } +} + +fn Foo(x: int, y: int) -> Foo { + Foo { x: x, y: y } +} + +fn main() { + let foo = Foo(3, 20); + io::println(#fmt("%d %d", foo.sum(), foo.product())); +} +