doc/langref.html.in | 17 +- doc/langref/test_switch_on_errors.zig | 55 + doc/langref/test_tagged_union.zig | 8 + lib/std/tar/Writer.zig | 4 +- lib/std/testing.zig | 4 +- lib/std/zig/AstGen.zig | 2229 +++++++------ lib/std/zig/Zir.zig | 688 ++-- src/Air/Liveness.zig | 46 +- src/Air/Liveness/Verify.zig | 27 +- src/RangeSet.zig | 132 +- src/Sema.zig | 5662 +++++++++++++++----------------- src/Type.zig | 30 +- src/Zcu.zig | 89 +- src/codegen/llvm.zig | 8 +- src/codegen/wasm/CodeGen.zig | 5 +- src/print_zir.zig | 391 +-- test/behavior/for.zig | 17 + test/behavior/packed-struct.zig | 42 +- test/behavior/switch.zig | 187 ++ test/behavior/switch_loop.zig | 239 ++ test/behavior/switch_on_captured_error.zig | 212 +- test/behavior/while.zig | 17 + test/cases/compile_errors/continue_loop_from_else_block.zig | 17 + test/cases/compile_errors/duplicate_boolean_switch_value.zig | 2 + test/cases/compile_errors/invalid_switch_item.zig | 8 +- test/cases/compile_errors/labeled_block_continue.zig | 10 + test/cases/compile_errors/switch_loop_discarded_capture.zig | 16 + test/cases/compile_errors/switch_on_error_with_1_field_with_no_prongs.zig | 30 +- test/cases/compile_errors/switch_on_non_err_union.zig | 3 +- test/cases/compile_errors/tag_capture_on_non_inline_prong.zig | 12 - 30 files changed, 5197 insertions(+), 5010 deletions(-)