I’d say that subtype is correct there. As mentioned by some people here subtype 
feels like it has something to do with classes.

Assume this:

class Base { init() {...} }
class A : Base {}
     
let subtype: AnyType<Base> = subtype(of: Base.self, named: "A")!
     
// One day when `.self` magic is gone
let subtype: AnyType<Base> = subtype(of: Base, named: "A")!
     
let a: Base = subtype.init()
     
print(type(of: a)) // => A
It’s clear that we’re working with classes here. type(of:named:) seems odd to 
me and doesn’t fit here at all.

Any more feedback?

Waiting for Brent to reply. I can’t remember what Subprotocol<T> was for. 
That’s the reason why it looks like this for the moment. ;)

I don’t understand. I renamed Subtype with AnyType everywhere and mentioned it 
in Alternatives considered section.

I’d like to wait for more feedback, we’re not in rush now.



-- 
Adrian Zubarev
Sent with Airmail

Am 2. Oktober 2016 um 16:46:18, Anton Zhilin (antonyzhi...@gmail.com) schrieb:

I’m happy that everyone seems to agree on the new naming, and I also like that  
type function is back.

Some fixes:

In Future directions, replace  
subtype with  
type
In Future directions, remove overstruck last item
In Alternatives considered, replace the naming and add old naming to 
alternative options
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to