1 // run-pass
2 #![allow(dead_code)]
3 // Check that we do not report ambiguities when the same predicate
4 // appears in the environment twice. Issue #21965.
5 
6 // pretty-expanded FIXME #23616
7 
8 trait Foo {
9     type B;
10 
get() -> Self::B11     fn get() -> Self::B;
12 }
13 
foo<T>() -> () where T : Foo<B=()>, T : Foo<B=()>14 fn foo<T>() -> ()
15     where T : Foo<B=()>, T : Foo<B=()>
16 {
17     <T as Foo>::get()
18 }
19 
main()20 fn main() {
21 }
22