1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// run-pass trait Cat { fn meow(&self) -> bool; fn scratch(&self) -> bool { self.purr() } fn purr(&self) -> bool { true } } impl Cat for isize { fn meow(&self) -> bool { self.scratch() } } pub fn main() { assert!(5.meow()); }