Community
Participate
Working Groups
Given this code: package bug346801; team class Outer { protected team class Mid { protected team class Inner playedBy Mid { } } } the compiler reports this error against Inner: "The blank final field base may not have been initialized"
Should address this as soon as bug 247564 has been backed out of the OTDT, too. Currently, the new id-computation from that bug complicates the issue at hand.
Resolved for 2.1 M6 via commit a26c24944ff8b879c9ea9d6e51de47467ea9a30f Translation in DeclaredLifting.prepareArgLifting() wrongly detected a lifting constructor as a team constructor needing preparation for declared lifting. The point is we need better detection of a role *of the current team*, to distinguish this from an *enclosing* role. With the above mis-detection, the "base" argument was renamed to "_OT$base" thus hiding the field we need to assign in the lifting constructor. The compiler error was actually correct, the generated AST was wrong.
Verified using 2.2.0 M5.