summaryrefslogtreecommitdiff
path: root/test/files/neg/t7369.scala
blob: 87ddfe98b7aa148d4b8946e5f253f4ee790b88ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
object Test {
  val X, Y = true
  (null: Tuple1[Boolean]) match {
    case Tuple1(X) =>
    case Tuple1(Y) =>
    case Tuple1(X) => // unreachable
    case _      =>
  }

  (null: Tuple1[Boolean]) match {
    case Tuple1(true) =>
    case Tuple1(false) =>
    case Tuple1(true) => // unreachable
    case _      =>
  }
}


sealed abstract class B;
case object True extends B;
case object False extends B;

object Test2 {

  val X: B = True
  val Y: B = False

  (null: Tuple1[B]) match {
    case Tuple1(X) =>
    case Tuple1(Y) =>
    case Tuple1(X) => // unreachable
    case _      =>
  }
}

object Test3 {
  (null: Tuple1[B]) match {
    case Tuple1(null) =>
    case Tuple1(True) =>
    case Tuple1(null) => // unreachable
    case _      =>
  }
}