diff options
author | Martin Odersky <odersky@gmail.com> | 2016-08-17 13:42:28 +0200 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2016-08-17 15:37:14 -0700 |
commit | 5f598e8094c1dba3c6cf302383088f4f00626222 (patch) | |
tree | b1df5e4a688b46265e8be112978569f3470be48a | |
parent | 83adc75d50e319d1d2c3e2d88b69ee4393bd3525 (diff) | |
download | dotty-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.scala | 4 | ||||
-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 |