Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exhaustive check during pattern matching on Coproduct #103

Open
a-nigredo opened this issue Dec 5, 2017 · 0 comments
Open

Exhaustive check during pattern matching on Coproduct #103

a-nigredo opened this issue Dec 5, 2017 · 0 comments

Comments

@a-nigredo
Copy link

a-nigredo commented Dec 5, 2017

It would be nice to have compilation error if there is a pattern matching on not all injected values.
e.g.

type Primitive = Cop[String :: Boolean :: TNil
object Primitive {
  val Str= Cop.Inject[String, Primitive]
  val Bool= Cop.Inject[Boolean, Primitive]
}
def print(v: Primitive) =
  v match {
    case Str(v) => println(v)
  }

should throw compilation error since there is not Bool case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant