aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-08-17 13:42:28 +0200
committerGuillaume Martres <smarter@ubuntu.com>2016-08-17 15:37:14 -0700
commit5f598e8094c1dba3c6cf302383088f4f00626222 (patch)
treeb1df5e4a688b46265e8be112978569f3470be48a
parent83adc75d50e319d1d2c3e2d88b69ee4393bd3525 (diff)
downloaddotty-5f598e8094c1dba3c6cf302383088f4f00626222.tar.gz
dotty-5f598e8094c1dba3c6cf302383088f4f00626222.tar.bz2
dotty-5f598e8094c1dba3c6cf302383088f4f00626222.zip
Add clause for HKApply in TypeAssigner#avoid
-rw-r--r--src/dotty/tools/dotc/typer/TypeAssigner.scala4
-rw-r--r--tests/pos/tcpoly_infer_ticket474.scala (renamed from tests/pending/pos/tcpoly_infer_ticket474.scala)0
2 files changed, 3 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/TypeAssigner.scala b/src/dotty/tools/dotc/typer/TypeAssigner.scala
index 22339d470..e0a9dbafc 100644
--- a/src/dotty/tools/dotc/typer/TypeAssigner.scala
+++ b/src/dotty/tools/dotc/typer/TypeAssigner.scala
@@ -94,12 +94,14 @@ trait TypeAssigner {
case _ =>
mapOver(tp)
}
+ case tp @ HKApply(tycon, args) if toAvoid(tycon) =>
+ apply(tp.superType)
case tp @ AppliedType(tycon, args) if toAvoid(tycon) =>
val base = apply(tycon)
var args = tp.baseArgInfos(base.typeSymbol)
if (base.typeParams.length != args.length)
args = base.typeParams.map(_.paramBounds)
- base.appliedTo(args)
+ apply(base.appliedTo(args))
case tp @ RefinedType(parent, name, rinfo) if variance > 0 =>
val parent1 = apply(tp.parent)
val refinedInfo1 = apply(rinfo)
diff --git a/tests/pending/pos/tcpoly_infer_ticket474.scala b/tests/pos/tcpoly_infer_ticket474.scala
index 9012deb2b..9012deb2b 100644
--- a/tests/pending/pos/tcpoly_infer_ticket474.scala
+++ b/tests/pos/tcpoly_infer_ticket474.scala