aboutsummaryrefslogblamecommitdiff
path: root/tests/pending/run/t5488-fn.scala
blob: b744017d71b9e9dea40c210deeb6374bd98a5e85 (plain) (tree)
1
2
3
4
5



                                                                                                              
                                        





















                                                  
class B[@specialized(Int, AnyRef, Unit) A, @specialized(Int, AnyRef, Unit) B](f: A => B)
class C[@specialized(Int, AnyRef) A, @specialized(Int, AnyRef) B, @specialized(Int, AnyRef) C](f: (A, B) => C)

object Test {
  def main(args:Array[String]): Unit = {
    def show(x: Any) = println(x.getClass.getName)

    show(new B((x: Int) => 1))
    show(new B((x: Int) => "abc"))
    show(new B((x: Int) => ()))
    show(new B((x: AnyRef) => 1))
    show(new B((x: AnyRef) => "abc"))
    show(new B((x: AnyRef) => ()))
    show(new B((x: Unit) => 1))
    show(new B((x: Unit) => "abc"))
    show(new B((x: Unit) => ()))

    show(new C((x: Int, y: Int) => 1))
    show(new C((x: Int, y: Int) => "abc"))
    show(new C((x: Int, y: AnyRef) => 1))
    show(new C((x: Int, y: AnyRef) => "abc"))
    show(new C((x: AnyRef, y: Int) => 1))
    show(new C((x: AnyRef, y: Int) => "abc"))
    show(new C((x: AnyRef, y: AnyRef) => 1))
    show(new C((x: AnyRef, y: AnyRef) => "abc"))
  }
}