src/Compilation.zig | 4 +- src/Module.zig | 58 +- src/RangeSet.zig | 31 +- src/Sema.zig | 907 +++++++++++++++++++------------- src/TypedValue.zig | 57 +- src/arch/aarch64/CodeGen.zig | 33 +- src/arch/arm/CodeGen.zig | 24 +- src/arch/arm/Emit.zig | 5 +- src/arch/riscv64/CodeGen.zig | 25 +- src/arch/wasm/CodeGen.zig | 35 +- src/arch/x86_64/CodeGen.zig | 20 +- src/arch/x86_64/Emit.zig | 4 +- src/codegen.zig | 35 +- src/codegen/c.zig | 57 +- src/codegen/llvm.zig | 106 ++-- src/codegen/spirv.zig | 18 +- src/link.zig | 4 +- src/link/C.zig | 8 +- src/link/Dwarf.zig | 24 +- src/link/MachO.zig | 19 +- src/print_air.zig | 12 +- src/type.zig | 813 ++++++++++++++++++---------- src/value.zig | 515 ++++++++++-------- test/behavior.zig | 2 +- test/behavior/struct_contains_slice_of_itself.zig | 9 + test/stage2/x86_64.zig | 2 +- 26 files changed, 1733 insertions(+), 1094 deletions(-)