Unusual Case of Generic Type-Inference

Hi Nevin,

Writing C().id was a typo, and I was surprised by the result when it actually worked.

If one adds a print(type(of: self)) into the Q.id implementation, it prints "Q”. At least that part makes sense.

This feels to me like it relates to the strange class-related behavior you discussed at Need Help Understanding Protocols and Generics - #20 by Nevin.

I’d love to trace through how the compiler is analyzing this one. Unfortunately, I’m not currently setup to debug the compiler, and the overhead in getting setup is no fun.

--Matt