diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-10-22 17:04:20 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-10-22 17:04:20 +0000 |
commit | bf584e53207b837a3103a59614177ba39f06015e (patch) | |
tree | e68eeb41c745ccc848c5fbcd505249880daf021f /src/compiler/scala/tools/nsc/typechecker/Typers.scala | |
parent | a2eab2215a7671e8abd8189ccc59388dffc1f3de (diff) | |
download | scala-bf584e53207b837a3103a59614177ba39f06015e.tar.gz scala-bf584e53207b837a3103a59614177ba39f06015e.tar.bz2 scala-bf584e53207b837a3103a59614177ba39f06015e.zip |
the essence of tcpoly inference + test cases
fixes to check files and removed nonapplicable test case Tuple2 impl,
but commented out so that we can bootstrap whitespace...
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index 269e9ca938..5726e4be58 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -783,11 +783,12 @@ trait Typers { self: Analyzer => val tparams1 = cloneSymbols(tparams) val tree1 = if (tree.isType) tree else TypeApply(tree, tparams1 map (tparam => - TypeTree(tparam.tpe) setPos tree.pos.focus)) setPos tree.pos + TypeTree(tparam.tpeHK) setPos tree.pos.focus)) setPos tree.pos //@M/tcpolyinfer: changed tparam.tpe to tparam.tpeHK context.undetparams = context.undetparams ::: tparams1 adapt(tree1 setType restpe.substSym(tparams, tparams1), mode, pt, original) case mt: ImplicitMethodType if ((mode & (EXPRmode | FUNmode | LHSmode)) == EXPRmode) => // (4.1) if (!context.undetparams.isEmpty/* && (mode & POLYmode) == 0 disabled to make implicits in new collection work; we should revisit this. */) { // (9) + // println("adapt IMT: "+(context.undetparams, pt)) //@MDEBUG context.undetparams = inferExprInstance( tree, context.extractUndetparams(), pt, mt.paramTypes exists isManifest) // if we are looking for a manifest, instantiate type to Nothing anyway, |