1 struct Clam { 2 x: Box<isize>, 3 y: Box<isize>, 4 } 5 6 7 8 struct Fish { 9 a: Box<isize>, 10 } 11 main()12fn main() { 13 let a: Clam = Clam{ x: Box::new(1), y: Box::new(2) }; 14 let b: Clam = Clam{ x: Box::new(10), y: Box::new(20) }; 15 let z: isize = a.x + b.y; 16 //~^ ERROR cannot add `Box<isize>` to `Box<isize>` 17 println!("{}", z); 18 assert_eq!(z, 21); 19 let forty: Fish = Fish{ a: Box::new(40) }; 20 let two: Fish = Fish{ a: Box::new(2) }; 21 let answer: isize = forty.a + two.a; 22 //~^ ERROR cannot add `Box<isize>` to `Box<isize>` 23 println!("{}", answer); 24 assert_eq!(answer, 42); 25 } 26