[#108] | project: compiler | priority: medium | category: bug | |
---|---|---|---|---|
submitter | assigned to | status | date submitted | |
Matthias | Martin | fixed | 2003-09-03 00:43:09.0 | |
subject | Non-linear case patterns | |||
code |
object O { def foo(xs: List[Int]) = xs match { case x :: x => "first" } } |
|||
what happened | The program compiles. |
|||
what expected | Compiler error due to the non-linear pattern. | |||
[back to overview] |
Martin edited on 2003-09-03 17:51:16.0 |
I now implemented double definition checks which check that - only template members can be overloaded - all but one of a set of overloaded alternatives must be methods, defined by a `def'. We still need another check in erasure that detects that no two methods with the same name and signature have been generated. |
Martin edited on 2003-09-03 18:45:57.0 |