struct S { v1: f64, v2: f64 } trait MyDisplay { fn display(&self); } 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) } } fn main() { let s = S{v1:1.1,v2:1.1}; //let n:i32 = 1; let n1 = 2; s.display(); //n.display(); n1.display() }