This week an official blog post on announced the new continuous integration setup that I mentioned last week. There is now a dedicated page on the main site and you can check the status here. It seems to be nicely integrated with GitHub, and mostly works. 😄

Commits and pull requests

Erik Eckstein committed some impressive whole module optimization performance improvements. 😎

David Farler added support for writing code block comments in any language.

William Dillon followed up on some previous Linux/ARMv7 work, this time submitting a pull request that adds support for gold linker. This change aims to solve issues on ARMv6/v7 and aarch64 platforms.

Harlan Haskins merged a pull request that adds backtrace reporting on fatalError. 👏

C.W. Betts implemented NSUserDefaults in corelibs-foundation.

Slava Pestov started on adding support for resiliently adding protocol requirements with default implementations.

Doug Gregor implemented code completion improvements for #selector.


Joe Groff and Erica Sadun submitted a proposal, “Adjusting inout Declarations for Type Decoration”. They suggest moving the inout keyword from the label side to the type side in a function declaration to clarify that this decorates types and avoid confusion with similarly named argument labels.

Nate Cook has proposed to “Add sequence-based initializers and merge methods to Dictionary”.

The Dictionary type should allow initialization from a sequence of (Key, Value) tuples and offer methods that merge a sequence of (Key, Value) tuples with an existing dictionary.

The proposal, “Modernizing Swift’s Debugging Identifiers”, (SE-0028) has been accepted! 👏

The review for proposals SE-0005, SE-0006, SE-0023 has been extended until February 5. If you have opinions on the great Swift API transformation, speak now!

Mailing lists

Justin Kolb started a thread for proposing support for contiguous variables.

To better support interfacing with lower level systems, like graphics libraries for example, it would be helpful to support the concept of contiguous variables.

Ted Kremenek announced that the Swift 2.2 branch is now under restrictive change control, meaning any changes going in to swift-2.2-branch will require specific approval from the release manager.

Gwendal Roué started a thread about guaranteed closure execution.

As expected, the swift-evolution mailing list has been super busy with the discussion of the three proposals mentioned above (SE-0005, SE-0006, SE-0023). There is definitely too much to try to summarize or link to here. If you have a minute to read through the archives, you should!

Related to this review, Dave Abrahams started an exploratory thread, “When to use argument labels (a new approach)”.

Chris Lattner revealed that at one point the Swift team briefly discussed using (the interrobang) as the sugar for ImplicitlyUnwrappedOptional. 🤓


And finally — has Bjarne ever made the mistake of forgetting the ~ for C++ destructors? Jacob Bandes-Storch saved the day with this massive pull request. 😂