You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: test/decl/protocol/existential_member_accesses_self_assoctype.swift
+9-9Lines changed: 9 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -914,31 +914,31 @@ do {
914
914
let _:Any= exist.method1()
915
915
let _:AnyObject= exist.method2()
916
916
let _:anyCovariantAssocTypeErasure= exist.method3()
917
-
let _:Class2Base= exist.method4()
918
-
let _:Class2Base= exist.method5()
917
+
let _:Class2Base= exist.method4() // expected-error {{inferred result type 'Class2Base' requires explicit coercion due to loss of generic requirements}}
918
+
let _:Class2Base= exist.method5() // expected-error {{inferred result type 'Class2Derived<any CovariantAssocTypeErasure>' requires explicit coercion due to loss of generic requirements}}
919
919
let _:anyClass2Base&CovariantAssocTypeErasure= exist.method6()
920
920
let _:anyClass2Base&CovariantAssocTypeErasure= exist.method7()
921
921
922
-
let _:Any?= exist.method8()
922
+
let _:Any?= exist.method8() // expected-error {{inferred result type 'Optional<Any>' requires explicit coercion due to loss of generic requirements}}
923
923
let _:(AnyObject,Bool)= exist.method9()
924
924
let _:anyCovariantAssocTypeErasure.Type= exist.method10()
925
-
let _:Array<Class2Base>= exist.method11()
926
-
let _:Dictionary<String,Class2Base>= exist.method12()
925
+
let _:Array<Class2Base>= exist.method11() // expected-error {{inferred result type 'Array<Class2Base>' requires explicit coercion due to loss of generic requirements}}
926
+
let _:Dictionary<String,Class2Base>= exist.method12() //expected-error {{inferred result type 'Dictionary<String, Class2Derived<any CovariantAssocTypeErasure>>' requires explicit coercion due to loss of generic requirements}}
927
927
}
928
928
do{
929
929
letexist:anyCovariantAssocTypeErasureDerived
930
930
931
931
let _:anyCovariantAssocTypeErasureDerived= exist.method1()
932
-
let _:Class2Base= exist.method2()
932
+
let _:Class2Base= exist.method2() //expected-error {{inferred result type 'Class2Base' requires explicit coercion due to loss of generic requirements}}
933
933
let _:anyCovariantAssocTypeErasureDerived= exist.method3()
934
934
let _:anyClass2Base&CovariantAssocTypeErasureDerived= exist.method4()
935
935
let _:anyClass2Base&CovariantAssocTypeErasureDerived= exist.method5()
936
936
let _:anyClass2Base&CovariantAssocTypeErasureDerived= exist.method6()
937
937
let _:anyClass2Base&CovariantAssocTypeErasure&Sequence= exist.method7()
938
938
939
-
let _:(anyCovariantAssocTypeErasureDerived)?= exist.method8()
939
+
let _:(anyCovariantAssocTypeErasureDerived)?= exist.method8() //expected-error {{inferred result type 'Optional<any CovariantAssocTypeErasureDerived>' requires explicit coercion due to loss of generic requirements}}
940
940
let _:(Class2Base,Bool)= exist.method9()
941
941
let _:anyCovariantAssocTypeErasureDerived.Type= exist.method10()
942
-
let _:Array<anyClass2Base&CovariantAssocTypeErasureDerived>= exist.method11()
943
-
let _:Dictionary<String,anyClass2Base&CovariantAssocTypeErasureDerived>= exist.method12()
942
+
let _:Array<anyClass2Base&CovariantAssocTypeErasureDerived>= exist.method11() //expected-error {{inferred result type 'Array<any Class2Base & CovariantAssocTypeErasureDerived>' requires explicit coercion due to loss of generic requirements}}
943
+
let _:Dictionary<String,anyClass2Base&CovariantAssocTypeErasureDerived>= exist.method12() //expected-error {{inferred result type 'Dictionary<String, any Class2Derived<any CovariantAssocTypeErasureDerived> & CovariantAssocTypeErasureDerived>' requires explicit coercion due to loss of generic requirements}}
0 commit comments