diff options
-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 |