src/Sema.zig | 283 ++++++++++++++++++++++++++------ src/type.zig | 3 +- test/cases/compile_errors/bad_alignment_in_implicit_cast_from_array_pointer_to_slice.zig | 12 ++ test/cases/compile_errors/bad_alignment_type.zig | 15 ++ test/cases/compile_errors/compare_optional_to_non-optional_with_invalid_types.zig | 37 +++++ test/cases/compile_errors/comptime_implicit_cast_f64_to_f32.zig | 11 ++ test/cases/compile_errors/error_when_evaluating_return_type.zig | 17 ++ test/cases/compile_errors/extern_function_pointer_mismatch.zig | 13 ++ test/cases/compile_errors/floatToInt_comptime_safety.zig | 17 ++ test/cases/compile_errors/implicit_casting_null_c_pointer_to_zig_pointer.zig | 11 ++ test/cases/compile_errors/implicit_dependency_on_libc.zig | 10 ++ test/cases/compile_errors/indexing_a_undefined_slice_at_comptime.zig | 10 ++ test/cases/compile_errors/integer_cast_truncates_bits.zig | 31 ++++ test/cases/compile_errors/issue_4207_coerce_from_non-terminated-slice_to_terminated-pointer.zig | 12 ++ test/cases/compile_errors/issue_7810-comptime_slice-len_increment_beyond_bounds.zig | 14 ++ test/cases/compile_errors/lazy_pointer_with_undefined_element_type.zig | 12 ++ test/cases/compile_errors/missing_result_type_for_phi_node.zig | 12 ++ test/cases/compile_errors/noalias_on_non_pointer_param.zig | 8 + test/cases/compile_errors/passing_an_under-aligned_function_pointer.zig | 14 ++ test/cases/compile_errors/reify_type_for_union_with_opaque_field.zig | 20 +++ test/cases/compile_errors/runtime_assignment_to_comptime_struct_type.zig | 16 ++ test/cases/compile_errors/runtime_assignment_to_comptime_union_type.zig | 16 ++ test/cases/compile_errors/saturating_shl_assign_does_not_allow_negative_rhs_at_comptime.zig | 12 ++ test/cases/compile_errors/saturating_shl_does_not_allow_negative_rhs_at_comptime.zig | 9 + test/cases/compile_errors/shift_amount_has_to_be_an_integer_type.zig | 10 ++ test/cases/compile_errors/shift_by_negative_comptime_integer.zig | 10 ++ test/cases/compile_errors/slice_sentinel_mismatch-1.zig | 11 ++ test/cases/compile_errors/stage1/obj/bad_alignment_in_implicit_cast_from_array_pointer_to_slice.zig | 11 -- test/cases/compile_errors/stage1/obj/bad_alignment_type.zig | 15 -- test/cases/compile_errors/stage1/obj/compare_optional_to_non-optional_with_invalid_types.zig | 35 ---- test/cases/compile_errors/stage1/obj/comptime_implicit_cast_f64_to_f32.zig | 11 -- test/cases/compile_errors/stage1/obj/error_when_evaluating_return_type.zig | 17 -- test/cases/compile_errors/stage1/obj/extern_function_pointer_mismatch.zig | 12 -- test/cases/compile_errors/stage1/obj/floatToInt_comptime_safety.zig | 17 -- test/cases/compile_errors/stage1/obj/implicit_casting_null_c_pointer_to_zig_pointer.zig | 11 -- test/cases/compile_errors/stage1/obj/implicit_casting_too_big_integers_to_C_pointers.zig | 16 -- test/cases/compile_errors/stage1/obj/implicit_dependency_on_libc.zig | 11 -- test/cases/compile_errors/stage1/obj/indexing_a_undefined_slice_at_comptime.zig | 10 -- test/cases/compile_errors/stage1/obj/integer_cast_truncates_bits.zig | 31 ---- test/cases/compile_errors/stage1/obj/issue_4207_coerce_from_non-terminated-slice_to_terminated-pointer.zig | 11 -- test/cases/compile_errors/stage1/obj/issue_7810-comptime_slice-len_increment_beyond_bounds.zig | 14 -- test/cases/compile_errors/stage1/obj/lazy_pointer_with_undefined_element_type.zig | 12 -- test/cases/compile_errors/stage1/obj/libc_headers_note.zig | 12 -- test/cases/compile_errors/stage1/obj/missing_result_type_for_phi_node.zig | 12 -- test/cases/compile_errors/stage1/obj/noalias_on_non_pointer_param.zig | 8 - test/cases/compile_errors/stage1/obj/passing_an_under-aligned_function_pointer.zig | 13 -- test/cases/compile_errors/stage1/obj/reify_type_for_union_with_opaque_field.zig | 19 --- test/cases/compile_errors/stage1/obj/runtime_assignment_to_comptime_struct_type.zig | 15 -- test/cases/compile_errors/stage1/obj/runtime_assignment_to_comptime_union_type.zig | 15 -- test/cases/compile_errors/stage1/obj/saturating_shl_assign_does_not_allow_negative_rhs_at_comptime.zig | 12 -- test/cases/compile_errors/stage1/obj/saturating_shl_does_not_allow_negative_rhs_at_comptime.zig | 9 - test/cases/compile_errors/stage1/obj/shift_amount_has_to_be_an_integer_type.zig | 10 -- test/cases/compile_errors/stage1/obj/shift_by_negative_comptime_integer.zig | 10 -- test/cases/compile_errors/stage1/obj/slice_sentinel_mismatch-1.zig | 10 -- test/cases/compile_errors/stage1/obj/union_auto-enum_value_already_taken.zig | 18 -- test/cases/compile_errors/stage1/obj/union_enum_field_does_not_match_enum.zig | 22 --- test/cases/compile_errors/stage1/obj/union_with_too_small_explicit_signed_tag_type.zig | 16 -- test/cases/compile_errors/stage1/obj/union_with_too_small_explicit_unsigned_tag_type.zig | 17 -- test/cases/compile_errors/stage1/obj/wrong_function_type.zig | 11 -- test/cases/compile_errors/union_auto-enum_value_already_taken.zig | 18 ++ test/cases/compile_errors/union_enum_field_does_not_match_enum.zig | 22 +++ test/cases/compile_errors/union_with_too_small_explicit_signed_tag_type.zig | 16 ++ test/cases/compile_errors/union_with_too_small_explicit_unsigned_tag_type.zig | 17 ++ test/cases/compile_errors/wrong_function_type.zig | 12 ++ 64 files changed, 680 insertions(+), 514 deletions(-)