| [#167] | project: compiler | priority: low | category: bug | |
|---|---|---|---|---|
| submitter | assigned to | status | date submitted | |
| Philippe | Martin | fixed | 2003-09-30 18:17:19.0 | |
| subject | lambdalift wrongly lifts local variables having the same name as class arguments | |||
| code |
class Node(bar:Int) {
val foo = {
val bar = 1;
bar
}
}
object Test {
def main(args: Array[String]): Unit = {
System.out.println(new Node(0).foo);
}
}
|
|||
| what happened |
|
|||
| what expected | Program prints: 1 The problem is that method LambdaLiftPhase.proxy returns the class arguments |
|||
| [back to overview] | ||||
| Philippe edited on 2003-09-30 18:41:09.0 |
| Fixed by modifiying LambdaLiftPhase.proxy so that it compares enclFun of owners instead of owners directly. |