Swift 5.6 发布

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Swift 5.6 现已正式发布。此版本包括了对类型系统的许多增强、改进了与指针的交互,并增加了使用包管理器运行新插件命令的能力。 Swift Evolution 流程中的一些提案也在 Swift 5.6 中得以实现: SE-0290 - Unavai...

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/


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

未来简史

未来简史

[以色列] 尤瓦尔·赫拉利 / 林俊宏 / 中信出版集团 / 2017-2 / 68.00元

进入21世纪后,曾经长期威胁人类生存、发展的瘟疫、饥荒和战争已经被攻克,智人面临着新的待办议题:永生不老、幸福快乐和成为具有“神性”的人类。在解决这些新问题的过程中,科学技术的发展将颠覆我们很多当下认为无需佐证的“常识”,比如人文主义所推崇的自由意志将面临严峻挑战,机器将会代替人类做出更明智的选择。 更重要的,当以大数据、人工智能为代表的科学技术发展的日益成熟,人类将面临着从进化到智人以来z......一起来看看 《未来简史》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具