src/AstGen.zig | 134 +++++++++-- src/Sema.zig | 388 +++++++++++++++++++++----------- test/cases/compile_errors/accessing_runtime_parameter_from_outer_function.zig | 20 ++ test/cases/compile_errors/cannot_break_out_of_defer_expression.zig | 14 ++ test/cases/compile_errors/cannot_continue_out_of_defer_expression.zig | 14 ++ test/cases/compile_errors/direct_struct_loop.zig | 9 + test/cases/compile_errors/for_loop_body_expression_ignored.zig | 35 +++ test/cases/compile_errors/indirect_struct_loop.zig | 13 ++ test/cases/compile_errors/instantiating_an_undefined_value_for_an_invalid_struct_that_contains_itself.zig | 16 ++ test/cases/compile_errors/instantiating_an_undefined_value_for_an_invalid_union_that_contains_itself.zig | 16 ++ test/cases/compile_errors/packed_union_given_enum_tag_type.zig | 20 ++ test/cases/compile_errors/packed_union_with_automatic_layout_field.zig | 20 ++ test/cases/compile_errors/specify_non-integer_enum_tag_type.zig | 16 ++ test/cases/compile_errors/stage1/obj/accessing_runtime_parameter_from_outer_function.zig | 21 -- test/cases/compile_errors/stage1/obj/cannot_break_out_of_defer_expression.zig | 13 -- test/cases/compile_errors/stage1/obj/cannot_continue_out_of_defer_expression.zig | 13 -- test/cases/compile_errors/stage1/obj/direct_struct_loop.zig | 8 - test/cases/compile_errors/stage1/obj/for_loop_body_expression_ignored.zig | 18 -- test/cases/compile_errors/stage1/obj/indirect_struct_loop.zig | 10 - test/cases/compile_errors/stage1/obj/instantiating_an_undefined_value_for_an_invalid_struct_that_contains_itself.zig | 15 -- test/cases/compile_errors/stage1/obj/packed_union_given_enum_tag_type.zig | 20 -- test/cases/compile_errors/stage1/obj/packed_union_with_automatic_layout_field.zig | 18 -- test/cases/compile_errors/stage1/obj/specify_non-integer_enum_tag_type.zig | 16 -- test/cases/compile_errors/stage1/obj/struct_depends_on_itself_via_optional_field.zig | 19 -- test/cases/compile_errors/stage1/obj/top_level_decl_dependency_loop.zig | 12 - test/cases/compile_errors/stage1/obj/unused_variable_error_on_errdefer.zig | 13 -- test/cases/compile_errors/stage1/obj/vector_index_out_of_bounds.zig | 10 - test/cases/compile_errors/stage1/obj/while_expected_error_union_got_bool.zig | 10 - test/cases/compile_errors/stage1/obj/while_expected_error_union_got_optional.zig | 10 - test/cases/compile_errors/stage1/obj/while_expected_optional_got_bool.zig | 10 - test/cases/compile_errors/stage1/obj/while_expected_optional_got_error_union.zig | 10 - test/cases/compile_errors/stage1/obj/while_loop_body_expression_ignored.zig | 22 -- test/cases/compile_errors/struct_depends_on_itself_via_optional_field.zig | 19 ++ test/cases/compile_errors/top_level_decl_dependency_loop.zig | 13 ++ test/cases/compile_errors/unused_variable_error_on_errdefer.zig | 13 ++ test/cases/compile_errors/vector_index_out_of_bounds.zig | 10 + test/cases/compile_errors/while_expected_error_union_got_bool.zig | 10 + test/cases/compile_errors/while_expected_error_union_got_optional.zig | 10 + test/cases/compile_errors/while_expected_optional_got_bool.zig | 10 + test/cases/compile_errors/while_expected_optional_got_error_union.zig | 10 + test/cases/compile_errors/while_loop_body_expression_ignored.zig | 43 ++++ 41 files changed, 693 insertions(+), 428 deletions(-)