doc/langref.html.in | 21 +- src/all_types.hpp | 59 +--- src/analyze.cpp | 607 ++++++++++++++++---------------- src/analyze.hpp | 6 +- src/ast_render.cpp | 7 + src/codegen.cpp | 239 ++++--------- src/ir.cpp | 488 +++++++++++-------------- src/ir_print.cpp | 31 +- src/parser.cpp | 29 +- std/build.zig | 42 +-- std/debug.zig | 28 +- std/os/child_process.zig | 10 +- std/os/path.zig | 2 +- test/cases/bugs/394.zig | 4 +- test/cases/enum.zig | 24 +- test/cases/enum_with_members.zig | 6 +- test/cases/misc.zig | 16 +- test/cases/reflection.zig | 4 +- test/cases/switch.zig | 16 +- test/cases/switch_prong_err_enum.zig | 4 +- test/cases/switch_prong_implicit_cast.zig | 8 +- test/cases/union.zig | 35 +- test/compile_errors.zig | 54 ++- test/tests.zig | 10 +- 24 files changed, 800 insertions(+), 950 deletions(-)