src/Sema.zig | 1085 ++++++++++++++++---------------- src/codegen/llvm.zig | 2 +- test/behavior/switch.zig | 130 ++++ test/behavior/switch_loop.zig | 55 ++ test/cases/compile_errors/switch_capture_error_by_ref.zig | 25 + test/cases/compile_errors/switch_capture_packed_union_tag.zig | 15 + test/cases/compile_errors/switch_on_non_packed_struct.zig | 25 + test/cases/compile_errors/switch_packed_exhaustion.zig | 41 ++ 8 files changed, 847 insertions(+), 531 deletions(-)