diff options
author | Martin Odersky <odersky@gmail.com> | 2006-12-01 17:33:43 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-12-01 17:33:43 +0000 |
commit | 4cb43c77880464a629fd8f8687692d7824de6285 (patch) | |
tree | 0998c55fb3b591948692afe74e79bc54c73b65d5 /src/compiler | |
parent | 4d85fb1278172f48ac728374bbdf0a2621a58d31 (diff) | |
download | scala-4cb43c77880464a629fd8f8687692d7824de6285.tar.gz scala-4cb43c77880464a629fd8f8687692d7824de6285.tar.bz2 scala-4cb43c77880464a629fd8f8687692d7824de6285.zip |
fixed bug845
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Types.scala | 6 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Infer.scala | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala index 01cf3fdec0..844d74cea5 100644 --- a/src/compiler/scala/tools/nsc/symtab/Types.scala +++ b/src/compiler/scala/tools/nsc/symtab/Types.scala @@ -685,9 +685,9 @@ trait Types requires SymbolTable { val pci = pclosure(i) if (j < pci.length) pci(j) else AnyClass.tpe } - val limit = pclosure(0).length - while (index(0) != limit) { - var minSym: Symbol = nextBaseType(0).symbol + var minSym: Symbol = NoSymbol + while (minSym != AnyClass) { + minSym = nextBaseType(0).symbol i = 1 while (i < nparents) { if (nextBaseType(i).symbol isLess minSym) diff --git a/src/compiler/scala/tools/nsc/typechecker/Infer.scala b/src/compiler/scala/tools/nsc/typechecker/Infer.scala index 0e118028db..0428161cc2 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Infer.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Infer.scala @@ -162,8 +162,8 @@ trait Infer requires Analyzer { tparam2.tpe.subst(tparams, tvars) :: tvar.constr.lobounds } } - //Console.println("solveOne2 "+tvar+" "+config+" "+tvar.constr.hibounds);//DEBUG tvar.constr.inst = NoType // necessary because hibounds/lobounds may contain tvar + //Console.println("solving "+tvar+" "+up+" "+(if (up) (tvar.constr.hibounds) else tvar.constr.lobounds))//DEBUG tvar.constr.inst = if (up) glb(tvar.constr.hibounds) else lub(tvar.constr.lobounds) assertNonCyclic(tvar)//debug } |