blob: d51b5511ebacf56eaeab661e147c12aedd994f1a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
abstract class Module {}
abstract class T {
type moduleType <: Module
val module: moduleType
}
abstract class Base {
type mType = Module
type tType = T { type moduleType <: mType }
}
abstract class Derived extends Base {
def f(inputs: List[tType]): Unit = {
for (t <- inputs; m = t.module) { }
}
}
|