ceylon/ceylon-compiler

destructure in initializer results in "cannot find symbol"

jvasileff opened this issue · 0 comments

Anything foo()
    =>  object {
            value a -> b = "" -> "";
            noop(if (exists idx = a.lastOccurrence('.')) // error on "a"
                then "" else "");
            print(a.size); // another error on "a"
        };

produces two identical errors:

Cannot find symbol symbol: method getA$priv$()

The errors disappear if you:

  • Remove the expression in noop
  • don't use destructuring to define a
  • use a block instead of a lazy specifier to define foo()

The errors also occurs with tuple destructuring.