1111// Test that we evaluate projection predicates to winnow out
1212// candidates during trait selection and method resolution (#20296).
1313// If we don't properly winnow out candidates based on the output type
14- // `Output =[A]`, then the impl marked with `(*)` is seen to conflict
14+ // `Target =[A]`, then the impl marked with `(*)` is seen to conflict
1515// with all the others.
1616
1717#![ feature( associated_types, default_type_params) ]
@@ -32,10 +32,10 @@ impl<A, B> MyEq<[B]> for [A]
3232 }
3333}
3434
35- // (*) This impl conflicts with everything unless the `Output =[A]`
35+ // (*) This impl conflicts with everything unless the `Target =[A]`
3636// constraint is considered.
3737impl < ' a , A , B , Lhs > MyEq < [ B ; 0 ] > for Lhs
38- where A : MyEq < B > , Lhs : Deref < Output =[ A ] >
38+ where A : MyEq < B > , Lhs : Deref < Target =[ A ] >
3939{
4040 fn eq ( & self , other : & [ B ; 0 ] ) -> bool {
4141 MyEq :: eq ( & * * self , other. as_slice ( ) )
@@ -57,7 +57,7 @@ impl<T> Helper<T> for Option<T> {
5757}
5858
5959impl < T , H : Helper < T > > Deref for DerefWithHelper < H , T > {
60- type Output = T ;
60+ type Target = T ;
6161
6262 fn deref ( & self ) -> & T {
6363 self . helper . helper_borrow ( )
0 commit comments