Commits

Doug Gregor committed d93eaed9f72
Switch BooleanLiteralConvertible over to an initializer requirement. Conforming to BooleanLiteralConvertible now requires init(booleanLiteral: Bool) rather than static func convertFromBooleanLiteral(value: Bool) -> Self This posed a problem for NSNumber's conformance to BooleanLiteralConvertible. A class needs a required initializer to satisfy an initializer requirement, but one cannot add a required initializer via an extension. To that end, we hack the Clang importer to import NSNumber's initWithBool with the name init(booleanLiteral:) and add back the expected init(bool:) initializer in the overlay. These tricks make NSNumber even harder to subclass, but we don't really care: it's nearly impossible to do well anyway, and is generally a Bad Idea. Part of rdar://problem/18154091. Swift SVN r21961