内容简介: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/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms + Data Structures = Programs
Niklaus Wirth / Prentice Hall / 1975-11-11 / GBP 84.95
It might seem completely dated with all its examples written in the now outmoded Pascal programming language (well, unless you are one of those Delphi zealot trying to resist to the Java/.NET dominanc......一起来看看 《Algorithms + Data Structures = Programs》 这本书的介绍吧!