summaryrefslogblamecommitdiff
path: root/test/files/pos/t2305.scala
blob: 6b66c5db131fbf5097f3f7df2481b78ea3d450ed (plain) (tree)
1
2
3

                          
                















                                                                                           
               





                                                                                   
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)
	*/
}