Skip to content
This repository was archived by the owner on Mar 26, 2023. It is now read-only.

Commit 8f3b144

Browse files
committed
More draft work
References #502
1 parent a130cf6 commit 8f3b144

File tree

1 file changed

+41
-4
lines changed

1 file changed

+41
-4
lines changed

_drafts/2020-03-12-issue-155.md

+41-4
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,59 @@ In episode 85 of Swift Unwrapped, Jesse and JP talk [about Swift on Windows and
2020
announcing ArgumentParser, an open-source library that makes it straightforward
2121
— even enjoyable! — to parse command-line arguments in Swift.
2222

23+
Swift 5.1.5 [has been released](https://swift.org/download/).
24+
2325
### Commits and pull requests
2426

25-
https://github.com/apple/swift/pull/30174
27+
[Doug Gregor](https://twitter.com/dgregor79) merged [a pull request](https://github.com/apple/swift/pull/30174)
28+
that adds `switch` statement support to function builders!
29+
30+
In that pull request, Doug pushed [a commit](https://github.com/apple/swift/commit/ea8d143f6425e4db7ba78df82776cc075add1e22)
31+
after a code review from [John McCall](https://twitter.com/pathofshrines) who
32+
noted a subtle omission in constraint generation that affected the semantics of
33+
switch statements in function builders.
34+
35+
Yay for code review. @pathofshrines noted a subtle omission in constraint generation that affected the semantics of switch statements in function builders. The fix was trivial but the implications are really interesting
36+
37+
[David Smith](https://twitter.com/Catfish_Man) and [Tim K](https://github.com/tbkka) merged [a pull request](https://github.com/apple/swift/pull/30329) that provides a speedup for bridging
38+
ObjC collections containing NSStrings.
2639

27-
https://github.com/apple/swift/commit/ea8d143f6425e4db7ba78df82776cc075add1e22
40+
[Kuba (Brecka) Mracek](https://twitter.com/kubamracek) merged [a pull request](https://github.com/apple/swift/pull/30112),
41+
upstreaming arm64e support for Swift.
2842

29-
https://github.com/apple/swift/pull/30329
43+
Also:
3044

31-
https://github.com/apple/swift/pull/30112
45+
> this means we finally won’t have a billion arm64e merge conflicts every
46+
single week
47+
48+
Pretty neat!
3249

3350
### Proposals in review
3451

3552
[SE-0280](https://github.com/apple/swift-evolution/blob/master/proposals/0280-enum-cases-as-protocol-witnesses.md): *Enum cases as protocol witnesses* is [under review](https://forums.swift.org/t/se-0280-enum-cases-as-protocol-witnesses/34257).
3653

54+
> The aim of this proposal is to lift an existing restriction, which is that
55+
enum cases cannot participate in protocol witness matching.
56+
>
57+
> Currently, Swift has a very restrictive protocol witness matching model where
58+
a protocol witness has to match _exactly_ with the requirement, with some
59+
exceptions (see [Protocol Witness Matching Manifesto](https://forums.swift.org/t/protocol-witness-matching-mini-manifesto/32752)).
60+
3761
[SE-0279](https://github.com/apple/swift-evolution/blob/master/proposals/0279-multiple-trailing-closures.md): *Multiple Trailing Closures* is [under review](https://forums.swift.org/t/se-0279-multiple-trailing-closures/34255).
3862

63+
> Since its inception, Swift has supported _trailing closure_ syntax, which is
64+
a bit of syntactic sugar that makes passing closures more ergonomic. Trailing
65+
closures have always had two restrictions that limited their applicability.
66+
First, that any call is limited to a single trailing closure, making the
67+
feature awkward or even unusable when an API has more than one callback. This
68+
limitation was noticed [very early on in Swift's
69+
lifetime](https://www.natashatherobot.com/swift-trailing-closure-syntax/) as
70+
"the" problem with trailing closure syntax. Second, that a trailing closure
71+
argument does not provide an argument label, which can lead to call sites that
72+
are less clear. This proposal removes both restrictions by providing an
73+
unambiguous syntax for providing multiple, labeled trailing closures in a call,
74+
leading to clearer and more consistent code.
75+
3976
### Swift Forums
4077

4178
https://forums.swift.org/t/tuples-conform-to-equatable-comparable-and-hashable/34156

0 commit comments

Comments
 (0)