lib/std/log.zig | 10 +- src/AstGen.zig | 54 ++++-- src/Module.zig | 51 +++++- src/Sema.zig | 304 ++++++++++++++++++++------------ src/TypedValue.zig | 1 + src/Zir.zig | 43 +++-- src/print_zir.zig | 17 +- src/value.zig | 8 + test/cases/compile_errors/array_access_of_type.zig | 10 ++ test/cases/compile_errors/invalid_array_elem_ty.zig | 2 +- test/cases/compile_errors/method_call_with_first_arg_type_primitive.zig | 21 +++ test/cases/compile_errors/method_call_with_first_arg_type_wrong_container.zig | 30 ++++ test/cases/compile_errors/missing_const_in_slice_with_nested_array_type.zig | 18 ++ test/cases/compile_errors/mul_overflow_in_function_evaluation.zig | 14 ++ test/cases/compile_errors/negation_overflow_in_function_evaluation.zig | 13 ++ test/cases/compile_errors/no_else_prong_on_switch_on_global_error_set.zig | 14 ++ test/cases/compile_errors/non-const_variables_of_things_that_require_const_variables.zig | 44 +++++ test/cases/compile_errors/non-inline_for_loop_on_a_type_that_requires_comptime.zig | 16 ++ test/cases/compile_errors/non_constant_expression_in_array_size.zig | 14 ++ test/cases/compile_errors/non_error_sets_used_in_merge_error_sets_operator.zig | 15 ++ test/cases/compile_errors/panic_called_at_compile_time.zig | 11 ++ test/cases/compile_errors/range_operator_in_switch_used_on_error_set.zig | 20 +++ test/cases/compile_errors/reading_past_end_of_pointer_casted_array.zig | 13 ++ test/cases/compile_errors/runtime_index_into_comptime_type_slice.zig | 19 ++ test/cases/compile_errors/setAlignStack_in_inline_function.zig | 23 +++ test/cases/compile_errors/signed_integer_remainder_division.zig | 9 + test/cases/compile_errors/sizeOf_bad_type.zig | 9 + test/cases/compile_errors/slice_cannot_have_its_bytes_reinterpreted.zig | 11 ++ test/cases/compile_errors/slice_passed_as_array_init_type.zig | 11 ++ test/cases/compile_errors/slice_passed_as_array_init_type_with_elems.zig | 11 ++ test/cases/compile_errors/src_fields_runtime.zig | 14 ++ test/cases/compile_errors/stage1/non_compile_time_array_concatenation.zig | 11 ++ test/cases/compile_errors/stage1/obj/array_access_of_type.zig | 10 -- test/cases/compile_errors/stage1/obj/method_call_with_first_arg_type_primitive.zig | 21 --- test/cases/compile_errors/stage1/obj/method_call_with_first_arg_type_wrong_container.zig | 30 ---- test/cases/compile_errors/stage1/obj/missing_const_in_slice_with_nested_array_type.zig | 18 -- test/cases/compile_errors/stage1/obj/mul_overflow_in_function_evaluation.zig | 12 -- test/cases/compile_errors/stage1/obj/negation_overflow_in_function_evaluation.zig | 12 -- test/cases/compile_errors/stage1/obj/no_else_prong_on_switch_on_global_error_set.zig | 14 -- test/cases/compile_errors/stage1/obj/non-const_variables_of_things_that_require_const_variables.zig | 51 ------ test/cases/compile_errors/stage1/obj/non-inline_for_loop_on_a_type_that_requires_comptime.zig | 14 -- test/cases/compile_errors/stage1/obj/non_compile_time_array_concatenation.zig | 11 -- test/cases/compile_errors/stage1/obj/non_constant_expression_in_array_size.zig | 14 -- test/cases/compile_errors/stage1/obj/non_error_sets_used_in_merge_error_sets_operator.zig | 17 -- test/cases/compile_errors/stage1/obj/panic_called_at_compile_time.zig | 11 -- test/cases/compile_errors/stage1/obj/ptrCast_a_0_bit_type_to_a_non-_0_bit_type.zig | 13 -- test/cases/compile_errors/stage1/obj/ptrToInt_on_void.zig | 9 - test/cases/compile_errors/stage1/obj/range_operator_in_switch_used_on_error_set.zig | 19 -- test/cases/compile_errors/stage1/obj/reading_past_end_of_pointer_casted_array.zig | 13 -- test/cases/compile_errors/stage1/obj/recursive_inferred_error_set.zig | 12 -- test/cases/compile_errors/stage1/obj/runtime_index_into_comptime_type_slice.zig | 17 -- test/cases/compile_errors/stage1/obj/setAlignStack_in_inline_function.zig | 12 -- test/cases/compile_errors/stage1/obj/signed_integer_remainder_division.zig | 9 - test/cases/compile_errors/stage1/obj/sizeOf_bad_type.zig | 9 - test/cases/compile_errors/stage1/obj/slice_cannot_have_its_bytes_reinterpreted.zig | 11 -- test/cases/compile_errors/stage1/obj/slice_passed_as_array_init_type.zig | 10 -- test/cases/compile_errors/stage1/obj/slice_passed_as_array_init_type_with_elems.zig | 10 -- test/cases/compile_errors/stage1/obj/slicing_of_global_undefined_pointer.zig | 10 -- test/cases/compile_errors/stage1/obj/sub_overflow_in_function_evaluation.zig | 12 -- test/cases/compile_errors/stage1/obj/switch_expression-duplicate_or_overlapping_integer_value.zig | 16 -- test/cases/compile_errors/stage1/obj/switch_expression-switch_on_pointer_type_with_no_else.zig | 13 -- test/cases/compile_errors/stage1/obj/switch_expression-unreachable_else_prong_bool.zig | 14 -- test/cases/compile_errors/stage1/obj/switch_on_union_with_no_attached_enum.zig | 22 --- test/cases/compile_errors/stage1/obj/switch_with_invalid_expression_parameter.zig | 17 -- test/cases/compile_errors/stage1/obj/switch_with_overlapping_case_ranges.zig | 13 -- test/cases/compile_errors/stage1/obj/tagName_used_on_union_with_no_associated_enum_tag.zig | 16 -- test/cases/compile_errors/stage1/obj/type_variables_must_be_constant.zig | 10 -- test/cases/compile_errors/stage1/obj/unreachable_executed_at_comptime.zig | 16 -- test/cases/compile_errors/stage1/obj/use_of_comptime-known_undefined_function_value.zig | 13 -- test/cases/compile_errors/stage1/obj/wasmMemoryGrow_is_a_compile_error_in_non-Wasm_targets.zig | 10 -- test/cases/compile_errors/stage1/obj/wasmMemorySize_is_a_compile_error_in_non-Wasm_targets.zig | 10 -- test/cases/compile_errors/stage1/obj/wrong_type_for_reify_type.zig | 9 - test/cases/compile_errors/stage1/ptrCast_a_0_bit_type_to_a_non-_0_bit_type.zig | 13 ++ test/cases/compile_errors/stage1/ptrToInt_on_void.zig | 9 + test/cases/compile_errors/stage1/recursive_inferred_error_set.zig | 12 ++ test/cases/compile_errors/stage1/slicing_of_global_undefined_pointer.zig | 10 ++ test/cases/compile_errors/stage1/switch_with_invalid_expression_parameter.zig | 17 ++ test/cases/compile_errors/stage1/use_of_comptime-known_undefined_function_value.zig | 13 ++ test/cases/compile_errors/stage2/out_of_bounds_index.zig | 8 +- test/cases/compile_errors/sub_overflow_in_function_evaluation.zig | 13 ++ test/cases/compile_errors/switch_expression-duplicate_or_overlapping_integer_value.zig | 16 ++ test/cases/compile_errors/switch_expression-switch_on_pointer_type_with_no_else.zig | 13 ++ test/cases/compile_errors/switch_expression-unreachable_else_prong_bool.zig | 14 ++ test/cases/compile_errors/switch_on_union_with_no_attached_enum.zig | 22 +++ test/cases/compile_errors/switch_with_overlapping_case_ranges.zig | 14 ++ test/cases/compile_errors/tagName_used_on_union_with_no_associated_enum_tag.zig | 16 ++ test/cases/compile_errors/type_variables_must_be_constant.zig | 11 ++ test/cases/compile_errors/unreachable_executed_at_comptime.zig | 16 ++ test/cases/compile_errors/unreachable_variable.zig | 2 +- test/cases/compile_errors/use_invalid_number_literal_as_array_index.zig | 1 + test/cases/compile_errors/wasmMemoryGrow_is_a_compile_error_in_non-Wasm_targets.zig | 10 ++ test/cases/compile_errors/wasmMemorySize_is_a_compile_error_in_non-Wasm_targets.zig | 10 ++ test/cases/compile_errors/wrong_type_for_reify_type.zig | 9 + test/cases/variable_shadowing.10.zig | 9 + test/standalone/issue_7030/main.zig | 12 ++ 95 files changed, 961 insertions(+), 750 deletions(-)