Skip to content

Commit 319f36b

Browse files
authored
Merge pull request #73958 from kavon/se-429-and-432-changelog
Docs: Add SE-429 and SE-432 to CHANGELOG
2 parents a8d163b + 113e811 commit 319f36b

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,44 @@
55
66
## Swift 6.0
77

8+
* [SE-0432][]:
9+
Noncopyable enums can be pattern-matched with switches without consuming the
10+
value you switch over:
11+
12+
```swift
13+
enum Lunch: ~Copyable {
14+
case soup
15+
case salad
16+
case sandwich
17+
}
18+
19+
func isSoup(_ lunch: borrowing Lunch) -> Bool {
20+
switch lunch {
21+
case .soup: true
22+
default: false
23+
}
24+
}
25+
```
26+
27+
28+
* [SE-0429][]:
29+
The noncopyable fields of certain types can now be consumed individually:
30+
31+
```swift
32+
struct Token: ~Copyable {}
33+
34+
struct Authentication: ~Copyable {
35+
let id: Token
36+
let name: String
37+
38+
mutating func exchange(_ new: consuming Token) -> Token {
39+
let old = self.id // <- partial consumption of 'self'
40+
self = .init(id: new, name: self.name)
41+
return old
42+
}
43+
}
44+
```
45+
846
* [SE-0427][]:
947
You can now suppress `Copyable` on protocols, generic parameters,
1048
and existentials:
@@ -10287,6 +10325,8 @@ using the `.dynamicType` member to retrieve the type of an expression should mig
1028710325
[SE-0413]: https://github.com/apple/swift-evolution/blob/main/proposals/0413-typed-throws.md
1028810326
[SE-0422]: https://github.com/apple/swift-evolution/blob/main/proposals/0422-caller-side-default-argument-macro-expression.md
1028910327
[SE-0427]: https://github.com/apple/swift-evolution/blob/main/proposals/0427-noncopyable-generics.md
10328+
[SE-0429]: https://github.com/apple/swift-evolution/blob/main/proposals/0429-partial-consumption.md
10329+
[SE-0432]: https://github.com/apple/swift-evolution/blob/main/proposals/0432-noncopyable-switch.md
1029010330
[#64927]: <https://github.com/apple/swift/issues/64927>
1029110331
[#42697]: <https://github.com/apple/swift/issues/42697>
1029210332
[#42728]: <https://github.com/apple/swift/issues/42728>

0 commit comments

Comments
 (0)