blob: 0524ee36834fc76668d300c7a48c243026d7b2c6 (
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-a.scala
trait Universe {
type Symbol >: Null <: AnyRef with SymbolApi
trait SymbolApi
type TypeSymbol >: Null <: TypeSymbolApi with Symbol
trait TypeSymbolApi extends SymbolApi
type FreeTypeSymbol >: Null <: FreeTypeSymbolApi with TypeSymbol
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
}
|