aboutsummaryrefslogblamecommitdiff
path: root/tests/pos/t2305.scala
blob: 37d4ac6ca754a439f30ba69cb1de1742453b6573 (plain) (tree)
1
2
3
4
5
6
7
8
9






                                                    

                                                                                       


              


                                                               


               
                                                          
               




                                                                           
 
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]): Unit = {}
    runbind
}

object breaks {
    def runbind(implicit bind: Bind[ArrayList]): Unit = {}
        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)
    */
}