diff --git a/tests/neg/i4863.scala b/tests/neg/i4863.scala new file mode 100644 index 000000000000..350554354fe2 --- /dev/null +++ b/tests/neg/i4863.scala @@ -0,0 +1,13 @@ +sealed trait Nat +case class S(n: Nat) extends Nat +case object Z extends Nat + +inline def pred(n: Nat) = inline n match { + case S(m) => m + case Z => + compiletime.error("n cannot be Z") +} + +class Test { + pred(Z) // error +} diff --git a/tests/pos/i4863.scala b/tests/pos/i4863.scala new file mode 100644 index 000000000000..7afec6f00645 --- /dev/null +++ b/tests/pos/i4863.scala @@ -0,0 +1,13 @@ +sealed trait Nat +case class S(n: Nat) extends Nat +case object Z extends Nat + +inline def pred(n: Nat) = inline n match { + case S(m) => m + case Z => + compiletime.error("n cannot be Z") +} + +class Test { + pred(S(Z)) +}