blob: 0887810c852dfb262c9d838c3e28c40133d5baf5 (
plain) (
tree)
|
|
trait A {
type Node <: NodeImpl;
implicit def coerce(n : NodeImpl) = n.self;
trait NodeImpl {
def self : Node;
}
}
trait B extends A {
type Parent <: ParentImpl;
implicit def coerce(p : ParentImpl) = p.self;
trait ParentImpl;
type Symbol;
trait SymbolImpl {
def scope : Int;
}
implicit def coerceSym(sym : Symbol) : SymbolImpl;
var s : Symbol = null;
val s_scope = s.scope;
}
|