aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-10-23 00:05:04 +0200
committerMartin Odersky <odersky@gmail.com>2015-10-23 00:05:04 +0200
commit82afe5f3f4d0286a0202a959e03871eb7454dbec (patch)
tree5b90d4e6cce3711d302f26f2f90e50fba45d7423 /src
parentb927f66d4b90bc34cc864f596b8d1dc97fdc3ebe (diff)
downloaddotty-82afe5f3f4d0286a0202a959e03871eb7454dbec.tar.gz
dotty-82afe5f3f4d0286a0202a959e03871eb7454dbec.tar.bz2
dotty-82afe5f3f4d0286a0202a959e03871eb7454dbec.zip
Fix #840
Problem was that interceptTypeTestCasts was run at wrong phase. It saw after erasura a type of the form `x.Array$$T`. Before erasure that type is simply an alias of another type, but after erasure, Arraya$$T is defined to be a type alias of a Wildcard type.
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/transform/Erasure.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/Erasure.scala b/src/dotty/tools/dotc/transform/Erasure.scala
index b1c896997..a414c6399 100644
--- a/src/dotty/tools/dotc/transform/Erasure.scala
+++ b/src/dotty/tools/dotc/transform/Erasure.scala
@@ -400,7 +400,7 @@ object Erasure extends TypeTestsCasts{
}
override def typedTypeApply(tree: untpd.TypeApply, pt: Type)(implicit ctx: Context) = {
- val ntree = interceptTypeApply(tree.asInstanceOf[TypeApply])
+ val ntree = interceptTypeApply(tree.asInstanceOf[TypeApply])(ctx.withPhase(ctx.erasurePhase))
ntree match {
case TypeApply(fun, args) =>