diff options
author | Martin Odersky <odersky@gmail.com> | 2015-01-10 17:47:55 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-01-10 17:47:55 +0100 |
commit | 97aced07f273a31be69fd771a4e900a8e0cfa43a (patch) | |
tree | 5d97ce7b5da0dd2dcfec601d616e530129958faa /tests/pos | |
parent | 5f35b11ceb228e7a803263490f2d8e8a22ee2fe6 (diff) | |
download | dotty-97aced07f273a31be69fd771a4e900a8e0cfa43a.tar.gz dotty-97aced07f273a31be69fd771a4e900a8e0cfa43a.tar.bz2 dotty-97aced07f273a31be69fd771a4e900a8e0cfa43a.zip |
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.
Diffstat (limited to 'tests/pos')
-rw-r--r-- | tests/pos/Patterns.scala | 2 |
1 files changed, 1 insertions, 1 deletions
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 } |