summaryrefslogtreecommitdiff
path: root/test/files/pos/trait_fields_dependent_conflict.scala
blob: afb6f4b0c5eebf393d49d0a2743c9e9241b7adf6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// derived from test/files/pos/S5.scala

// compile with -uniqid to see a hint of the trouble
trait N {
  // the symbol for self does not get rebound when synthesizing members in C
  val self: N = ???
  val n: self.type = self
}

abstract class M {
  val self: N
  val n: self.type
}

abstract class MConflict extends N {
  val self: N
  val n: self.type
}

class C extends M with N