Closed
Description
case class Foo(a: String, b: String)
object Bar {
def unapply(s: String): Option[Long] =
try { Some(s.toLong) } catch { case _ => None }
}
object Test {
def main(args: Array[String]) {
val f = Foo("1", "2")
f match {
case Foo(Bar(1), Bar(2)) => ()
// failes:
case Foo(Bar(i), Bar(j)) if i >= 0 => ()
// works:
//case Foo(Bar(i: Long), Bar(j)) if i >= 0 => ()
//case Foo(Bar(i), Bar(j)) => ()
}
}
}
error: internal error, types don't match: pattern variable value i:Long temp variable temp11:Int(1)
one error found
Metadata
Metadata
Assignees
Labels
No labels