blob: 8b5abccbe0f691ace011b5002ee89ef3ab7910e0 (
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
|
import java.util.ArrayList
trait Bind[Z[_]]
class MySerializable[X] extends java.io.Serializable
object Bind {
implicit val JavaArrayListBind: Bind[ArrayList] = new Bind[ArrayList] {}
implicit val MySerializableBind: Bind[MySerializable] = new Bind[MySerializable] {}
}
object works {
// this works fine:
def runbind(implicit bind: Bind[MySerializable]) {}
runbind
}
object breaks {
def runbind(implicit bind: Bind[ArrayList]) {}
runbind
/*java.lang.AssertionError: assertion failed: java.io.Serializable
at scala.Predef$.assert(Predef.scala:107)
at scala.tools.nsc.symtab.Types$TypeRef.transform(Types.scala:1417)
at scala.tools.nsc.symtab.Types$TypeRef.baseType(Types.scala:1559)
*/
}
|