about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-10-05 16:55:42 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-10-05 16:57:13 -0700
commit04497ea7b9b9598faa7456e7de1304e9118d2bb0 (patch)
tree9ee04dec89c90fbbba0ef544a24e0f0f887c902c /src/test
parentf8bc0d25455d7bfb299cd0e7693ee575f5dbce21 (diff)
downloadrust-04497ea7b9b9598faa7456e7de1304e9118d2bb0.tar.gz
rust-04497ea7b9b9598faa7456e7de1304e9118d2bb0.zip
rustc: Implement simple uses of &trait
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/trait-region-pointer-simple.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/run-pass/trait-region-pointer-simple.rs b/src/test/run-pass/trait-region-pointer-simple.rs
new file mode 100644
index 00000000000..dfcbfc3993f
--- /dev/null
+++ b/src/test/run-pass/trait-region-pointer-simple.rs
@@ -0,0 +1,21 @@
+trait Foo {
+    fn f() -> int;
+}
+
+struct A {
+    x: int
+}
+
+impl A : Foo {
+    fn f() -> int {
+        io::println(~"Today's number is " + self.x.to_str());
+        return self.x;
+    }
+}
+
+fn main() {
+    let a = A { x: 3 };
+    let b = (&a) as &Foo;
+    assert b.f() == 3;
+}
+