blob: ffc387132aa5e4ae067c9589e8818b30d03456bb (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
import scala.reflect.runtime.universe._
import scala.reflect.{ClassTag, classTag}
// #1435
object t1435 {
implicit def a(s:String):String = error("")
implicit def a(i:Int):String = error("")
implicit def b(i:Int):String = error("")
}
class C1435 {
val v:String = {
import t1435.a
2
}
}
// #1492
class C1492 {
class X
def foo(x: X => X) {}
foo ( implicit x => implicitly[X] )
foo { implicit x => implicitly[X] }
}
// #1579
object Test1579 {
class Column
class Query[E](val value: E)
class Invoker(q: Any) { val foo = null }
implicit def unwrap[C](q: Query[C]) = q.value
implicit def invoker(q: Query[Column]) = new Invoker(q)
val q = new Query(new Column)
q.foo
}
// #1625
object Test1625 {
class Wrapped(x:Any) {
def unwrap() = x
}
implicit def byName[A](x: =>A) = new Wrapped(x)
implicit def byVal[A](x: A) = x
def main(args: Array[String]) = {
// val res:Wrapped = 7 // works
val res = 7.unwrap() // doesn't work
println("=> result: " + res)
}
}
object Test2188 {
implicit def toJavaList[A: ClassTag](t:collection.Seq[A]):java.util.List[A] = java.util.Arrays.asList(t.toArray:_*)
val x: java.util.List[String] = List("foo")
}
object TestNumericWidening {
val y = 1
val x: java.lang.Long = y
}
// #2709
package foo2709 {
class A
class B
package object bar {
implicit def a2b(a: A): B = new B
}
package bar {
object test {
new A: B
}
}
}
// Problem with specs
object specsProblem {
println(implicitly[TypeTag[Class[_]]])
}
|