1 // revisions: rpass1 rpass2
3 trait MyTrait: One + Two {}
5 fn method_one(&self) -> usize {
10 fn method_two(&self) -> usize {
14 impl<T: One + Two> MyTrait for T {}
17 let a: &dyn MyTrait = &true;
18 assert_eq!(a.method_one(), 1);
19 assert_eq!(a.method_two(), 2);
22 // Re-order traits 'One' and 'Two' between compilation
26 trait One { fn method_one(&self) -> usize; }
28 trait Two { fn method_two(&self) -> usize; }
31 trait One { fn method_one(&self) -> usize; }