struct S { v1: f64, v2: f64 } trait MyDisplay { fn display(&self) { println!("display() not implemented...") } } impl MyDisplay for S { fn display(&self) { println!("This is an S({},{})", self.v1, self.v2) } } impl MyDisplay for i64 { fn display(&self) { println!("This is a 64 bit integer: {}", self) } } impl MyDisplay for i32 {} fn main() { let s = S{v1:1.1,v2:1.1}; let n:i32 = 1; let n1: i64 = 2; s.display(); n.display(); n1.display() }