lib/std/zig/Ast.zig | 18 ++++ lib/std/zig/AstGen.zig | 150 +++++++++++++++++++------------- lib/std/zig/Zir.zig | 60 +++++++++---- src/Sema.zig | 63 +++++++++++--- src/Zcu.zig | 47 +++++----- src/print_zir.zig | 60 +++++++++---- test/behavior/switch.zig | 25 ++++++ test/cases/compile_errors/switch_expression-non_exhaustive_absorbing.zig | 33 +++++++ test/cases/compile_errors/switching_with_exhaustive_enum_has___prong_.zig | 2 +- test/cases/compile_errors/switching_with_non-exhaustive_enums.zig | 2 +- 10 files changed, 333 insertions(+), 127 deletions(-)