> On May 12, 2016, at 11: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
> 
> 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.

Alternatively, you could move the function body out to a separate closure and 
call it from differentiated 3 and 2.2 signatures.

I may have written a blog post about this this morning.

-- Erica


_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to