pub trait MyNum : Add, Sub, Mul { } pub impl int : MyNum { pure fn add(other: &int) -> int { self + *other } pure fn sub(other: &int) -> int { self - *other } pure fn mul(other: &int) -> int { self * *other } }