Skip to content

Commit 7ad18e0

Browse files
Harlan Haskinsstephentyrone
andauthored
Amend @retroactive proposal to allow same-package conformances (#2445)
* Amend @retroactive proposal to allow same-package conformances * Update 0364-retroactive-conformance-warning.md --------- Co-authored-by: Stephen Canon <[email protected]>
1 parent 824eab9 commit 7ad18e0

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

proposals/0364-retroactive-conformance-warning.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
* Proposal: [SE-0364](0364-retroactive-conformance-warning.md)
44
* Author: [Harlan Haskins](https://github.com/harlanhaskins)
55
* Review Manager: [Steve Canon](https://github.com/stephentyrone)
6-
* Status: **Implemented (Swift 6.0)**
6+
* Status: **Active Review, May 15...22, 2024**
77
* Implementation: [apple/swift#36068](https://github.com/apple/swift/pull/36068)
88
* Review: ([first pitch](https://forums.swift.org/t/warning-for-retroactive-conformances-if-library-evolution-is-enabled/45321))
99
([second pitch](https://forums.swift.org/t/pitch-warning-for-retroactive-conformances-of-external-types-in-resilient-libraries/56243))
1010
([first review](https://forums.swift.org/t/se-0364-warning-for-retroactive-conformances-of-external-types/58922))
1111
([second review](https://forums.swift.org/t/second-review-se-0364-warning-for-retroactive-conformances-of-external-types/64615))
1212
([acceptance](https://forums.swift.org/t/accepted-se-0364-warning-for-retroactive-conformances-of-external-types/65015))
13+
([amendment])(https://forums.swift.org/t/amendment-se-0364-allow-same-package-conformances/71877)
1314

1415
## Introduction
1516

@@ -94,6 +95,8 @@ The following exceptions apply to either the conforming type or the protocol:
9495
called `__ObjC`, we have to assume the client takes responsibility for these declaration.
9596
- If it is declared in one module, but uses the `@_originallyDefined(in:)` attribute to
9697
signify that it has moved from a different module, then this will not warn.
98+
- If it is declared in a module that is part of the same package as the conformance,
99+
this is not considered retroactive.
97100

98101
For clarification, the following are still valid, safe, and allowed:
99102
- Conformances of external types to protocols defined within the current module.

0 commit comments

Comments
 (0)