diff options
author | Martin Odersky <odersky@gmail.com> | 2014-05-16 14:00:49 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-05-30 14:38:30 +0200 |
commit | 996f47d48c3c10c51da58558643ec02844e45687 (patch) | |
tree | 26b21d97932b4d5b0c96480009e66688bc4b6faa /tests/pos/t2619.scala | |
parent | 772d57cd0874d992b3d5bad12e8f30746b24f5d6 (diff) | |
download | dotty-996f47d48c3c10c51da58558643ec02844e45687.tar.gz dotty-996f47d48c3c10c51da58558643ec02844e45687.tar.bz2 dotty-996f47d48c3c10c51da58558643ec02844e45687.zip |
tests t26xx
Diffstat (limited to 'tests/pos/t2619.scala')
-rw-r--r-- | tests/pos/t2619.scala | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/pos/t2619.scala b/tests/pos/t2619.scala new file mode 100644 index 000000000..283d93bf2 --- /dev/null +++ b/tests/pos/t2619.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) +} |