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
extensionSampleAlreadyConforms:InheritsSampleProtocol{} // ok, SampleAlreadyConforms already conforms in the source module
38
45
46
+
extensionSample2a:@retroactiveSampleProtocol1,InheritsSampleProtocol{} // ok, the concrete conformance to SampleProtocol1 has been declared retroactive
47
+
48
+
extensionSample2b:InheritsSampleProtocol,@retroactiveSampleProtocol1{} // ok, same as above but in the opposite order
49
+
50
+
// FIXME: It would be better to only suggest marking SampleProtocol1a @retroactive here
51
+
extensionSample2c:SampleProtocol1a{} // expected-warning {{extension declares a conformance of imported type 'Sample2c' to imported protocols 'SampleProtocol1a', 'SampleProtocol1'}}
52
+
// expected-note @-1 {{add '@retroactive' to silence this warning}} {{21-37=@retroactive SampleProtocol1a}} {{1-1=extension Sample2c: @retroactive SampleProtocol1 {\}\n}}
53
+
54
+
extensionSample2d:@retroactiveSampleProtocol1a{} // ok, retroactive conformance to SampleProtocol1a covers conformance to SampleProtocol1
55
+
56
+
extensionSample2e:SampleProtocol1a,@retroactiveSampleProtocol1b{} // expected-warning {{extension declares a conformance of imported type 'Sample2e' to imported protocol 'SampleProtocol1a'}}
57
+
// expected-note @-1 {{add '@retroactive' to silence this warning}} {{21-37=@retroactive SampleProtocol1a}}
58
+
39
59
extensionSample3:NestedInheritsSampleProtocol{} // expected-warning {{extension declares a conformance of imported type 'Sample3' to imported protocol 'SampleProtocol1'}}
40
60
// expected-note @-1 {{add '@retroactive' to silence this warning}} {{1-1=extension Sample3: @retroactive SampleProtocol1 {\}\n}}
0 commit comments