Created
January 7, 2020 09:40
-
-
Save sindresorhus/d0abce079a711c0b6fc4bc55a66f8e2b to your computer and use it in GitHub Desktop.
A type that can be initialized without any parameters.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Types that can be initialized without any parameters. | |
/// Useful if you need to accept an array of metatypes and then initialize them. | |
protocol EmptyInitializable { | |
init() | |
} | |
extension Int: EmptyInitializable {} | |
extension Int8: EmptyInitializable {} | |
extension Int16: EmptyInitializable {} | |
extension Int32: EmptyInitializable {} | |
extension Int64: EmptyInitializable {} | |
extension Double: EmptyInitializable {} | |
extension Float: EmptyInitializable {} | |
extension Float80: EmptyInitializable {} | |
extension String: EmptyInitializable {} | |
extension Dictionary: EmptyInitializable {} | |
extension Set: EmptyInitializable {} | |
extension NSString: EmptyInitializable {} | |
extension NSAttributedString: EmptyInitializable {} | |
extension NSImage: EmptyInitializable {} | |
extension NSURL: EmptyInitializable {} | |
extension NSColor: EmptyInitializable {} | |
extension NSSound: EmptyInitializable {} | |
extension NSFilePromiseProvider: EmptyInitializable {} | |
extension NSPasteboardItem: EmptyInitializable {} | |
extension URL: EmptyInitializable { | |
init() { | |
self.init(string: ".")! | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment