Skip to content

Instantly share code, notes, and snippets.

@sindresorhus
Created June 15, 2018 06:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sindresorhus/d62364089d4cbb5942901082e0f33f79 to your computer and use it in GitHub Desktop.
Save sindresorhus/d62364089d4cbb5942901082e0f33f79 to your computer and use it in GitHub Desktop.
/// Types that can be initialized without any parameters
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 {}
/// Why is this needed?
extension URL: EmptyInitializable {
init() {
self.init()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment