diff options
Diffstat (limited to 'tests/untried/pos/t1318.scala')
-rw-r--r-- | tests/untried/pos/t1318.scala | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/untried/pos/t1318.scala b/tests/untried/pos/t1318.scala new file mode 100644 index 000000000..34e2bc8dd --- /dev/null +++ b/tests/untried/pos/t1318.scala @@ -0,0 +1,31 @@ +abstract class F { + type mType <: M +} + +abstract class M { self => + + type mType <: M + + type fType = F {type mType >: self.mType } + def fs: List[fType] +} + +abstract class A0 extends M { + type mType = A0 + def fs: List[fType] = Nil +} + +object A extends A0 {} + +abstract class B0 extends M { + type mType = B0 + def fs: List[fType] = Nil +} + +object B extends B0 {} + +object C { + def ab = List(A) ::: List(B) + // the following compiles successfully: + // def ab = List(A) ::: List[M](B) +} |