diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Implicits.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Infer.scala | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala index 18831600b7..fddb02cd71 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala @@ -434,7 +434,7 @@ self: Analyzer => // filter out failures from type inference, don't want to remove them from undetParams! val uninstantiated = new ListBuffer[Symbol] - val detargs = adjustTypeArgs(undetParams, targs, pt, uninstantiated) + val detargs = adjustTypeArgs(undetParams, targs, WildcardType, uninstantiated) // TODO: WildcardType should be pt, need to fix adjustTypeArgs first val (okParams, okArgs) = (undetParams zip detargs) filter {case (p, a) => !uninstantiated.contains(p)} unzip // TODO: optimise above line(s?) once `zipped filter` works (oh, the irony! this line is needed to get Zipped to type check...) diff --git a/src/compiler/scala/tools/nsc/typechecker/Infer.scala b/src/compiler/scala/tools/nsc/typechecker/Infer.scala index 8b600bfd90..2313f166f7 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Infer.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Infer.scala @@ -588,14 +588,14 @@ trait Infer { * Map T* entries to Seq[T]. */ def adjustTypeArgs(tparams: List[Symbol], targs: List[Type], restpe: Type, uninstantiated: ListBuffer[Symbol]): List[Type] = { - @inline def covariantOrNotContained(variance: Int) = - ((variance & COVARIANT) == 0) || // tparam occurred covariantly - (variance == VARIANCES) // tparam did not occur + @inline def covariant/*OrNotContained*/(variance: Int) = + ((variance & COVARIANT) == 0)/* || // tparam occurred covariantly + (variance == VARIANCES) // tparam did not occur */ // TODO: fix List.map2(tparams, targs) {(tparam, targ) => if (targ.typeSymbol == NothingClass && ( restpe == WildcardType - || covariantOrNotContained(varianceInType(restpe)(tparam)))) { + || covariant/*OrNotContained*/(varianceInType(restpe)(tparam)))) { uninstantiated += tparam tparam.tpeHK //@M tparam.tpe was wrong: we only want the type constructor, // not the type constructor applied to dummy arguments |