blob: 248a8b73b28e12c79dba427deaf4901a2b4e4471 (
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
|
// cf. pos/t8300-conversions-b.scala
trait Universe {
type Symbol >: Null <: AnyRef with SymbolApi
trait SymbolApi
type TypeSymbol >: Null <: Symbol with TypeSymbolApi
trait TypeSymbolApi extends SymbolApi
type FreeTypeSymbol >: Null <: TypeSymbol with FreeTypeSymbolApi
trait FreeTypeSymbolApi extends TypeSymbolApi
implicit class CompatibleSymbol(sym: Symbol) {
def asFreeType: FreeTypeSymbol = ???
}
}
object Test extends App {
val u: Universe = ???
import u._
val sym: Symbol = ???
sym.asFreeType
}
|