🔮 Swift 5.8 Release: You Can Use Future Features Now

Tom Smykowski
5 min readMar 13

Swift 5.8 was released some time ago, so let's look at the most interesting changes that can improve your code quality

In this comprehensive article, I will take a closer look at updates and improvements that Swift 5.8 brings to the table and delineate how they can significantly benefit developers in their programming endeavors.

Tom Smykowski - Probably The Last Human Tech Editor On The Internet

So, buckle up and get ready to discover how Swift 5.8 is taking programming to the next level.

💪 Extend The Availability To Prior Releases

The implementation of your codebase just got a lot more versatile. Introducing the @backDeployed(before:) attribute, which allows you to extend the functionality of a function to older operating system releases that did not originally include it as part of the Application Binary Interface (ABI).

To illustrate this, let’s consider a scenario where a struct named Temperature is introduced in a macOS Software Development Kit(SDK) in macOS 12.

Later, in macOS 13, the framework author decides to add a new property called degreesFahrenheit to the struct. This can now be easily done using @backDeployed as shown in the code below.

The framework author can now make this new declaration available to applications with a minimum deployment target of macOS 12 by adding the @backDeployed attribute to degreesFahrenheit. Even though macOS 13 and later are the only versions that have degrees Fahrenheit’s ABI entry point, this is nevertheless accomplished.

Read to the end for an awesome bonus!

🌊 Collection Downcasts In Cast Patterns

Tom Smykowski

Software Engineer & Awarded Tech Editor. Top 2% on StackOverflow, 3mil views on Quora, over 10k followers on Medium. Follow, biz: contact@tomasz-smykowski.com