scala/scala — pull request #2937 by paulp (2013-09-11 19:21:36+00:00)
Title: SI-7834 Type equivalence of C.this and C.super.

Foo.this.x and Foo.super.x were roughly unrelated in the eyes
of isSubType. I implemented conformance as described in the comment:

This is looking for situations such as B.this.x.type <:< B.super.x.type.
If it's a ThisType on the lhs and a SuperType on the right, and they originate
in the same class, and the 'x' in the ThisType has in its override chain
the 'x' in the SuperType, then the types conform.

I think this is overly conservative but it's way ahead of
where it was.