The rule changes are as follows:
* All functions (introduced with the 'func' keyword) have argument
labels for arguments beyond the first, by default. Methods are no
longer special in this regard.
* The presence of a default argument no longer implies an argument
label.
The actual changes to the parser and printer are fairly simple; the
rest of the noise is updating the standard library, overlays, tests,
etc.
With the standard library, this change is intended to be API neutral:
I've added/removed #'s and _'s as appropriate to keep the user
interface the same. If we want to separately consider using argument
labels for more free functions now that the defaults in the language
have shifted, we can tackle that separately.
Fixes rdar://problem/17218256.
Swift SVN r27704
Most tests were using %swift or similar substitutions, which did not
include the target triple and SDK. The driver was defaulting to the
host OS. Thus, we could not run the tests when the standard library was
not built for OS X.
Swift SVN r24504
This is needed for tests which define internal functions which should not be eliminated.
So far this was not needed because of a hack which prevented whole-module-optimizations for tests.
Swift SVN r22658
_precondition_safety_check
The check is enabled in debug and release mode. In debug mode it prints a
useful error message. In release mode it traps. In fast mode this is a noop.
_partial_safety_check
The check is only enabled in debug mode (-Onone).
_internal_library_check
The check is only enabled when the standard library is compiled with
"SWIFT_STDLIB_INTERNAL_CHECKS" set to on/yes. It is a noop if the above option
is not specified.
rdar://16477198
Swift SVN r17789