> On Jul 14, 2016, at 5:24 PM, Anton Zhilin via swift-evolution 
> <[email protected]> wrote:
> 
> Ok, I forgot about it. Type<T> should have all features of T.Type, except 
> that Type<T> will not contain static methods of T.

Why? It seems to me like the most natural way to design this by far is to have 
`Type<T>` be the type returned by `type(of:)`, which means it would have all 
static and class members on it. It also seems like `Type<T>`'s type would 
absolutely have to be `Type<Type<T>>`, and some form of infinite regress is 
absolutely necessary (though in practice it could probably be simulated by 
having the first metatype with no static members act as its own type, or with 
some other form of lazy instantiation).

You seem to have some very strong opinions about how this should work which run 
counter to the most straightforward designs, and I don't understand what their 
justifications are.

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to