doc/langref.html.in | 7 + doc/langref/test_packed_union_equality.zig | 14 + src/Sema.zig | 1085 ++++++++++++++++---------------- src/Type.zig | 3 +- src/codegen/llvm.zig | 4 +- test/behavior/packed-union.zig | 20 + test/behavior/switch.zig | 132 ++++ 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 ++ 12 files changed, 892 insertions(+), 534 deletions(-)