Commits

Devin Coughlin committed a3c4a8cd50c
Add '*' wildcard to #os() On platforms that are not explicitly mentioned in the #os() guard, this new '*' availability check generates a version comparison against the minimum deployment target. This construct, based on feedback from API review, is designed to ease porting to new platforms. Because new platforms typically branch from existing platforms, the wildcard allows an API availability check to do the "right" thing (executing the guarded branch accessing newer APIs) on the new platform without requiring a modification to every availability guard in the program. So, if the programmer writes: if #os(OSX >= 10.10, *) { . . . } and then ports the code to iOS, the body will execute. We still do compile-time availability checking with '*', so the compiler will emit errors for references to potentially unavailable symbols in the body when compiled for iOS. We require a '*' clause on all #os() guards to force developers to "future proof" their availability checks against the introduction of new a platform. Swift SVN r26988