From 97aced07f273a31be69fd771a4e900a8e0cfa43a Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sat, 10 Jan 2015 17:47:55 +0100 Subject: Reverting the idea that RefinedThis types take levels. In the end, this did not buy us anything. What matters is that - we can reliably identify RefinedThis types pointing to a given refinement type. Making sure that the `binder` field of q RefinedThis type in a refinedInfo is always the containing refined type is good enough for that. - we take care to rebind RefinedThis types in isSubType. This was leaky before, is handled now better in the new isSubType. So, in the end, adding a level was a needless complication. Also, as a next step we should be able to identify skolem types and RefinedThis types. --- tests/pos/Patterns.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/pos/Patterns.scala') diff --git a/tests/pos/Patterns.scala b/tests/pos/Patterns.scala index 98af1cddb..54c4d8ab2 100644 --- a/tests/pos/Patterns.scala +++ b/tests/pos/Patterns.scala @@ -6,7 +6,7 @@ object Patterns { private def rebase(tp: NamedType): Type = { def rebaseFrom(prefix: Type): Type = ??? tp.prefix match { - case RefinedThis(rt, _) => rebaseFrom(rt) + case RefinedThis(rt) => rebaseFrom(rt) case pre: ThisType => rebaseFrom(pre) case _ => tp } -- cgit v1.2.3