blob: 86cff5fc4d577bc57fef6ba4f5e43a3dea298181 (
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
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import scala.language.dynamics
object Test extends App {
val qual: Dynamic = ???
val expr = "expr"
val a = "a"
val a2 = "a2"
qual.sel(a, a2: _*) // error
qual.sel(arg = a, a2: _*) // error
qual.sel(arg, arg2 = "a2", a2: _*) // error
class Bad1 extends Dynamic {
def selectDynamic(n: Int) = n
def applyDynamic(n: Int) = n
def applyDynamicNamed(n: Int) = n
def updateDynamic(n: Int) = n
}
val bad1 = new Bad1
bad1.sel // error
bad1.sel(1) // error
bad1.sel(a = 1) // error
bad1.sel = 1 // error
class Bad2 extends Dynamic {
def selectDynamic = 1
def applyDynamic = 1
def applyDynamicNamed = 1
def updateDynamic = 1
}
val bad2 = new Bad2
bad2.sel // error
bad2.sel(1) // error
bad2.sel(a = 1) // error
bad2.sel = 1 // error
}
|