[#197] | project: compiler | priority: medium | category: bug | |
---|---|---|---|---|
submitter | assigned to | status | date submitted | |
Matthias | Burak | fixed | 2003-10-15 12:02:55.0 | |
subject | Empty sequence pattern doesn't match sometimes | |||
code |
case class Two(xs: List[Any]); object Foo with Executable { def test(xs: Any) = xs match { case Two(List(_*, b@(3 | ()))) => Console.println("b = " + b); case _ => Console.println("default"); } test(Two(List(1, 2, 3))); test(Two(List(1, 2))); test(Two(List(1))); test(Two(List())); } |
|||
what happened | The pattern in method |
|||
what expected | Match for all test cases. | |||
[back to overview] |
Matthias edited on 2003-10-15 12:03:27.0 |
Burak edited on 2003-10-29 16:46:27.0 |
fixed. This was a bug in the Parser, more precisely in the normalization used by the parser. It "optimized" the pattern b is bound to simply to 3 ! oops... |