Swift Evolution Monthly — April ‘22 Issue
Regex overhaul, improved Existentials, Swift 5.7 timeline
--
Wow, this is just the 2nd issue of this newsletter and nearly 300 developers subscribed to it, already! All thanks to Dave and others from the community for spreading the word. Thank you! 🙏
I heard your feedback: You’re right, the first issue was too long. Partly because it was never planned to be released as a newsletter, and partly because it was the first, so I gave a (lengthy) introduction. Despite covering more proposals today, this issue is only ~60% of the length! (2,400 words → 1,500 words)
The two main focus topics on Swift Evolution this past month both sound a bit scary: Regular Expressions and Existentials. But don’t worry: The Regex story can be broken down to “Swift is making them less scary!”. And I didn’t know what an “Existential” was before writing this issue myself — I’ll explain!
Enjoy. 🍻
Accepted Proposals
The following proposals presented in past issues have been accepted:
- SE-0344: Distributed Actor Runtime (Rationale ✅)
- SE-0345:
if let
shorthand for shadowing an existing optional variable (Rationale ✅) - SE-0346: Lightweight same-type requirements for primary associated types (Rationale ✅)
Also, one more proposal was accepted that I had not mentioned because I found it not relevant to app developers. From now on I’ll mention these kinds of proposals, too, with a short comment on who this might be of interest to. This one mostly concerns those shipping Swift packages to Linux systems:
On to new proposals!
SE-0347: Type inference from default expressions
Links: Proposal Document 📝 | Acceptance Rationale ✅ | Review 🧵
Currently, providing a default value for generic parameters produces an error: