[swift-evolution] End of source-breaking changes for Swift 3

Chris Lattner clattner at apple.com
Thu Jul 28 15:56:49 CDT 2016

> On Jul 28, 2016, at 10:19 AM, Ted F.A. van Gaalen <tedvgiosdev at gmail.com> wrote:
>> The Swift team at Apple has reflected on this and decided what it "means" for Swift 3 to be source compatible with Swift 4 and later releases going forward. Our goal is to allow app developers to combine a mix of Swift modules (e.g., SwiftPM packages), where each module is known to compile with a specific version of the language (module A works with Swift 3, module B works with Swift 3.1, etc.), then combine those modules into a single binary. The key feature is that a module can be migrated from Swift 3 to 3.1 to 4 (and beyond) independently of its dependencies.
> This sounds like a reasonable solution...
> If I understand you correctly;
>    The compiler(s)  would be able to compile sources from 3.0 and future versions?


> Unfortunately that doesn’t go back to 2.2, 

Correct - this doesn’t apply to Swift 2.2 or Swift 2.3.  Source compatibility will start with Swift 3, just like we’ve been saying for some time now.


More information about the swift-evolution mailing list