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
// expected-warning@-1 {{extension declares a conformance of imported type 'CGRect' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreGraphics' introduce this conformance in the future}}
10
+
// expected-note@-2 {{add '@retroactive' to silence this warning}}
11
+
// expected-error@-3 {{conformance to 'Sendable' must occur in the same source file as struct 'CGRect'; use '@unchecked Sendable' for retroactive conformance}}
// ok, conforming a type from another module to a protocol within this module is totally fine
84
86
extensionSample1:ClientProtocol{}
85
87
86
-
structSample7:@retroactiveSampleProtocol1{} // expected-error {{'@retroactive' only applies in inheritance clauses in extensions}}{{17-30=}}
88
+
structMySample7:@retroactiveSampleProtocol1{} // expected-error {{'@retroactive' only applies in inheritance clauses in extensions}}{{19-32=}}
87
89
88
-
extensionSample7:@retroactiveClientProtocol{} // expected-warning {{'retroactive' attribute does not apply; 'Sample7' is declared in this module}}{{20-33=}}
90
+
extensionMySample7:@retroactiveClientProtocol{} // expected-warning {{'retroactive' attribute does not apply; 'MySample7' is declared in this module}}{{22-35=}}
89
91
90
92
extensionInt:@retroactiveClientProtocol{} // expected-warning {{'retroactive' attribute does not apply; 'ClientProtocol' is declared in this module}}{{16-29=}}
// expected-warning@-1 {{extension declares a conformance of imported type 'GenericSample1' to imported protocol 'SampleProtocol1'; this will not behave correctly if the owners of 'Library' introduce this conformance in the future}}
110
112
// expected-note@-2 {{add '@retroactive' to silence this warning}}
// expected-warning@-1 {{extension declares a conformance of imported type 'Sample7' to imported protocols 'SampleProtocol1', 'SampleProtocol2'; this will not behave correctly if the owners of 'Library' introduce this conformance in the future}}
117
+
// expected-note@-2 {{add '@retroactive' to silence this warning}}
118
+
119
+
extensionSample8:@retroactiveSampleProtocol1&SampleProtocol2{} // ok
0 commit comments