十一月来了!白天的时间越来越短,年末越来越近。距离 Swift 5 的发布日期也越来越近了。
入门任务
- SR-8937 [Compiler] Switch over
T?
fixit does not use syntactic sugar - SR-8960 [Compiler] Emit a symbol reference to ensure swiftrt.o is linked on Linux/Windows
社区新闻
苹果公司正式发布包含 Swift 4.2.1 的 Xcode 10.1 版本。
Ankit Aggarwal 在推特上分享了 SwiftPM 现在可以生成代码测试覆盖!
Doug Gregor 和 Ben Cohen 在 WWDC 上关于范型的演讲,现在加入了全新的章节讲述关于递归约束,关联对象,带 Where 关键字的约束协议,以及分治算法的内容。请直接快进到视频的 33 分钟左右观看。看完受益匪浅的演讲,强烈推荐!
合并请求
Pavel Yaskevich merged a pull request that replaces one of the last remaining places where curry levels were still used by diagnostics.
Rintaro Ishizaki merged a pull request that improves completion for the index part of a subscript expression, allowing the compiler to help you use more complex subscripts.
新晋提案
SE-0230: Flatten nested optionals resulting from try?
被接受了。
核心团队不希望轻易对源代码进行不兼容的更改,但我们也希望为未来的 Swift 用户留出改进语言的空间。 我们没有一条明确的规则来确切表明这种变更是否不可接受,相反,我们看重的是变更在实践中对现有代码的影响是否大于其潜在的风险。 在这种情况下,我们相信这种变化会带来相当无可争议的更好结果。
SE-0232: Remove Some Customization Points from the Standard Library’s Collection
Hierarchy 过去在审核状态。
这份提案移除了
Collection
类型内部几个 Customization Points:
Sequence
协议中的map
,filter
和forEach
Collection
协议中的first
,prefix(upTo:)
,prefix(through:)
和suffix(from:)
BidirectionalCollection
协议中的last
上面这些默认的实现仍会被保留,所以序列及集合的这些方法仍然具有相同的作用。
现在已经被接受了。
核心团队已经决定接受这份提案。(因在审核期间进行了改进)
论坛动向
Jon Shier 写了另一份关于添加 Result
类型到标准库提案的草稿。
Result
类型被普遍认为是很有用以至于可以包含在标准库中。但是,社区里有很多关于赞同或反对定义错误类型这两派的争论,导致无法达成一致的见解。为了开始新一轮的讨论,我将会在这里更新更多最新讨论的成果:
你可以在这里看到提案的更多内容。