summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-09-01 15:38:49 +0000
committerMartin Odersky <odersky@gmail.com>2006-09-01 15:38:49 +0000
commit2119e3945bca78eaa8b45bfd853801998336a9f1 (patch)
tree16be88d1fb8d442101944de81d6e5cf526b63a90
parentb2079c3e22397d15644ad6e6b021b3577b630439 (diff)
downloadscala-2119e3945bca78eaa8b45bfd853801998336a9f1.tar.gz
scala-2119e3945bca78eaa8b45bfd853801998336a9f1.tar.bz2
scala-2119e3945bca78eaa8b45bfd853801998336a9f1.zip
fixed bug720
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala2
-rw-r--r--test/files/pos/bug720.scala9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index f56e651a8b..a4a6193a3c 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -2003,7 +2003,7 @@ trait Typers requires Analyzer {
def getParts(tp: Type, s: Set[Symbol]): unit = tp match {
case TypeRef(pre, sym, args) if (!sym.isPackageClass) =>
for (val bc <- sym.info.baseClasses)
- if (sym.isClass) s.addEntry(sym)
+ if (sym.isClass) s.addEntry(bc)
getParts(pre, s)
for (val arg <- args) getParts(arg, s)
case SingleType(pre, _) =>
diff --git a/test/files/pos/bug720.scala b/test/files/pos/bug720.scala
new file mode 100644
index 0000000000..b520785ad7
--- /dev/null
+++ b/test/files/pos/bug720.scala
@@ -0,0 +1,9 @@
+trait Conv
+object Conv {
+ implicit private def one2two (one: One): Two = new Two }
+class One extends Conv
+class Two
+object Test2 extends Application {
+ def fun (two: Two) = ()
+ fun(new One)
+}