aboutsummaryrefslogblamecommitdiff
path: root/tests/run/i1354.scala
blob: 08b129e4ef0b49929d001014ccfcbd7684fd0da2 (plain) (tree)


























                                                                             
object Test {
  def foo(a: Int | Double) = a match {
    case a: (Float | Boolean) => 1
    case _ => 0
  }

  def typeTest(a: Int | Double) = a.isInstanceOf[Float | Boolean] // false

  def typeCast(a: Int | Double) = a.asInstanceOf[Float | Boolean] // no error

  def main(args: Array[String]): Unit = {
    println(foo(4))

    println(typeTest(4))

    println(typeCast(5))

    Boolean.box(true) match {
     case a: (Float | Boolean) => println(1)
     case _ => println(0)
    }

    println(Boolean.box(true).isInstanceOf[Float | Boolean])

    println(Boolean.box(true).asInstanceOf[Float | Boolean])
  }
}