lib/std/zig.zig | 159 +++++ lib/std/zig/AstGen.zig | 327 ++++++--- lib/std/zig/Zir.zig | 28 +- src/Compilation.zig | 6 +- src/Sema.zig | 1141 ++++++++++++++------------------ src/Zcu/PerThread.zig | 28 +- src/print_zir.zig | 15 +- test/cases/compile_errors/address_of_threadlocal_not_comptime_known.zig | 4 +- test/cases/compile_errors/anytype_param_requires_comptime.zig | 6 +- test/cases/compile_errors/array_mult_with_number_type.zig | 9 +- test/cases/compile_errors/asm_at_compile_time.zig | 3 +- test/cases/compile_errors/attempted_double_pipe_on_boolean_values.zig | 8 +- test/cases/compile_errors/branch_in_comptime_only_scope_uses_condbr_inline.zig | 2 + test/cases/compile_errors/builtin_extern_in_comptime_scope.zig | 8 +- test/cases/compile_errors/compile_time_struct_field.zig | 17 +- test/cases/compile_errors/condition_comptime_reason_explained.zig | 12 +- test/cases/compile_errors/enum_backed_by_comptime_int_must_be_casted_from_comptime_value.zig | 2 +- test/cases/compile_errors/error_in_typeof_param.zig | 2 +- test/cases/compile_errors/explain_why_fn_is_called_at_comptime.zig | 7 +- test/cases/compile_errors/explain_why_generic_fn_is_called_at_comptime.zig | 7 +- test/cases/compile_errors/global_var_struct_init_in_comptim_block.zig | 14 - test/cases/compile_errors/global_var_struct_init_in_comptime_block.zig | 15 + test/cases/compile_errors/global_variable_stored_in_global_const.zig | 4 +- test/cases/compile_errors/incorrect_pointer_dereference_syntax.zig | 5 +- test/cases/compile_errors/inline_call_runtime_value_to_comptime_param.zig | 2 +- test/cases/compile_errors/int-float_conversion_to_comptime_int-float.zig | 6 +- test/cases/compile_errors/non-const_expression_function_call_with_struct_return_value_outside_function.zig | 5 +- test/cases/compile_errors/non-pure_function_returns_type.zig | 3 +- test/cases/compile_errors/non_comptime_param_in_comptime_function.zig | 5 +- test/cases/compile_errors/non_constant_expression_in_array_size.zig | 4 +- test/cases/compile_errors/runtime_assignment_to_comptime_struct_type.zig | 6 +- test/cases/compile_errors/runtime_assignment_to_comptime_union_type.zig | 6 +- test/cases/compile_errors/runtime_operation_in_comptime_scope.zig | 36 + test/cases/compile_errors/runtime_to_comptime_num.zig | 8 +- test/cases/compile_errors/runtime_value_in_comptime_scope.zig | 61 ++ test/cases/compile_errors/slice_of_single-item_pointer_bounds.zig | 10 +- test/cases/compile_errors/unable_to_evaluate_comptime_expr.zig | 5 +- test/cases/compile_errors/unable_to_evaluate_expr_inside_cimport.zig | 2 +- test/compile_errors.zig | 8 +- 39 files changed, 1157 insertions(+), 839 deletions(-)