src/AstGen.zig | 3 +- src/Module.zig | 107 +++++++++++-- src/Sema.zig | 264 ++++++++++++++++++++++++++------ src/Zir.zig | 6 + test/behavior/bitcast.zig | 16 -- test/behavior/packed-struct.zig | 28 +--- test/behavior/sizeof_and_typeof.zig | 2 + test/behavior/struct.zig | 6 +- test/cases/compile_errors/bitCast_to_enum_type.zig | 2 +- test/cases/compile_errors/global_variable_alignment_non_power_of_2.zig | 8 + test/cases/compile_errors/intToPtr_with_misaligned_address.zig | 10 ++ test/cases/compile_errors/issue_3818_bitcast_from_parray-slice_to_u16.zig | 19 +++ test/cases/compile_errors/packed_struct_with_fields_of_not_allowed_types.zig | 84 ++++++++++ test/cases/compile_errors/src_outside_function.zig | 9 ++ test/cases/compile_errors/stage1/obj/global_variable_alignment_non_power_of_2.zig | 8 - test/cases/compile_errors/stage1/obj/intToPtr_with_misaligned_address.zig | 10 -- test/cases/compile_errors/stage1/obj/issue_3818_bitcast_from_parray-slice_to_u16.zig | 17 -- test/cases/compile_errors/stage1/obj/src_outside_function.zig | 9 -- test/cases/compile_errors/stage1/test/packed_struct_with_fields_of_not_allowed_types.zig | 74 --------- test/cases/compile_errors/type_variables_must_be_constant.zig | 4 +- test/cases/compile_errors/use_invalid_number_literal_as_array_index.zig | 4 +- test/cases/compile_errors/usingnamespace_with_wrong_type.zig | 2 +- 22 files changed, 459 insertions(+), 233 deletions(-)