summaryrefslogtreecommitdiff
path: root/test/files/neg/t691.scala
blob: 233476f658d31dd550e21758ab2f576ddd1e9f32 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
trait Base {
  trait AssignArrow {
    type T <: Ti0;
    trait Ti0;
  }
  abstract class Arrow extends AssignArrow;
  val arrow : Arrow;
}

trait Ext0 extends Base {
  trait AssignArrow extends super.AssignArrow {
    type T <: Ti1;
    trait Ti1 extends super.Ti0;
  }
}
trait Ext1 extends Base {
  trait Arrow extends super.Arrow {
    type T <: Ti2;
    trait Ti2 extends super.Ti0;
    trait TiXX extends Ti2;
  }
  val arrow : Arrow;
}
trait Composition extends Ext0 with Ext1 {
  object arrow0 extends Arrow with AssignArrow {
    type T = TiC
    trait TiC extends super[Arrow].Ti2 with super[AssignArrow].Ti1;
  }
}