The last two weeks were pretty quiet, but I think it is about to change. I assume we will see a lot going on before the official Apple platform releases. Stay tuned!
Interested in sponsoring Swift Weekly Brief? Learn more here.
- SR-13490 [Compiler]
News and community
Google published SwiftLogFireCloud Firebase Extension - a library that can be used as an implementation of Apple’s SwiftLog interface that captures console logs from iOS and, in the future, macOS apps and pushes them to Firebase Cloud Storage as flat files for later review.
Commits and pull requests
Proposals in review
This proposal describes function builders, a new feature which allows certain functions (specially-annotated, often via context) to implicitly build up a value from a sequence of components.
SwiftPM can now self-host using Explicit Module Builds. The package manager itself is a reasonably complex Swift package, and building it exercises most of the new machinery across the involved components. This was an important milestone for getting the basics of the new compilation flow functional.
Negative availability checks are important when an API is completely different across versions. In the case of iOS apps that support Scenes, you need a negative availability check in your AppDelegate to account for the fact that UIWindows should be loaded elsewhere in iOS 13+.
I find myself wanting to define an operation that converts failable initializers to throwing ones. When I have a throwing initializer contains multiple failing initializers, I think it improves the clarity and readability.
This is a great question! To answer it thoroughly we need to take a digression into the Swift optimiser and optimisation boundaries, but the TL;DR is that
@usableFromInlineis required to make substantial chunks of NIO perform better.