| //@ run-pass | |
| // Simple smoke test that unsafe traits can be compiled etc. | |
| unsafe trait Foo { | |
| fn foo(&self) -> isize; | |
| } | |
| unsafe impl Foo for isize { | |
| fn foo(&self) -> isize { *self } | |
| } | |
| fn take_foo<F:Foo>(f: &F) -> isize { f.foo() } | |
| fn main() { | |
| let x: isize = 22; | |
| assert_eq!(22, take_foo(&x)); | |
| } |