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