lib/std/fs.zig | 2 - src/AstGen.zig | 48 ++++++++++-- src/Module.zig | 2 + src/Sema.zig | 133 +++++++++++++++++++++++++------- src/Zir.zig | 8 +- src/arch/aarch64/CodeGen.zig | 2 +- src/arch/arm/CodeGen.zig | 2 +- src/arch/sparc64/CodeGen.zig | 2 +- src/arch/wasm/CodeGen.zig | 10 +-- src/arch/x86_64/CodeGen.zig | 2 +- src/codegen.zig | 14 ++-- src/codegen/llvm.zig | 2 +- src/codegen/spirv.zig | 2 +- src/link/Dwarf.zig | 2 +- src/print_zir.zig | 2 +- src/type.zig | 54 +++++++++++-- src/value.zig | 23 ++++-- test/behavior.zig | 1 + test/behavior/bugs/12498.zig | 8 ++ test/behavior/struct.zig | 12 +++ test/cases/aarch64-macos/hello_world_with_updates.1.zig | 4 +- test/cases/compile_errors/calling_var_args_extern_function_passing_array_instead_of_pointer.zig | 1 + test/cases/compile_errors/casting_bit_offset_pointer_to_regular_pointer.zig | 1 + test/cases/compile_errors/closure_get_in_param_ty_instantiate_incorrectly.zig | 1 + test/cases/compile_errors/control_reaches_end_of_non-void_function.zig | 9 --- test/cases/compile_errors/disallow_coercion_from_non-null-terminated_pointer_to_null-terminated_pointer.zig | 1 + test/cases/compile_errors/double_pointer_to_anyopaque_pointer.zig | 1 + test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig | 1 + test/cases/compile_errors/invalid_compare_string.zig | 29 +++++++ test/cases/compile_errors/invalid_dependency_on_struct_size.zig | 19 +++++ test/cases/compile_errors/missing_parameter_name.zig | 19 +++++ test/cases/compile_errors/pass_const_ptr_to_mutable_ptr_fn.zig | 1 + test/cases/compile_errors/struct_init_passed_to_type_param.zig | 1 + test/cases/compile_errors/struct_type_mismatch_in_arg.zig | 18 +++++ test/cases/compile_errors/switch_on_slice.zig | 2 +- test/cases/compile_errors/type_error_in_implicit_return.zig | 17 ++++ test/cases/compile_errors/wrong_pointer_coerced_to_pointer_to_opaque_{}.zig | 1 + test/cases/x86_64-linux/hello_world_with_updates.1.zig | 6 +- test/cases/x86_64-macos/hello_world_with_updates.1.zig | 4 +- test/cases/x86_64-windows/hello_world_with_updates.1.zig | 4 +- 40 files changed, 377 insertions(+), 94 deletions(-)