1 // run-pass 2 3 trait Get { 4 type Value; get(&self) -> &<Self as Get>::Value5 fn get(&self) -> &<Self as Get>::Value; 6 } 7 8 struct Struct { 9 x: isize, 10 } 11 12 impl Get for Struct { 13 type Value = isize; get(&self) -> &isize14 fn get(&self) -> &isize { 15 &self.x 16 } 17 } 18 main()19fn main() { 20 let s = Struct { 21 x: 100, 22 }; 23 assert_eq!(*s.get(), 100); 24 } 25