1 // Check that if we have multiple applicable projection bounds we pick one (for 2 // backwards compatibility reasons). 3 4 // check-pass 5 use std::ops::Mul; 6 7 trait A { 8 type V; 9 type U: Mul<Self::V, Output = ()> + Mul<(), Output = ()>; 10 } 11 g<T: A<V = ()>>()12fn g<T: A<V = ()>>() { 13 let y: <T::U as Mul<()>>::Output = (); 14 } 15 main()16fn main() {} 17