> On May 12, 2016, at 11:05 PM, Marco S Hyman <m...@snafu.org> wrote: > > On May 12, 2016, at 10:38 PM, Tyler Fleming Cloutier via swift-users > <swift-users@swift.org> wrote: >> >> Hello everyone, >> >> It does seem like it is currently possible to wrap just the function >> declaration in an #if swift() directive like so: >> >> #if swift(>=3.0) >> public func add(filter filterName: String, path: String) { >> #else // ERROR Expected ā}ā at end of brace statement >> public func addFilter(filterName: String, path: String) { >> #endif > > Swift conditional compilation is not line based. SE-0020 said: > > "Like other build configurations, #if swift isn't line-based - it encloses > whole statements or declarations. However, unlike the others, the compiler > won't parse inactive branches guarded by #if swift or emit lex diagnostics, > so syntactic differences for other Swift versions can be in the same file.ā > > https://github.com/apple/swift-evolution/blob/master/proposals/0020-if-swift-version.md > >> Is it possible Iām missing how to do this? This is particularly painful in >> Swift 3 given the change to move have labels on the first function parameter >> by default. As far as I can see it means that I am required to wrap the >> entire function body even if nothing else is incompatible with Swift 3. > > My solution: a git branch for 2.x and a git branch for 3.x. Eventually the > 2.x branch will wither away. > > Marc
I see. Thanks for the quick reply Marc! _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users