lib/std/zig/Ast.zig | 28 +++ lib/std/zig/Parse.zig | 350 +++++++++++++++++++++------ lib/std/zig/parser_test.zig | 14 +- lib/std/zig/render.zig | 114 ++++++--- src/AstGen.zig | 406 ++++++++++++++++++++++++++++++++ src/AstRlAnnotate.zig | 10 + src/Sema.zig | 54 +++++ src/Zir.zig | 29 +++ src/print_zir.zig | 23 ++ test/behavior.zig | 1 + test/behavior/destructure.zig | 100 ++++++++ test/cases/compile_errors/cast_without_result_type.zig | 7 + test/cases/compile_errors/extra_comma_in_destructure.zig | 10 + test/cases/compile_errors/invalid_destructure_astgen.zig | 22 ++ test/cases/compile_errors/invalid_destructure_sema.zig | 23 ++ test/cases/unused_vars.zig | 3 + 16 files changed, 1083 insertions(+), 111 deletions(-)