blob: 556c8486888d5393702f1e663c086546413f930a (
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
30
31
32
33
34
35
36
|
trait Document {
sealed trait FieldBase
trait StaticFieldBase extends FieldBase with StaticDocument
trait DynamicFieldBase extends FieldBase with DynamicDocument
}
sealed trait StaticDocument extends Document {
abstract class AbstractField extends FieldBase
}
sealed trait DynamicDocument extends Document {
abstract class AbstractField extends FieldBase
}
class Coll extends StaticDocument
// similiar issue with annotations
class ann[T] extends annotation.StaticAnnotation
trait StatDoc extends Doc {
@ann[StatFB]
def foo: Int
}
trait Doc {
@ann[DynDoc#ForceDynDoc]
def bar: Int
trait StatFB
trait DynFB
}
trait DynDoc extends Doc {
@ann[DynFB]
def baz: Int
trait ForceDynDoc
}
|