Swift 5.6 is now officially released!
Thank you to everyone in the Swift community for your discussion, proposals, bug reports, pull requests, and more.
Swift 5.6 includes a number of enhancements to the type system, improved interaction with pointers, and adds the ability to run new plugin commands using the package manager.
For a quick dive into some of what’s new in Swift 5.6, check out this playground put together by Paul Hudson.
If you’re new to Swift, The Swift Programming Language is the definitive guide on the Swift programming language and has been updated for version 5.6. The Swift community also maintains a number of translations. It is also available for free on the Apple Books store.
Language and Standard Library
New Features and Refinements
Swift 5.6 enhances the language through a number of proposals from the Swift Evolution process, including:
- SE-0290 – Unavailability Condition
- SE-0302 –
Sendable
and@Sendable
closures - SE-0315 – Type placeholders (formerly, “Placeholder types”)
- SE-0320 – Allow coding of non
String
/Int
keyedDictionary
into aKeyedContainer
- SE-0322 – Temporary uninitialized buffers
- SE-0324 – Relax diagnostics for pointer arguments to C functions
- SE-0331 – Remove Sendable conformance from unsafe pointer types
- SE-0335 – Introduces existential
any
- SE-0337 – Incremental migration to concurrency checking
Let’s take a closer look at some of these below.
更多 https://www.swift.org/blog/swift-5.6-released/