diff options
Diffstat (limited to 'test/files/pos/bug2399.scala')
-rw-r--r-- | test/files/pos/bug2399.scala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/files/pos/bug2399.scala b/test/files/pos/bug2399.scala new file mode 100644 index 0000000000..07882dd549 --- /dev/null +++ b/test/files/pos/bug2399.scala @@ -0,0 +1,14 @@ +trait That1[A] +trait That2[A, R <: That2[A, R]] + +trait T[A, This >: Null <: That1[A] with T[A, This]] extends That2[A, This] { + self: This => + + private var next: This = _ + def isEmpty = next eq null + + def length: Int = { + def loop(x: This, cnt: Int): Int = if (x.isEmpty) cnt else loop(x.next, cnt + 1) + loop(self, 0) + } +}
\ No newline at end of file |