Proposal link:
https://github.com/apple/swift-evolution/blob/master/proposals/0097-negative-attributes.md
Hello Swift Community,
The review of SE-0097: "Normalizing naming for "negative" attributes" ran from
May 24…30, 2016. The proposal is *rejected* for Swift 3.
The core team agrees with the principle guiding the proposal (that negative
attributes should start with “non” instead of “no”) and highly values
standardized naming for attributes. The community was lukewarm about
“nonescaping” but pretty significantly opposed to “nonreturning”.
The core team discussed this at length and agreed that the problem identified
by the proposal needs to be solved, but prefers to explore directions that
would define away these attributes completely:
1) For noreturn, the core team prefers to explore a solution where a function
can be declared as returning an non-constructable “bottom” type (e.g. an enum
with zero cases). This would lead to something like:
func abort() -> NoReturn { … }
This will require some new support in the compiler, but should flow better
through the type system than @noreturn in function composition and other
applications. Joe Groff offered to write a proposal for this.
2) For noescape, the core team feels that the right solution is for closure
arguments to *default* to noescape, which means that the attribute we should
really need is @escaping.
Many thanks to Erica Sadun for driving this discussion and writing the
proposal. This was an important topic for the community and core team to
re-evalute, and it was very effective at forcing progress.
-Chris Lattner
Review Manager
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution