Skip to content

Patternmatch Unreachable Warning #20123

Closed
@CyrilFMoser

Description

@CyrilFMoser

Compiler version

3.4.1

Minimized code

sealed trait T_A[A, B]
sealed trait T_B[C]
case class CC_D[A, C]() extends T_A[A, C]
case class CC_E() extends T_B
case class CC_G[A, C](c: C) extends T_A[A, C]
val v_a: T_A[Boolean, T_B[Boolean]] = CC_G(null)
val v_b = v_a match {
  case CC_D()  => 0
  case CC_G(_) => 1
}

Output

The value of v_b is 1

Expectation

The compiler gives an unreachable warning for case CC_G(_) , 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