> On 06 Dec 2017, at 20:54, Joe DeCapo via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> 
>> On Dec 6, 2017, at 12:39 PM, Thorsten Seitz via swift-evolution 
>> <swift-evolution@swift.org <mailto: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.

But IUO’s are marked with an “!” to differentiate it from a normal type, where 
as DynamicMemberLookup is just a normal protocol conformance. I would be 
curious as to what you think of this idea [1]? Would this still be too much of 
a constraint just to make sure that when people use this they’re explicitly 
aware of what they’re doing?


[1]: 
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171204/042015.html
 

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to