您现在的位置是:首页 > 文章详情

Swift 5.6 发布

日期:2022-03-14点击:473

Swift 5.6 现已正式发布。此版本包括了对类型系统的许多增强、改进了与指针的交互,并增加了使用包管理器运行新插件命令的能力。

Swift Evolution 流程中的一些提案也在 Swift 5.6 中得以实现:

  • SE-0290 - Unavailability Condition
  • SE-0302 - Sendable@Sendableclosures
  • SE-0315 - Type placeholders(以前称为“Placeholder types”)
 enum Either<Left, Right> { case left(Left) case right(Right) } // Inferred as 'Either<ClosedRange<Int>, Range<Int>>' let either: Either<_, Range<Int>> = .left(0...10)
  • SE-0320 - 允许在KeyedContainer中对非String / Int键入的 Dictionary 进行编码
  • SE-0322 - 临时未初始化的缓冲区。这引入了一种创建临时未初始化内存空间的新方法,这在与需要提供用于存储计算结果的内存的 C API 交互时特别有用。
  • SE-0324 - 放宽 C 函数指针参数的诊断。此更改允许将不安全指针的可变体(例如UnsafeMutablePointer)传递给采用不可变体(例如UnsafePointer)的API,而无需显式转换。
  • SE-0331 - 从不安全的指针类型中删除 Sendable 一致性
  • SE-0335 - 引入了 existential any
 protocol DataSourceObserver { ... } struct DataSource { var observers: [any DataSourceObserver] { ... } }
  • SE-0337 - 增量迁移到并发检查。在 Swift 5.6 中,关于 Sendable 的诊断默认是被抑制的,但可以通过明确定义对 Sendable 的符合性或使用 -warn-concurrency 编译器标志来启用,从而实现并发检查的增量迁移路径。

更多详情可查看:https://www.swift.org/blog/swift-5.6-released/

原文链接:https://www.oschina.net/news/186505/swift-5-6-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章