Here are a few thoughts: - -swift=4 - -swift-version=4 - -language-version=4 - a top-of-file "shebang"-style comment indicating the version, something like //#swift(4), mirroring the "#if swift" syntax
On Fri, Jul 29, 2016 at 5:27 PM, Chris Lattner <clatt...@apple.com> wrote: > > On Jul 29, 2016, at 5:20 PM, Jacob Bandes-Storch via swift-evolution < > swift-evolution@swift.org> wrote: > > Chris writes: > >> - *Source stability features: *These should be relatively small, but >> important. For example, we need a “-std=swift3” sort of compiler flag. We >> may also add a way to conditionally enable larger efforts that are under >> development but not yet stable - in order to make it easier to experiment >> with them. > > > > I am curious whether the team has thoughts on how to organize the compiler > codebase in such a way that new features can be added, and possibly > source-breaking changes made, while still keeping the old functionality > around. > > Are any obvious areas that will need refactoring to make this feasible? > (Perhaps they could be turned into StarterBugs.) > > > I think this would be a great thing to do. We need a few things: > > - The actual compiler flag. It is worth bikeshedding how it is spelled. > “-std=“ is good inspiration, but clearly the wrong specific name. > > - The implementation should be straight forward: the flag should get > plumbed through to a field in swift::LangOptions. Code that diverges can > then check it. > > - Handling divergence in the standard library is another big issue. We > have some ideas here, but it depends on having the compiler work done > anyway to hook into. > > How many versions back would the compiler be expected to support? Should > the Swift 5 compiler still support Swift 3 code? > > > To be determined. Swift 4 should definitely support Swift 3, but Swift 5 > perhaps not. We can decide that when Swift 4 is winding down. > > -Chris >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution