blob: 556c8486888d5393702f1e663c086546413f930a (
plain) (
tree)
|
|
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
}
|