lib/std/debug.zig | 7 +- src/AstGen.zig | 623 ++++++++++----------- src/AstRlAnnotate.zig | 44 +- src/Autodoc.zig | 53 +- src/InternPool.zig | 4 +- src/Sema.zig | 925 +++++++++++++++++--------------- src/Zir.zig | 325 ++++++----- src/print_zir.zig | 141 +++-- src/type.zig | 11 + test/behavior/array.zig | 34 ++ test/behavior/bugs/12776.zig | 1 + test/behavior/bugs/13664.zig | 1 + test/behavior/cast.zig | 26 + test/behavior/pointers.zig | 18 + test/behavior/struct.zig | 15 + test/cases/compile_errors/anytype_param_requires_comptime.zig | 6 +- test/cases/compile_errors/assigning_to_struct_or_union_fields_that_are_not_optionals_with_a_function_that_returns_an_optional.zig | 6 +- test/cases/compile_errors/cast_without_result_type_due_to_anyopaque_pointer.zig | 21 + test/cases/compile_errors/cast_without_result_type_due_to_generic_parameter.zig | 16 +- test/cases/compile_errors/for_invalid_ranges.zig | 3 +- test/cases/compile_errors/invalid_store_to_comptime_field.zig | 9 +- test/cases/compile_errors/missing_const_in_slice_with_nested_array_type.zig | 2 +- test/cases/compile_errors/missing_else_clause.zig | 4 +- test/cases/compile_errors/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig | 6 +- test/cases/compile_errors/reassign_to_array_parameter.zig | 2 +- test/cases/compile_errors/reassign_to_struct_parameter.zig | 2 +- test/cases/compile_errors/regression_test_2980_base_type_u32_is_not_type_checked_properly_when_assigning_a_value_within_a_struct.zig | 6 +- test/cases/compile_errors/result_location_incompatibility_mismatching_handle_is_ptr.zig | 6 +- test/cases/compile_errors/result_location_incompatibility_mismatching_handle_is_ptr_generic_call.zig | 6 +- test/cases/compile_errors/return_incompatible_generic_struct.zig | 1 + test/cases/compile_errors/runtime_assignment_to_comptime_struct_type.zig | 4 +- test/cases/compile_errors/runtime_assignment_to_comptime_union_type.zig | 4 +- test/cases/compile_errors/shift_amount_has_to_be_an_integer_type.zig | 3 +- test/cases/compile_errors/slice_sentinel_mismatch-1.zig | 13 +- test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig | 1 - test/cases/compile_errors/union_noreturn_field_initialized.zig | 2 +- test/cases/compile_errors/wrong_types_given_to_export.zig | 2 +- test/compile_errors.zig | 6 +- test/tests.zig | 5 + 39 files changed, 1335 insertions(+), 1029 deletions(-)