A short but sweet issue this week. Sorry for the cliché — but it’s true!

News and community

Ian Partridge wrote a blog post announcing Kitura 2.7, which uses SwiftNIO 2.0.

Johannes Weiss announced the release of swift-log 1.0.0. 📝

Apple released Xcode 10.2.1.

Michael Ilseman’s talk at try! Swift Tokyo, The Philosopher’s String, is now available. 🧙‍♂️

Timothy Ekl wrote a blog post to make the topic of the future of Generics more accessible.

Lily Vulcano put together a list of the remaining NSUnimplemented() bits in swift-corelibs-foundation. 🎉

Accepted proposals

SE-0244: Opaque Result Types was returned for revision and later accepted.

The core team agrees that this proposal lays important groundwork that can be built on further in ways laid out in the author’s Generics UI Improvements overview. This write-up helped clarify the context of the proposal both for reviewers and the core team itself.

Several reviewers felt that being able to name opaque types is an important feature for many use cases. This is clearly a useful feature and would be a good next step, but the core team thinks that the feature as proposed consists of a reasonable “minimum viable product” to land now, and then can be added to through subsequent proposals.

Returned proposals

SE-0253: Introduce callables was returned for revision.

The core team is very positive about the idea of this feature, but would like to see some changes to the proposal, followed by another round of public review. As such, the proposal is returned for revision.

Rejected proposals

SE-0256: Introduce {Mutable}ContiguousCollection protocol was rejected.

The Core Team did not feel the motivation behind the proposal warranted expanding the Collection protocol hierarchy. The Collection hierarchy is already quite rich, and any motivation to expanding it in the Standard Library needs to meet a high bar in general utility. At this time the proposed change was deemed too niche to motivate that change.

Proposals in review

SE-0258: Property Delegates is under review.

There are property implementation patterns that come up repeatedly. Rather than hardcode a fixed set of patterns into the compiler, we should provide a general “property delegate” mechanism to allow these patterns to be defined as libraries.

This is an alternative approach to some of the problems intended to be addressed by the 2015-2016 property behaviors proposal.

SE-0257: Eliding commas from multiline expression lists is under review.

Swift requires a semicolon “;” to separate statements unless those statements are separated by newlines, in which case the semicolon can be elided. Currently, Swift requires a comma “,” to separate expressions even when those statements are separated by newlines. We should ease this restriction, allowing the comma between two expressions to be elided when they are separated by a newline.

Swift Forums

Daniel Hartbit, Vini Vendramini, and Doug Gregor pitched a proposal for custom static attributes.

Swift currently supports marking declarations with compiler-defined attributes, such as @objc and @deprecated. The compiler uses these attributes to customize the way it interprets the corresponding code. As a first step towards opening attributes to users and library authors, this proposal introduces static custom attributes which exist only at compile time, allowing tools that parse Swift code to use them as markers.

Finally

I mean, why not?