diff --git a/compiler/src/dotty/tools/dotc/core/TypeComparer.scala b/compiler/src/dotty/tools/dotc/core/TypeComparer.scala index e9e7f1b3e52d..8c41390a38d2 100644 --- a/compiler/src/dotty/tools/dotc/core/TypeComparer.scala +++ b/compiler/src/dotty/tools/dotc/core/TypeComparer.scala @@ -2988,7 +2988,7 @@ class TrackingTypeComparer(initctx: Context) extends TypeComparer(initctx) { def redux(canApprox: Boolean): MatchResult = caseLambda match case caseLambda: HKTypeLambda => - val instances = paramInstances(canApprox)(new Array(caseLambda.paramNames.length), pat) + val instances = paramInstances(canApprox)(Array.fill(caseLambda.paramNames.length)(NoType), pat) instantiateParams(instances)(body) match case Range(lo, hi) => MatchResult.NoInstance { diff --git a/tests/neg/i15687.scala b/tests/neg/i15687.scala new file mode 100644 index 000000000000..8fd0eb379419 --- /dev/null +++ b/tests/neg/i15687.scala @@ -0,0 +1,2 @@ +val _ = summon[Tuple.IsMappedBy[[X] =>> Int][(4, 2)]] // error +