> On Dec 6, 2017, at 12:39 PM, Thorsten Seitz via swift-evolution 
> <swift-evolution@swift.org> wrote:
> IUO is Swift’s equivalent to a null pointer and those are a _hole_ in the 
> type system (this applies to all type systems having an equivalent to the 
> null pointer). That is why such types are marked with "!“ in Swift.
> This does not mean that Swift has no type system but that it’s type system 
> has carefully marked holes.

But the types are only marked with "!" at the declaration site, just as types 
conforming to DynamicMemberLookup and DynamicCallable would be marked at the 
declaration site. There's no more indication at the call site that something is 
an IUO than there would be for something conforming to these protocols. They 
both require inspecting the type itself.
swift-evolution mailing list

Reply via email to