Skip to content

Patternmatch Unreachable Warning #20122

Closed
@CyrilFMoser

Description

@CyrilFMoser

Compiler version

3.4.1

Minimized code

sealed trait T_B[C, D]
case class CC_A()
case class CC_B[A, C](a: A) extends T_B[C, CC_A]
case class CC_C[C, D](a: T_B[C, D])
    extends T_B[Int, CC_A]
case class CC_E(a: CC_C[Char, Byte])
val v_a: T_B[Int, CC_A] = CC_B(CC_E(CC_C(null)))
val v_b = v_a match {
  case CC_B(CC_E(CC_C(_))) => 0
  case _              => 1
}

Output

The value of v_b is 0

Expectation

The compiler gives an unreachable warning for case CC_B(CC_E(CC_C(_))), so it should not be able to reach that case.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions