// run-pass trait Foo { fn a(&self) -> isize; fn b(&self) -> isize { self.a() + 2 } } impl Foo for isize { fn a(&self) -> isize { 3 } } pub fn main() { assert_eq!(3.b(), 5); }