class Foo { foo: f64; } fun test() { let f = new Foo { foo: 12 }; let z = f.{let y = 222; foo }; } // NOTE: The AST allows for generic expressions to the right of the dot. // We need to make sure things are parsed correctly. // // TODO: Better parser recovery will improve the specifics of the errors. // // TODO: This is parsed wrong; the `{` is consumed after the '.' and it // should instead be ignored. This is the "greedy" expression parsing that // matklad talks about in his resilient parser article. // // @expect-errors: // | 7:12: Error at '{': expect ';' to end a let statement // | 7:26: cannot find value foo here