aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/t2619.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-05-16 14:00:49 +0200
committerMartin Odersky <odersky@gmail.com>2014-05-30 14:38:30 +0200
commit996f47d48c3c10c51da58558643ec02844e45687 (patch)
tree26b21d97932b4d5b0c96480009e66688bc4b6faa /tests/pos/t2619.scala
parent772d57cd0874d992b3d5bad12e8f30746b24f5d6 (diff)
downloaddotty-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.scala80
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)
+}