1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
trait Universe { type Symbol >: Null <: AnyRef with SymbolApi trait SymbolApi type TypeSymbol >: Null <: TypeSymbolApi with Symbol trait TypeSymbolApi implicit class CompatibleSymbol(sym: Symbol) { def asFreeType: TypeSymbol = ??? } } object Test extends App { val u: Universe = ??? import u._ val sym: Symbol = ??? sym.asFreeType }