summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-12-01 17:33:43 +0000
committerMartin Odersky <odersky@gmail.com>2006-12-01 17:33:43 +0000
commit4cb43c77880464a629fd8f8687692d7824de6285 (patch)
tree0998c55fb3b591948692afe74e79bc54c73b65d5 /src/compiler
parent4d85fb1278172f48ac728374bbdf0a2621a58d31 (diff)
downloadscala-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.scala6
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Infer.scala2
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
}