diff options
author | Paul Phillips <paulp@improving.org> | 2010-09-22 21:05:29 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-09-22 21:05:29 +0000 |
commit | 0894660255255859a5d3203d124ed998364486d3 (patch) | |
tree | b1cc5133b8144b75bb62f4fc12202b1bb496c332 | |
parent | ffd6cff38f9a12725d1bf0f30920ce58529695b4 (diff) | |
download | scala-0894660255255859a5d3203d124ed998364486d3.tar.gz scala-0894660255255859a5d3203d124ed998364486d3.tar.bz2 scala-0894660255255859a5d3203d124ed998364486d3.zip |
Test case closes #2619, no review.
-rw-r--r-- | test/files/pos/bug2619.scala | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/test/files/pos/bug2619.scala b/test/files/pos/bug2619.scala new file mode 100644 index 0000000000..283d93bf2b --- /dev/null +++ b/test/files/pos/bug2619.scala @@ -0,0 +1,80 @@ +abstract class F { + final def apply(x: Int): AnyRef = null +} +abstract class AbstractModule { + def as: List[AnyRef] + def ms: List[AbstractModule] + def fs: List[F] = Nil + def rs(x: Int): List[AnyRef] = fs.map(_(x)) +} +abstract class ModuleType1 extends AbstractModule {} +abstract class ModuleType2 extends AbstractModule {} + +object ModuleAE extends ModuleType1 { + def as = Nil + def ms = Nil +} +object ModuleAF extends ModuleType2 { + def as = Nil + def ms = List(ModuleAE) +} +object ModuleAG extends ModuleType1 { + def as = List("") + def ms = Nil +} +object ModuleAI extends ModuleType1 { + def as = Nil + def ms = List(ModuleAE) +} +object ModuleAK extends ModuleType2 { + def as = Nil + def ms = List(ModuleAF) +} +object ModuleAL extends ModuleType1 { + def as = Nil + def ms = List( + ModuleAG, + ModuleAI + ) +} +object ModuleAM extends ModuleType1 { + def as = Nil + def ms = List( + ModuleAL, + ModuleAE + ) ::: List(ModuleAK) +} +object ModuleBE extends ModuleType1 { + def as = Nil + def ms = Nil +} +object ModuleBF extends ModuleType2 { + def as = Nil + def ms = List(ModuleBE) +} +object ModuleBG extends ModuleType1 { + def as = List("") + def ms = Nil +} +object ModuleBI extends ModuleType1 { + def as = Nil + def ms = List(ModuleBE) +} +object ModuleBK extends ModuleType2 { + def as = Nil + def ms = List(ModuleBF) +} +object ModuleBL extends ModuleType1 { + def as = Nil + def ms = List( + ModuleBG, + ModuleBI + ) +} +object ModuleBM extends ModuleType1 { + def as = Nil + def ms = List( + ModuleBL, + ModuleBE + ) ::: List(ModuleBK) +} |