aboutsummaryrefslogblamecommitdiff
path: root/tests/patmat/t7285.scala
blob: d40df7fe89198f6a85dafb42fa9ccdce94584995 (plain) (tree)






















































                                             
sealed abstract class Base


object Test1 {
  sealed abstract class Base

  object Base {
    case object Down extends Base {
    }

    case object Up extends Base {
    }

    def foo(d1: Base, d2: Base) =
      (d1, d2) match {
        case (Up, Up) | (Down, Down) => false
        case (Down, Up)              => true
      }
  }
}

object Test2 {
  sealed abstract class Base

  object Base {
    case object Down extends Base {
    }

    case object Up extends Base {
    }

    def foo(d1: Base, d2: Base) =
      (d1) match {
        case Test2.Base.Up => false
      }
  }
}


object Test4 {
  sealed abstract class Base

  object Base {
    case object Down extends Base

    case object Up extends Base
  }

  import Test4.Base._
  def foo(d1: Base, d2: Base) =
    (d1, d2) match {
      case (Up, Up) | (Down, Down) => false
      case (Down, Test4.Base.Up)   => true
    }
}