summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2012-01-12 16:57:30 +0100
committerMarijn Haverbeke <marijnh@gmail.com>2012-01-12 16:57:58 +0100
commit56fe4c2681f7ef467d8b3405279acbcfc6b0ebcf (patch)
tree954d173194466acc35049717b95b5466af407d38 /src/test
parentca72a8300b2781b8267e0afffcc5a7692c25d366 (diff)
downloadrust-56fe4c2681f7ef467d8b3405279acbcfc6b0ebcf.tar.gz
rust-56fe4c2681f7ef467d8b3405279acbcfc6b0ebcf.zip
Implement passing cast-to-vtable values as bounded params
Closes #1492
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/iface-cast.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/test/run-pass/iface-cast.rs b/src/test/run-pass/iface-cast.rs
index 05da479f864..f252eef07bc 100644
--- a/src/test/run-pass/iface-cast.rs
+++ b/src/test/run-pass/iface-cast.rs
@@ -33,6 +33,8 @@ impl of to_str for Tree {
     }
 }
 
+fn foo<T: to_str>(x: T) -> str { x.to_str() }
+
 fn main() {
     let t1 = Tree(@{mutable left: none,
                     mutable right: none,
@@ -40,6 +42,8 @@ fn main() {
     let t2 = Tree(@{mutable left: some(t1),
                     mutable right: some(t1),
                     val: 2 as to_str });
-    assert t2.to_str() == "[2, some([1, none, none]), some([1, none, none])]";
+    let expected = "[2, some([1, none, none]), some([1, none, none])]";
+    assert t2.to_str() == expected;
+    assert foo(t2 as to_str) == expected;
     t1.left = some(t2); // create cycle
 }