diff options
Diffstat (limited to 'src/test/ui/associated-types/associated-types-projection-bound-ambiguity.rs')
-rw-r--r-- | src/test/ui/associated-types/associated-types-projection-bound-ambiguity.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/associated-types-projection-bound-ambiguity.rs b/src/test/ui/associated-types/associated-types-projection-bound-ambiguity.rs new file mode 100644 index 000000000..353f82e7c --- /dev/null +++ b/src/test/ui/associated-types/associated-types-projection-bound-ambiguity.rs @@ -0,0 +1,16 @@ +// Check that if we have multiple applicable projection bounds we pick one (for +// backwards compatibility reasons). + +// check-pass +use std::ops::Mul; + +trait A { + type V; + type U: Mul<Self::V, Output = ()> + Mul<(), Output = ()>; +} + +fn g<T: A<V = ()>>() { + let y: <T::U as Mul<()>>::Output = (); +} + +fn main() {} |