diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/run-pass/max-min-classes.rs | 30 |
1 files changed, 30 insertions, 0 deletions
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 00000000000..61e4bc047f4 --- /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())); +} + |
