>> Having said all this, now that we have `#Self`, I'm wondering if we still 
>> want `Self` in value types. The two are *exactly* equivalent in value types 
>> as far as I can tell, and `Self` in classes implies dynamic behavior which 
>> is not supported by value types. The use of `Self` in class member bodies is 
>> a clean win, the existence of `#Self` is a clean win, but I'm not sure we 
>> need the value type thing too.
> 
> If subtyping for value types will be introduced someday (there has been 
> considerable interest for that already) `Self` would make sense for value 
> types, too, wouldn't it?

Sorry for the delay answering this; I have been (and will continue to be) 
rather busy.

It depends on the form of the subtyping support. If "subtype" just means 
"implicit conversion without sharing compatible representations", as having 
Float be a subtype of Double would be, that wouldn't necessarily make much 
sense. But if it's some kind of pseudo-subtyping system (though how would that 
work with the non-reference-based representation of structs, I don't know), 
then that would perhaps make more sense.

-- 
Brent Royal-Gordon
Architechies

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

Reply via email to