blob: 44ad6276f2d9a440244ebd66bd56f95a58f84040 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// abstract
trait Foo[@specialized A, Repr] {
self: Repr =>
}
trait Bar[A] extends Foo[A, Object] { }
class Baz extends Foo[Int, Baz] { }
// concrete
trait Bippy {
def f(x: Int) = 5
}
trait FooC[@specialized A] {
self: Bippy =>
f(10)
}
class BazC extends FooC[Int] with Bippy { }
|