//@ 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: &F) -> isize { f.foo() } fn main() { let x: isize = 22; assert_eq!(22, take_foo(&x)); }