lib/std/json.zig | 6 +- lib/std/mem.zig | 23 +++-- lib/std/meta.zig | 4 +- lib/std/os/linux.zig | 2 +- lib/std/zig/c_translation.zig | 2 +- src/Sema.zig | 177 ++++++++++++++++++++++++-------- test/behavior/align.zig | 13 +++ test/behavior/bugs/4328.zig | 2 +- test/behavior/cast.zig | 4 +- test/behavior/slice.zig | 3 +- test/behavior/struct.zig | 2 +- test/behavior/type.zig | 4 +- test/behavior/type_info.zig | 6 +- test/cases/compile_errors/alignOf_bad_type.zig | 9 ++ test/cases/compile_errors/attempted_implicit_cast_from_const_T_to_sliceT.zig | 1 + test/cases/compile_errors/implicit_cast_between_C_pointer_and_Zig_pointer-bad_const-align-child.zig | 47 +++++++++ test/cases/compile_errors/implicit_cast_const_array_to_mutable_slice.zig | 26 +++++ test/cases/compile_errors/implicitly_increasing_slice_alignment.zig | 21 ++++ test/cases/compile_errors/increase_pointer_alignment_in_ptrCast.zig | 13 +++ test/cases/compile_errors/issue_5221_invalid_struct_init_type_referenced_by_typeInfo_and_passed_into_function.zig | 16 +++ test/cases/compile_errors/load_too_many_bytes_from_comptime_reinterpreted_pointer.zig | 2 +- test/cases/compile_errors/peer_cast_then_implicit_cast_const_pointer_to_mutable_C_pointer.zig | 11 ++ test/cases/compile_errors/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig | 24 +++++ test/cases/compile_errors/ptrCast_discards_const_qualifier.zig | 11 ++ test/cases/compile_errors/reading_past_end_of_pointer_casted_array.zig | 2 +- test/cases/compile_errors/slice_cannot_have_its_bytes_reinterpreted.zig | 2 +- test/cases/compile_errors/stage1/obj/implicit_cast_between_C_pointer_and_Zig_pointer-bad_const-align-child.zig | 42 -------- test/cases/compile_errors/stage1/obj/implicit_cast_const_array_to_mutable_slice.zig | 12 --- test/cases/compile_errors/stage1/obj/implicitly_increasing_slice_alignment.zig | 22 ---- test/cases/compile_errors/stage1/obj/increase_pointer_alignment_in_ptrCast.zig | 13 --- test/cases/compile_errors/stage1/obj/issue_5221_invalid_struct_init_type_referenced_by_typeInfo_and_passed_into_function.zig | 16 --- test/cases/compile_errors/stage1/obj/peer_cast_then_implicit_cast_const_pointer_to_mutable_C_pointer.zig | 11 -- test/cases/compile_errors/stage1/obj/pointer_attributes_checked_when_coercing_pointer_to_anon_literal.zig | 24 ----- test/cases/compile_errors/stage1/obj/ptrCast_discards_const_qualifier.zig | 11 -- 34 files changed, 357 insertions(+), 227 deletions(-)