> On Dec 6, 2017, at 12:39 PM, Thorsten Seitz via swift-evolution
> <firstname.lastname@example.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