// run-pass trait Foo { fn f(&self) -> isize; } struct A { x: isize } impl Foo for A { fn f(&self) -> isize { println!("Today's number is {}", self.x); return self.x; } } pub fn main() { let a = A { x: 3 }; let b = (&a) as &dyn Foo; assert_eq!(b.f(), 3); }