Closed
Description
Compiler version
3.7.1
(not 3.7.0, 3.3.6)
Minimized code
//> using scala 3.7.1
package example
sealed trait A[X, Y]
case class B[X](x: X) extends A[X, Int]
case class C[X](x: X) extends A[X, Int]
case class D[X, Y](x: X, y: Y) extends A[X, Y]
def f[X, Y](a: A[X, Y]): Y = a match {
case B(_) | C(_) => 2
case D(_, y) => y
}
Output
[error] ./A.scala:11:23
[error] Found: (2 : Int)
[error] Required: Y
[error] case B(_) | C(_) => 2
[error] ^
Expectation
success