Skip to content

Commit 8a7fcc3

Browse files
committed
[stdlib] Update syntax for conditional conformances to invertable protocols
1 parent 538f274 commit 8a7fcc3

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed

stdlib/public/core/Optional.swift

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,9 @@ public enum Optional<Wrapped: ~Copyable & ~Escapable>: ~Copyable, ~Escapable {
132132
case some(Wrapped)
133133
}
134134

135-
// FIXME: The ~Escapable clause must be explicit for this to be readable.
136-
// FIXME: Alas, that's currently an error. (rdar://130781168)
137-
extension Optional: Copyable where Wrapped: Copyable /*& ~Escapable */ {}
135+
extension Optional: Copyable where Wrapped: Copyable & ~Escapable {}
138136

139-
// FIXME: The ~Copyable clause must be explicit for this to be readable.
140-
// FIXME: Alas, that's currently an error. (rdar://130781168)
141-
extension Optional: Escapable where Wrapped: Escapable /*& ~Copyable */ {}
137+
extension Optional: Escapable where Wrapped: Escapable & ~Copyable {}
142138

143139
extension Optional: BitwiseCopyable
144140
where Wrapped: BitwiseCopyable & ~Escapable {}

stdlib/public/core/Result.swift

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,9 @@ public enum Result<Success: ~Copyable & ~Escapable, Failure: Error> {
2121
case failure(Failure)
2222
}
2323

24-
// FIXME: The ~Escapable clause must be explicit for this to be readable.
25-
// FIXME: Alas, that's currently an error. (rdar://130781168)
26-
extension Result: Copyable where Success: Copyable /*& ~Escapable*/ {}
24+
extension Result: Copyable where Success: Copyable & ~Escapable {}
2725

28-
// FIXME: The ~Copyable clause must be explicit for this to be readable.
29-
// FIXME: Alas, that's currently an error. (rdar://130781168)
30-
extension Result: Escapable where Success: Escapable /*& ~Copyable*/ {}
26+
extension Result: Escapable where Success: Escapable & ~Copyable {}
3127

3228
extension Result: Sendable where Success: Sendable & ~Copyable & ~Escapable {}
3329

0 commit comments

Comments
 (0)