From c5383173a0de17210f3036acd942738e906997e5 Mon Sep 17 00:00:00 2001 From: Matthew Lugg Date: Sat, 22 Nov 2025 21:59:46 +0000 Subject: [PATCH 1/3] compiler: replace `@Type` with individual type-creating builtins The new builtins are: * `@EnumLiteral` * `@Int` * `@Fn` * `@Pointer` * `@Tuple` * `@Enum` * `@Union` * `@Struct` Their usage is documented in the language reference. There is no `@Array` because arrays can be created like this: if (sentinel) |s| [n:s]T else [n]T There is also no `@Float`. Instead, `std.meta.Float` can serve this use case if necessary. There is no `@ErrorSet` and intentionally no way to achieve this. Likewise, there is intentionally no way to reify tuples with comptime fields, or function types with comptime parameters. These decisions simplify the Zig language specification, and moreover make Zig code more readable by discouraging overly complex metaprogramming. Co-authored-by: Ali Cheraghi Resolves: #10710 --- doc/langref.html.in | 114 +- lib/std/builtin.zig | 59 +- lib/std/zig.zig | 64 +- lib/std/zig/AstGen.zig | 196 ++- lib/std/zig/AstRlAnnotate.zig | 45 +- lib/std/zig/BuiltinFn.zig | 62 +- lib/std/zig/Zir.zig | 139 +- src/Air.zig | 5 + src/InternPool.zig | 108 +- src/Sema.zig | 2517 ++++++++++++++++----------------- src/Type.zig | 10 +- src/Value.zig | 23 + src/Zcu.zig | 24 +- src/codegen/c/Type.zig | 70 + src/link/Dwarf.zig | 7 +- src/print_zir.zig | 104 +- 16 files changed, 2076 insertions(+), 1471 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index 5c6943c9f4..c0272124ca 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -638,7 +638,7 @@ {#syntax#}i7{#endsyntax#} refers to a signed 7-bit integer. The maximum allowed bit-width of an integer type is {#syntax#}65535{#endsyntax#}.

- {#see_also|Integers|Floats|void|Errors|@Type#} + {#see_also|Integers|Floats|void|Errors|@Int#} {#header_close#} {#header_open|Primitive Values#}
@@ -3723,9 +3723,9 @@ void do_a_thing(struct Foo *foo) { {#syntax#}x{#endsyntax#} is a {#syntax#}@FieldType(T, "a"){#endsyntax#} - {#syntax#}@Type(x){#endsyntax#} + {#syntax#}@Int(x, y){#endsyntax#} - - {#syntax#}x{#endsyntax#} is a {#syntax#}std.builtin.Type{#endsyntax#} + {#syntax#}x{#endsyntax#} is a {#syntax#}std.builtin.Signedness{#endsyntax#}, {#syntax#}y{#endsyntax#} is a {#syntax#}u16{#endsyntax#} {#syntax#}@typeInfo(x){#endsyntax#} @@ -3839,9 +3839,9 @@ void do_a_thing(struct Foo *foo) { {#syntax#}x{#endsyntax#} has no result location (typed initializers do not propagate result locations) - {#syntax#}@Type(x){#endsyntax#} - {#syntax#}ptr{#endsyntax#} - {#syntax#}x{#endsyntax#} has no result location + {#syntax#}@Int(x, y){#endsyntax#} + - + {#syntax#}x{#endsyntax#} and {#syntax#}y{#endsyntax#} do not have result locations {#syntax#}@typeInfo(x){#endsyntax#} @@ -5755,41 +5755,75 @@ fn cmpxchgWeakButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_val

{#header_close#} - {#header_open|@Type#} -
{#syntax#}@Type(comptime info: std.builtin.Type) type{#endsyntax#}
-

- This function is the inverse of {#link|@typeInfo#}. It reifies type information - into a {#syntax#}type{#endsyntax#}. -

-

- It is available for the following types: -

-
    -
  • {#syntax#}type{#endsyntax#}
  • -
  • {#syntax#}noreturn{#endsyntax#}
  • -
  • {#syntax#}void{#endsyntax#}
  • -
  • {#syntax#}bool{#endsyntax#}
  • -
  • {#link|Integers#} - The maximum bit count for an integer type is {#syntax#}65535{#endsyntax#}.
  • -
  • {#link|Floats#}
  • -
  • {#link|Pointers#}
  • -
  • {#syntax#}comptime_int{#endsyntax#}
  • -
  • {#syntax#}comptime_float{#endsyntax#}
  • -
  • {#syntax#}@TypeOf(undefined){#endsyntax#}
  • -
  • {#syntax#}@TypeOf(null){#endsyntax#}
  • -
  • {#link|Arrays#}
  • -
  • {#link|Optionals#}
  • -
  • {#link|Error Set Type#}
  • -
  • {#link|Error Union Type#}
  • -
  • {#link|Vectors#}
  • -
  • {#link|opaque#}
  • -
  • {#syntax#}anyframe{#endsyntax#}
  • -
  • {#link|struct#}
  • -
  • {#link|enum#}
  • -
  • {#link|Enum Literals#}
  • -
  • {#link|union#}
  • -
  • {#link|Functions#}
  • -
+ {#header_open|@EnumLiteral#} +
{#syntax#}@EnumLiteral() type{#endsyntax#}
+

Returns the comptime-only "enum literal" type. This is the type of uncoerced {#link|Enum Literals#}. Values of this type can coerce to any {#link|enum#} with a matching field.

{#header_close#} + + {#header_open|@Int#} +
{#syntax#}@Int(comptime signedness: std.builtin.Signedness, comptime bits: u16) type{#endsyntax#}
+

Returns an integer type with the given signedness and bit width.

+

For instance, {#syntax#}@Int(.unsigned, 18){#endsyntax#} returns the type {#syntax#}u18{#endsyntax#}.

+ {#header_close#} + + {#header_open|@Tuple#} +
{#syntax#}@Tuple(comptime field_types: []const type) type{#endsyntax#}
+

Returns a {#link|tuple|Tuples#} type with the given field types.

+ {#header_close#} + + {#header_open|@Pointer#} +
{#syntax#}@Pointer(
+    comptime size: std.builtin.Type.Pointer.Size,
+    comptime attrs: std.builtin.Type.Pointer.Attributes,
+    comptime Element: type,
+    comptime sentinel: ?Element,
+) type{#endsyntax#}
+

Returns a {#link|pointer|Pointers#} type with the properties specified by the arguments.

+ {#header_close#} + + {#header_open|@Fn#} +
{#syntax#}@Fn(
+    comptime param_types: []const type,
+    comptime param_attrs: *const [param_types.len]std.builtin.Type.Fn.Param.Attributes,
+    comptime ReturnType: type,
+    comptime attrs: std.builtin.Type.Fn.Attributes,
+) type{#endsyntax#}
+

Returns a {#link|function|Functions#} type with the properties specified by the arguments.

+ {#header_close#} + + {#header_open|@Struct#} +
{#syntax#}@Struct(
+    comptime layout: std.builtin.Type.ContainerLayout,
+    comptime BackingInt: ?type,
+    comptime field_names: []const []const u8,
+    comptime field_types: *const [field_names.len]type,
+    comptime field_attrs: *const [field_names.len]std.builtin.Type.StructField.Attributes,
+) type{#endsyntax#}
+

Returns a {#link|struct#} type with the properties specified by the arguments.

+ {#header_close#} + + {#header_open|@Union#} +
{#syntax#}@Union(
+    comptime layout: std.builtin.Type.ContainerLayout,
+    /// Either the integer tag type, or the integer backing type, depending on `layout`.
+    comptime ArgType: ?type,
+    comptime field_names: []const []const u8,
+    comptime field_types: *const [field_names.len]type,
+    comptime field_attrs: *const [field_names.len]std.builtin.Type.UnionField.Attributes,
+) type{#endsyntax#}
+

Returns a {#link|union#} type with the properties specified by the arguments.

+ {#header_close#} + + {#header_open|@Enum#} +
{#syntax#}@Enum(
+    comptime TagInt: type,
+    comptime mode: std.builtin.Type.Enum.Mode,
+    comptime field_names: []const []const u8,
+    comptime field_values: *const [field_names.len]TagInt,
+) type{#endsyntax#}
+

Returns an {#link|enum#} type with the properties specified by the arguments.

+ {#header_close#} + {#header_open|@typeInfo#}
{#syntax#}@typeInfo(comptime T: type) std.builtin.Type{#endsyntax#}

diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig index 7b60289edf..1ef77de9a5 100644 --- a/lib/std/builtin.zig +++ b/lib/std/builtin.zig @@ -548,19 +548,19 @@ pub const TypeId = std.meta.Tag(Type); /// This data structure is used by the Zig language code generation and /// therefore must be kept in sync with the compiler implementation. pub const Type = union(enum) { - type: void, - void: void, - bool: void, - noreturn: void, + type, + void, + bool, + noreturn, int: Int, float: Float, pointer: Pointer, array: Array, @"struct": Struct, - comptime_float: void, - comptime_int: void, - undefined: void, - null: void, + comptime_float, + comptime_int, + undefined, + null, optional: Optional, error_union: ErrorUnion, error_set: ErrorSet, @@ -571,7 +571,7 @@ pub const Type = union(enum) { frame: Frame, @"anyframe": AnyFrame, vector: Vector, - enum_literal: void, + enum_literal, /// This data structure is used by the Zig language code generation and /// therefore must be kept in sync with the compiler implementation. @@ -619,6 +619,16 @@ pub const Type = union(enum) { slice, c, }; + + /// This data structure is used by the Zig language code generation and + /// therefore must be kept in sync with the compiler implementation. + pub const Attributes = struct { + @"const": bool = false, + @"volatile": bool = false, + @"allowzero": bool = false, + @"addrspace": ?AddressSpace = null, + @"align": ?usize = null, + }; }; /// This data structure is used by the Zig language code generation and @@ -668,6 +678,14 @@ pub const Type = union(enum) { const dp: *const sf.type = @ptrCast(@alignCast(sf.default_value_ptr orelse return null)); return dp.*; } + + /// This data structure is used by the Zig language code generation and + /// therefore must be kept in sync with the compiler implementation. + pub const Attributes = struct { + @"comptime": bool = false, + @"align": ?usize = null, + default_value_ptr: ?*const anyopaque = null, + }; }; /// This data structure is used by the Zig language code generation and @@ -718,6 +736,10 @@ pub const Type = union(enum) { fields: []const EnumField, decls: []const Declaration, is_exhaustive: bool, + + /// This data structure is used by the Zig language code generation and + /// therefore must be kept in sync with the compiler implementation. + pub const Mode = enum { exhaustive, nonexhaustive }; }; /// This data structure is used by the Zig language code generation and @@ -726,6 +748,12 @@ pub const Type = union(enum) { name: [:0]const u8, type: type, alignment: comptime_int, + + /// This data structure is used by the Zig language code generation and + /// therefore must be kept in sync with the compiler implementation. + pub const Attributes = struct { + @"align": ?usize = null, + }; }; /// This data structure is used by the Zig language code generation and @@ -753,6 +781,19 @@ pub const Type = union(enum) { is_generic: bool, is_noalias: bool, type: ?type, + + /// This data structure is used by the Zig language code generation and + /// therefore must be kept in sync with the compiler implementation. + pub const Attributes = struct { + @"noalias": bool = false, + }; + }; + + /// This data structure is used by the Zig language code generation and + /// therefore must be kept in sync with the compiler implementation. + pub const Attributes = struct { + @"callconv": CallingConvention = .auto, + varargs: bool = false, }; }; diff --git a/lib/std/zig.zig b/lib/std/zig.zig index 4c0203b83d..c8a0dcde3b 100644 --- a/lib/std/zig.zig +++ b/lib/std/zig.zig @@ -773,7 +773,6 @@ pub const EnvVar = enum { pub const SimpleComptimeReason = enum(u32) { // Evaluating at comptime because a builtin operand must be comptime-known. // These messages all mention a specific builtin. - operand_Type, operand_setEvalBranchQuota, operand_setFloatMode, operand_branchHint, @@ -809,25 +808,34 @@ pub const SimpleComptimeReason = enum(u32) { // Evaluating at comptime because types must be comptime-known. // Reasons other than `.type` are just more specific messages. type, + int_signedness, + int_bit_width, array_sentinel, + array_length, + pointer_size, + pointer_attrs, pointer_sentinel, slice_sentinel, - array_length, vector_length, - error_set_contents, - struct_fields, - enum_fields, - union_fields, - function_ret_ty, - function_parameters, + fn_ret_ty, + fn_param_types, + fn_param_attrs, + fn_attrs, + struct_layout, + struct_field_names, + struct_field_types, + struct_field_attrs, + union_layout, + union_field_names, + union_field_types, + union_field_attrs, + tuple_field_types, + enum_field_names, + enum_field_values, // Evaluating at comptime because decl/field name must be comptime-known. decl_name, field_name, - struct_field_name, - enum_field_name, - union_field_name, - tuple_field_name, tuple_field_index, // Evaluating at comptime because it is an attribute of a global declaration. @@ -856,7 +864,6 @@ pub const SimpleComptimeReason = enum(u32) { pub fn message(r: SimpleComptimeReason) []const u8 { return switch (r) { // zig fmt: off - .operand_Type => "operand to '@Type' must be comptime-known", .operand_setEvalBranchQuota => "operand to '@setEvalBranchQuota' must be comptime-known", .operand_setFloatMode => "operand to '@setFloatMode' must be comptime-known", .operand_branchHint => "operand to '@branchHint' must be comptime-known", @@ -888,24 +895,33 @@ pub const SimpleComptimeReason = enum(u32) { .clobber => "clobber must be comptime-known", .type => "types must be comptime-known", + .int_signedness => "integer signedness must be comptime-known", + .int_bit_width => "integer bit width must be comptime-known", .array_sentinel => "array sentinel value must be comptime-known", + .array_length => "array length must be comptime-known", + .pointer_size => "pointer size must be comptime-known", + .pointer_attrs => "pointer attributes must be comptime-known", .pointer_sentinel => "pointer sentinel value must be comptime-known", .slice_sentinel => "slice sentinel value must be comptime-known", - .array_length => "array length must be comptime-known", .vector_length => "vector length must be comptime-known", - .error_set_contents => "error set contents must be comptime-known", - .struct_fields => "struct fields must be comptime-known", - .enum_fields => "enum fields must be comptime-known", - .union_fields => "union fields must be comptime-known", - .function_ret_ty => "function return type must be comptime-known", - .function_parameters => "function parameters must be comptime-known", + .fn_ret_ty => "function return type must be comptime-known", + .fn_param_types => "function parameter types must be comptime-known", + .fn_param_attrs => "function parameter attributes must be comptime-known", + .fn_attrs => "function attributes must be comptime-known", + .struct_layout => "struct layout must be comptime-known", + .struct_field_names => "struct field names must be comptime-known", + .struct_field_types => "struct field types must be comptime-known", + .struct_field_attrs => "struct field attributes must be comptime-known", + .union_layout => "union layout must be comptime-known", + .union_field_names => "union field names must be comptime-known", + .union_field_types => "union field types must be comptime-known", + .union_field_attrs => "union field attributes must be comptime-known", + .tuple_field_types => "tuple field types must be comptime-known", + .enum_field_names => "enum field names must be comptime-known", + .enum_field_values => "enum field values must be comptime-known", .decl_name => "declaration name must be comptime-known", .field_name => "field name must be comptime-known", - .struct_field_name => "struct field name must be comptime-known", - .enum_field_name => "enum field name must be comptime-known", - .union_field_name => "union field name must be comptime-known", - .tuple_field_name => "tuple field name must be comptime-known", .tuple_field_index => "tuple field index must be comptime-known", .container_var_init => "initializer of container-level variable must be comptime-known", diff --git a/lib/std/zig/AstGen.zig b/lib/std/zig/AstGen.zig index c7d7f24938..ac72d395cf 100644 --- a/lib/std/zig/AstGen.zig +++ b/lib/std/zig/AstGen.zig @@ -833,7 +833,7 @@ fn expr(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node.Index) InnerE => { var buf: [2]Ast.Node.Index = undefined; const params = tree.builtinCallParams(&buf, node).?; - return builtinCall(gz, scope, ri, node, params, false); + return builtinCall(gz, scope, ri, node, params, false, .anon); }, .call_one, @@ -1194,14 +1194,20 @@ fn nameStratExpr( }, .builtin_call_two, .builtin_call_two_comma, + .builtin_call, + .builtin_call_comma, => { const builtin_token = tree.nodeMainToken(node); const builtin_name = tree.tokenSlice(builtin_token); - if (!std.mem.eql(u8, builtin_name, "@Type")) return null; - var buf: [2]Ast.Node.Index = undefined; - const params = tree.builtinCallParams(&buf, node).?; - if (params.len != 1) return null; // let `builtinCall` error - return try builtinReify(gz, scope, ri, node, params[0], name_strat); + const info = BuiltinFn.list.get(builtin_name) orelse return null; + switch (info.tag) { + .Enum, .Struct, .Union => { + var buf: [2]Ast.Node.Index = undefined; + const params = tree.builtinCallParams(&buf, node).?; + return try builtinCall(gz, scope, ri, node, params, false, name_strat); + }, + else => return null, + } }, else => return null, } @@ -1406,7 +1412,7 @@ fn fnProtoExprInner( .none; const ret_ty_node = fn_proto.ast.return_type.unwrap().?; - const ret_ty = try comptimeExpr(&block_scope, scope, coerced_type_ri, ret_ty_node, .function_ret_ty); + const ret_ty = try comptimeExpr(&block_scope, scope, coerced_type_ri, ret_ty_node, .fn_ret_ty); const result = try block_scope.addFunc(.{ .src_node = fn_proto.ast.proto_node, @@ -2629,7 +2635,7 @@ fn blockExprStmts(gz: *GenZir, parent_scope: *Scope, statements: []const Ast.Nod const params = tree.builtinCallParams(&buf, inner_node).?; try emitDbgNode(gz, inner_node); - const result = try builtinCall(gz, scope, .{ .rl = .none }, inner_node, params, allow_branch_hint); + const result = try builtinCall(gz, scope, .{ .rl = .none }, inner_node, params, allow_branch_hint, .anon); noreturn_src_node = try addEnsureResult(gz, result, inner_node); }, @@ -2707,6 +2713,7 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As .elem_type, .indexable_ptr_elem_type, .splat_op_result_ty, + .reify_int, .vector_type, .indexable_ptr_len, .anyframe_type, @@ -8942,7 +8949,7 @@ fn unionInit( params: []const Ast.Node.Index, ) InnerError!Zir.Inst.Ref { const union_type = try typeExpr(gz, scope, params[0]); - const field_name = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_u8_type } }, params[1], .union_field_name); + const field_name = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_u8_type } }, params[1], .union_field_names); const field_type = try gz.addPlNode(.field_type_ref, node, Zir.Inst.FieldTypeRef{ .container_type = union_type, .field_name = field_name, @@ -9210,6 +9217,7 @@ fn builtinCall( node: Ast.Node.Index, params: []const Ast.Node.Index, allow_branch_hint: bool, + reify_name_strat: Zir.Inst.NameStrategy, ) InnerError!Zir.Inst.Ref { const astgen = gz.astgen; const tree = astgen.tree; @@ -9443,9 +9451,140 @@ fn builtinCall( return rvalue(gz, ri, try gz.addNodeExtended(.in_comptime, node), node); }, - .Type => { - return builtinReify(gz, scope, ri, node, params[0], .anon); + .EnumLiteral => return rvalue(gz, ri, .enum_literal_type, node), + .Int => { + const signedness_ty = try gz.addBuiltinValue(node, .signedness); + const result = try gz.addPlNode(.reify_int, node, Zir.Inst.Bin{ + .lhs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = signedness_ty } }, params[0], .int_signedness), + .rhs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .u16_type } }, params[1], .int_bit_width), + }); + return rvalue(gz, ri, result, node); }, + .Tuple => { + const result = try gz.addExtendedPayload(.reify_tuple, Zir.Inst.UnNode{ + .node = gz.nodeIndexToRelative(node), + .operand = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_type_type } }, params[0], .tuple_field_types), + }); + return rvalue(gz, ri, result, node); + }, + .Pointer => { + const ptr_size_ty = try gz.addBuiltinValue(node, .pointer_size); + const ptr_attrs_ty = try gz.addBuiltinValue(node, .pointer_attributes); + const size = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = ptr_size_ty } }, params[0], .pointer_size); + const attrs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = ptr_attrs_ty } }, params[1], .pointer_attrs); + const elem_ty = try typeExpr(gz, scope, params[2]); + const sentinel_ty = try gz.addExtendedPayload(.reify_pointer_sentinel_ty, Zir.Inst.UnNode{ + .node = gz.nodeIndexToRelative(params[2]), + .operand = elem_ty, + }); + const sentinel = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = sentinel_ty } }, params[3], .pointer_sentinel); + const result = try gz.addExtendedPayload(.reify_pointer, Zir.Inst.ReifyPointer{ + .node = gz.nodeIndexToRelative(node), + .size = size, + .attrs = attrs, + .elem_ty = elem_ty, + .sentinel = sentinel, + }); + return rvalue(gz, ri, result, node); + }, + .Fn => { + const fn_attrs_ty = try gz.addBuiltinValue(node, .fn_attributes); + const param_types = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_type_type } }, params[0], .fn_param_types); + const param_attrs_ty = try gz.addExtendedPayloadSmall( + .reify_slice_arg_ty, + @intFromEnum(Zir.Inst.ReifySliceArgInfo.type_to_fn_param_attrs), + Zir.Inst.UnNode{ .node = gz.nodeIndexToRelative(params[0]), .operand = param_types }, + ); + const param_attrs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = param_attrs_ty } }, params[1], .fn_param_attrs); + const ret_ty = try comptimeExpr(gz, scope, coerced_type_ri, params[2], .fn_ret_ty); + const fn_attrs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = fn_attrs_ty } }, params[3], .fn_attrs); + const result = try gz.addExtendedPayload(.reify_fn, Zir.Inst.ReifyFn{ + .node = gz.nodeIndexToRelative(node), + .param_types = param_types, + .param_attrs = param_attrs, + .ret_ty = ret_ty, + .fn_attrs = fn_attrs, + }); + return rvalue(gz, ri, result, node); + }, + .Struct => { + const container_layout_ty = try gz.addBuiltinValue(node, .container_layout); + const layout = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = container_layout_ty } }, params[0], .struct_layout); + const backing_ty = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .optional_type_type } }, params[1], .type); + const field_names = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_slice_const_u8_type } }, params[2], .struct_field_names); + const field_types_ty = try gz.addExtendedPayloadSmall( + .reify_slice_arg_ty, + @intFromEnum(Zir.Inst.ReifySliceArgInfo.string_to_struct_field_type), + Zir.Inst.UnNode{ .node = gz.nodeIndexToRelative(params[2]), .operand = field_names }, + ); + const field_attrs_ty = try gz.addExtendedPayloadSmall( + .reify_slice_arg_ty, + @intFromEnum(Zir.Inst.ReifySliceArgInfo.string_to_struct_field_attrs), + Zir.Inst.UnNode{ .node = gz.nodeIndexToRelative(params[2]), .operand = field_names }, + ); + const field_types = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = field_types_ty } }, params[3], .struct_field_types); + const field_attrs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = field_attrs_ty } }, params[4], .struct_field_attrs); + const result = try gz.addExtendedPayloadSmall(.reify_struct, @intFromEnum(reify_name_strat), Zir.Inst.ReifyStruct{ + .src_line = gz.astgen.source_line, + .node = node, + .layout = layout, + .backing_ty = backing_ty, + .field_names = field_names, + .field_types = field_types, + .field_attrs = field_attrs, + }); + return rvalue(gz, ri, result, node); + }, + .Union => { + const container_layout_ty = try gz.addBuiltinValue(node, .container_layout); + const layout = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = container_layout_ty } }, params[0], .union_layout); + const arg_ty = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .optional_type_type } }, params[1], .type); + const field_names = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_slice_const_u8_type } }, params[2], .union_field_names); + const field_types_ty = try gz.addExtendedPayloadSmall( + .reify_slice_arg_ty, + @intFromEnum(Zir.Inst.ReifySliceArgInfo.string_to_union_field_type), + Zir.Inst.UnNode{ .node = gz.nodeIndexToRelative(params[2]), .operand = field_names }, + ); + const field_attrs_ty = try gz.addExtendedPayloadSmall( + .reify_slice_arg_ty, + @intFromEnum(Zir.Inst.ReifySliceArgInfo.string_to_union_field_attrs), + Zir.Inst.UnNode{ .node = gz.nodeIndexToRelative(params[2]), .operand = field_names }, + ); + const field_types = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = field_types_ty } }, params[3], .union_field_types); + const field_attrs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = field_attrs_ty } }, params[4], .union_field_attrs); + const result = try gz.addExtendedPayloadSmall(.reify_union, @intFromEnum(reify_name_strat), Zir.Inst.ReifyUnion{ + .src_line = gz.astgen.source_line, + .node = node, + .layout = layout, + .arg_ty = arg_ty, + .field_names = field_names, + .field_types = field_types, + .field_attrs = field_attrs, + }); + return rvalue(gz, ri, result, node); + }, + .Enum => { + const enum_mode_ty = try gz.addBuiltinValue(node, .enum_mode); + const tag_ty = try typeExpr(gz, scope, params[0]); + const mode = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = enum_mode_ty } }, params[1], .type); + const field_names = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_slice_const_u8_type } }, params[2], .enum_field_names); + const field_values_ty = try gz.addExtendedPayload(.reify_enum_value_slice_ty, Zir.Inst.BinNode{ + .node = gz.nodeIndexToRelative(node), + .lhs = tag_ty, + .rhs = field_names, + }); + const field_values = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = field_values_ty } }, params[3], .enum_field_values); + const result = try gz.addExtendedPayloadSmall(.reify_enum, @intFromEnum(reify_name_strat), Zir.Inst.ReifyEnum{ + .src_line = gz.astgen.source_line, + .node = node, + .tag_ty = tag_ty, + .mode = mode, + .field_names = field_names, + .field_values = field_values, + }); + return rvalue(gz, ri, result, node); + }, + .panic => { try emitDbgNode(gz, node); return simpleUnOp(gz, scope, ri, node, .{ .rl = .{ .coerced_ty = .slice_const_u8_type } }, params[0], .panic); @@ -9764,41 +9903,6 @@ fn builtinCall( }, } } -fn builtinReify( - gz: *GenZir, - scope: *Scope, - ri: ResultInfo, - node: Ast.Node.Index, - arg_node: Ast.Node.Index, - name_strat: Zir.Inst.NameStrategy, -) InnerError!Zir.Inst.Ref { - const astgen = gz.astgen; - const gpa = astgen.gpa; - - const type_info_ty = try gz.addBuiltinValue(node, .type_info); - const operand = try expr(gz, scope, .{ .rl = .{ .coerced_ty = type_info_ty } }, arg_node); - - try gz.instructions.ensureUnusedCapacity(gpa, 1); - try astgen.instructions.ensureUnusedCapacity(gpa, 1); - - const payload_index = try astgen.addExtra(Zir.Inst.Reify{ - .node = node, // Absolute node index -- see the definition of `Reify`. - .operand = operand, - .src_line = astgen.source_line, - }); - const new_index: Zir.Inst.Index = @enumFromInt(astgen.instructions.len); - astgen.instructions.appendAssumeCapacity(.{ - .tag = .extended, - .data = .{ .extended = .{ - .opcode = .reify, - .small = @intFromEnum(name_strat), - .operand = payload_index, - } }, - }); - gz.instructions.appendAssumeCapacity(new_index); - const result = new_index.toRef(); - return rvalue(gz, ri, result, node); -} fn hasDeclOrField( gz: *GenZir, diff --git a/lib/std/zig/AstRlAnnotate.zig b/lib/std/zig/AstRlAnnotate.zig index 5beb6fec73..c7e9abf2bb 100644 --- a/lib/std/zig/AstRlAnnotate.zig +++ b/lib/std/zig/AstRlAnnotate.zig @@ -866,6 +866,7 @@ fn builtinCall(astrl: *AstRlAnnotate, block: ?*Block, ri: ResultInfo, node: Ast. // These builtins take no args and do not consume the result pointer. .src, .This, + .EnumLiteral, .return_address, .error_return_trace, .frame, @@ -906,7 +907,7 @@ fn builtinCall(astrl: *AstRlAnnotate, block: ?*Block, ri: ResultInfo, node: Ast. .embed_file, .error_name, .set_runtime_safety, - .Type, + .Tuple, .c_undef, .c_include, .wasm_memory_size, @@ -1058,6 +1059,48 @@ fn builtinCall(astrl: *AstRlAnnotate, block: ?*Block, ri: ResultInfo, node: Ast. _ = try astrl.expr(args[3], block, ResultInfo.none); return false; }, + .Int => { + _ = try astrl.expr(args[0], block, ResultInfo.type_only); + _ = try astrl.expr(args[1], block, ResultInfo.type_only); + return false; + }, + .Pointer => { + _ = try astrl.expr(args[0], block, ResultInfo.type_only); + _ = try astrl.expr(args[1], block, ResultInfo.type_only); + _ = try astrl.expr(args[2], block, ResultInfo.type_only); + _ = try astrl.expr(args[3], block, ResultInfo.type_only); + return false; + }, + .Fn => { + _ = try astrl.expr(args[0], block, ResultInfo.type_only); + _ = try astrl.expr(args[1], block, ResultInfo.type_only); + _ = try astrl.expr(args[2], block, ResultInfo.type_only); + _ = try astrl.expr(args[3], block, ResultInfo.type_only); + return false; + }, + .Struct => { + _ = try astrl.expr(args[0], block, ResultInfo.type_only); + _ = try astrl.expr(args[1], block, ResultInfo.type_only); + _ = try astrl.expr(args[2], block, ResultInfo.type_only); + _ = try astrl.expr(args[3], block, ResultInfo.type_only); + _ = try astrl.expr(args[4], block, ResultInfo.type_only); + return false; + }, + .Union => { + _ = try astrl.expr(args[0], block, ResultInfo.type_only); + _ = try astrl.expr(args[1], block, ResultInfo.type_only); + _ = try astrl.expr(args[2], block, ResultInfo.type_only); + _ = try astrl.expr(args[3], block, ResultInfo.type_only); + _ = try astrl.expr(args[4], block, ResultInfo.type_only); + return false; + }, + .Enum => { + _ = try astrl.expr(args[0], block, ResultInfo.type_only); + _ = try astrl.expr(args[1], block, ResultInfo.type_only); + _ = try astrl.expr(args[2], block, ResultInfo.type_only); + _ = try astrl.expr(args[3], block, ResultInfo.type_only); + return false; + }, .Vector => { _ = try astrl.expr(args[0], block, ResultInfo.type_only); _ = try astrl.expr(args[1], block, ResultInfo.type_only); diff --git a/lib/std/zig/BuiltinFn.zig b/lib/std/zig/BuiltinFn.zig index 5ef28fdfaf..cdc63f9666 100644 --- a/lib/std/zig/BuiltinFn.zig +++ b/lib/std/zig/BuiltinFn.zig @@ -110,7 +110,14 @@ pub const Tag = enum { This, trap, truncate, - Type, + EnumLiteral, + Int, + Tuple, + Pointer, + Fn, + Struct, + Union, + Enum, type_info, type_name, TypeOf, @@ -937,12 +944,61 @@ pub const list = list: { }, }, .{ - "@Type", + "@EnumLiteral", .{ - .tag = .Type, + .tag = .EnumLiteral, + .param_count = 0, + }, + }, + .{ + "@Int", + .{ + .tag = .Int, + .param_count = 2, + }, + }, + .{ + "@Tuple", + .{ + .tag = .Tuple, .param_count = 1, }, }, + .{ + "@Pointer", + .{ + .tag = .Pointer, + .param_count = 4, + }, + }, + .{ + "@Fn", + .{ + .tag = .Fn, + .param_count = 4, + }, + }, + .{ + "@Struct", + .{ + .tag = .Struct, + .param_count = 5, + }, + }, + .{ + "@Union", + .{ + .tag = .Union, + .param_count = 5, + }, + }, + .{ + "@Enum", + .{ + .tag = .Enum, + .param_count = 4, + }, + }, .{ "@typeInfo", .{ diff --git a/lib/std/zig/Zir.zig b/lib/std/zig/Zir.zig index 7a1069fe7d..08770def8d 100644 --- a/lib/std/zig/Zir.zig +++ b/lib/std/zig/Zir.zig @@ -260,6 +260,10 @@ pub const Inst = struct { /// `[N:S]T` syntax. Source location is the array type expression node. /// Uses the `pl_node` union field. Payload is `ArrayTypeSentinel`. array_type_sentinel, + /// `@Int` builtin. + /// Uses the `pl_node` union field with `Bin` payload. + /// lhs is signedness, rhs is bit count. + reify_int, /// `@Vector` builtin. /// Uses the `pl_node` union field with `Bin` payload. /// lhs is length, rhs is element type. @@ -1112,6 +1116,7 @@ pub const Inst = struct { .array_mul, .array_type, .array_type_sentinel, + .reify_int, .vector_type, .elem_type, .indexable_ptr_elem_type, @@ -1409,6 +1414,7 @@ pub const Inst = struct { .array_mul, .array_type, .array_type_sentinel, + .reify_int, .vector_type, .elem_type, .indexable_ptr_elem_type, @@ -1644,6 +1650,7 @@ pub const Inst = struct { .array_mul = .pl_node, .array_type = .pl_node, .array_type_sentinel = .pl_node, + .reify_int = .pl_node, .vector_type = .pl_node, .elem_type = .un_node, .indexable_ptr_elem_type = .un_node, @@ -2035,10 +2042,43 @@ pub const Inst = struct { /// Implement builtin `@errorFromInt`. /// `operand` is payload index to `UnNode`. error_from_int, - /// Implement builtin `@Type`. - /// `operand` is payload index to `Reify`. + /// Given a comptime-known operand of type `[]const A`, returns the type `*const [operand.len]B`. + /// The types `A` and `B` are determined from `ReifySliceArgInfo`. + /// This instruction is used to provide result types to arguments of `@Fn`, `@Struct`, etc. + /// `operand` is payload index to `UnNode`. + /// `small` is a bitcast `ReifySliceArgInfo`. + reify_slice_arg_ty, + /// Like `reify_slice_arg_ty` for the specific case of `[]const []const u8` to `[]const TagInt`, + /// as needed for `@Enum`. + /// `operand` is payload index to `BinNode`. lhs is the type `TagInt`. rhs is the `[]const []const u8` value. + /// `small` is unused. + reify_enum_value_slice_ty, + /// Given a comptime-known operand of type `type`, returns the type `?operand` if possible, otherwise `?noreturn`. + /// Used for the final arg of `@Pointer` to allow reifying pointers to opaque types. + /// `operand` is payload index to `UnNode`. + /// `small` is unused. + reify_pointer_sentinel_ty, + /// Implements builtin `@Tuple`. + /// `operand` is payload index to `UnNode`. + reify_tuple, + /// Implements builtin `@Pointer`. + /// `operand` is payload index to `ReifyPointer`. + reify_pointer, + /// Implements builtin `@Fn`. + /// `operand` is payload index to `ReifyFn`. + reify_fn, + /// Implements builtin `@Struct`. + /// `operand` is payload index to `ReifyStruct`. /// `small` contains `NameStrategy`. - reify, + reify_struct, + /// Implements builtin `@Union`. + /// `operand` is payload index to `ReifyUnion`. + /// `small` contains `NameStrategy`. + reify_union, + /// Implements builtin `@Enum`. + /// `operand` is payload index to `ReifyEnum`. + /// `small` contains `NameStrategy`. + reify_enum, /// Implements the `@cmpxchgStrong` and `@cmpxchgWeak` builtins. /// `small` 0=>weak 1=>strong /// `operand` is payload index to `Cmpxchg`. @@ -2226,6 +2266,11 @@ pub const Inst = struct { manyptr_const_u8_sentinel_0_type, slice_const_u8_type, slice_const_u8_sentinel_0_type, + manyptr_const_slice_const_u8_type, + slice_const_slice_const_u8_type, + optional_type_type, + manyptr_const_type_type, + slice_const_type_type, vector_8_i8_type, vector_16_i8_type, vector_32_i8_type, @@ -3169,6 +3214,23 @@ pub const Inst = struct { rhs: Ref, }; + pub const ReifySliceArgInfo = enum(u16) { + /// Input element type is `type`. + /// Output element type is `std.builtin.Type.Fn.Param.Attributes`. + type_to_fn_param_attrs, + /// Input element type is `[]const u8`. + /// Output element type is `type`. + string_to_struct_field_type, + /// Identical to `string_to_struct_field_type` aside from emitting slightly different error messages. + string_to_union_field_type, + /// Input element type is `[]const u8`. + /// Output element type is `std.builtin.Type.StructField.Attributes`. + string_to_struct_field_attrs, + /// Input element type is `[]const u8`. + /// Output element type is `std.builtin.Type.UnionField.Attributes`. + string_to_union_field_attrs, + }; + pub const UnNode = struct { node: Ast.Node.Offset, operand: Ref, @@ -3179,12 +3241,55 @@ pub const Inst = struct { index: u32, }; - pub const Reify = struct { + pub const ReifyPointer = struct { + node: Ast.Node.Offset, + size: Ref, + attrs: Ref, + elem_ty: Ref, + sentinel: Ref, + }; + + pub const ReifyFn = struct { + node: Ast.Node.Offset, + param_types: Ref, + param_attrs: Ref, + ret_ty: Ref, + fn_attrs: Ref, + }; + + pub const ReifyStruct = struct { + src_line: u32, /// This node is absolute, because `reify` instructions are tracked across updates, and /// this simplifies the logic for getting source locations for types. node: Ast.Node.Index, - operand: Ref, + layout: Ref, + backing_ty: Ref, + field_names: Ref, + field_types: Ref, + field_attrs: Ref, + }; + + pub const ReifyUnion = struct { src_line: u32, + /// This node is absolute, because `reify` instructions are tracked across updates, and + /// this simplifies the logic for getting source locations for types. + node: Ast.Node.Index, + layout: Ref, + arg_ty: Ref, + field_names: Ref, + field_types: Ref, + field_attrs: Ref, + }; + + pub const ReifyEnum = struct { + src_line: u32, + /// This node is absolute, because `reify` instructions are tracked across updates, and + /// this simplifies the logic for getting source locations for types. + node: Ast.Node.Index, + tag_ty: Ref, + mode: Ref, + field_names: Ref, + field_values: Ref, }; /// Trailing: @@ -3496,14 +3601,19 @@ pub const Inst = struct { calling_convention, address_space, float_mode, + signedness, reduce_op, call_modifier, prefetch_options, export_options, extern_options, - type_info, branch_hint, clobbers, + pointer_size, + pointer_attributes, + fn_attributes, + container_layout, + enum_mode, // Values calling_convention_c, calling_convention_inline, @@ -4190,6 +4300,7 @@ fn findTrackableInner( .array_mul, .array_type, .array_type_sentinel, + .reify_int, .vector_type, .elem_type, .indexable_ptr_elem_type, @@ -4432,6 +4543,12 @@ fn findTrackableInner( .select, .int_from_error, .error_from_int, + .reify_slice_arg_ty, + .reify_enum_value_slice_ty, + .reify_pointer_sentinel_ty, + .reify_tuple, + .reify_pointer, + .reify_fn, .cmpxchg, .c_va_arg, .c_va_copy, @@ -4463,7 +4580,11 @@ fn findTrackableInner( }, // Reifications and opaque declarations need tracking, but have no body. - .reify, .opaque_decl => return contents.other.append(gpa, inst), + .reify_enum, + .reify_struct, + .reify_union, + .opaque_decl, + => return contents.other.append(gpa, inst), // Struct declarations need tracking and have bodies. .struct_decl => { @@ -5246,7 +5367,9 @@ pub fn assertTrackable(zir: Zir, inst_idx: Zir.Inst.Index) void { .union_decl, .enum_decl, .opaque_decl, - .reify, + .reify_enum, + .reify_struct, + .reify_union, => {}, // tracked in order, as the owner instructions of explicit container types else => unreachable, // assertion failure; not trackable }, diff --git a/src/Air.zig b/src/Air.zig index e210ab17b8..b5cb950d49 100644 --- a/src/Air.zig +++ b/src/Air.zig @@ -1062,6 +1062,11 @@ pub const Inst = struct { manyptr_const_u8_sentinel_0_type = @intFromEnum(InternPool.Index.manyptr_const_u8_sentinel_0_type), slice_const_u8_type = @intFromEnum(InternPool.Index.slice_const_u8_type), slice_const_u8_sentinel_0_type = @intFromEnum(InternPool.Index.slice_const_u8_sentinel_0_type), + manyptr_const_slice_const_u8_type = @intFromEnum(InternPool.Index.manyptr_const_slice_const_u8_type), + slice_const_slice_const_u8_type = @intFromEnum(InternPool.Index.slice_const_slice_const_u8_type), + optional_type_type = @intFromEnum(InternPool.Index.optional_type_type), + manyptr_const_type_type = @intFromEnum(InternPool.Index.manyptr_const_type_type), + slice_const_type_type = @intFromEnum(InternPool.Index.slice_const_type_type), vector_8_i8_type = @intFromEnum(InternPool.Index.vector_8_i8_type), vector_16_i8_type = @intFromEnum(InternPool.Index.vector_16_i8_type), vector_32_i8_type = @intFromEnum(InternPool.Index.vector_32_i8_type), diff --git a/src/InternPool.zig b/src/InternPool.zig index e2912f2c69..4e8372f1f8 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -2017,8 +2017,7 @@ pub const Key = union(enum) { error_union_type: ErrorUnionType, simple_type: SimpleType, /// This represents a struct that has been explicitly declared in source code, - /// or was created with `@Type`. It is unique and based on a declaration. - /// It may be a tuple, if declared like this: `struct {A, B, C}`. + /// or was created with `@Struct`. It is unique and based on a declaration. struct_type: NamespaceType, /// This is a tuple type. Tuples are logically similar to structs, but have some /// important differences in semantics; they do not undergo staged type resolution, @@ -2175,7 +2174,7 @@ pub const Key = union(enum) { /// The union for which this is a tag type. union_type: Index, }, - /// This type originates from a reification via `@Type`, or from an anonymous initialization. + /// This type originates from a reification via `@Enum`, `@Struct`, `@Union` or from an anonymous initialization. /// It is hashed based on its ZIR instruction index and fields, attributes, etc. /// To avoid making this key overly complex, the type-specific data is hashed by Sema. reified: struct { @@ -4641,6 +4640,13 @@ pub const Index = enum(u32) { slice_const_u8_type, slice_const_u8_sentinel_0_type, + manyptr_const_slice_const_u8_type, + slice_const_slice_const_u8_type, + + optional_type_type, + manyptr_const_type_type, + slice_const_type_type, + vector_8_i8_type, vector_16_i8_type, vector_32_i8_type, @@ -5201,6 +5207,45 @@ pub const static_keys: [static_len]Key = .{ }, } }, + // [*]const []const u8 + .{ .ptr_type = .{ + .child = .slice_const_u8_type, + .flags = .{ + .size = .many, + .is_const = true, + }, + } }, + + // []const []const u8 + .{ .ptr_type = .{ + .child = .slice_const_u8_type, + .flags = .{ + .size = .slice, + .is_const = true, + }, + } }, + + // ?type + .{ .opt_type = .type_type }, + + // [*]const type + .{ .ptr_type = .{ + .child = .type_type, + .flags = .{ + .size = .many, + .is_const = true, + }, + } }, + + // []const type + .{ .ptr_type = .{ + .child = .type_type, + .flags = .{ + .size = .slice, + .is_const = true, + }, + } }, + // @Vector(8, i8) .{ .vector_type = .{ .len = 8, .child = .i8_type } }, // @Vector(16, i8) @@ -10225,16 +10270,8 @@ pub fn getGeneratedTagEnumType( } pub const OpaqueTypeInit = struct { - key: union(enum) { - declared: struct { - zir_index: TrackedInst.Index, - captures: []const CaptureValue, - }, - reified: struct { - zir_index: TrackedInst.Index, - // No type hash since reifid opaques have no data other than the `@Type` location - }, - }, + zir_index: TrackedInst.Index, + captures: []const CaptureValue, }; pub fn getOpaqueType( @@ -10243,16 +10280,10 @@ pub fn getOpaqueType( tid: Zcu.PerThread.Id, ini: OpaqueTypeInit, ) Allocator.Error!WipNamespaceType.Result { - var gop = try ip.getOrPutKey(gpa, tid, .{ .opaque_type = switch (ini.key) { - .declared => |d| .{ .declared = .{ - .zir_index = d.zir_index, - .captures = .{ .external = d.captures }, - } }, - .reified => |r| .{ .reified = .{ - .zir_index = r.zir_index, - .type_hash = 0, - } }, - } }); + var gop = try ip.getOrPutKey(gpa, tid, .{ .opaque_type = .{ .declared = .{ + .zir_index = ini.zir_index, + .captures = .{ .external = ini.captures }, + } } }); defer gop.deinit(); if (gop == .existing) return .{ .existing = gop.existing }; @@ -10261,30 +10292,19 @@ pub fn getOpaqueType( const extra = local.getMutableExtra(gpa); try items.ensureUnusedCapacity(1); - try extra.ensureUnusedCapacity(@typeInfo(Tag.TypeOpaque).@"struct".fields.len + switch (ini.key) { - .declared => |d| d.captures.len, - .reified => 0, - }); + try extra.ensureUnusedCapacity(@typeInfo(Tag.TypeOpaque).@"struct".fields.len + ini.captures.len); const extra_index = addExtraAssumeCapacity(extra, Tag.TypeOpaque{ .name = undefined, // set by `finish` .name_nav = undefined, // set by `finish` .namespace = undefined, // set by `finish` - .zir_index = switch (ini.key) { - inline else => |x| x.zir_index, - }, - .captures_len = switch (ini.key) { - .declared => |d| @intCast(d.captures.len), - .reified => std.math.maxInt(u32), - }, + .zir_index = ini.zir_index, + .captures_len = @intCast(ini.captures.len), }); items.appendAssumeCapacity(.{ .tag = .type_opaque, .data = extra_index, }); - switch (ini.key) { - .declared => |d| extra.appendSliceAssumeCapacity(.{@ptrCast(d.captures)}), - .reified => {}, - } + extra.appendSliceAssumeCapacity(.{@ptrCast(ini.captures)}); return .{ .wip = .{ .tid = tid, @@ -10555,6 +10575,8 @@ pub fn slicePtrType(ip: *const InternPool, index: Index) Index { switch (index) { .slice_const_u8_type => return .manyptr_const_u8_type, .slice_const_u8_sentinel_0_type => return .manyptr_const_u8_sentinel_0_type, + .slice_const_slice_const_u8_type => return .manyptr_const_slice_const_u8_type, + .slice_const_type_type => return .manyptr_const_type_type, else => {}, } const item = index.unwrap(ip).getItem(ip); @@ -12013,8 +12035,13 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index { .manyptr_u8_type, .manyptr_const_u8_type, .manyptr_const_u8_sentinel_0_type, + .manyptr_const_slice_const_u8_type, .slice_const_u8_type, .slice_const_u8_sentinel_0_type, + .slice_const_slice_const_u8_type, + .optional_type_type, + .manyptr_const_type_type, + .slice_const_type_type, .vector_8_i8_type, .vector_16_i8_type, .vector_32_i8_type, @@ -12355,8 +12382,12 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId { .manyptr_u8_type, .manyptr_const_u8_type, .manyptr_const_u8_sentinel_0_type, + .manyptr_const_slice_const_u8_type, .slice_const_u8_type, .slice_const_u8_sentinel_0_type, + .slice_const_slice_const_u8_type, + .manyptr_const_type_type, + .slice_const_type_type, => .pointer, .vector_8_i8_type, @@ -12408,6 +12439,7 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId { .vector_8_f64_type, => .vector, + .optional_type_type => .optional, .optional_noreturn_type => .optional, .anyerror_void_error_union_type => .error_union, .empty_tuple_type => .@"struct", diff --git a/src/Sema.zig b/src/Sema.zig index 51273d8812..224fc3fa39 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -1167,6 +1167,7 @@ fn analyzeBodyInner( .array_mul => try sema.zirArrayMul(block, inst), .array_type => try sema.zirArrayType(block, inst), .array_type_sentinel => try sema.zirArrayTypeSentinel(block, inst), + .reify_int => try sema.zirReifyInt(block, inst), .vector_type => try sema.zirVectorType(block, inst), .as_node => try sema.zirAsNode(block, inst), .as_shift_operand => try sema.zirAsShiftOperand(block, inst), @@ -1411,7 +1412,6 @@ fn analyzeBodyInner( .select => try sema.zirSelect( block, extended), .int_from_error => try sema.zirIntFromError( block, extended), .error_from_int => try sema.zirErrorFromInt( block, extended), - .reify => try sema.zirReify( block, extended, inst), .cmpxchg => try sema.zirCmpxchg( block, extended), .c_va_arg => try sema.zirCVaArg( block, extended), .c_va_copy => try sema.zirCVaCopy( block, extended), @@ -1424,6 +1424,16 @@ fn analyzeBodyInner( .work_group_id => try sema.zirWorkItem( block, extended, extended.opcode), .in_comptime => try sema.zirInComptime( block), .closure_get => try sema.zirClosureGet( block, extended), + + .reify_slice_arg_ty => try sema.zirReifySliceArgTy( block, extended), + .reify_enum_value_slice_ty => try sema.zirReifyEnumValueSliceTy(block, extended), + .reify_pointer_sentinel_ty => try sema.zirReifyPointerSentinelTy(block, extended), + .reify_tuple => try sema.zirReifyTuple( block, extended), + .reify_pointer => try sema.zirReifyPointer( block, extended), + .reify_fn => try sema.zirReifyFn( block, extended), + .reify_struct => try sema.zirReifyStruct( block, extended, inst), + .reify_union => try sema.zirReifyUnion( block, extended, inst), + .reify_enum => try sema.zirReifyEnum( block, extended, inst), // zig fmt: on .set_float_mode => { @@ -3517,10 +3527,8 @@ fn zirOpaqueDecl( extra_index += captures_len * 2; const opaque_init: InternPool.OpaqueTypeInit = .{ - .key = .{ .declared = .{ - .zir_index = tracked_inst, - .captures = captures, - } }, + .zir_index = tracked_inst, + .captures = captures, }; const wip_ty = switch (try ip.getOpaqueType(gpa, pt.tid, opaque_init)) { .existing => |ty| { @@ -7386,7 +7394,7 @@ fn analyzeCall( const body = sema.code.bodySlice(extra.end, extra.data.type.body_len); generic_block.comptime_reason = .{ .reason = .{ - .r = .{ .simple = .function_parameters }, + .r = .{ .simple = .fn_param_types }, .src = param_src, } }; @@ -7470,7 +7478,7 @@ fn analyzeCall( sema.inst_map = generic_inst_map; generic_block.comptime_reason = .{ .reason = .{ - .r = .{ .simple = .function_ret_ty }, + .r = .{ .simple = .fn_ret_ty }, .src = func_ret_ty_src, } }; @@ -8927,7 +8935,7 @@ fn zirFunc( const ret_ty_body = sema.code.bodySlice(extra_index, extra.data.ret_ty.body_len); extra_index += ret_ty_body.len; - const ret_ty_val = try sema.resolveGenericBody(block, ret_ty_src, ret_ty_body, inst, .type, .{ .simple = .function_ret_ty }); + const ret_ty_val = try sema.resolveGenericBody(block, ret_ty_src, ret_ty_body, inst, .type, .{ .simple = .fn_ret_ty }); break :blk ret_ty_val.toType(); }, }; @@ -9171,6 +9179,181 @@ fn checkCallConvSupportsVarArgs(sema: *Sema, block: *Block, src: LazySrcLoc, cc: } } +fn checkParamTypeCommon( + sema: *Sema, + block: *Block, + param_idx: u32, + param_ty: Type, + param_is_noalias: bool, + param_src: LazySrcLoc, + cc: std.builtin.CallingConvention, +) CompileError!void { + const pt = sema.pt; + const zcu = pt.zcu; + const target = zcu.getTarget(); + + if (!param_ty.isValidParamType(zcu)) { + const opaque_str = if (param_ty.zigTypeTag(zcu) == .@"opaque") "opaque " else ""; + return sema.fail(block, param_src, "parameter of {s}type '{f}' not allowed", .{ + opaque_str, param_ty.fmt(pt), + }); + } + if (!param_ty.isGenericPoison() and + !target_util.fnCallConvAllowsZigTypes(cc) and + !try sema.validateExternType(param_ty, .param_ty)) + { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(param_src, "parameter of type '{f}' not allowed in function with calling convention '{s}'", .{ + param_ty.fmt(pt), @tagName(cc), + }); + errdefer msg.destroy(sema.gpa); + + try sema.explainWhyTypeIsNotExtern(msg, param_src, param_ty, .param_ty); + + try sema.addDeclaredHereNote(msg, param_ty); + break :msg msg; + }); + } + switch (cc) { + .x86_64_interrupt, .x86_interrupt => { + const err_code_size = target.ptrBitWidth(); + switch (param_idx) { + 0 => if (param_ty.zigTypeTag(zcu) != .pointer) return sema.fail(block, param_src, "first parameter of function with '{s}' calling convention must be a pointer type", .{@tagName(cc)}), + 1 => if (param_ty.bitSize(zcu) != err_code_size) return sema.fail(block, param_src, "second parameter of function with '{s}' calling convention must be a {d}-bit integer", .{ @tagName(cc), err_code_size }), + else => return sema.fail(block, param_src, "'{s}' calling convention supports up to 2 parameters, found {d}", .{ @tagName(cc), param_idx + 1 }), + } + }, + .arc_interrupt, + .arm_interrupt, + .microblaze_interrupt, + .mips64_interrupt, + .mips_interrupt, + .riscv64_interrupt, + .riscv32_interrupt, + .sh_interrupt, + .avr_interrupt, + .csky_interrupt, + .m68k_interrupt, + .msp430_interrupt, + .avr_signal, + => return sema.fail(block, param_src, "parameters are not allowed with '{s}' calling convention", .{@tagName(cc)}), + else => {}, + } + if (param_is_noalias and !param_ty.isGenericPoison() and !param_ty.isPtrAtRuntime(zcu) and !param_ty.isSliceAtRuntime(zcu)) { + return sema.fail(block, param_src, "non-pointer parameter declared noalias", .{}); + } +} + +fn checkReturnTypeAndCallConvCommon( + sema: *Sema, + block: *Block, + bare_ret_ty: Type, + ret_ty_src: LazySrcLoc, + @"callconv": std.builtin.CallingConvention, + callconv_src: LazySrcLoc, + /// non-`null` only if the function is varargs. + opt_varargs_src: ?LazySrcLoc, + inferred_error_set: bool, + is_noinline: bool, +) CompileError!void { + const pt = sema.pt; + const zcu = pt.zcu; + const gpa = zcu.gpa; + if (opt_varargs_src) |varargs_src| { + try sema.checkCallConvSupportsVarArgs(block, varargs_src, @"callconv"); + } + if (inferred_error_set and !bare_ret_ty.isGenericPoison()) { + try sema.validateErrorUnionPayloadType(block, bare_ret_ty, ret_ty_src); + } + const ies_ret_ty_prefix: []const u8 = if (inferred_error_set) "!" else ""; + if (!bare_ret_ty.isValidReturnType(zcu)) { + const opaque_str = if (bare_ret_ty.zigTypeTag(zcu) == .@"opaque") "opaque " else ""; + return sema.fail(block, ret_ty_src, "{s}return type '{s}{f}' not allowed", .{ + opaque_str, ies_ret_ty_prefix, bare_ret_ty.fmt(pt), + }); + } + if (!bare_ret_ty.isGenericPoison() and + !target_util.fnCallConvAllowsZigTypes(@"callconv") and + (inferred_error_set or !try sema.validateExternType(bare_ret_ty, .ret_ty))) + { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(ret_ty_src, "return type '{s}{f}' not allowed in function with calling convention '{s}'", .{ + ies_ret_ty_prefix, bare_ret_ty.fmt(pt), @tagName(@"callconv"), + }); + errdefer msg.destroy(gpa); + if (!inferred_error_set) { + try sema.explainWhyTypeIsNotExtern(msg, ret_ty_src, bare_ret_ty, .ret_ty); + try sema.addDeclaredHereNote(msg, bare_ret_ty); + } + break :msg msg; + }); + } + validate_incoming_stack_align: { + const a: u64 = switch (@"callconv") { + inline else => |payload| if (@TypeOf(payload) != void and @hasField(@TypeOf(payload), "incoming_stack_alignment")) + payload.incoming_stack_alignment orelse break :validate_incoming_stack_align + else + break :validate_incoming_stack_align, + }; + if (!std.math.isPowerOfTwo(a)) { + return sema.fail(block, callconv_src, "calling convention incoming stack alignment '{d}' is not a power of two", .{a}); + } + } + switch (@"callconv") { + .x86_64_interrupt, + .x86_interrupt, + .arm_interrupt, + .mips64_interrupt, + .mips_interrupt, + .riscv64_interrupt, + .riscv32_interrupt, + .sh_interrupt, + .arc_interrupt, + .avr_interrupt, + .csky_interrupt, + .m68k_interrupt, + .microblaze_interrupt, + .msp430_interrupt, + .avr_signal, + => { + const ret_ok = !inferred_error_set and switch (bare_ret_ty.toIntern()) { + .void_type, .noreturn_type => true, + else => false, + }; + if (!ret_ok) { + return sema.fail(block, ret_ty_src, "function with calling convention '{s}' must return 'void' or 'noreturn'", .{@tagName(@"callconv")}); + } + }, + .@"inline" => if (is_noinline) { + return sema.fail(block, callconv_src, "'noinline' function cannot have calling convention 'inline'", .{}); + }, + else => {}, + } + switch (zcu.callconvSupported(@"callconv")) { + .ok => {}, + .bad_arch => |allowed_archs| { + const ArchListFormatter = struct { + archs: []const std.Target.Cpu.Arch, + pub fn format(formatter: @This(), w: *std.Io.Writer) std.Io.Writer.Error!void { + for (formatter.archs, 0..) |arch, i| { + if (i != 0) + try w.writeAll(", "); + try w.print("'{s}'", .{@tagName(arch)}); + } + } + }; + return sema.fail(block, callconv_src, "calling convention '{s}' only available on architectures {f}", .{ + @tagName(@"callconv"), + ArchListFormatter{ .archs = allowed_archs }, + }); + }, + .bad_backend => |bad_backend| return sema.fail(block, callconv_src, "calling convention '{s}' not supported by compiler backend '{s}'", .{ + @tagName(@"callconv"), + @tagName(bad_backend), + }), + } +} + fn callConvIsCallable(cc: std.builtin.CallingConvention.Tag) bool { return switch (cc) { .naked, @@ -9259,7 +9442,6 @@ fn funcCommon( const pt = sema.pt; const zcu = pt.zcu; const gpa = sema.gpa; - const target = zcu.getTarget(); const ip = &zcu.intern_pool; const ret_ty_src = block.src(.{ .node_offset_fn_type_ret_ty = src_node_offset }); const cc_src = block.src(.{ .node_offset_fn_type_cc = src_node_offset }); @@ -9293,26 +9475,14 @@ fn funcCommon( if (param_ty_generic and !target_util.fnCallConvAllowsZigTypes(cc)) { return sema.fail(block, param_src, "generic parameters not allowed in function with calling convention '{s}'", .{@tagName(cc)}); } - if (!param_ty.isValidParamType(zcu)) { - const opaque_str = if (param_ty.zigTypeTag(zcu) == .@"opaque") "opaque " else ""; - return sema.fail(block, param_src, "parameter of {s}type '{f}' not allowed", .{ - opaque_str, param_ty.fmt(pt), - }); - } - if (!param_ty_generic and !target_util.fnCallConvAllowsZigTypes(cc) and !try sema.validateExternType(param_ty, .param_ty)) { - const msg = msg: { - const msg = try sema.errMsg(param_src, "parameter of type '{f}' not allowed in function with calling convention '{s}'", .{ - param_ty.fmt(pt), @tagName(cc), - }); - errdefer msg.destroy(sema.gpa); - - try sema.explainWhyTypeIsNotExtern(msg, param_src, param_ty, .param_ty); - - try sema.addDeclaredHereNote(msg, param_ty); - break :msg msg; - }; - return sema.failWithOwnedErrorMsg(block, msg); - } + try sema.checkParamTypeCommon( + block, + @intCast(i), + param_ty, + is_noalias, + param_src, + cc, + ); if (param_ty_comptime and !param_is_comptime and has_body and !block.isComptime()) { const msg = msg: { const msg = try sema.errMsg(param_src, "parameter of type '{f}' must be declared comptime", .{ @@ -9327,209 +9497,40 @@ fn funcCommon( }; return sema.failWithOwnedErrorMsg(block, msg); } - if (!param_ty_generic and is_noalias and - !(param_ty.zigTypeTag(zcu) == .pointer or param_ty.isPtrLikeOptional(zcu))) - { - return sema.fail(block, param_src, "non-pointer parameter declared noalias", .{}); - } - switch (cc) { - .x86_64_interrupt, .x86_interrupt => { - const err_code_size = target.ptrBitWidth(); - switch (i) { - 0 => if (param_ty.zigTypeTag(zcu) != .pointer) return sema.fail(block, param_src, "first parameter of function with '{s}' calling convention must be a pointer type", .{@tagName(cc)}), - 1 => if (param_ty.bitSize(zcu) != err_code_size) return sema.fail(block, param_src, "second parameter of function with '{s}' calling convention must be a {d}-bit integer", .{ @tagName(cc), err_code_size }), - else => return sema.fail(block, param_src, "'{s}' calling convention supports up to 2 parameters, found {d}", .{ @tagName(cc), i + 1 }), - } - }, - .arc_interrupt, - .arm_interrupt, - .microblaze_interrupt, - .mips64_interrupt, - .mips_interrupt, - .riscv64_interrupt, - .riscv32_interrupt, - .sh_interrupt, - .avr_interrupt, - .csky_interrupt, - .m68k_interrupt, - .msp430_interrupt, - .avr_signal, - => return sema.fail(block, param_src, "parameters are not allowed with '{s}' calling convention", .{@tagName(cc)}), - else => {}, - } } - if (var_args) { - if (is_generic) { - return sema.fail(block, func_src, "generic function cannot be variadic", .{}); - } - const va_args_src = block.src(.{ - .fn_proto_param = .{ - .fn_proto_node_offset = src_node_offset, - .param_index = @intCast(block.params.len), // va_arg must be the last parameter - }, - }); - try sema.checkCallConvSupportsVarArgs(block, va_args_src, cc); + if (var_args and is_generic) { + return sema.fail(block, func_src, "generic function cannot be variadic", .{}); } - const ret_poison = bare_return_type.isGenericPoison(); - - const param_types = block.params.items(.ty); - - if (inferred_error_set) { - assert(has_body); - if (!ret_poison) - try sema.validateErrorUnionPayloadType(block, bare_return_type, ret_ty_src); - const func_index = try ip.getFuncDeclIes(gpa, pt.tid, .{ - .owner_nav = sema.owner.unwrap().nav_val, - - .param_types = param_types, - .noalias_bits = noalias_bits, - .comptime_bits = comptime_bits, - .bare_return_type = bare_return_type.toIntern(), - .cc = cc, - .is_var_args = var_args, - .is_generic = is_generic, - .is_noinline = is_noinline, - - .zir_body_inst = try block.trackZir(func_inst), - .lbrace_line = src_locs.lbrace_line, - .rbrace_line = src_locs.rbrace_line, - .lbrace_column = @as(u16, @truncate(src_locs.columns)), - .rbrace_column = @as(u16, @truncate(src_locs.columns >> 16)), - }); - return finishFunc( - sema, - block, - func_index, - .none, - ret_poison, - bare_return_type, - ret_ty_src, - cc, - ret_ty_requires_comptime, - func_inst, - cc_src, - is_noinline, - ); - } - - const func_ty = try ip.getFuncType(gpa, pt.tid, .{ - .param_types = param_types, - .noalias_bits = noalias_bits, - .comptime_bits = comptime_bits, - .return_type = bare_return_type.toIntern(), - .cc = cc, - .is_var_args = var_args, - .is_generic = is_generic, - .is_noinline = is_noinline, - }); - - if (has_body) { - const func_index = try ip.getFuncDecl(gpa, pt.tid, .{ - .owner_nav = sema.owner.unwrap().nav_val, - .ty = func_ty, - .cc = cc, - .is_noinline = is_noinline, - .zir_body_inst = try block.trackZir(func_inst), - .lbrace_line = src_locs.lbrace_line, - .rbrace_line = src_locs.rbrace_line, - .lbrace_column = @as(u16, @truncate(src_locs.columns)), - .rbrace_column = @as(u16, @truncate(src_locs.columns >> 16)), - }); - return finishFunc( - sema, - block, - func_index, - func_ty, - ret_poison, - bare_return_type, - ret_ty_src, - cc, - ret_ty_requires_comptime, - func_inst, - cc_src, - is_noinline, - ); - } - - return finishFunc( - sema, + try sema.checkReturnTypeAndCallConvCommon( block, - .none, - func_ty, - ret_poison, bare_return_type, ret_ty_src, cc, - ret_ty_requires_comptime, - func_inst, cc_src, + if (var_args) block.src(.{ .fn_proto_param = .{ + .fn_proto_node_offset = src_node_offset, + .param_index = @intCast(block.params.len), + } }) else null, + inferred_error_set, is_noinline, ); -} - -fn finishFunc( - sema: *Sema, - block: *Block, - opt_func_index: InternPool.Index, - func_ty: InternPool.Index, - ret_poison: bool, - bare_return_type: Type, - ret_ty_src: LazySrcLoc, - cc_resolved: std.builtin.CallingConvention, - ret_ty_requires_comptime: bool, - func_inst: Zir.Inst.Index, - cc_src: LazySrcLoc, - is_noinline: bool, -) CompileError!Air.Inst.Ref { - const pt = sema.pt; - const zcu = pt.zcu; - const ip = &zcu.intern_pool; - const gpa = sema.gpa; - - const return_type: Type = if (opt_func_index == .none or ret_poison) - bare_return_type - else - .fromInterned(ip.funcTypeReturnType(ip.typeOf(opt_func_index))); - - if (!return_type.isValidReturnType(zcu)) { - const opaque_str = if (return_type.zigTypeTag(zcu) == .@"opaque") "opaque " else ""; - return sema.fail(block, ret_ty_src, "{s}return type '{f}' not allowed", .{ - opaque_str, return_type.fmt(pt), - }); - } - if (!ret_poison and !target_util.fnCallConvAllowsZigTypes(cc_resolved) and - !try sema.validateExternType(return_type, .ret_ty)) - { - const msg = msg: { - const msg = try sema.errMsg(ret_ty_src, "return type '{f}' not allowed in function with calling convention '{s}'", .{ - return_type.fmt(pt), @tagName(cc_resolved), - }); - errdefer msg.destroy(gpa); - - try sema.explainWhyTypeIsNotExtern(msg, ret_ty_src, return_type, .ret_ty); - - try sema.addDeclaredHereNote(msg, return_type); - break :msg msg; - }; - return sema.failWithOwnedErrorMsg(block, msg); - } // If the return type is comptime-only but not dependent on parameters then // all parameter types also need to be comptime. - if (opt_func_index != .none and ret_ty_requires_comptime and !block.isComptime()) comptime_check: { + if (has_body and ret_ty_requires_comptime and !block.isComptime()) comptime_check: { for (block.params.items(.is_comptime)) |is_comptime| { if (!is_comptime) break; } else break :comptime_check; - + const ies_ret_ty_prefix: []const u8 = if (inferred_error_set) "!" else ""; const msg = try sema.errMsg( ret_ty_src, - "function with comptime-only return type '{f}' requires all parameters to be comptime", - .{return_type.fmt(pt)}, + "function with comptime-only return type '{s}{f}' requires all parameters to be comptime", + .{ ies_ret_ty_prefix, bare_return_type.fmt(pt) }, ); errdefer msg.destroy(sema.gpa); - try sema.explainWhyTypeIsComptime(msg, ret_ty_src, return_type); + try sema.explainWhyTypeIsComptime(msg, ret_ty_src, bare_return_type); const tags = sema.code.instructions.items(.tag); const data = sema.code.instructions.items(.data); @@ -9556,68 +9557,56 @@ fn finishFunc( return sema.failWithOwnedErrorMsg(block, msg); } - validate_incoming_stack_align: { - const a: u64 = switch (cc_resolved) { - inline else => |payload| if (@TypeOf(payload) != void and @hasField(@TypeOf(payload), "incoming_stack_alignment")) - payload.incoming_stack_alignment orelse break :validate_incoming_stack_align - else - break :validate_incoming_stack_align, - }; - if (!std.math.isPowerOfTwo(a)) { - return sema.fail(block, cc_src, "calling convention incoming stack alignment '{d}' is not a power of two", .{a}); - } + const param_types = block.params.items(.ty); + + if (inferred_error_set) { + assert(has_body); + return .fromIntern(try ip.getFuncDeclIes(gpa, pt.tid, .{ + .owner_nav = sema.owner.unwrap().nav_val, + + .param_types = param_types, + .noalias_bits = noalias_bits, + .comptime_bits = comptime_bits, + .bare_return_type = bare_return_type.toIntern(), + .cc = cc, + .is_var_args = var_args, + .is_generic = is_generic, + .is_noinline = is_noinline, + + .zir_body_inst = try block.trackZir(func_inst), + .lbrace_line = src_locs.lbrace_line, + .rbrace_line = src_locs.rbrace_line, + .lbrace_column = @as(u16, @truncate(src_locs.columns)), + .rbrace_column = @as(u16, @truncate(src_locs.columns >> 16)), + })); } - switch (cc_resolved) { - .x86_64_interrupt, - .x86_interrupt, - .arm_interrupt, - .mips64_interrupt, - .mips_interrupt, - .riscv64_interrupt, - .riscv32_interrupt, - .sh_interrupt, - .arc_interrupt, - .avr_interrupt, - .csky_interrupt, - .m68k_interrupt, - .microblaze_interrupt, - .msp430_interrupt, - .avr_signal, - => if (return_type.zigTypeTag(zcu) != .void and return_type.zigTypeTag(zcu) != .noreturn) { - return sema.fail(block, ret_ty_src, "function with calling convention '{s}' must return 'void' or 'noreturn'", .{@tagName(cc_resolved)}); - }, - .@"inline" => if (is_noinline) { - return sema.fail(block, cc_src, "'noinline' function cannot have calling convention 'inline'", .{}); - }, - else => {}, + const func_ty = try ip.getFuncType(gpa, pt.tid, .{ + .param_types = param_types, + .noalias_bits = noalias_bits, + .comptime_bits = comptime_bits, + .return_type = bare_return_type.toIntern(), + .cc = cc, + .is_var_args = var_args, + .is_generic = is_generic, + .is_noinline = is_noinline, + }); + + if (has_body) { + return .fromIntern(try ip.getFuncDecl(gpa, pt.tid, .{ + .owner_nav = sema.owner.unwrap().nav_val, + .ty = func_ty, + .cc = cc, + .is_noinline = is_noinline, + .zir_body_inst = try block.trackZir(func_inst), + .lbrace_line = src_locs.lbrace_line, + .rbrace_line = src_locs.rbrace_line, + .lbrace_column = @as(u16, @truncate(src_locs.columns)), + .rbrace_column = @as(u16, @truncate(src_locs.columns >> 16)), + })); } - switch (zcu.callconvSupported(cc_resolved)) { - .ok => {}, - .bad_arch => |allowed_archs| { - const ArchListFormatter = struct { - archs: []const std.Target.Cpu.Arch, - pub fn format(formatter: @This(), w: *std.Io.Writer) std.Io.Writer.Error!void { - for (formatter.archs, 0..) |arch, i| { - if (i != 0) - try w.writeAll(", "); - try w.print("'{s}'", .{@tagName(arch)}); - } - } - }; - return sema.fail(block, cc_src, "calling convention '{s}' only available on architectures {f}", .{ - @tagName(cc_resolved), - ArchListFormatter{ .archs = allowed_archs }, - }); - }, - .bad_backend => |bad_backend| return sema.fail(block, cc_src, "calling convention '{s}' not supported by compiler backend '{s}'", .{ - @tagName(cc_resolved), - @tagName(bad_backend), - }), - } - - return Air.internedToRef(if (opt_func_index != .none) opt_func_index else func_ty); + return .fromIntern(func_ty); } fn zirParam( @@ -19395,7 +19384,7 @@ fn zirUnionInit(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A if (union_ty.zigTypeTag(pt.zcu) != .@"union") { return sema.fail(block, ty_src, "expected union type, found '{f}'", .{union_ty.fmt(pt)}); } - const field_name = try sema.resolveConstStringIntern(block, field_src, extra.field_name, .{ .simple = .union_field_name }); + const field_name = try sema.resolveConstStringIntern(block, field_src, extra.field_name, .{ .simple = .union_field_names }); const init = try sema.resolveInst(extra.init); return sema.unionInit(block, init, init_src, union_ty, ty_src, field_name, field_src); } @@ -20553,7 +20542,338 @@ fn zirTagName(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air return block.addUnOp(.tag_name, casted_operand); } -fn zirReify( +fn zirReifyInt(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { + const inst_data = sema.code.instructions.items(.data)[@intFromEnum(inst)].pl_node; + const signedness_src = block.builtinCallArgSrc(inst_data.src_node, 0); + const bits_src = block.builtinCallArgSrc(inst_data.src_node, 1); + const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; + const signedness = try sema.resolveBuiltinEnum(block, signedness_src, extra.lhs, .Signedness, .{ .simple = .int_signedness }); + const bits: u16 = @intCast(try sema.resolveInt(block, bits_src, extra.rhs, .u16, .{ .simple = .int_bit_width })); + return .fromType(try sema.pt.intType(signedness, bits)); +} + +fn zirReifySliceArgTy( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const pt = sema.pt; + const zcu = pt.zcu; + + const extra = sema.code.extraData(Zir.Inst.UnNode, extended.operand).data; + const info: Zir.Inst.ReifySliceArgInfo = @enumFromInt(extended.small); + + const src = block.nodeOffset(extra.node); + + const comptime_reason: std.zig.SimpleComptimeReason, const in_scalar_ty: Type, const out_scalar_ty: Type = switch (info) { + // zig fmt: off + .type_to_fn_param_attrs => .{ .fn_param_attrs, .type, try sema.getBuiltinType(src, .@"Type.Fn.Param.Attributes") }, + .string_to_struct_field_type => .{ .struct_field_types, .slice_const_u8, .type }, + .string_to_union_field_type => .{ .union_field_types, .slice_const_u8, .type }, + .string_to_struct_field_attrs => .{ .struct_field_attrs, .slice_const_u8, try sema.getBuiltinType(src, .@"Type.StructField.Attributes") }, + .string_to_union_field_attrs => .{ .union_field_attrs, .slice_const_u8, try sema.getBuiltinType(src, .@"Type.UnionField.Attributes") }, + // zig fmt: on + }; + + const operand_ty = try pt.ptrTypeSema(.{ + .child = in_scalar_ty.toIntern(), + .flags = .{ .size = .slice, .is_const = true }, + }); + + const operand_uncoerced = try sema.resolveInst(extra.operand); + const operand_coerced = try sema.coerce(block, operand_ty, operand_uncoerced, src); + const operand_val = try sema.resolveConstDefinedValue(block, src, operand_coerced, .{ .simple = comptime_reason }); + const len_val: Value = .fromInterned(zcu.intern_pool.indexToKey(operand_val.toIntern()).slice.len); + if (len_val.isUndef(zcu)) return sema.failWithUseOfUndef(block, src, null); + const len = try len_val.toUnsignedIntSema(pt); + + return .fromType(try pt.singleConstPtrType(try pt.arrayType(.{ + .len = len, + .child = out_scalar_ty.toIntern(), + }))); +} + +fn zirReifyEnumValueSliceTy( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const pt = sema.pt; + const zcu = pt.zcu; + + const extra = sema.code.extraData(Zir.Inst.BinNode, extended.operand).data; + + const int_tag_ty_src = block.builtinCallArgSrc(extra.node, 0); + const field_names_src = block.builtinCallArgSrc(extra.node, 2); + + const int_tag_ty = try sema.resolveType(block, int_tag_ty_src, extra.lhs); + + const operand_uncoerced = try sema.resolveInst(extra.rhs); + const operand_coerced = try sema.coerce(block, .slice_const_slice_const_u8, operand_uncoerced, field_names_src); + const operand_val = try sema.resolveConstDefinedValue(block, field_names_src, operand_coerced, .{ .simple = .enum_field_names }); + const len_val: Value = .fromInterned(zcu.intern_pool.indexToKey(operand_val.toIntern()).slice.len); + if (len_val.isUndef(zcu)) return sema.failWithUseOfUndef(block, field_names_src, null); + const len = try len_val.toUnsignedIntSema(pt); + + return .fromType(try pt.singleConstPtrType(try pt.arrayType(.{ + .len = len, + .child = int_tag_ty.toIntern(), + }))); +} + +fn zirReifyPointerSentinelTy( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const pt = sema.pt; + const zcu = pt.zcu; + const extra = sema.code.extraData(Zir.Inst.UnNode, extended.operand).data; + const src = block.nodeOffset(extra.node); + const elem_ty = try sema.resolveType(block, src, extra.operand); + return .fromType(switch (elem_ty.zigTypeTag(zcu)) { + else => try pt.optionalType(elem_ty.toIntern()), + // These types cannot be the child of an optional. To allow reifying pointers to them still, + // we treat the "sentinel" argument to `@Pointer` as `?noreturn` instead of `?T`. + .@"opaque", .null => .optional_noreturn, + }); +} + +fn zirReifyTuple( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const pt = sema.pt; + const zcu = pt.zcu; + + const extra = sema.code.extraData(Zir.Inst.UnNode, extended.operand).data; + const operand_src = block.builtinCallArgSrc(extra.node, 0); + + const types_uncoerced = try sema.resolveInst(extra.operand); + const types_coerced = try sema.coerce(block, .slice_const_type, types_uncoerced, operand_src); + const types_slice_val = try sema.resolveConstDefinedValue(block, operand_src, types_coerced, .{ .simple = .tuple_field_types }); + const types_array_val = try sema.derefSliceAsArray(block, operand_src, types_slice_val, .{ .simple = .tuple_field_types }); + const fields_len: u32 = @intCast(types_array_val.typeOf(zcu).arrayLen(zcu)); + + const field_types = try sema.arena.alloc(InternPool.Index, fields_len); + for (field_types, 0..) |*field_ty, field_idx| { + const field_ty_val = try types_array_val.elemValue(pt, field_idx); + if (field_ty_val.isUndef(zcu)) { + return sema.failWithUseOfUndef(block, operand_src, null); + } + field_ty.* = field_ty_val.toIntern(); + } + + const field_values = try sema.arena.alloc(InternPool.Index, fields_len); + @memset(field_values, .none); + + return .fromIntern(try zcu.intern_pool.getTupleType(zcu.gpa, pt.tid, .{ + .types = field_types, + .values = field_values, + })); +} + +fn zirReifyPointer( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const pt = sema.pt; + const zcu = pt.zcu; + const gpa = zcu.gpa; + const ip = &zcu.intern_pool; + + const extra = sema.code.extraData(Zir.Inst.ReifyPointer, extended.operand).data; + const src = block.nodeOffset(extra.node); + const size_src = block.builtinCallArgSrc(extra.node, 0); + const attrs_src = block.builtinCallArgSrc(extra.node, 1); + const elem_ty_src = block.builtinCallArgSrc(extra.node, 2); + const sentinel_src = block.builtinCallArgSrc(extra.node, 3); + + const size_ty = try sema.getBuiltinType(size_src, .@"Type.Pointer.Size"); + const attrs_ty = try sema.getBuiltinType(attrs_src, .@"Type.Pointer.Attributes"); + + const size_uncoerced = try sema.resolveInst(extra.size); + const size_coerced = try sema.coerce(block, size_ty, size_uncoerced, size_src); + const size_val = try sema.resolveConstDefinedValue(block, size_src, size_coerced, .{ .simple = .pointer_size }); + const size = try sema.interpretBuiltinType(block, size_src, size_val, std.builtin.Type.Pointer.Size); + + const attrs_uncoerced = try sema.resolveInst(extra.attrs); + const attrs_coerced = try sema.coerce(block, attrs_ty, attrs_uncoerced, attrs_src); + const attrs_val = try sema.resolveConstDefinedValue(block, attrs_src, attrs_coerced, .{ .simple = .pointer_attrs }); + const attrs = try sema.interpretBuiltinType(block, attrs_src, attrs_val, std.builtin.Type.Pointer.Attributes); + + const @"align": Alignment = if (attrs.@"align") |bytes| a: { + break :a try sema.validateAlign(block, attrs_src, bytes); + } else .none; + + const elem_ty = try sema.resolveType(block, elem_ty_src, extra.elem_ty); + + switch (elem_ty.zigTypeTag(zcu)) { + .noreturn => return sema.fail(block, elem_ty_src, "pointer to noreturn not allowed", .{}), + // This needs to be disallowed, because the sentinel parameter would otherwise have type + // `?@TypeOf(null)`, which is not a valid type because you cannot differentiate between + // constructing the "inner" null value and the "outer" null value. + .null => return sema.fail(block, elem_ty_src, "cannot reify pointer to '@TypeOf(null)'", .{}), + .@"fn" => switch (size) { + .one => {}, + .many, .c, .slice => return sema.fail(block, src, "function pointers must be single pointers", .{}), + }, + .@"opaque" => switch (size) { + .one => {}, + .many, .c, .slice => return sema.fail(block, src, "indexable pointer to opaque type '{f}' not allowed", .{elem_ty.fmt(pt)}), + }, + else => {}, + } + + if (size == .c and !try sema.validateExternType(elem_ty, .other)) { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(src, "C pointers cannot point to non-C-ABI-compatible type '{f}'", .{elem_ty.fmt(pt)}); + errdefer msg.destroy(gpa); + try sema.explainWhyTypeIsNotExtern(msg, elem_ty_src, elem_ty, .other); + try sema.addDeclaredHereNote(msg, elem_ty); + break :msg msg; + }); + } + + const sentinel_ty = try pt.optionalType(elem_ty.toIntern()); + const sentinel_uncoerced = try sema.resolveInst(extra.sentinel); + const sentinel_coerced = try sema.coerce(block, sentinel_ty, sentinel_uncoerced, sentinel_src); + const sentinel_val = try sema.resolveConstDefinedValue(block, sentinel_src, sentinel_coerced, .{ .simple = .pointer_sentinel }); + const opt_sentinel = sentinel_val.optionalValue(zcu); + if (opt_sentinel) |sentinel| { + switch (size) { + .many, .slice => {}, + .one, .c => return sema.fail(block, sentinel_src, "sentinels are only allowed on slices and unknown-length pointers", .{}), + } + try checkSentinelType(sema, block, sentinel_src, elem_ty); + if (sentinel.canMutateComptimeVarState(zcu)) { + const sentinel_name = try ip.getOrPutString(gpa, pt.tid, "sentinel", .no_embedded_nulls); + return sema.failWithContainsReferenceToComptimeVar(block, sentinel_src, sentinel_name, "sentinel", sentinel); + } + } + + return .fromType(try pt.ptrTypeSema(.{ + .child = elem_ty.toIntern(), + .sentinel = if (opt_sentinel) |s| s.toIntern() else .none, + .flags = .{ + .size = size, + .is_const = attrs.@"const", + .is_volatile = attrs.@"volatile", + .is_allowzero = attrs.@"allowzero", + .address_space = attrs.@"addrspace" orelse as: { + if (elem_ty.zigTypeTag(zcu) == .@"fn" and zcu.getTarget().cpu.arch == .avr) break :as .flash; + break :as .generic; + }, + .alignment = @"align", + }, + })); +} + +fn zirReifyFn( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const pt = sema.pt; + const zcu = pt.zcu; + const gpa = zcu.gpa; + const ip = &zcu.intern_pool; + + const extra = sema.code.extraData(Zir.Inst.ReifyFn, extended.operand).data; + const param_types_src = block.builtinCallArgSrc(extra.node, 0); + const param_attrs_src = block.builtinCallArgSrc(extra.node, 1); + const ret_ty_src = block.builtinCallArgSrc(extra.node, 2); + const fn_attrs_src = block.builtinCallArgSrc(extra.node, 3); + + const single_param_attrs_ty = try sema.getBuiltinType(param_attrs_src, .@"Type.Fn.Param.Attributes"); + const fn_attrs_ty = try sema.getBuiltinType(fn_attrs_src, .@"Type.Fn.Attributes"); + + const param_types_uncoerced = try sema.resolveInst(extra.param_types); + const param_types_coerced = try sema.coerce(block, .slice_const_type, param_types_uncoerced, param_types_src); + const param_types_slice = try sema.resolveConstDefinedValue(block, param_types_src, param_types_coerced, .{ .simple = .fn_param_types }); + const param_types_arr = try sema.derefSliceAsArray(block, param_types_src, param_types_slice, .{ .simple = .fn_param_types }); + + const params_len = param_types_arr.typeOf(zcu).arrayLen(zcu); + + const param_attrs_ty = try pt.singleConstPtrType(try pt.arrayType(.{ + .len = params_len, + .child = single_param_attrs_ty.toIntern(), + })); + const param_attrs_uncoerced = try sema.resolveInst(extra.param_attrs); + const param_attrs_coerced = try sema.coerce(block, param_attrs_ty, param_attrs_uncoerced, param_attrs_src); + const param_attrs_slice = try sema.resolveConstDefinedValue(block, param_attrs_src, param_attrs_coerced, .{ .simple = .fn_param_attrs }); + const param_attrs_arr = try sema.derefSliceAsArray(block, param_attrs_src, param_attrs_slice, .{ .simple = .fn_param_attrs }); + + const ret_ty = try sema.resolveType(block, ret_ty_src, extra.ret_ty); + + const fn_attrs_uncoerced = try sema.resolveInst(extra.fn_attrs); + const fn_attrs_coerced = try sema.coerce(block, fn_attrs_ty, fn_attrs_uncoerced, fn_attrs_src); + const fn_attrs_val = try sema.resolveConstDefinedValue(block, fn_attrs_src, fn_attrs_coerced, .{ .simple = .fn_attrs }); + const fn_attrs = try sema.interpretBuiltinType(block, fn_attrs_src, fn_attrs_val, std.builtin.Type.Fn.Attributes); + + var noalias_bits: u32 = 0; + const param_types_ip = try sema.arena.alloc(InternPool.Index, @intCast(params_len)); + for (param_types_ip, 0..@intCast(params_len)) |*param_ty_ip, param_idx| { + const param_ty: Type = (try param_types_arr.elemValue(pt, param_idx)).toType(); + const param_attrs = try sema.interpretBuiltinType( + block, + param_attrs_src, + try param_attrs_arr.elemValue(pt, param_idx), + std.builtin.Type.Fn.Param.Attributes, + ); + try sema.checkParamTypeCommon( + block, + @intCast(param_idx), + param_ty, + param_attrs.@"noalias", + param_types_src, + fn_attrs.@"callconv", + ); + if (try param_ty.comptimeOnlySema(pt)) { + return sema.fail(block, param_attrs_src, "cannot reify function type with comptime-only parameter type '{f}'", .{param_ty.fmt(pt)}); + } + if (param_attrs.@"noalias") { + if (param_idx > 31) { + return sema.fail(block, param_attrs_src, "this compiler implementation only supports 'noalias' on the first 32 parameters", .{}); + } + noalias_bits |= @as(u32, 1) << @intCast(param_idx); + } + param_ty_ip.* = param_ty.toIntern(); + } + + if (fn_attrs.varargs) { + try sema.checkCallConvSupportsVarArgs(block, fn_attrs_src, fn_attrs.@"callconv"); + } + + try sema.checkReturnTypeAndCallConvCommon( + block, + ret_ty, + ret_ty_src, + fn_attrs.@"callconv", + fn_attrs_src, + if (fn_attrs.varargs) fn_attrs_src else null, + false, + false, + ); + if (try ret_ty.comptimeOnlySema(pt)) { + return sema.fail(block, param_attrs_src, "cannot reify function type with comptime-only return type '{f}'", .{ret_ty.fmt(pt)}); + } + + return .fromIntern(try ip.getFuncType(gpa, pt.tid, .{ + .param_types = param_types_ip, + .noalias_bits = noalias_bits, + .comptime_bits = 0, + .return_type = ret_ty.toIntern(), + .cc = fn_attrs.@"callconv", + .is_var_args = fn_attrs.varargs, + .is_generic = false, + .is_noinline = false, + })); +} + +fn zirReifyStruct( sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstData, @@ -20563,579 +20883,188 @@ fn zirReify( const zcu = pt.zcu; const gpa = sema.gpa; const ip = &zcu.intern_pool; + const name_strategy: Zir.Inst.NameStrategy = @enumFromInt(extended.small); - const extra = sema.code.extraData(Zir.Inst.Reify, extended.operand).data; + const extra = sema.code.extraData(Zir.Inst.ReifyStruct, extended.operand).data; const tracked_inst = try block.trackZir(inst); const src: LazySrcLoc = .{ .base_node_inst = tracked_inst, - .offset = LazySrcLoc.Offset.nodeOffset(.zero), + .offset = .nodeOffset(.zero), }; - const operand_src: LazySrcLoc = .{ + + const layout_src: LazySrcLoc = .{ .base_node_inst = tracked_inst, - .offset = .{ - .node_offset_builtin_call_arg = .{ - .builtin_call_node = .zero, // `tracked_inst` is precisely the `reify` instruction, so offset is 0 - .arg_index = 0, - }, - }, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 0, + } }, }; - const type_info_ty = try sema.getBuiltinType(src, .Type); - const uncasted_operand = try sema.resolveInst(extra.operand); - const type_info = try sema.coerce(block, type_info_ty, uncasted_operand, operand_src); - const val = try sema.resolveConstDefinedValue(block, operand_src, type_info, .{ .simple = .operand_Type }); - const union_val = ip.indexToKey(val.toIntern()).un; - if (try sema.anyUndef(block, operand_src, Value.fromInterned(union_val.val))) { - return sema.failWithUseOfUndef(block, operand_src, null); + const backing_ty_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 1, + } }, + }; + const field_names_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 2, + } }, + }; + const field_types_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 3, + } }, + }; + const field_attrs_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 4, + } }, + }; + + const container_layout_ty = try sema.getBuiltinType(layout_src, .@"Type.ContainerLayout"); + const single_field_attrs_ty = try sema.getBuiltinType(field_attrs_src, .@"Type.StructField.Attributes"); + + const layout_uncoerced = try sema.resolveInst(extra.layout); + const layout_coerced = try sema.coerce(block, container_layout_ty, layout_uncoerced, layout_src); + const layout_val = try sema.resolveConstDefinedValue(block, layout_src, layout_coerced, .{ .simple = .struct_layout }); + const layout = try sema.interpretBuiltinType(block, layout_src, layout_val, std.builtin.Type.ContainerLayout); + + const backing_int_ty_uncoerced = try sema.resolveInst(extra.backing_ty); + const backing_int_ty_coerced = try sema.coerce(block, .optional_type, backing_int_ty_uncoerced, backing_ty_src); + const backing_int_ty_val = try sema.resolveConstDefinedValue(block, backing_ty_src, backing_int_ty_coerced, .{ .simple = .type }); + + const field_names_uncoerced = try sema.resolveInst(extra.field_names); + const field_names_coerced = try sema.coerce(block, .slice_const_slice_const_u8, field_names_uncoerced, field_names_src); + const field_names_slice = try sema.resolveConstDefinedValue(block, field_names_src, field_names_coerced, .{ .simple = .struct_field_names }); + const field_names_arr = try sema.derefSliceAsArray(block, field_names_src, field_names_slice, .{ .simple = .struct_field_names }); + + const fields_len = try sema.usizeCast(block, src, field_names_arr.typeOf(zcu).arrayLen(zcu)); + + const field_types_ty = try pt.singleConstPtrType(try pt.arrayType(.{ + .len = fields_len, + .child = .type_type, + })); + const field_attrs_ty = try pt.singleConstPtrType(try pt.arrayType(.{ + .len = fields_len, + .child = single_field_attrs_ty.toIntern(), + })); + + const field_types_uncoerced = try sema.resolveInst(extra.field_types); + const field_types_coerced = try sema.coerce(block, field_types_ty, field_types_uncoerced, field_types_src); + const field_types_slice = try sema.resolveConstDefinedValue(block, field_types_src, field_types_coerced, .{ .simple = .struct_field_types }); + const field_types_arr = try sema.derefSliceAsArray(block, field_types_src, field_types_slice, .{ .simple = .struct_field_types }); + + const field_attrs_uncoerced = try sema.resolveInst(extra.field_attrs); + const field_attrs_coerced = try sema.coerce(block, field_attrs_ty, field_attrs_uncoerced, field_attrs_src); + const field_attrs_slice = try sema.resolveConstDefinedValue(block, field_attrs_src, field_attrs_coerced, .{ .simple = .struct_field_attrs }); + const field_attrs_arr = try sema.derefSliceAsArray(block, field_attrs_src, field_attrs_slice, .{ .simple = .struct_field_attrs }); + + // Before we begin, check for undefs... + if (try sema.anyUndef(block, field_attrs_src, field_attrs_arr)) { + return sema.failWithUseOfUndef(block, field_attrs_src, null); } - const tag_index = type_info_ty.unionTagFieldIndex(Value.fromInterned(union_val.tag), zcu).?; - switch (@as(std.builtin.TypeId, @enumFromInt(tag_index))) { - .type => return .type_type, - .void => return .void_type, - .bool => return .bool_type, - .noreturn => return .noreturn_type, - .comptime_float => return .comptime_float_type, - .comptime_int => return .comptime_int_type, - .undefined => return .undefined_type, - .null => return .null_type, - .@"anyframe" => return sema.failWithUseOfAsync(block, src), - .enum_literal => return .enum_literal_type, - .int => { - const int = try sema.interpretBuiltinType(block, operand_src, .fromInterned(union_val.val), std.builtin.Type.Int); - const ty = try pt.intType(int.signedness, int.bits); - return Air.internedToRef(ty.toIntern()); - }, - .vector => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const len_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "len", .no_embedded_nulls), - ).?); - const child_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "child", .no_embedded_nulls), - ).?); - - const len: u32 = @intCast(try len_val.toUnsignedIntSema(pt)); - const child_ty = child_val.toType(); - - try sema.checkVectorElemType(block, src, child_ty); - - const ty = try pt.vectorType(.{ - .len = len, - .child = child_ty.toIntern(), - }); - return Air.internedToRef(ty.toIntern()); - }, - .float => { - const float = try sema.interpretBuiltinType(block, operand_src, .fromInterned(union_val.val), std.builtin.Type.Float); - - const ty: Type = switch (float.bits) { - 16 => .f16, - 32 => .f32, - 64 => .f64, - 80 => .f80, - 128 => .f128, - else => return sema.fail(block, src, "{d}-bit float unsupported", .{float.bits}), - }; - return Air.internedToRef(ty.toIntern()); - }, - .pointer => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const size_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "size", .no_embedded_nulls), - ).?); - const is_const_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_const", .no_embedded_nulls), - ).?); - const is_volatile_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_volatile", .no_embedded_nulls), - ).?); - const alignment_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "alignment", .no_embedded_nulls), - ).?); - const address_space_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "address_space", .no_embedded_nulls), - ).?); - const child_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "child", .no_embedded_nulls), - ).?); - const is_allowzero_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_allowzero", .no_embedded_nulls), - ).?); - const sentinel_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "sentinel_ptr", .no_embedded_nulls), - ).?); - - if (!try sema.intFitsInType(alignment_val, align_ty, null)) { - return sema.fail(block, src, "alignment must fit in '{f}'", .{align_ty.fmt(pt)}); - } - const alignment_val_int = try alignment_val.toUnsignedIntSema(pt); - const abi_align = try sema.validateAlign(block, src, alignment_val_int); - - const elem_ty = child_val.toType(); - if (abi_align != .none) { - try elem_ty.resolveLayout(pt); - } - - const ptr_size = try sema.interpretBuiltinType(block, operand_src, size_val, std.builtin.Type.Pointer.Size); - - const actual_sentinel: InternPool.Index = s: { - if (!sentinel_val.isNull(zcu)) { - if (ptr_size == .one or ptr_size == .c) { - return sema.fail(block, src, "sentinels are only allowed on slices and unknown-length pointers", .{}); - } - const sentinel_ptr_val = sentinel_val.optionalValue(zcu).?; - const ptr_ty = try pt.singleMutPtrType(elem_ty); - const sent_val = (try sema.pointerDeref(block, src, sentinel_ptr_val, ptr_ty)).?; - try sema.checkSentinelType(block, src, elem_ty); - if (sent_val.canMutateComptimeVarState(zcu)) { - const sentinel_name = try ip.getOrPutString(gpa, pt.tid, "sentinel_ptr", .no_embedded_nulls); - return sema.failWithContainsReferenceToComptimeVar(block, src, sentinel_name, "sentinel", sent_val); - } - break :s sent_val.toIntern(); - } - break :s .none; - }; - - if (elem_ty.zigTypeTag(zcu) == .noreturn) { - return sema.fail(block, src, "pointer to noreturn not allowed", .{}); - } else if (elem_ty.zigTypeTag(zcu) == .@"fn") { - if (ptr_size != .one) { - return sema.fail(block, src, "function pointers must be single pointers", .{}); - } - } else if (ptr_size != .one and elem_ty.zigTypeTag(zcu) == .@"opaque") { - return sema.fail(block, src, "indexable pointer to opaque type '{f}' not allowed", .{elem_ty.fmt(pt)}); - } else if (ptr_size == .c) { - if (!try sema.validateExternType(elem_ty, .other)) { - const msg = msg: { - const msg = try sema.errMsg(src, "C pointers cannot point to non-C-ABI-compatible type '{f}'", .{elem_ty.fmt(pt)}); - errdefer msg.destroy(gpa); - - try sema.explainWhyTypeIsNotExtern(msg, src, elem_ty, .other); - - try sema.addDeclaredHereNote(msg, elem_ty); - break :msg msg; - }; - return sema.failWithOwnedErrorMsg(block, msg); - } - } - - const ty = try pt.ptrTypeSema(.{ - .child = elem_ty.toIntern(), - .sentinel = actual_sentinel, - .flags = .{ - .size = ptr_size, - .is_const = is_const_val.toBool(), - .is_volatile = is_volatile_val.toBool(), - .alignment = abi_align, - .address_space = try sema.interpretBuiltinType(block, operand_src, address_space_val, std.builtin.AddressSpace), - .is_allowzero = is_allowzero_val.toBool(), - }, - }); - return Air.internedToRef(ty.toIntern()); - }, - .array => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const len_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "len", .no_embedded_nulls), - ).?); - const child_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "child", .no_embedded_nulls), - ).?); - const sentinel_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "sentinel_ptr", .no_embedded_nulls), - ).?); - - const len = try len_val.toUnsignedIntSema(pt); - const child_ty = child_val.toType(); - const sentinel = if (sentinel_val.optionalValue(zcu)) |p| blk: { - const ptr_ty = try pt.singleMutPtrType(child_ty); - try sema.checkSentinelType(block, src, child_ty); - const sentinel = (try sema.pointerDeref(block, src, p, ptr_ty)).?; - if (sentinel.canMutateComptimeVarState(zcu)) { - const sentinel_name = try ip.getOrPutString(gpa, pt.tid, "sentinel_ptr", .no_embedded_nulls); - return sema.failWithContainsReferenceToComptimeVar(block, src, sentinel_name, "sentinel", sentinel); - } - break :blk sentinel; - } else null; - - const ty = try pt.arrayType(.{ - .len = len, - .sentinel = if (sentinel) |s| s.toIntern() else .none, - .child = child_ty.toIntern(), - }); - return Air.internedToRef(ty.toIntern()); - }, - .optional => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const child_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "child", .no_embedded_nulls), - ).?); - - const child_ty = child_val.toType(); - - const ty = try pt.optionalType(child_ty.toIntern()); - return Air.internedToRef(ty.toIntern()); - }, - .error_union => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const error_set_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "error_set", .no_embedded_nulls), - ).?); - const payload_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "payload", .no_embedded_nulls), - ).?); - - const error_set_ty = error_set_val.toType(); - const payload_ty = payload_val.toType(); - - if (error_set_ty.zigTypeTag(zcu) != .error_set) { - return sema.fail(block, src, "Type.ErrorUnion.error_set must be an error set type", .{}); - } - - const ty = try pt.errorUnionType(error_set_ty, payload_ty); - return Air.internedToRef(ty.toIntern()); - }, - .error_set => { - const payload_val = Value.fromInterned(union_val.val).optionalValue(zcu) orelse - return .anyerror_type; - - const names_val = try sema.derefSliceAsArray(block, src, payload_val, .{ .simple = .error_set_contents }); - - const len = try sema.usizeCast(block, src, names_val.typeOf(zcu).arrayLen(zcu)); - var names: InferredErrorSet.NameMap = .{}; - try names.ensureUnusedCapacity(sema.arena, len); - for (0..len) |i| { - const elem_val = try names_val.elemValue(pt, i); - const elem_struct_type = ip.loadStructType(ip.typeOf(elem_val.toIntern())); - const name_val = try elem_val.fieldValue(pt, elem_struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "name", .no_embedded_nulls), - ).?); - - const name = try sema.sliceToIpString(block, src, name_val, .{ .simple = .error_set_contents }); - _ = try pt.getErrorValue(name); - const gop = names.getOrPutAssumeCapacity(name); - if (gop.found_existing) { - return sema.fail(block, src, "duplicate error '{f}'", .{ - name.fmt(ip), - }); - } - } - - const ty = try pt.errorSetFromUnsortedNames(names.keys()); - return Air.internedToRef(ty.toIntern()); - }, - .@"struct" => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const layout_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "layout", .no_embedded_nulls), - ).?); - const backing_integer_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "backing_integer", .no_embedded_nulls), - ).?); - const fields_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "fields", .no_embedded_nulls), - ).?); - const decls_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "decls", .no_embedded_nulls), - ).?); - const is_tuple_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_tuple", .no_embedded_nulls), - ).?); - - const layout = try sema.interpretBuiltinType(block, operand_src, layout_val, std.builtin.Type.ContainerLayout); - - // Decls - if (try decls_val.sliceLen(pt) > 0) { - return sema.fail(block, src, "reified structs must have no decls", .{}); - } - - if (layout != .@"packed" and !backing_integer_val.isNull(zcu)) { - return sema.fail(block, src, "non-packed struct does not support backing integer type", .{}); - } - - const fields_arr = try sema.derefSliceAsArray(block, operand_src, fields_val, .{ .simple = .struct_fields }); - - if (is_tuple_val.toBool()) { - switch (layout) { - .@"extern" => return sema.fail(block, src, "extern tuples are not supported", .{}), - .@"packed" => return sema.fail(block, src, "packed tuples are not supported", .{}), - .auto => {}, - } - return sema.reifyTuple(block, src, fields_arr); - } else { - return sema.reifyStruct(block, inst, src, layout, backing_integer_val, fields_arr, name_strategy); - } - }, - .@"enum" => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const tag_type_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "tag_type", .no_embedded_nulls), - ).?); - const fields_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "fields", .no_embedded_nulls), - ).?); - const decls_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "decls", .no_embedded_nulls), - ).?); - const is_exhaustive_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_exhaustive", .no_embedded_nulls), - ).?); - - if (try decls_val.sliceLen(pt) > 0) { - return sema.fail(block, src, "reified enums must have no decls", .{}); - } - - const fields_arr = try sema.derefSliceAsArray(block, operand_src, fields_val, .{ .simple = .enum_fields }); - - return sema.reifyEnum(block, inst, src, tag_type_val.toType(), is_exhaustive_val.toBool(), fields_arr, name_strategy); - }, - .@"opaque" => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const decls_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "decls", .no_embedded_nulls), - ).?); - - // Decls - if (try decls_val.sliceLen(pt) > 0) { - return sema.fail(block, src, "reified opaque must have no decls", .{}); - } - - const wip_ty = switch (try ip.getOpaqueType(gpa, pt.tid, .{ - .key = .{ .reified = .{ - .zir_index = try block.trackZir(inst), - } }, - })) { - .existing => |ty| { - try sema.addTypeReferenceEntry(src, ty); - return Air.internedToRef(ty); - }, - .wip => |wip| wip, - }; - errdefer wip_ty.cancel(ip, pt.tid); - - const type_name = try sema.createTypeName( - block, - name_strategy, - "opaque", - inst, - wip_ty.index, - ); - wip_ty.setName(ip, type_name.name, type_name.nav); - - const new_namespace_index = try pt.createNamespace(.{ - .parent = block.namespace.toOptional(), - .owner_type = wip_ty.index, - .file_scope = block.getFileScopeIndex(zcu), - .generation = zcu.generation, - }); - - try sema.addTypeReferenceEntry(src, wip_ty.index); - if (zcu.comp.debugIncremental()) try zcu.incremental_debug_state.newType(zcu, wip_ty.index); - return Air.internedToRef(wip_ty.finish(ip, new_namespace_index)); - }, - .@"union" => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const layout_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "layout", .no_embedded_nulls), - ).?); - const tag_type_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "tag_type", .no_embedded_nulls), - ).?); - const fields_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "fields", .no_embedded_nulls), - ).?); - const decls_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "decls", .no_embedded_nulls), - ).?); - - if (try decls_val.sliceLen(pt) > 0) { - return sema.fail(block, src, "reified unions must have no decls", .{}); - } - const layout = try sema.interpretBuiltinType(block, operand_src, layout_val, std.builtin.Type.ContainerLayout); - - const has_tag = tag_type_val.optionalValue(zcu) != null; - - if (has_tag) { - switch (layout) { - .@"extern" => return sema.fail(block, src, "extern union does not support enum tag type", .{}), - .@"packed" => return sema.fail(block, src, "packed union does not support enum tag type", .{}), - .auto => {}, - } - } - - const fields_arr = try sema.derefSliceAsArray(block, operand_src, fields_val, .{ .simple = .union_fields }); - - return sema.reifyUnion(block, inst, src, layout, tag_type_val, fields_arr, name_strategy); - }, - .@"fn" => { - const struct_type = ip.loadStructType(ip.typeOf(union_val.val)); - const calling_convention_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "calling_convention", .no_embedded_nulls), - ).?); - const is_generic_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_generic", .no_embedded_nulls), - ).?); - const is_var_args_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_var_args", .no_embedded_nulls), - ).?); - const return_type_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "return_type", .no_embedded_nulls), - ).?); - const params_slice_val = try Value.fromInterned(union_val.val).fieldValue(pt, struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "params", .no_embedded_nulls), - ).?); - - const is_generic = is_generic_val.toBool(); - if (is_generic) { - return sema.fail(block, src, "Type.Fn.is_generic must be false for @Type", .{}); - } - - const is_var_args = is_var_args_val.toBool(); - const cc = try sema.analyzeValueAsCallconv(block, src, calling_convention_val); - if (is_var_args) { - try sema.checkCallConvSupportsVarArgs(block, src, cc); - } - - const return_type = return_type_val.optionalValue(zcu) orelse - return sema.fail(block, src, "Type.Fn.return_type must be non-null for @Type", .{}); - - const params_val = try sema.derefSliceAsArray(block, operand_src, params_slice_val, .{ .simple = .function_parameters }); - - const args_len = try sema.usizeCast(block, src, params_val.typeOf(zcu).arrayLen(zcu)); - const param_types = try sema.arena.alloc(InternPool.Index, args_len); - - var noalias_bits: u32 = 0; - for (param_types, 0..) |*param_type, i| { - const elem_val = try params_val.elemValue(pt, i); - const elem_struct_type = ip.loadStructType(ip.typeOf(elem_val.toIntern())); - const param_is_generic_val = try elem_val.fieldValue(pt, elem_struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_generic", .no_embedded_nulls), - ).?); - const param_is_noalias_val = try elem_val.fieldValue(pt, elem_struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "is_noalias", .no_embedded_nulls), - ).?); - const opt_param_type_val = try elem_val.fieldValue(pt, elem_struct_type.nameIndex( - ip, - try ip.getOrPutString(gpa, pt.tid, "type", .no_embedded_nulls), - ).?); - - if (param_is_generic_val.toBool()) { - return sema.fail(block, src, "Type.Fn.Param.is_generic must be false for @Type", .{}); - } - - const param_type_val = opt_param_type_val.optionalValue(zcu) orelse - return sema.fail(block, src, "Type.Fn.Param.type must be non-null for @Type", .{}); - param_type.* = param_type_val.toIntern(); - - if (param_is_noalias_val.toBool()) { - if (!Type.fromInterned(param_type.*).isPtrAtRuntime(zcu)) { - return sema.fail(block, src, "non-pointer parameter declared noalias", .{}); - } - noalias_bits |= @as(u32, 1) << (std.math.cast(u5, i) orelse - return sema.fail(block, src, "this compiler implementation only supports 'noalias' on the first 32 parameters", .{})); - } - } - - const ty = try pt.funcType(.{ - .param_types = param_types, - .noalias_bits = noalias_bits, - .return_type = return_type.toIntern(), - .cc = cc, - .is_var_args = is_var_args, - }); - return Air.internedToRef(ty.toIntern()); - }, - .frame => return sema.failWithUseOfAsync(block, src), + if (try sema.anyUndef(block, field_types_src, field_types_arr)) { + return sema.failWithUseOfUndef(block, field_types_src, null); + } + // We don't need to check `field_names_arr`, because `sliceToIpString` will check that for us. + if (try sema.anyUndef(block, backing_ty_src, backing_int_ty_val)) { + return sema.failWithUseOfUndef(block, backing_ty_src, null); } -} - -fn reifyEnum( - sema: *Sema, - block: *Block, - inst: Zir.Inst.Index, - src: LazySrcLoc, - tag_ty: Type, - is_exhaustive: bool, - fields_val: Value, - name_strategy: Zir.Inst.NameStrategy, -) CompileError!Air.Inst.Ref { - const pt = sema.pt; - const zcu = pt.zcu; - const gpa = sema.gpa; - const ip = &zcu.intern_pool; - - // This logic must stay in sync with the structure of `std.builtin.Type.Enum` - search for `fieldValue`. - - const fields_len: u32 = @intCast(fields_val.typeOf(zcu).arrayLen(zcu)); // The validation work here is non-trivial, and it's possible the type already exists. // So in this first pass, let's just construct a hash to optimize for this case. If the // inputs turn out to be invalid, we can cancel the WIP type later. + var any_comptime_fields = false; + var any_default_inits = false; + var any_aligned_fields = false; + // For deduplication purposes, we must create a hash including all details of this type. // TODO: use a longer hash! var hasher = std.hash.Wyhash.init(0); - std.hash.autoHash(&hasher, tag_ty.toIntern()); - std.hash.autoHash(&hasher, is_exhaustive); - std.hash.autoHash(&hasher, fields_len); - + std.hash.autoHash(&hasher, layout); + std.hash.autoHash(&hasher, backing_int_ty_val); + // The field *type* array has already been deduplicated for us thanks to the InternPool! + std.hash.autoHash(&hasher, field_types_arr); + // However, for field names and attributes, we need to actually iterate the individual fields, + // because the presence of pointers (the `[]const u8` for the name and the `*const anyopaque` + // for the default value) means that distinct interned values could ultimately result in the + // same struct type. for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + const field_attrs_val = try field_attrs_arr.elemValue(pt, field_idx); - const field_name_val = try field_info.fieldValue(pt, 0); - const field_value_val = try sema.resolveLazyValue(try field_info.fieldValue(pt, 1)); + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, .{ .simple = .struct_field_names }); - const field_name = try sema.sliceToIpString(block, src, field_name_val, .{ .simple = .enum_field_name }); + const field_attr_comptime = try field_attrs_val.fieldValue(pt, std.meta.fieldIndex( + std.builtin.Type.StructField.Attributes, + "comptime", + ).?); + const field_attr_align = try field_attrs_val.fieldValue(pt, std.meta.fieldIndex( + std.builtin.Type.StructField.Attributes, + "align", + ).?); + const field_attr_default_value_ptr = try field_attrs_val.fieldValue(pt, std.meta.fieldIndex( + std.builtin.Type.StructField.Attributes, + "default_value_ptr", + ).?); + + const field_default: InternPool.Index = d: { + const ptr_val = field_attr_default_value_ptr.optionalValue(zcu) orelse break :d .none; + const field_ty = (try field_types_arr.elemValue(pt, field_idx)).toType(); + const ptr_ty = try pt.singleConstPtrType(field_ty); + const deref_val = try sema.pointerDeref(block, field_attrs_src, ptr_val, ptr_ty) orelse return sema.failWithNeededComptime( + block, + field_attrs_src, + .{ .simple = .struct_field_default_value }, + ); + // Resolve the value so that lazy values do not create distinct types. + break :d (try sema.resolveLazyValue(deref_val)).toIntern(); + }; std.hash.autoHash(&hasher, .{ field_name, - field_value_val.toIntern(), + field_attr_comptime, + field_attr_align, + field_default, }); + + if (field_attr_comptime.toBool()) any_comptime_fields = true; + if (field_attr_align.optionalValue(zcu)) |_| any_aligned_fields = true; + if (field_default != .none) any_default_inits = true; } - const tracked_inst = try block.trackZir(inst); + // Some basic validation to avoid a bogus `getStructType` call... + const backing_int_ty: ?Type = if (backing_int_ty_val.optionalValue(zcu)) |backing| ty: { + switch (layout) { + .auto, .@"extern" => return sema.fail(block, backing_ty_src, "non-packed struct does not support backing integer type", .{}), + .@"packed" => {}, + } + break :ty backing.toType(); + } else null; + if (any_aligned_fields and layout == .@"packed") { + return sema.fail(block, field_attrs_src, "packed struct fields cannot be aligned", .{}); + } + if (any_comptime_fields and layout != .auto) { + return sema.fail(block, field_attrs_src, "{t} struct fields cannot be marked comptime", .{layout}); + } - const wip_ty = switch (try ip.getEnumType(gpa, pt.tid, .{ - .has_values = true, - .tag_mode = if (is_exhaustive) .explicit else .nonexhaustive, - .fields_len = fields_len, + const wip_ty = switch (try ip.getStructType(gpa, pt.tid, .{ + .layout = layout, + .fields_len = @intCast(fields_len), + .known_non_opv = false, + .requires_comptime = .unknown, + .any_comptime_fields = any_comptime_fields, + .any_default_inits = any_default_inits, + .any_aligned_fields = any_aligned_fields, + .inits_resolved = true, .key = .{ .reified = .{ .zir_index = tracked_inst, .type_hash = hasher.final(), @@ -21148,22 +21077,136 @@ fn reifyEnum( return Air.internedToRef(ty); }, }; - var done = false; - errdefer if (!done) wip_ty.cancel(ip, pt.tid); - - if (tag_ty.zigTypeTag(zcu) != .int) { - return sema.fail(block, src, "Type.Enum.tag_type must be an integer type", .{}); - } + errdefer wip_ty.cancel(ip, pt.tid); const type_name = try sema.createTypeName( block, name_strategy, - "enum", + "struct", inst, wip_ty.index, ); wip_ty.setName(ip, type_name.name, type_name.nav); + const wip_struct_type = ip.loadStructType(wip_ty.index); + + for (0..fields_len) |field_idx| { + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + const field_attrs_val = try field_attrs_arr.elemValue(pt, field_idx); + + const field_ty = (try field_types_arr.elemValue(pt, field_idx)).toType(); + + // Don't pass a reason; first loop acts as a check that this is valid. + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, undefined); + if (wip_struct_type.addFieldName(ip, field_name)) |prev_index| { + _ = prev_index; // TODO: better source location + return sema.fail(block, field_names_src, "duplicate struct field name {f}", .{field_name.fmt(ip)}); + } + + const field_attr_comptime = try field_attrs_val.fieldValue(pt, std.meta.fieldIndex( + std.builtin.Type.StructField.Attributes, + "comptime", + ).?); + const field_attr_align = try field_attrs_val.fieldValue(pt, std.meta.fieldIndex( + std.builtin.Type.StructField.Attributes, + "align", + ).?); + const field_attr_default_value_ptr = try field_attrs_val.fieldValue(pt, std.meta.fieldIndex( + std.builtin.Type.StructField.Attributes, + "default_value_ptr", + ).?); + + if (field_attr_align.optionalValue(zcu)) |field_align_val| { + assert(layout != .@"packed"); + const bytes = try field_align_val.toUnsignedIntSema(pt); + const a = try sema.validateAlign(block, field_attrs_src, bytes); + wip_struct_type.field_aligns.get(ip)[field_idx] = a; + } else if (any_aligned_fields) { + assert(layout != .@"packed"); + wip_struct_type.field_aligns.get(ip)[field_idx] = .none; + } + + const field_default: InternPool.Index = d: { + const ptr_val = field_attr_default_value_ptr.optionalValue(zcu) orelse break :d .none; + assert(any_default_inits); + const ptr_ty = try pt.singleConstPtrType(field_ty); + // The first loop checked that this is comptime-dereferencable. + const deref_val = (try sema.pointerDeref(block, field_attrs_src, ptr_val, ptr_ty)).?; + // ...but we've not checked this yet! + if (deref_val.canMutateComptimeVarState(zcu)) { + return sema.failWithContainsReferenceToComptimeVar(block, field_attrs_src, field_name, "field default value", deref_val); + } + break :d (try sema.resolveLazyValue(deref_val)).toIntern(); + }; + + if (field_attr_comptime.toBool()) { + assert(layout == .auto); + if (field_default == .none) { + return sema.fail(block, field_attrs_src, "comptime field without default initialization value", .{}); + } + wip_struct_type.setFieldComptime(ip, field_idx); + } + + wip_struct_type.field_types.get(ip)[field_idx] = field_ty.toIntern(); + if (field_default != .none) { + wip_struct_type.field_inits.get(ip)[field_idx] = field_default; + } + + switch (field_ty.zigTypeTag(zcu)) { + .@"opaque" => return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(field_types_src, "opaque types have unknown size and therefore cannot be directly embedded in structs", .{}); + errdefer msg.destroy(gpa); + try sema.addDeclaredHereNote(msg, field_ty); + break :msg msg; + }), + .noreturn => return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(field_types_src, "struct fields cannot be 'noreturn'", .{}); + errdefer msg.destroy(gpa); + try sema.addDeclaredHereNote(msg, field_ty); + break :msg msg; + }), + else => {}, + } + + switch (layout) { + .auto => {}, + .@"extern" => if (!try sema.validateExternType(field_ty, .struct_field)) { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(field_types_src, "extern structs cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); + errdefer msg.destroy(gpa); + try sema.explainWhyTypeIsNotExtern(msg, field_types_src, field_ty, .struct_field); + try sema.addDeclaredHereNote(msg, field_ty); + break :msg msg; + }); + }, + .@"packed" => if (!try sema.validatePackedType(field_ty)) { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(field_types_src, "packed structs cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); + errdefer msg.destroy(gpa); + try sema.explainWhyTypeIsNotPacked(msg, field_types_src, field_ty); + try sema.addDeclaredHereNote(msg, field_ty); + break :msg msg; + }); + }, + } + } + + if (layout == .@"packed") { + var fields_bit_sum: u64 = 0; + for (0..wip_struct_type.field_types.len) |field_idx| { + const field_ty: Type = .fromInterned(wip_struct_type.field_types.get(ip)[field_idx]); + try field_ty.resolveLayout(pt); + fields_bit_sum += field_ty.bitSize(zcu); + } + if (backing_int_ty) |ty| { + try sema.checkBackingIntType(block, src, ty, fields_bit_sum); + wip_struct_type.setBackingIntType(ip, ty.toIntern()); + } else { + const ty = try pt.intType(.unsigned, @intCast(fields_bit_sum)); + wip_struct_type.setBackingIntType(ip, ty.toIntern()); + } + } + const new_namespace_index = try pt.createNamespace(.{ .parent = block.namespace.toOptional(), .owner_type = wip_ty.index, @@ -21171,56 +21214,7 @@ fn reifyEnum( .generation = zcu.generation, }); - try sema.declareDependency(.{ .interned = wip_ty.index }); - try sema.addTypeReferenceEntry(src, wip_ty.index); - if (zcu.comp.debugIncremental()) try zcu.incremental_debug_state.newType(zcu, wip_ty.index); - wip_ty.prepare(ip, new_namespace_index); - wip_ty.setTagTy(ip, tag_ty.toIntern()); - done = true; - - for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); - - const field_name_val = try field_info.fieldValue(pt, 0); - const field_value_val = try sema.resolveLazyValue(try field_info.fieldValue(pt, 1)); - - // Don't pass a reason; first loop acts as an assertion that this is valid. - const field_name = try sema.sliceToIpString(block, src, field_name_val, undefined); - - if (!try sema.intFitsInType(field_value_val, tag_ty, null)) { - // TODO: better source location - return sema.fail(block, src, "field '{f}' with enumeration value '{f}' is too large for backing int type '{f}'", .{ - field_name.fmt(ip), - field_value_val.fmtValueSema(pt, sema), - tag_ty.fmt(pt), - }); - } - - const coerced_field_val = try pt.getCoerced(field_value_val, tag_ty); - if (wip_ty.nextField(ip, field_name, coerced_field_val.toIntern())) |conflict| { - return sema.failWithOwnedErrorMsg(block, switch (conflict.kind) { - .name => msg: { - const msg = try sema.errMsg(src, "duplicate enum field '{f}'", .{field_name.fmt(ip)}); - errdefer msg.destroy(gpa); - _ = conflict.prev_field_idx; // TODO: this note is incorrect - try sema.errNote(src, msg, "other field here", .{}); - break :msg msg; - }, - .value => msg: { - const msg = try sema.errMsg(src, "enum tag value {f} already taken", .{field_value_val.fmtValueSema(pt, sema)}); - errdefer msg.destroy(gpa); - _ = conflict.prev_field_idx; // TODO: this note is incorrect - try sema.errNote(src, msg, "other enum tag value here", .{}); - break :msg msg; - }, - }); - } - } - - if (!is_exhaustive and fields_len > 1 and std.math.log2_int(u64, fields_len) == tag_ty.bitSize(zcu)) { - return sema.fail(block, src, "non-exhaustive enum specified every value", .{}); - } - + try zcu.comp.queueJob(.{ .resolve_type_fully = wip_ty.index }); codegen_type: { if (zcu.comp.config.use_llvm) break :codegen_type; if (block.ownerModule().strip) break :codegen_type; @@ -21228,75 +21222,177 @@ fn reifyEnum( zcu.comp.link_prog_node.increaseEstimatedTotalItems(1); try zcu.comp.queueJob(.{ .link_type = wip_ty.index }); } - return Air.internedToRef(wip_ty.index); + try sema.declareDependency(.{ .interned = wip_ty.index }); + try sema.addTypeReferenceEntry(src, wip_ty.index); + if (zcu.comp.debugIncremental()) try zcu.incremental_debug_state.newType(zcu, wip_ty.index); + return .fromIntern(wip_ty.finish(ip, new_namespace_index)); } -fn reifyUnion( +fn zirReifyUnion( sema: *Sema, block: *Block, + extended: Zir.Inst.Extended.InstData, inst: Zir.Inst.Index, - src: LazySrcLoc, - layout: std.builtin.Type.ContainerLayout, - opt_tag_type_val: Value, - fields_val: Value, - name_strategy: Zir.Inst.NameStrategy, ) CompileError!Air.Inst.Ref { const pt = sema.pt; const zcu = pt.zcu; const gpa = sema.gpa; const ip = &zcu.intern_pool; - // This logic must stay in sync with the structure of `std.builtin.Type.Union` - search for `fieldValue`. + const name_strategy: Zir.Inst.NameStrategy = @enumFromInt(extended.small); + const extra = sema.code.extraData(Zir.Inst.ReifyUnion, extended.operand).data; + const tracked_inst = try block.trackZir(inst); + const src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .nodeOffset(.zero), + }; - const fields_len: u32 = @intCast(fields_val.typeOf(zcu).arrayLen(zcu)); + const layout_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 0, + } }, + }; + const arg_ty_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 1, + } }, + }; + const field_names_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 2, + } }, + }; + const field_types_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 3, + } }, + }; + const field_attrs_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 4, + } }, + }; + + const container_layout_ty = try sema.getBuiltinType(layout_src, .@"Type.ContainerLayout"); + const single_field_attrs_ty = try sema.getBuiltinType(field_attrs_src, .@"Type.UnionField.Attributes"); + + const layout_uncoerced = try sema.resolveInst(extra.layout); + const layout_coerced = try sema.coerce(block, container_layout_ty, layout_uncoerced, layout_src); + const layout_val = try sema.resolveConstDefinedValue(block, layout_src, layout_coerced, .{ .simple = .union_layout }); + const layout = try sema.interpretBuiltinType(block, layout_src, layout_val, std.builtin.Type.ContainerLayout); + + const arg_ty_uncoerced = try sema.resolveInst(extra.arg_ty); + const arg_ty_coerced = try sema.coerce(block, .optional_type, arg_ty_uncoerced, arg_ty_src); + const arg_ty_val = try sema.resolveConstDefinedValue(block, arg_ty_src, arg_ty_coerced, .{ .simple = .type }); + + const field_names_uncoerced = try sema.resolveInst(extra.field_names); + const field_names_coerced = try sema.coerce(block, .slice_const_slice_const_u8, field_names_uncoerced, field_names_src); + const field_names_slice = try sema.resolveConstDefinedValue(block, field_names_src, field_names_coerced, .{ .simple = .union_field_names }); + const field_names_arr = try sema.derefSliceAsArray(block, field_names_src, field_names_slice, .{ .simple = .union_field_names }); + + const fields_len = try sema.usizeCast(block, src, field_names_arr.typeOf(zcu).arrayLen(zcu)); + + const field_types_ty = try pt.singleConstPtrType(try pt.arrayType(.{ + .len = fields_len, + .child = .type_type, + })); + const field_attrs_ty = try pt.singleConstPtrType(try pt.arrayType(.{ + .len = fields_len, + .child = single_field_attrs_ty.toIntern(), + })); + + const field_types_uncoerced = try sema.resolveInst(extra.field_types); + const field_types_coerced = try sema.coerce(block, field_types_ty, field_types_uncoerced, field_types_src); + const field_types_slice = try sema.resolveConstDefinedValue(block, field_types_src, field_types_coerced, .{ .simple = .union_field_types }); + const field_types_arr = try sema.derefSliceAsArray(block, field_types_src, field_types_slice, .{ .simple = .union_field_types }); + + const field_attrs_uncoerced = try sema.resolveInst(extra.field_attrs); + const field_attrs_coerced = try sema.coerce(block, field_attrs_ty, field_attrs_uncoerced, field_attrs_src); + const field_attrs_slice = try sema.resolveConstDefinedValue(block, field_attrs_src, field_attrs_coerced, .{ .simple = .union_field_attrs }); + const field_attrs_arr = try sema.derefSliceAsArray(block, field_attrs_src, field_attrs_slice, .{ .simple = .union_field_attrs }); + + // Before we begin, check for undefs... + if (try sema.anyUndef(block, field_attrs_src, field_attrs_arr)) { + return sema.failWithUseOfUndef(block, field_attrs_src, null); + } + if (try sema.anyUndef(block, field_types_src, field_types_arr)) { + return sema.failWithUseOfUndef(block, field_types_src, null); + } + // We don't need to check `field_names_arr`, because `sliceToIpString` will check that for us. + if (try sema.anyUndef(block, arg_ty_src, arg_ty_val)) { + return sema.failWithUseOfUndef(block, arg_ty_src, null); + } // The validation work here is non-trivial, and it's possible the type already exists. // So in this first pass, let's just construct a hash to optimize for this case. If the // inputs turn out to be invalid, we can cancel the WIP type later. + var any_aligned_fields = false; + // For deduplication purposes, we must create a hash including all details of this type. // TODO: use a longer hash! var hasher = std.hash.Wyhash.init(0); std.hash.autoHash(&hasher, layout); - std.hash.autoHash(&hasher, opt_tag_type_val.toIntern()); - std.hash.autoHash(&hasher, fields_len); - + std.hash.autoHash(&hasher, arg_ty_val); + // `field_types_arr` and `field_attrs_arr` are already deduplicated by the InternPool! + std.hash.autoHash(&hasher, field_types_arr); + std.hash.autoHash(&hasher, field_attrs_arr); + // However, for field names, we need to iterate the individual fields, because the pointers (the + // names are slices) mean that distinct values could ultimately result in the same union type. for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, .{ .simple = .union_field_names }); + std.hash.autoHash(&hasher, field_name); - const field_name_val = try field_info.fieldValue(pt, 0); - const field_type_val = try field_info.fieldValue(pt, 1); - const field_align_val = try sema.resolveLazyValue(try field_info.fieldValue(pt, 2)); - - const field_name = try sema.sliceToIpString(block, src, field_name_val, .{ .simple = .union_field_name }); - std.hash.autoHash(&hasher, .{ - field_name, - field_type_val.toIntern(), - field_align_val.toIntern(), - }); + const field_attrs = try sema.interpretBuiltinType( + block, + field_attrs_src, + try field_attrs_arr.elemValue(pt, field_idx), + std.builtin.Type.UnionField.Attributes, + ); + if (field_attrs.@"align" != null) { + any_aligned_fields = true; + } } - const tracked_inst = try block.trackZir(inst); + // Some basic validation to avoid a bogus `getUnionType` call... + const explicit_tag_ty: ?Type = if (arg_ty_val.optionalValue(zcu)) |arg_ty| ty: { + switch (layout) { + .@"extern", .@"packed" => return sema.fail(block, arg_ty_src, "{t} union does not support enum tag type", .{layout}), + .auto => {}, + } + break :ty arg_ty.toType(); + } else null; + if (any_aligned_fields and layout == .@"packed") { + return sema.fail(block, field_attrs_src, "packed union fields cannot be aligned", .{}); + } const wip_ty = switch (try ip.getUnionType(gpa, pt.tid, .{ .flags = .{ .layout = layout, .status = .none, - .runtime_tag = if (opt_tag_type_val.optionalValue(zcu) != null) - .tagged - else if (layout != .auto) - .none - else switch (block.wantSafeTypes()) { - true => .safety, - false => .none, + .runtime_tag = rt: { + if (explicit_tag_ty != null) break :rt .tagged; + if (layout == .auto and block.wantSafeTypes()) break :rt .safety; + break :rt .none; }, - .any_aligned_fields = layout != .@"packed", + .any_aligned_fields = any_aligned_fields, .requires_comptime = .unknown, .assumed_runtime_bits = false, .assumed_pointer_aligned = false, .alignment = .none, }, - .fields_len = fields_len, + .fields_len = @intCast(fields_len), .enum_tag_ty = .none, // set later because not yet validated .field_types = &.{}, // set later .field_aligns = &.{}, // set later @@ -21325,128 +21421,117 @@ fn reifyUnion( const loaded_union = ip.loadUnionType(wip_ty.index); - const enum_tag_ty, const has_explicit_tag = if (opt_tag_type_val.optionalValue(zcu)) |tag_type_val| tag_ty: { - switch (ip.indexToKey(tag_type_val.toIntern())) { - .enum_type => {}, - else => return sema.fail(block, src, "Type.Union.tag_type must be an enum type", .{}), + const enum_tag_ty, const has_explicit_tag = if (explicit_tag_ty) |enum_tag_ty| tag: { + if (enum_tag_ty.zigTypeTag(zcu) != .@"enum") { + return sema.fail(block, arg_ty_src, "tag type must be an enum type", .{}); } - const enum_tag_ty = tag_type_val.toType(); - // We simply track which fields of the tag type have been seen. const tag_ty_fields_len = enum_tag_ty.enumFieldCount(zcu); - var seen_tags = try std.DynamicBitSetUnmanaged.initEmpty(sema.arena, tag_ty_fields_len); for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + // Don't pass a reason; first loop acts as a check that this is valid. + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, undefined); - const field_name_val = try field_info.fieldValue(pt, 0); - const field_type_val = try field_info.fieldValue(pt, 1); - const field_alignment_val = try field_info.fieldValue(pt, 2); - - // Don't pass a reason; first loop acts as an assertion that this is valid. - const field_name = try sema.sliceToIpString(block, src, field_name_val, undefined); - - const enum_index = enum_tag_ty.enumFieldIndex(field_name, zcu) orelse { - // TODO: better source location - return sema.fail(block, src, "no field named '{f}' in enum '{f}'", .{ + if (field_idx >= tag_ty_fields_len) { + return sema.fail(block, field_names_src, "no field named '{f}' in enum '{f}'", .{ field_name.fmt(ip), enum_tag_ty.fmt(pt), }); - }; - if (seen_tags.isSet(enum_index)) { - // TODO: better source location - return sema.fail(block, src, "duplicate union field {f}", .{field_name.fmt(ip)}); } - seen_tags.set(enum_index); - loaded_union.field_types.get(ip)[field_idx] = field_type_val.toIntern(); - const byte_align = try field_alignment_val.toUnsignedIntSema(pt); - if (layout == .@"packed") { - if (byte_align != 0) return sema.fail(block, src, "alignment of a packed union field must be set to 0", .{}); - } else { - loaded_union.field_aligns.get(ip)[field_idx] = try sema.validateAlign(block, src, byte_align); + const enum_field_name = enum_tag_ty.enumFieldName(field_idx, zcu); + if (enum_field_name != field_name) { + return sema.fail(block, field_names_src, "union field name '{f}' does not match enum field name '{f}'", .{ + field_name.fmt(ip), enum_field_name.fmt(ip), + }); } } - if (tag_ty_fields_len > fields_len) return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "enum fields missing in union", .{}); + const msg = try sema.errMsg(field_names_src, "{d} enum fields missing in union", .{ + tag_ty_fields_len - fields_len, + }); errdefer msg.destroy(gpa); - var it = seen_tags.iterator(.{ .kind = .unset }); - while (it.next()) |enum_index| { - const field_name = enum_tag_ty.enumFieldName(enum_index, zcu); - try sema.addFieldErrNote(enum_tag_ty, enum_index, msg, "field '{f}' missing, declared here", .{ - field_name.fmt(ip), + for (fields_len..tag_ty_fields_len) |enum_field_idx| { + try sema.addFieldErrNote(enum_tag_ty, enum_field_idx, msg, "field '{f}' missing, declared here", .{ + enum_tag_ty.enumFieldName(enum_field_idx, zcu).fmt(ip), }); } try sema.addDeclaredHereNote(msg, enum_tag_ty); break :msg msg; }); - - break :tag_ty .{ enum_tag_ty.toIntern(), true }; - } else tag_ty: { + break :tag .{ enum_tag_ty.toIntern(), true }; + } else tag: { // We must track field names and set up the tag type ourselves. var field_names: std.AutoArrayHashMapUnmanaged(InternPool.NullTerminatedString, void) = .empty; try field_names.ensureTotalCapacity(sema.arena, fields_len); for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); - - const field_name_val = try field_info.fieldValue(pt, 0); - const field_type_val = try field_info.fieldValue(pt, 1); - const field_alignment_val = try field_info.fieldValue(pt, 2); - - // Don't pass a reason; first loop acts as an assertion that this is valid. - const field_name = try sema.sliceToIpString(block, src, field_name_val, undefined); + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + // Don't pass a reason; first loop acts as a check that this is valid. + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, undefined); const gop = field_names.getOrPutAssumeCapacity(field_name); if (gop.found_existing) { // TODO: better source location - return sema.fail(block, src, "duplicate union field {f}", .{field_name.fmt(ip)}); - } - - loaded_union.field_types.get(ip)[field_idx] = field_type_val.toIntern(); - const byte_align = try field_alignment_val.toUnsignedIntSema(pt); - if (layout == .@"packed") { - if (byte_align != 0) return sema.fail(block, src, "alignment of a packed union field must be set to 0", .{}); - } else { - loaded_union.field_aligns.get(ip)[field_idx] = try sema.validateAlign(block, src, byte_align); + return sema.fail(block, field_names_src, "duplicate union field {f}", .{field_name.fmt(ip)}); } } - const enum_tag_ty = try sema.generateUnionTagTypeSimple(block, field_names.keys(), wip_ty.index, type_name.name); - break :tag_ty .{ enum_tag_ty, false }; + break :tag .{ enum_tag_ty, false }; }; errdefer if (!has_explicit_tag) ip.remove(pt.tid, enum_tag_ty); // remove generated tag type on error - for (loaded_union.field_types.get(ip)) |field_ty_ip| { - const field_ty: Type = .fromInterned(field_ty_ip); + for (0..fields_len) |field_idx| { + const field_ty = (try field_types_arr.elemValue(pt, field_idx)).toType(); + const field_attrs = try sema.interpretBuiltinType( + block, + field_attrs_src, + try field_attrs_arr.elemValue(pt, field_idx), + std.builtin.Type.UnionField.Attributes, + ); + if (field_ty.zigTypeTag(zcu) == .@"opaque") { return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "opaque types have unknown size and therefore cannot be directly embedded in unions", .{}); + const msg = try sema.errMsg(field_types_src, "opaque types have unknown size and therefore cannot be directly embedded in unions", .{}); errdefer msg.destroy(gpa); - try sema.addDeclaredHereNote(msg, field_ty); break :msg msg; }); } - if (layout == .@"extern" and !try sema.validateExternType(field_ty, .union_field)) { - return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "extern unions cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); - errdefer msg.destroy(gpa); - try sema.explainWhyTypeIsNotExtern(msg, src, field_ty, .union_field); + switch (layout) { + .auto => {}, + .@"extern" => if (!try sema.validateExternType(field_ty, .union_field)) { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(field_types_src, "extern unions cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); + errdefer msg.destroy(gpa); - try sema.addDeclaredHereNote(msg, field_ty); - break :msg msg; - }); - } else if (layout == .@"packed" and !try sema.validatePackedType(field_ty)) { - return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "packed unions cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); - errdefer msg.destroy(gpa); + try sema.explainWhyTypeIsNotExtern(msg, field_types_src, field_ty, .union_field); - try sema.explainWhyTypeIsNotPacked(msg, src, field_ty); + try sema.addDeclaredHereNote(msg, field_ty); + break :msg msg; + }); + }, + .@"packed" => if (!try sema.validatePackedType(field_ty)) { + return sema.failWithOwnedErrorMsg(block, msg: { + const msg = try sema.errMsg(field_types_src, "packed unions cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); + errdefer msg.destroy(gpa); - try sema.addDeclaredHereNote(msg, field_ty); - break :msg msg; - }); + try sema.explainWhyTypeIsNotPacked(msg, field_types_src, field_ty); + + try sema.addDeclaredHereNote(msg, field_ty); + break :msg msg; + }); + }, + } + + loaded_union.field_types.get(ip)[field_idx] = field_ty.toIntern(); + if (field_attrs.@"align") |bytes| { + assert(layout != .@"packed"); + const a = try sema.validateAlign(block, field_attrs_src, bytes); + loaded_union.field_aligns.get(ip)[field_idx] = a; + } else if (any_aligned_fields) { + assert(layout != .@"packed"); + loaded_union.field_aligns.get(ip)[field_idx] = .none; } } @@ -21471,116 +21556,94 @@ fn reifyUnion( try sema.declareDependency(.{ .interned = wip_ty.index }); try sema.addTypeReferenceEntry(src, wip_ty.index); if (zcu.comp.debugIncremental()) try zcu.incremental_debug_state.newType(zcu, wip_ty.index); - return Air.internedToRef(wip_ty.finish(ip, new_namespace_index)); + return .fromIntern(wip_ty.finish(ip, new_namespace_index)); } -fn reifyTuple( +fn zirReifyEnum( sema: *Sema, block: *Block, - src: LazySrcLoc, - fields_val: Value, + extended: Zir.Inst.Extended.InstData, + inst: Zir.Inst.Index, ) CompileError!Air.Inst.Ref { const pt = sema.pt; const zcu = pt.zcu; const gpa = sema.gpa; const ip = &zcu.intern_pool; - const fields_len: u32 = @intCast(fields_val.typeOf(zcu).arrayLen(zcu)); + const name_strategy: Zir.Inst.NameStrategy = @enumFromInt(extended.small); + const extra = sema.code.extraData(Zir.Inst.ReifyEnum, extended.operand).data; + const tracked_inst = try block.trackZir(inst); + const src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .nodeOffset(.zero), + }; - const types = try sema.arena.alloc(InternPool.Index, fields_len); - const inits = try sema.arena.alloc(InternPool.Index, fields_len); + const tag_ty_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 0, + } }, + }; + const mode_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 1, + } }, + }; + const field_names_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 2, + } }, + }; + const field_values_src: LazySrcLoc = .{ + .base_node_inst = tracked_inst, + .offset = .{ .node_offset_builtin_call_arg = .{ + .builtin_call_node = .zero, + .arg_index = 3, + } }, + }; - for (types, inits, 0..) |*field_ty, *field_init, field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); + const enum_mode_ty = try sema.getBuiltinType(mode_src, .@"Type.Enum.Mode"); - const field_name_val = try field_info.fieldValue(pt, 0); - const field_type_val = try field_info.fieldValue(pt, 1); - const field_default_value_val = try field_info.fieldValue(pt, 2); - const field_is_comptime_val = try field_info.fieldValue(pt, 3); - const field_alignment_val = try sema.resolveLazyValue(try field_info.fieldValue(pt, 4)); - - const field_name = try sema.sliceToIpString(block, src, field_name_val, .{ .simple = .tuple_field_name }); - const field_type = field_type_val.toType(); - const field_default_value: InternPool.Index = if (field_default_value_val.optionalValue(zcu)) |ptr_val| d: { - const ptr_ty = try pt.singleConstPtrType(field_type_val.toType()); - // We need to do this deref here, so we won't check for this error case later on. - const val = try sema.pointerDeref(block, src, ptr_val, ptr_ty) orelse return sema.failWithNeededComptime( - block, - src, - .{ .simple = .tuple_field_default_value }, - ); - if (val.canMutateComptimeVarState(zcu)) { - return sema.failWithContainsReferenceToComptimeVar(block, src, field_name, "field default value", val); - } - // Resolve the value so that lazy values do not create distinct types. - break :d (try sema.resolveLazyValue(val)).toIntern(); - } else .none; - - const field_name_index = field_name.toUnsigned(ip) orelse return sema.fail( - block, - src, - "tuple cannot have non-numeric field '{f}'", - .{field_name.fmt(ip)}, - ); - if (field_name_index != field_idx) { - return sema.fail( - block, - src, - "tuple field name '{d}' does not match field index {d}", - .{ field_name_index, field_idx }, - ); - } - - try sema.validateTupleFieldType(block, field_type, src); - - { - const alignment_ok = ok: { - if (field_alignment_val.toIntern() == .zero) break :ok true; - const given_align = try field_alignment_val.getUnsignedIntSema(pt) orelse break :ok false; - const abi_align = (try field_type.abiAlignmentSema(pt)).toByteUnits() orelse 0; - break :ok abi_align == given_align; - }; - if (!alignment_ok) { - return sema.fail(block, src, "tuple fields cannot specify alignment", .{}); - } - } - - if (field_is_comptime_val.toBool() and field_default_value == .none) { - return sema.fail(block, src, "comptime field without default initialization value", .{}); - } - - if (!field_is_comptime_val.toBool() and field_default_value != .none) { - return sema.fail(block, src, "non-comptime tuple fields cannot specify default initialization value", .{}); - } - - field_ty.* = field_type.toIntern(); - field_init.* = field_default_value; + const tag_ty = try sema.resolveType(block, tag_ty_src, extra.tag_ty); + if (tag_ty.zigTypeTag(zcu) != .int) { + return sema.fail(block, tag_ty_src, "tag type must be an integer type", .{}); } - return Air.internedToRef(try zcu.intern_pool.getTupleType(gpa, pt.tid, .{ - .types = types, - .values = inits, + const mode_uncoerced = try sema.resolveInst(extra.mode); + const mode_coerced = try sema.coerce(block, enum_mode_ty, mode_uncoerced, mode_src); + const mode_val = try sema.resolveConstDefinedValue(block, mode_src, mode_coerced, .{ .simple = .type }); + const nonexhaustive = switch (try sema.interpretBuiltinType(block, mode_src, mode_val, std.builtin.Type.Enum.Mode)) { + .exhaustive => false, + .nonexhaustive => true, + }; + + const field_names_uncoerced = try sema.resolveInst(extra.field_names); + const field_names_coerced = try sema.coerce(block, .slice_const_slice_const_u8, field_names_uncoerced, field_names_src); + const field_names_slice = try sema.resolveConstDefinedValue(block, field_names_src, field_names_coerced, .{ .simple = .enum_field_names }); + const field_names_arr = try sema.derefSliceAsArray(block, field_names_src, field_names_slice, .{ .simple = .enum_field_names }); + + const fields_len = try sema.usizeCast(block, src, field_names_arr.typeOf(zcu).arrayLen(zcu)); + + const field_values_ty = try pt.singleConstPtrType(try pt.arrayType(.{ + .len = fields_len, + .child = tag_ty.toIntern(), })); -} -fn reifyStruct( - sema: *Sema, - block: *Block, - inst: Zir.Inst.Index, - src: LazySrcLoc, - layout: std.builtin.Type.ContainerLayout, - opt_backing_int_val: Value, - fields_val: Value, - name_strategy: Zir.Inst.NameStrategy, -) CompileError!Air.Inst.Ref { - const pt = sema.pt; - const zcu = pt.zcu; - const gpa = sema.gpa; - const ip = &zcu.intern_pool; + const field_values_uncoerced = try sema.resolveInst(extra.field_values); + const field_values_coerced = try sema.coerce(block, field_values_ty, field_values_uncoerced, field_values_src); + const field_values_slice = try sema.resolveConstDefinedValue(block, field_values_src, field_values_coerced, .{ .simple = .enum_field_values }); + const field_values_arr = try sema.derefSliceAsArray(block, field_values_src, field_values_slice, .{ .simple = .enum_field_values }); - // This logic must stay in sync with the structure of `std.builtin.Type.Struct` - search for `fieldValue`. - - const fields_len: u32 = @intCast(fields_val.typeOf(zcu).arrayLen(zcu)); + // Before we begin, check for undefs... + if (try sema.anyUndef(block, field_values_src, field_values_arr)) { + return sema.failWithUseOfUndef(block, field_values_src, null); + } + // We don't need to check `field_names_arr`, because `sliceToIpString` will check that for us. // The validation work here is non-trivial, and it's possible the type already exists. // So in this first pass, let's just construct a hash to optimize for this case. If the @@ -21589,62 +21652,23 @@ fn reifyStruct( // For deduplication purposes, we must create a hash including all details of this type. // TODO: use a longer hash! var hasher = std.hash.Wyhash.init(0); - std.hash.autoHash(&hasher, layout); - std.hash.autoHash(&hasher, opt_backing_int_val.toIntern()); + std.hash.autoHash(&hasher, tag_ty.toIntern()); + std.hash.autoHash(&hasher, nonexhaustive); std.hash.autoHash(&hasher, fields_len); - - var any_comptime_fields = false; - var any_default_inits = false; - + // `field_values_arr` is already deduplicated by the InternPool! + std.hash.autoHash(&hasher, field_values_arr); + // However, for field names, we need to iterate the individual fields, because the pointers (the + // names are slices) mean that distinct values could ultimately result in the same enum type. for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); - - const field_name_val = try field_info.fieldValue(pt, 0); - const field_type_val = try field_info.fieldValue(pt, 1); - const field_default_value_val = try field_info.fieldValue(pt, 2); - const field_is_comptime_val = try field_info.fieldValue(pt, 3); - const field_alignment_val = try sema.resolveLazyValue(try field_info.fieldValue(pt, 4)); - - const field_name = try sema.sliceToIpString(block, src, field_name_val, .{ .simple = .struct_field_name }); - const field_is_comptime = field_is_comptime_val.toBool(); - const field_default_value: InternPool.Index = if (field_default_value_val.optionalValue(zcu)) |ptr_val| d: { - const ptr_ty = try pt.singleConstPtrType(field_type_val.toType()); - // We need to do this deref here, so we won't check for this error case later on. - const val = try sema.pointerDeref(block, src, ptr_val, ptr_ty) orelse return sema.failWithNeededComptime( - block, - src, - .{ .simple = .struct_field_default_value }, - ); - if (val.canMutateComptimeVarState(zcu)) { - return sema.failWithContainsReferenceToComptimeVar(block, src, field_name, "field default value", val); - } - // Resolve the value so that lazy values do not create distinct types. - break :d (try sema.resolveLazyValue(val)).toIntern(); - } else .none; - - std.hash.autoHash(&hasher, .{ - field_name, - field_type_val.toIntern(), - field_default_value, - field_is_comptime, - field_alignment_val.toIntern(), - }); - - if (field_is_comptime) any_comptime_fields = true; - if (field_default_value != .none) any_default_inits = true; + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, .{ .simple = .enum_field_names }); + std.hash.autoHash(&hasher, field_name); } - const tracked_inst = try block.trackZir(inst); - - const wip_ty = switch (try ip.getStructType(gpa, pt.tid, .{ - .layout = layout, - .fields_len = fields_len, - .known_non_opv = false, - .requires_comptime = .unknown, - .any_comptime_fields = any_comptime_fields, - .any_default_inits = any_default_inits, - .any_aligned_fields = layout != .@"packed", - .inits_resolved = true, + const wip_ty = switch (try ip.getEnumType(gpa, pt.tid, .{ + .has_values = true, + .tag_mode = if (nonexhaustive) .nonexhaustive else .explicit, + .fields_len = @intCast(fields_len), .key = .{ .reified = .{ .zir_index = tracked_inst, .type_hash = hasher.final(), @@ -21654,144 +21678,21 @@ fn reifyStruct( .existing => |ty| { try sema.declareDependency(.{ .interned = ty }); try sema.addTypeReferenceEntry(src, ty); - return Air.internedToRef(ty); + return .fromIntern(ty); }, }; - errdefer wip_ty.cancel(ip, pt.tid); + var done = false; + errdefer if (!done) wip_ty.cancel(ip, pt.tid); const type_name = try sema.createTypeName( block, name_strategy, - "struct", + "enum", inst, wip_ty.index, ); wip_ty.setName(ip, type_name.name, type_name.nav); - const struct_type = ip.loadStructType(wip_ty.index); - - for (0..fields_len) |field_idx| { - const field_info = try fields_val.elemValue(pt, field_idx); - - const field_name_val = try field_info.fieldValue(pt, 0); - const field_type_val = try field_info.fieldValue(pt, 1); - const field_default_value_val = try field_info.fieldValue(pt, 2); - const field_is_comptime_val = try field_info.fieldValue(pt, 3); - const field_alignment_val = try field_info.fieldValue(pt, 4); - - const field_ty = field_type_val.toType(); - // Don't pass a reason; first loop acts as an assertion that this is valid. - const field_name = try sema.sliceToIpString(block, src, field_name_val, undefined); - if (struct_type.addFieldName(ip, field_name)) |prev_index| { - _ = prev_index; // TODO: better source location - return sema.fail(block, src, "duplicate struct field name {f}", .{field_name.fmt(ip)}); - } - - if (!try sema.intFitsInType(field_alignment_val, align_ty, null)) { - return sema.fail(block, src, "alignment must fit in '{f}'", .{align_ty.fmt(pt)}); - } - const byte_align = try field_alignment_val.toUnsignedIntSema(pt); - if (layout == .@"packed") { - if (byte_align != 0) return sema.fail(block, src, "alignment of a packed struct field must be set to 0", .{}); - } else { - struct_type.field_aligns.get(ip)[field_idx] = try sema.validateAlign(block, src, byte_align); - } - - const field_is_comptime = field_is_comptime_val.toBool(); - if (field_is_comptime) { - assert(any_comptime_fields); - switch (layout) { - .@"extern" => return sema.fail(block, src, "extern struct fields cannot be marked comptime", .{}), - .@"packed" => return sema.fail(block, src, "packed struct fields cannot be marked comptime", .{}), - .auto => struct_type.setFieldComptime(ip, field_idx), - } - } - - const field_default: InternPool.Index = d: { - if (!any_default_inits) break :d .none; - const ptr_val = field_default_value_val.optionalValue(zcu) orelse break :d .none; - const ptr_ty = try pt.singleConstPtrType(field_ty); - // Asserted comptime-dereferencable above. - const val = (try sema.pointerDeref(block, src, ptr_val, ptr_ty)).?; - // We already resolved this for deduplication, so we may as well do it now. - break :d (try sema.resolveLazyValue(val)).toIntern(); - }; - - if (field_is_comptime and field_default == .none) { - return sema.fail(block, src, "comptime field without default initialization value", .{}); - } - - struct_type.field_types.get(ip)[field_idx] = field_type_val.toIntern(); - if (field_default != .none) { - struct_type.field_inits.get(ip)[field_idx] = field_default; - } - - if (field_ty.zigTypeTag(zcu) == .@"opaque") { - return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "opaque types have unknown size and therefore cannot be directly embedded in structs", .{}); - errdefer msg.destroy(gpa); - - try sema.addDeclaredHereNote(msg, field_ty); - break :msg msg; - }); - } - if (field_ty.zigTypeTag(zcu) == .noreturn) { - return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "struct fields cannot be 'noreturn'", .{}); - errdefer msg.destroy(gpa); - - try sema.addDeclaredHereNote(msg, field_ty); - break :msg msg; - }); - } - if (layout == .@"extern" and !try sema.validateExternType(field_ty, .struct_field)) { - return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "extern structs cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); - errdefer msg.destroy(gpa); - - try sema.explainWhyTypeIsNotExtern(msg, src, field_ty, .struct_field); - - try sema.addDeclaredHereNote(msg, field_ty); - break :msg msg; - }); - } else if (layout == .@"packed" and !try sema.validatePackedType(field_ty)) { - return sema.failWithOwnedErrorMsg(block, msg: { - const msg = try sema.errMsg(src, "packed structs cannot contain fields of type '{f}'", .{field_ty.fmt(pt)}); - errdefer msg.destroy(gpa); - - try sema.explainWhyTypeIsNotPacked(msg, src, field_ty); - - try sema.addDeclaredHereNote(msg, field_ty); - break :msg msg; - }); - } - } - - if (layout == .@"packed") { - var fields_bit_sum: u64 = 0; - for (0..struct_type.field_types.len) |field_idx| { - const field_ty: Type = .fromInterned(struct_type.field_types.get(ip)[field_idx]); - field_ty.resolveLayout(pt) catch |err| switch (err) { - error.AnalysisFail => { - const msg = sema.err orelse return err; - try sema.errNote(src, msg, "while checking a field of this struct", .{}); - return err; - }, - else => return err, - }; - fields_bit_sum += field_ty.bitSize(zcu); - } - - if (opt_backing_int_val.optionalValue(zcu)) |backing_int_val| { - const backing_int_ty = backing_int_val.toType(); - try sema.checkBackingIntType(block, src, backing_int_ty, fields_bit_sum); - struct_type.setBackingIntType(ip, backing_int_ty.toIntern()); - } else { - const backing_int_ty = try pt.intType(.unsigned, @intCast(fields_bit_sum)); - struct_type.setBackingIntType(ip, backing_int_ty.toIntern()); - } - } - const new_namespace_index = try pt.createNamespace(.{ .parent = block.namespace.toOptional(), .owner_type = wip_ty.index, @@ -21799,7 +21700,44 @@ fn reifyStruct( .generation = zcu.generation, }); - try zcu.comp.queueJob(.{ .resolve_type_fully = wip_ty.index }); + try sema.declareDependency(.{ .interned = wip_ty.index }); + try sema.addTypeReferenceEntry(src, wip_ty.index); + if (zcu.comp.debugIncremental()) try zcu.incremental_debug_state.newType(zcu, wip_ty.index); + wip_ty.prepare(ip, new_namespace_index); + wip_ty.setTagTy(ip, tag_ty.toIntern()); + done = true; + + for (0..fields_len) |field_idx| { + const field_name_val = try field_names_arr.elemValue(pt, field_idx); + // Don't pass a reason; first loop acts as a check that this is valid. + const field_name = try sema.sliceToIpString(block, field_names_src, field_name_val, undefined); + + const field_val = try field_values_arr.elemValue(pt, field_idx); + + if (wip_ty.nextField(ip, field_name, field_val.toIntern())) |conflict| { + return sema.failWithOwnedErrorMsg(block, switch (conflict.kind) { + .name => msg: { + const msg = try sema.errMsg(field_names_src, "duplicate enum field '{f}'", .{field_name.fmt(ip)}); + errdefer msg.destroy(gpa); + _ = conflict.prev_field_idx; // TODO: this note is incorrect + try sema.errNote(field_names_src, msg, "other field here", .{}); + break :msg msg; + }, + .value => msg: { + const msg = try sema.errMsg(field_values_src, "enum tag value {f} already taken", .{field_val.fmtValueSema(pt, sema)}); + errdefer msg.destroy(gpa); + _ = conflict.prev_field_idx; // TODO: this note is incorrect + try sema.errNote(field_values_src, msg, "other enum tag value here", .{}); + break :msg msg; + }, + }); + } + } + + if (nonexhaustive and fields_len > 1 and std.math.log2_int(u64, fields_len) == tag_ty.bitSize(zcu)) { + return sema.fail(block, src, "non-exhaustive enum specified every value", .{}); + } + codegen_type: { if (zcu.comp.config.use_llvm) break :codegen_type; if (block.ownerModule().strip) break :codegen_type; @@ -21807,10 +21745,7 @@ fn reifyStruct( zcu.comp.link_prog_node.increaseEstimatedTotalItems(1); try zcu.comp.queueJob(.{ .link_type = wip_ty.index }); } - try sema.declareDependency(.{ .interned = wip_ty.index }); - try sema.addTypeReferenceEntry(src, wip_ty.index); - if (zcu.comp.debugIncremental()) try zcu.incremental_debug_state.newType(zcu, wip_ty.index); - return Air.internedToRef(wip_ty.finish(ip, new_namespace_index)); + return Air.internedToRef(wip_ty.index); } fn resolveVaListRef(sema: *Sema, block: *Block, src: LazySrcLoc, zir_ref: Zir.Inst.Ref) CompileError!Air.Inst.Ref { @@ -25541,7 +25476,7 @@ fn zirFuncFancy(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A extra_index += body.len; if (extra.data.bits.ret_ty_is_generic) break :blk .generic_poison; - const val = try sema.resolveGenericBody(block, ret_src, body, inst, .type, .{ .simple = .function_ret_ty }); + const val = try sema.resolveGenericBody(block, ret_src, body, inst, .type, .{ .simple = .fn_ret_ty }); const ty = val.toType(); break :blk ty; } else if (extra.data.bits.has_ret_ty_ref) blk: { @@ -25968,21 +25903,26 @@ fn zirBuiltinValue(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstD const src = block.nodeOffset(src_node); const value: Zir.Inst.BuiltinValue = @enumFromInt(extended.small); - const ty = switch (value) { + const builtin_type: Zcu.BuiltinDecl = switch (value) { // zig fmt: off - .atomic_order => try sema.getBuiltinType(src, .AtomicOrder), - .atomic_rmw_op => try sema.getBuiltinType(src, .AtomicRmwOp), - .calling_convention => try sema.getBuiltinType(src, .CallingConvention), - .address_space => try sema.getBuiltinType(src, .AddressSpace), - .float_mode => try sema.getBuiltinType(src, .FloatMode), - .reduce_op => try sema.getBuiltinType(src, .ReduceOp), - .call_modifier => try sema.getBuiltinType(src, .CallModifier), - .prefetch_options => try sema.getBuiltinType(src, .PrefetchOptions), - .export_options => try sema.getBuiltinType(src, .ExportOptions), - .extern_options => try sema.getBuiltinType(src, .ExternOptions), - .type_info => try sema.getBuiltinType(src, .Type), - .branch_hint => try sema.getBuiltinType(src, .BranchHint), - .clobbers => try sema.getBuiltinType(src, .@"assembly.Clobbers"), + .atomic_order => .AtomicOrder, + .atomic_rmw_op => .AtomicRmwOp, + .calling_convention => .CallingConvention, + .address_space => .AddressSpace, + .float_mode => .FloatMode, + .signedness => .Signedness, + .reduce_op => .ReduceOp, + .call_modifier => .CallModifier, + .prefetch_options => .PrefetchOptions, + .export_options => .ExportOptions, + .extern_options => .ExternOptions, + .branch_hint => .BranchHint, + .clobbers => .@"assembly.Clobbers", + .pointer_size => .@"Type.Pointer.Size", + .pointer_attributes => .@"Type.Pointer.Attributes", + .fn_attributes, => .@"Type.Fn.Attributes", + .container_layout => .@"Type.ContainerLayout", + .enum_mode => .@"Type.Enum.Mode", // zig fmt: on // Values are handled here. @@ -26009,7 +25949,7 @@ fn zirBuiltinValue(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstD return sema.coerce(block, callconv_ty, Air.internedToRef(inline_tag_val.toIntern()), src); }, }; - return Air.internedToRef(ty.toIntern()); + return .fromType(try sema.getBuiltinType(src, builtin_type)); } fn zirInplaceArithResultTy(sema: *Sema, extended: Zir.Inst.Extended.InstData) CompileError!Air.Inst.Ref { @@ -35259,7 +35199,7 @@ fn structFields( .base_node_inst = struct_type.zir_index, .offset = .nodeOffset(.zero), }, - .r = .{ .simple = .struct_fields }, + .r = .{ .simple = .type }, } }, .src_base_inst = struct_type.zir_index, .type_name_ctx = struct_type.name, @@ -35614,7 +35554,7 @@ fn unionFields( .inlining = null, .comptime_reason = .{ .reason = .{ .src = src, - .r = .{ .simple = .union_fields }, + .r = .{ .simple = .type }, } }, .src_base_inst = union_type.zir_index, .type_name_ctx = union_type.name, @@ -36077,8 +36017,13 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { .manyptr_u8_type, .manyptr_const_u8_type, .manyptr_const_u8_sentinel_0_type, + .manyptr_const_slice_const_u8_type, .slice_const_u8_type, .slice_const_u8_sentinel_0_type, + .slice_const_slice_const_u8_type, + .optional_type_type, + .manyptr_const_type_type, + .slice_const_type_type, .vector_8_i8_type, .vector_16_i8_type, .vector_32_i8_type, @@ -37230,7 +37175,7 @@ fn sliceToIpString( /// Given a slice value, attempts to dereference it into a comptime-known array. /// Emits a compile error if the contents of the slice are not comptime-known. -/// Asserts that `slice_val` is a slice. +/// Asserts that `slice_val` is a slice or a pointer to an array. fn derefSliceAsArray( sema: *Sema, block: *Block, @@ -37247,7 +37192,7 @@ fn derefSliceAsArray( /// Given a slice value, attempts to dereference it into a comptime-known array. /// Returns `null` if the contents of the slice are not comptime-known. -/// Asserts that `slice_val` is a slice. +/// Asserts that `slice_val` is a slice or a pointer to an array. fn maybeDerefSliceAsArray( sema: *Sema, block: *Block, @@ -37257,7 +37202,13 @@ fn maybeDerefSliceAsArray( const pt = sema.pt; const zcu = pt.zcu; const ip = &zcu.intern_pool; - assert(slice_val.typeOf(zcu).isSlice(zcu)); + const slice_ty = slice_val.typeOf(zcu); + assert(slice_ty.zigTypeTag(zcu) == .pointer); + switch (slice_ty.ptrInfo(zcu).flags.size) { + .slice => {}, + .one => return sema.pointerDeref(block, src, slice_val, slice_ty), + .many, .c => unreachable, + } const slice = switch (ip.indexToKey(slice_val.toIntern())) { .undef => return sema.failWithUseOfUndef(block, src, null), .slice => |slice| slice, @@ -37393,7 +37344,7 @@ pub fn resolveDeclaredEnum( .inlining = null, .comptime_reason = .{ .reason = .{ .src = src, - .r = .{ .simple = .enum_fields }, + .r = .{ .simple = .enum_field_values }, } }, .src_base_inst = tracked_inst, .type_name_ctx = type_name, diff --git a/src/Type.zig b/src/Type.zig index 74a540298c..3d3b36640c 100644 --- a/src/Type.zig +++ b/src/Type.zig @@ -317,7 +317,7 @@ pub fn print(ty: Type, writer: *std.Io.Writer, pt: Zcu.PerThread, ctx: ?*Compari .undefined, => try writer.print("@TypeOf({s})", .{@tagName(s)}), - .enum_literal => try writer.writeAll("@Type(.enum_literal)"), + .enum_literal => try writer.writeAll("@EnumLiteral()"), .generic_poison => unreachable, }, @@ -3509,7 +3509,9 @@ pub fn typeDeclSrcLine(ty: Type, zcu: *Zcu) ?u32 { .union_decl => zir.extraData(Zir.Inst.UnionDecl, inst.data.extended.operand).data.src_line, .enum_decl => zir.extraData(Zir.Inst.EnumDecl, inst.data.extended.operand).data.src_line, .opaque_decl => zir.extraData(Zir.Inst.OpaqueDecl, inst.data.extended.operand).data.src_line, - .reify => zir.extraData(Zir.Inst.Reify, inst.data.extended.operand).data.src_line, + .reify_enum => zir.extraData(Zir.Inst.ReifyEnum, inst.data.extended.operand).data.src_line, + .reify_struct => zir.extraData(Zir.Inst.ReifyStruct, inst.data.extended.operand).data.src_line, + .reify_union => zir.extraData(Zir.Inst.ReifyUnion, inst.data.extended.operand).data.src_line, else => unreachable, }, else => unreachable, @@ -4280,6 +4282,10 @@ pub const manyptr_const_u8: Type = .{ .ip_index = .manyptr_const_u8_type }; pub const manyptr_const_u8_sentinel_0: Type = .{ .ip_index = .manyptr_const_u8_sentinel_0_type }; pub const slice_const_u8: Type = .{ .ip_index = .slice_const_u8_type }; pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_sentinel_0_type }; +pub const slice_const_slice_const_u8: Type = .{ .ip_index = .slice_const_slice_const_u8_type }; +pub const slice_const_type: Type = .{ .ip_index = .slice_const_type_type }; +pub const optional_type: Type = .{ .ip_index = .optional_type_type }; +pub const optional_noreturn: Type = .{ .ip_index = .optional_noreturn_type }; pub const vector_8_i8: Type = .{ .ip_index = .vector_8_i8_type }; pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type }; diff --git a/src/Value.zig b/src/Value.zig index 9ced6f1074..930f94a5a3 100644 --- a/src/Value.zig +++ b/src/Value.zig @@ -2824,6 +2824,29 @@ pub fn resolveLazy( .val = resolved_val, })); }, + .error_union => |eu| switch (eu.val) { + .err_name => return val, + .payload => |payload| { + const resolved_payload = try Value.fromInterned(payload).resolveLazy(arena, pt); + if (resolved_payload.toIntern() == payload) return val; + return .fromInterned(try pt.intern(.{ .error_union = .{ + .ty = eu.ty, + .val = .{ .payload = resolved_payload.toIntern() }, + } })); + }, + }, + .opt => |opt| switch (opt.val) { + .none => return val, + else => |payload| { + const resolved_payload = try Value.fromInterned(payload).resolveLazy(arena, pt); + if (resolved_payload.toIntern() == payload) return val; + return .fromInterned(try pt.intern(.{ .opt = .{ + .ty = opt.ty, + .val = resolved_payload.toIntern(), + } })); + }, + }, + else => return val, } } diff --git a/src/Zcu.zig b/src/Zcu.zig index f15b03dc1a..c170ef6d71 100644 --- a/src/Zcu.zig +++ b/src/Zcu.zig @@ -416,10 +416,13 @@ pub const BuiltinDecl = enum { Type, @"Type.Fn", @"Type.Fn.Param", + @"Type.Fn.Param.Attributes", + @"Type.Fn.Attributes", @"Type.Int", @"Type.Float", @"Type.Pointer", @"Type.Pointer.Size", + @"Type.Pointer.Attributes", @"Type.Array", @"Type.Vector", @"Type.Optional", @@ -427,10 +430,13 @@ pub const BuiltinDecl = enum { @"Type.ErrorUnion", @"Type.EnumField", @"Type.Enum", + @"Type.Enum.Mode", @"Type.Union", @"Type.UnionField", + @"Type.UnionField.Attributes", @"Type.Struct", @"Type.StructField", + @"Type.StructField.Attributes", @"Type.ContainerLayout", @"Type.Opaque", @"Type.Declaration", @@ -495,10 +501,13 @@ pub const BuiltinDecl = enum { .Type, .@"Type.Fn", .@"Type.Fn.Param", + .@"Type.Fn.Param.Attributes", + .@"Type.Fn.Attributes", .@"Type.Int", .@"Type.Float", .@"Type.Pointer", .@"Type.Pointer.Size", + .@"Type.Pointer.Attributes", .@"Type.Array", .@"Type.Vector", .@"Type.Optional", @@ -506,10 +515,13 @@ pub const BuiltinDecl = enum { .@"Type.ErrorUnion", .@"Type.EnumField", .@"Type.Enum", + .@"Type.Enum.Mode", .@"Type.Union", .@"Type.UnionField", + .@"Type.UnionField.Attributes", .@"Type.Struct", .@"Type.StructField", + .@"Type.StructField.Attributes", .@"Type.ContainerLayout", .@"Type.Opaque", .@"Type.Declaration", @@ -1745,28 +1757,28 @@ pub const SrcLoc = struct { const node = node_off.toAbsolute(src_loc.base_node); var buf: [1]Ast.Node.Index = undefined; const full = tree.fullFnProto(&buf, node).?; - return tree.nodeToSpan(full.ast.align_expr.unwrap().?); + return tree.nodeToSpan(full.ast.align_expr.unwrap() orelse node); }, .node_offset_fn_type_addrspace => |node_off| { const tree = try src_loc.file_scope.getTree(zcu); const node = node_off.toAbsolute(src_loc.base_node); var buf: [1]Ast.Node.Index = undefined; const full = tree.fullFnProto(&buf, node).?; - return tree.nodeToSpan(full.ast.addrspace_expr.unwrap().?); + return tree.nodeToSpan(full.ast.addrspace_expr.unwrap() orelse node); }, .node_offset_fn_type_section => |node_off| { const tree = try src_loc.file_scope.getTree(zcu); const node = node_off.toAbsolute(src_loc.base_node); var buf: [1]Ast.Node.Index = undefined; const full = tree.fullFnProto(&buf, node).?; - return tree.nodeToSpan(full.ast.section_expr.unwrap().?); + return tree.nodeToSpan(full.ast.section_expr.unwrap() orelse node); }, .node_offset_fn_type_cc => |node_off| { const tree = try src_loc.file_scope.getTree(zcu); const node = node_off.toAbsolute(src_loc.base_node); var buf: [1]Ast.Node.Index = undefined; const full = tree.fullFnProto(&buf, node).?; - return tree.nodeToSpan(full.ast.callconv_expr.unwrap().?); + return tree.nodeToSpan(full.ast.callconv_expr.unwrap() orelse node); }, .node_offset_fn_type_ret_ty => |node_off| { @@ -2684,7 +2696,9 @@ pub const LazySrcLoc = struct { .union_decl => zir.extraData(Zir.Inst.UnionDecl, inst.data.extended.operand).data.src_node, .enum_decl => zir.extraData(Zir.Inst.EnumDecl, inst.data.extended.operand).data.src_node, .opaque_decl => zir.extraData(Zir.Inst.OpaqueDecl, inst.data.extended.operand).data.src_node, - .reify => zir.extraData(Zir.Inst.Reify, inst.data.extended.operand).data.node, + .reify_enum => zir.extraData(Zir.Inst.ReifyEnum, inst.data.extended.operand).data.node, + .reify_struct => zir.extraData(Zir.Inst.ReifyStruct, inst.data.extended.operand).data.node, + .reify_union => zir.extraData(Zir.Inst.ReifyUnion, inst.data.extended.operand).data.node, else => unreachable, }, else => unreachable, diff --git a/src/codegen/c/Type.zig b/src/codegen/c/Type.zig index f575a40197..fb37b60580 100644 --- a/src/codegen/c/Type.zig +++ b/src/codegen/c/Type.zig @@ -1416,6 +1416,9 @@ pub const Pool = struct { .null_type, .undefined_type, .enum_literal_type, + .optional_type_type, + .manyptr_const_type_type, + .slice_const_type_type, => return .void, .u1_type, .u8_type => return .u8, .i8_type => return .i8, @@ -1525,6 +1528,73 @@ pub const Pool = struct { return pool.fromFields(allocator, .@"struct", &fields, kind); }, + .manyptr_const_slice_const_u8_type => { + const target = &mod.resolved_target.result; + var fields: [2]Info.Field = .{ + .{ + .name = .{ .index = .ptr }, + .ctype = try pool.getPointer(allocator, .{ + .elem_ctype = .u8, + .@"const" = true, + .nonstring = true, + }), + .alignas = AlignAs.fromAbiAlignment(Type.ptrAbiAlignment(target)), + }, + .{ + .name = .{ .index = .len }, + .ctype = .usize, + .alignas = AlignAs.fromAbiAlignment( + .fromByteUnits(std.zig.target.intAlignment(target, target.ptrBitWidth())), + ), + }, + }; + const slice_const_u8 = try pool.fromFields(allocator, .@"struct", &fields, kind); + return pool.getPointer(allocator, .{ + .elem_ctype = slice_const_u8, + .@"const" = true, + }); + }, + .slice_const_slice_const_u8_type => { + const target = &mod.resolved_target.result; + var fields: [2]Info.Field = .{ + .{ + .name = .{ .index = .ptr }, + .ctype = try pool.getPointer(allocator, .{ + .elem_ctype = .u8, + .@"const" = true, + .nonstring = true, + }), + .alignas = AlignAs.fromAbiAlignment(Type.ptrAbiAlignment(target)), + }, + .{ + .name = .{ .index = .len }, + .ctype = .usize, + .alignas = AlignAs.fromAbiAlignment( + .fromByteUnits(std.zig.target.intAlignment(target, target.ptrBitWidth())), + ), + }, + }; + const slice_const_u8 = try pool.fromFields(allocator, .@"struct", &fields, .forward); + fields = .{ + .{ + .name = .{ .index = .ptr }, + .ctype = try pool.getPointer(allocator, .{ + .elem_ctype = slice_const_u8, + .@"const" = true, + }), + .alignas = AlignAs.fromAbiAlignment(Type.ptrAbiAlignment(target)), + }, + .{ + .name = .{ .index = .len }, + .ctype = .usize, + .alignas = AlignAs.fromAbiAlignment( + .fromByteUnits(std.zig.target.intAlignment(target, target.ptrBitWidth())), + ), + }, + }; + return pool.fromFields(allocator, .@"struct", &fields, kind); + }, + .vector_8_i8_type => { const vector_ctype = try pool.getVector(allocator, .{ .elem_ctype = .i8, diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index 1fd1840da7..04f3c37b9b 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -4490,7 +4490,12 @@ fn updateContainerTypeWriterError( .enum_decl => @as(Zir.Inst.EnumDecl.Small, @bitCast(decl_inst.data.extended.small)).name_strategy, .union_decl => @as(Zir.Inst.UnionDecl.Small, @bitCast(decl_inst.data.extended.small)).name_strategy, .opaque_decl => @as(Zir.Inst.OpaqueDecl.Small, @bitCast(decl_inst.data.extended.small)).name_strategy, - .reify => @as(Zir.Inst.NameStrategy, @enumFromInt(decl_inst.data.extended.small)), + + .reify_enum, + .reify_struct, + .reify_union, + => @enumFromInt(decl_inst.data.extended.small), + else => unreachable, }, else => unreachable, diff --git a/src/print_zir.zig b/src/print_zir.zig index d263db9f33..316632f2d3 100644 --- a/src/print_zir.zig +++ b/src/print_zir.zig @@ -399,6 +399,7 @@ const Writer = struct { .splat, .reduce, .bitcast, + .reify_int, .vector_type, .max, .min, @@ -568,6 +569,8 @@ const Writer = struct { .work_group_id, .branch_hint, .float_op_result_ty, + .reify_tuple, + .reify_pointer_sentinel_ty, => { const inst_data = self.code.extraData(Zir.Inst.UnNode, extended.operand).data; try self.writeInstRef(stream, inst_data.operand); @@ -575,23 +578,13 @@ const Writer = struct { try self.writeSrcNode(stream, inst_data.node); }, - .reify => { - const inst_data = self.code.extraData(Zir.Inst.Reify, extended.operand).data; - try stream.print("line({d}), ", .{inst_data.src_line}); - try self.writeInstRef(stream, inst_data.operand); - try stream.writeAll(")) "); - const prev_parent_decl_node = self.parent_decl_node; - self.parent_decl_node = inst_data.node; - defer self.parent_decl_node = prev_parent_decl_node; - try self.writeSrcNode(stream, .zero); - }, - .builtin_extern, .c_define, .error_cast, .wasm_memory_grow, .prefetch, .c_va_arg, + .reify_enum_value_slice_ty, => { const inst_data = self.code.extraData(Zir.Inst.BinNode, extended.operand).data; try self.writeInstRef(stream, inst_data.lhs); @@ -601,6 +594,95 @@ const Writer = struct { try self.writeSrcNode(stream, inst_data.node); }, + .reify_slice_arg_ty => { + const reify_slice_arg_info: Zir.Inst.ReifySliceArgInfo = @enumFromInt(extended.operand); + const extra = self.code.extraData(Zir.Inst.UnNode, extended.operand).data; + try stream.print("{t}, ", .{reify_slice_arg_info}); + try self.writeInstRef(stream, extra.operand); + try stream.writeAll(")) "); + try self.writeSrcNode(stream, extra.node); + }, + + .reify_pointer => { + const extra = self.code.extraData(Zir.Inst.ReifyPointer, extended.operand).data; + try self.writeInstRef(stream, extra.size); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.attrs); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.elem_ty); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.sentinel); + try stream.writeAll(")) "); + try self.writeSrcNode(stream, extra.node); + }, + .reify_fn => { + const extra = self.code.extraData(Zir.Inst.ReifyFn, extended.operand).data; + try self.writeInstRef(stream, extra.param_types); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.param_attrs); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.ret_ty); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.fn_attrs); + try stream.writeAll(")) "); + try self.writeSrcNode(stream, extra.node); + }, + .reify_struct => { + const extra = self.code.extraData(Zir.Inst.ReifyStruct, extended.operand).data; + const name_strat: Zir.Inst.NameStrategy = @enumFromInt(extended.small); + try stream.print("line({d}), {t}, ", .{ extra.src_line, name_strat }); + try self.writeInstRef(stream, extra.layout); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.backing_ty); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_names); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_types); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_attrs); + try stream.writeAll(")) "); + const prev_parent_decl_node = self.parent_decl_node; + self.parent_decl_node = extra.node; + defer self.parent_decl_node = prev_parent_decl_node; + try self.writeSrcNode(stream, .zero); + }, + .reify_union => { + const extra = self.code.extraData(Zir.Inst.ReifyUnion, extended.operand).data; + const name_strat: Zir.Inst.NameStrategy = @enumFromInt(extended.small); + try stream.print("line({d}), {t}, ", .{ extra.src_line, name_strat }); + try self.writeInstRef(stream, extra.layout); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.arg_ty); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_names); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_types); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_attrs); + try stream.writeAll(")) "); + const prev_parent_decl_node = self.parent_decl_node; + self.parent_decl_node = extra.node; + defer self.parent_decl_node = prev_parent_decl_node; + try self.writeSrcNode(stream, .zero); + }, + .reify_enum => { + const extra = self.code.extraData(Zir.Inst.ReifyEnum, extended.operand).data; + const name_strat: Zir.Inst.NameStrategy = @enumFromInt(extended.small); + try stream.print("line({d}), {t}, ", .{ extra.src_line, name_strat }); + try self.writeInstRef(stream, extra.tag_ty); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.mode); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_names); + try stream.writeAll(", "); + try self.writeInstRef(stream, extra.field_values); + try stream.writeAll(")) "); + const prev_parent_decl_node = self.parent_decl_node; + self.parent_decl_node = extra.node; + defer self.parent_decl_node = prev_parent_decl_node; + try self.writeSrcNode(stream, .zero); + }, + .cmpxchg => try self.writeCmpxchg(stream, extended), .ptr_cast_full => try self.writePtrCastFull(stream, extended), .ptr_cast_no_dest => try self.writePtrCastNoDest(stream, extended), From ce0df033cf2bb6986c6c226786e6543d05e29a77 Mon Sep 17 00:00:00 2001 From: Matthew Lugg Date: Sat, 22 Nov 2025 22:02:32 +0000 Subject: [PATCH 2/3] stage1: update zig1.wasm Signed-off-by: Matthew Lugg --- stage1/zig1.wasm | Bin 3169737 -> 3183342 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/stage1/zig1.wasm b/stage1/zig1.wasm index 40c744b1fa0be38a70b77a3f94a13e422e744a83..0c68522efc27ffeefbdc88b1591ea60c7ff102fc 100644 GIT binary patch delta 1038894 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%0DF zDl883!--^YuR!h)h(YvRz?8=!H5QA9LHM{DP544eqVyBKh_S%q0vW~0&UR=R zrZ$MC#)_tv(VRwT>KTnQfaPF2EDX{R#8Pj?(m+^zF8D~mOpJycD7sBe?a(lYfA=h6 zB`ca{u8cugS{REbfaO>_EDX{btV|1G@%j6ymC;NfG`SSoGqM6`@*=Fg%^>+4{nNS% z8#M=dJD-Do}71?+W`Bm$<1dWmkjE?}eYK~2eqdL_x zNT?BJ4%)gX>!4*249t3rG{RCFg%p3>(V%UjE8aEIwVBb78GjIWkW0Q0tT)ig;Akh5 zFax5r8K8?94YXp7rCEkq2)hPaMgrA?zTblHx8aV>0Qzn&k`Qf1I@=trQT_y&Jg3*! zp|p`tkfs$tY~}Btd?$^@Q$blXRlq1@NV~B;5CtA$R%*G^S}By_N)=+;$6^R55jJCl^>Yo=)YYo<<(S{mc6K&fG8rF*ZV3f+mifAf@YDAg_ zT3&QVGEn7nqrGsw7DOYC>IoZ;EJrh4G@mGmgR!l|F zoHDxNT`65F%nCsz;||qwVG~}>@0HQul5u1Qu=oYh{j7z4il$VY|8*P4lHY2zfyS!3 znW-Z%L9d;bnl%7TL6tbqDlCU19D1%EP-(qQl?KlE9hFwit?sPSs-tNTokE1EVUSQG z&Tj>@qc4F#_eV3g)@mAB23jwZgmuwYwxvQS=Cjvg5h4T-{Y2lw1*ubk>*>13g|1kY$m|wnG~tc~Q?}cuySJ?qN(309 zHJ4)jJndVZc+zyCJY*FG?L8(GzLihB0BRSI{e?Od)0ManSFo~+C%7dVsV8cd zQGi=!wcaM$buOzw0@@&_mAL+2a@r~X9jEpAQ%)=8R(IyKQWtUB80w@72Ehi6e!1wf z3IqlLEvt#fpk@U;Q`=2C*O_##rE9&PzQ%Sm<0Jo)qEXm?^Q zZP4aLWjQhoafduW_UzTfWYIV5!7RWN%sqATpSms~)qV1rfDzVAz~BrNb--DKw2T26 zg%LO%m7FZoms;k*8mcPyWu5- zXr#C}=)RoRfkyH6sXYIM>+-f!Y$HR1@6fuhy#_GXiVj?F?5ipsm=nEd-llt-}$O?Km78WB(ryN7Ui}*Tb>je=!`Jned&5V{lwcE-&z zN6;{{euv|%td2%mSe>A5J)OK`WXNbnwpG^4wOIAyC#XZs-;_vO6rU%zRpWM>|y6 zjBdEg#|Bc`mASkV3Zsa>#?B*bY!!5I6uF6N!>B?fzf+-g7HqyyhNT*nphjh=fu%y& z4-2L@SExJgurrofp-Kx1jlrl6R;a>Sp=z$s&_D;Y??!wducC~7C>@M}*V3=fG4L9y z9b({hbVVm22EK=Cc#y$sxB}Srnsy22{F(;0MX~dDvh4@mECvrVFcyP$?5)OjEu*>- zZ4QGrN9n83=go8t`k$Mq1}%inKnj@A1R812`ms)!j8^_CcUp_4kq@2Q+eNJF^S zbS|e6TumWO*|QG&B?cJRMZnx`*s8n?^IuDqO7YXEAUp=vT^Xfa0^QaLgU_hu?{S?f zx>y*gnsY}7Q?U zo3%LysX5r?3(ZNx-9a=*Q@E)eDz0jCur-a=)--c#27wE)98~9^u;B9AEV)v6f`mFc zwaLc0Qe@pBi@-6u{o2s~%@mx)FCZDJ4-!r=u?ytO@x8e=l<)uRwV@oSKr3it3JSsg zQNA3A0t>?It)L7IH@U8ryO{WtgQEluV?y_Fn_0>~h(e7Bvs7+^l~<_{6>CE$7bNIT z&Zlc|80F!oQJ6rTEOD2Y;P2$+jETO_9yYFR5y6>pk^~FS7A27I8%PZ*2S`w$l+v%x z0;PoN0D)3QS1nMUrFv8_cnN<+3lyK0D3u9Te&-KW6O@rf&8xs$)CPNG0@wBgtMS30 zSi4=rU&2Hcc~m>;Q)GP5mDY9BwShm%o><(ml|~+0-$2{pb|fW)%rZdKL`Wf-8VNx& z*QXJx3_lt{Msxp)PNj_&{uGb=W-Aq2n2H04imeP1YJ~et%d)K<0T>2mQ!bss1Ol|8 zGI_YCRxPJ1-WAfd$jk{x$Ko!~Dy$4nv=Wr?A%dRB0;EKj(fZU!rll!C)+Jhbi^@=` zl0?Wsss{*BO5d!Y^2QNOh*F$}rwLKnskBkeU(zCw_Q~^y3#vI|y+0Ac*T^uT$neu9 zc2m2G6AT`Y!Of$3UUaU-_UF{%=A}QZQgI6SRFIF?=pz-JL z#qCM7kq(MD{Y7{Rg3h9O{7&jTk^p8W)^jITCuyf+lF#3ZJAvKOi-$W^o5V*WA%)Al z$wYdLu6W+UNE>uLTXjA0rb*+(PQ?%}*p#9(P6sxV$xYTHDi2p4)pVs%jVs1GvyM@e z?5}7Z?od&;iL^M`%5IuqMad`Us|K5?s}oWaPM+aHvFpSoM(Wfl9KH|CX^_j+ehPz0 zj+wdG`VMu${<00EK9cXBY_}GJem2i!X%uP$C9lq zsi7;9nI)@z8oZOJ*q&_VORfZ|8tOV?GPCOr(v{Q1G5WZG)Y-`1{s83Y}eOB)ZMv8~uBF%S1FEa^&J zPuC)N>$OhKqh)FoV)we{xAE8MDhdEQb#1wi8JjSOK?VUsJdqc>~gRj4aSp}!WG=Y&b?M4 zXk2Dfue}A3p#5J%zdGCh)zoRQ|98?=+yA?$uWA{*n!jRoDAW*)yZ0JdJRByTWb1M?-M^pc+D$H`A5mFI^$L zCgE+tTe z03|m*ze5qf+$zBK&TRf*?gm#6m7!Ak5)u&8JZecHP4|kZyz!;B)eEKHRxh>`*QJdT z{!#~dTq3F8ds5{~JJiHq`7-IV)}CQ2_^Y`*#V$qTv=Gd|s-x z@>GNh<)$K(Pylxn)jprxQiW6=%UyV)nxE?L^W~k28%6x34wWxTr9SUYl`qjX(OsfV z^>wM%-X8V-6f6o&B%&$4oJDm-q6KT#GZeM2^T*Lj+4W2fCj$N&$ zgtdF>+R+Wb;E-C~JM|st=4Y#e)*?QaE>o|&r=dd`fA<`=mNAPo=n>d!?Cs#Y>FYVzxZ!VD=}o z9BW4|0)|H+l?8mOE~JH&9%60nC`Hf+)^fd-d|^3{t2A&|?=DpydIVfNP070nVux` zUbq5;Ajl!eF?b>h-s`oV>lIMI1C`Z%L4rgC31cLZk|9QauPp2Wr*qws_x z0BxVurzWdNLAe-pY=21w<=avBgnj&VQAb@an;7USo!P)Ek=kz>sDm=&Ba zFvfc180$R7`Qg5pl``ka!&enmDN0D-Ds|kt@kc;a%{Z;$I?RsvRjmilK$e_T-dq+2 zswNVsWfG{o2%uK}4p6IPr6DCXib$wd0;)9;K-Do&^%AJl@T)Ea)Y>SZxVYI62C6<1 zs0ImCE^gly*(%hi>$HC9;Sx9ee#b39>r>pS4PUB-Q}{pc6#&4W>=WLPi(64n;kg^Q zQ2Nvkgs*CS>RYu?+D7?yH~&Tdmys8~{ZXE`S=?bqnu0ZNz!xT)#C#`^opnKAYZTUH zmK|ZNZ;HhF4vBT0YuPQc*dq?;v;YtA?~AICbMwU64Jv2~P(i?owUG&-S%T9AzZye? zaO|WS%u?ywS4!;7ksy`k@{|z_Qn}^+*MAC_#^*-PLC(z}mBWwz)M))j1)GUgaz$oW z{HlOyn05GEby5vxbr_^d*y9H|wck-KVbU0;8VjaVfV3p4Le9(})c~aB(I72jkXA~N zy5ZNd5J;;|s==&7HkNR?s+AEiIqD=xIec3cpZ++o02=utfA6@)%pMiwsT$}YkN1?g z!7tstCwdYL|9`oOOh(no&K=mBcsw6i`UBo<*#$`3|MFZv)l~Omu5X!-fDU}1`6qDk zf0^s2n(BUQu4gg%u}>Ad`ZD%*#R`1MCP**z){vDWf)g%{71?Iys}p1fICqyBFjv{V zkGx_nL&@L_#iiCNfji&3Qy^I2W25xo&Jv)M03^tLv2$JEi2dP? zD7rF7urmLNwc*AyB%R^71dj^QFkpi(U|f%f@MFaG$FJy`xD5tN!UIJ~0(0NY1a?J~ z%vYyVOh1>k`CRvz{(HR$^dqs7$|>+0lV%~9ZZeh5bi--c?iQ)Q1aRguIN+Prd$rsS zu_(qHiw^VEYn5(j6_+_EmOUsW8Ll3{TA&|xKFv=88gT_4E)A67d}rR}weyG~LRv%t zH+v@+TWgs7J%(7$Q zFdz|`qXFr|kN{d9UK;>J;4(nNH}_)$lB;uCSHF!>Rx3`np5hj<1e4*?$A<62N9{LNTiK5#`@0uc#rY7ks@m*8fvPoP&s z28xBw5Va}3SR-Ws_!wM5Fog%|0u4cvI_yR*_iPKnsX+uYqw;|hr6K$pySXXxWro>P zMquJ4!CDGf_XM!+p$#``9xP-bMB6PJb9j)joaF;@SdeE%Avyp#tV{qoW_lX1h+&9D zR0hn62-gxQ8Ea%%h!5pPU<95Ku>(R#$K1gXqe;4t5u!Ec zxPFj_oO2jEo<`tU2v;EKgtwd)ywQY_W?|ZbfHBSOBklm$D~2$>#0NL*gMn&%L7hEi zrLY!t%GSZNFd+=P*Tp=JBj#d8xC2wvVq+%|x&M!doW~`WIkmJ*WZn^hd{7+ELr^)- zT-g~&Akm!(P&otDZM#MGyfU2FylmHk;-Atz zZBP?3Zj9&CaV%_XuEY1UfPdNUDJb270aMR1CB(5O1ULm$2HR0U@Tp=}S>a^h_>`~z=dt@W z;g7LAudzcpNDa_dTF&UAoW{ij^!L(ZoKzE`R)%p$r}x`Kj}X|9zsR{N0xja z+kL5Y!w^lQg?DLvPgS`0aI3+ryR{C5^CzDWl#KcB$wA1* z5Z!gR_8iU z(Yi&!UVD$0tBj^k@6igC^>q9m=%_!U0rzVClm>e8UM&xuUV5)KmdjwpfoUfC+vh%v z?K8CaK21Zn-@Q+}Q2ChB@7H?AS-CjRHTP>5AkTvPwKmE^T7SQmA6w6?!KJRDgVxKu z5n6Wad%>5zM}Uf+p=U;DT@nz29D)M-toVYy9ijaN?|VO>c~Q}g4`^k0`sM+x6`m3w z#PQOPz^M9Jc0w0w9+IZJ>k)}gJx+glP@AXJ(BTKQGmM%HxZdOK&^bxG9k4?j=X-Qc z7AD|QX(wI!kamVrLE|4nM70w#8#cZK&hgdVh_C+kLpWfWL`NRdE>oIm;7F|1P=s3!qkOZ$Vrs&ckOEBD79{xW6+qtYyAV0G+aI~&U# zwlZH$spJTQOVNT1d(84tjJXQ|kDcmPy73Y1O63WveFP)2g?2omXE)>Bvk zu>ilh615@bs!{?z4-razk8bg6J(N#rj$gZgqY%&aYaP@SRlrG9@V-l@6+N(wVN#S_2>e1R3Wqa+zWm-#n2Auw2ZeTn>-IBze2oJpCG3~52KiZhZgTt~-v9nll`V>j4 zSj9m_HuDE$mk=0ZwR7whiM0C3f(-imSgn)&%T%iPIy-~f{G6RgAC1+{P1u$SE{0+b zwVsS}tz{xYZ(%Y)fC2&1CFNQR(C~8zj&1 zOu<+=o@u-~D~Tq(t>~06PJ33FOD~Vpdhmqj)d>^+@Hp)>TKI%^R>ZpzPvBjP@!DBg zp?nH5OI@v3Nlc>Cp43{bhERdNa zs+clCI|p2XtB82p;z>aB@sm-F&BHsei4$_>P1MezLldKNK0i@AUwKyMJauneR&Nee zL=~&6Km$uoY@pX9t*5e!9-5?eQ=X$2_-Qj;LRtnXld+cUA~9LJNO}ImV#_CM-ok@6 z^9cK@Q-+6*&am=5$m}AXF;j}AUO`;z-SpdJaI0z5Wr}t)7Us$+S}zX*eTCeQVtOKu zEJPGAwtZ8y4(bccdZZ6I2uf~qJGGq(pW9REimBRl9(;80Bu#YjH}+l&4W+t_>XAqL z(&I}}KlOn3CBfApz=7RNp(9p3;-SQ8S^;<~ynkglTxjXMXNsWfW3)~Q2C!jVlkN>g1?}bUoJC*x!IZxoZ7ZskH>0EoNvwBwR#37Q{S0bjyF)rOmL(vG-jqYDl#(liPut~fW%gvk%bgqH!(c#P?uR+ z`@*d(Fl0vx3>dVN1)K>BXxuEVQrSrbRoaV3Z?)EeT2;f_ z=``w7t@VguB8tOOP+G0^zh+aSy>IXjL;w{HhHSa?yc{d}4_Gqlt&UQ(ve4^E5;Gf=cFr^tRA~ zd0Mf(`fK`Z9)^G8^rs+R{7CJe(pvLMEh(3oHM_hvWqg_xc5{kmILiEePie*7N1;{3 zCuhy@AYt8a;!amU-4zI#hS_0OqL*$2ug21hj98psr7cfs{oB>Y2SgV)yTeBBP&C$} zR_vBoc1bWX3wiRAQkR)dH$RP~|0uoswAMa0IRD816vXe?`PvkvCsobYdd5rJH|&Jf z!}QgB?W$9Wx&szyIlK+HZGqONTOAWET=NF!pJLLuu^#gk{6pNxp63eFeliJfuAp}o zXx;7gU(xXeSinD^_Rnb7w3UPe7URZx2vvi%Yv#wmtw0GIduTdL%bwBtC4K;p{X7Q| z5q>lM_KbEqmhjFCwU(LEL;*al4fEL$W!|+AJ-2N8K#=nmY90pQ)rHzQ>6;Q+2O)0@ zA{bXZ#HueStwuW=a^7ERw1HqW&(z53x76@ltFFVz#fc# zi=pAp@Rwf}(G`oeV*SSxbKvB|%F(!psuyeLcKhw59H?BCmHd3-C#c2{haS~8Eu!2d zS}*&7MReT~E!+OnA{wzoyVibm5q+`*w0dk2IhShv?1vZ8`AfCd_9KgEI6og+L@SoU zYNUA)eX&$K=6j1ho=Qnr!9JH|VX2rmlW<7#%G5HCS0VGV{B(+cUem7lXxwPLNCfjv z$LCGY@n>jBO$VM1{`wd{xf0AYJZ;@Bb2<}D6;J!DoDS>h9XKCHPP>)!9eU__?bgC~ zr{NMFVsNLh%+fFkht84%Tf73h3}pt5ep$OjnOXbk%YaCk zOl?+TO_@?VV5LS*Y}vkErIn^_T{pwSL6jju+Cb^%u61<(>)M@Z4JW+cw2m5I*EIiu z`J+ARd)Wyp@&gm?&FTeFFMMXj;nK()1?KiyQ7`h$szZ>@!*%4F^ML<|7dhsOdmfE^ z(aIbjc#-gcV)vUd7_;#&(9}1yzu23W(*8HJL6N*cc4Xz#H1JJ}H{AKA*1Lb*R>T=k ziQo;Gx|<`$;v@d7Q!B;EW7Um`k_ zZ|)4d5E5mm6tN~bqC27>aGN@pKJiu*3@yx~Ush{5{T}`DM2tjZ zten4lA~9xwNLsDYZc$#Maci&>eu;Li(e6{0*IxaOrYOn^+E%aKoA@#dod}~~wo+?p^ShA1 zU#5chw2jzrHovEhN?VD;3rKcOUaOdGsw?S-ngzd_d{*8qU@o0YqgdaRwIrbhRb=M zPZu5Y-?T})0rjrlq>VuS?q7iB$JgHX1>_@T9ZlP; zb->3po1tr3N2yyNU9YEZTOfX{rHNa#%RTEnn34u>N)n*?HR4AHpg6KcyA>sF+^S`w z#E7k0AHekTR_%hU%EjoQix;D*{L9V1Di%}Lm)bZ~I`2!ZmB1AlSt(*4cl1FxDs*)B zCH5Q9&yViy{8GC=n=|lhjv|C4+m{shI&_;h3=Qqrrj1wD*WR^VJL34G=?dPKM=yS@ zUFKgtuZkH)K=_G=BodyEcrwR4Il}{auTvs+OHTM*2hrnLP%%G>Du+v+5#{g{E{C&k z#e8ogw2--|B__I-J$|mn7i`{&v>xQIcnVj8votvB-h&DA7J|U=rZ5tk@lT-|1VXkJ zNj^*o_X1DhYOo`VEH}>|RnQq#5KrNP(2PYEe3{FI;09GkG>E5gIZ$+DxlLTILl98A z(K)gp<28hDxihQ7635IkA-wuS@LchY*1u@?>mjzzTwR#^Mp-M!Pj-8PU-?G?xaMGA zYzvUSy1lmDx7wYGyJqqXkNPFe{7$?6v?|M82BwD1Tz`<{AO~AP857r%M1|{6xBW4^$`b z(=&S@Ew80d_Gq`;Hzd(r&l@f1#=V*+3y~fjkeHccNF|hmrIJat6ZUFJ3Ra_8`=Fs9 z`hFi&7;lhwKPJ{%x@kZ3V{2*Veyt0VhW*-`*0=Q9r+)y;ch+Tq5g+>zQ+p+KZ-iEH z`7|(9)@-e&A&r>g-_xu{DCnV+UD*iv66yDN#@5Jn04myg>ch$R^w0swK$EEI0CdK? z$@!CJT2Jk0IRBQfI;Pmn(_zuVnlPMFs(b0DpR}_wb|?94;8(0TXU!Urh5cUtpSAOK z{sJpY)8=(D3s<6YEd3cW`(8Tsv$jjwPhT}@*)5kk1Fx=tAO$&T-?EB<*7@!UPq{2{G!(nV&U3Mn~}8L zxDRx+Ian8y5TIv8L;+>&{Em_ZU>pUlSb*;~fk)0`ET@(>k8ME+e38VG~zg864{R4B$WENxR)?%^YK} z&w-ia2yDC6ZB(_Upi^zxuUfGJSeE~$H7o9I2qvs)^n^SC-L`SaDegkU!#0a62`q zk`-0zOK!`!%V_`vXycqxtq*kvnAZMS;O99?j1&3cPJrgjjUj-{I0?{QaX`~^G(AoX zMDh*4oJ6VdK;bg#8880Q8!gA21LaAow2y+m_;v#zMwjbjCA z?!ik2vek38dSr_l1Ae(RRCP0|MkiY&iYw5`k%^)(XBnTr%9?C!*Oh|&U=0a40$PR7 z0Q}oT@kjvhQ#Fgg7)}$hFru4fW-(rdAK;;1nIxOtl_Um$!aF7d;mhdiWMPC6G9&p! zgsch`U!N@6#aIXlp;J$ZMCY}5iXP^Dq0$v8qMaY5<&w;_3eWduDID-ibiyeOq%2rA zIrL5M&z$~nzy>C+$GO~OMZ9-QV9SBXXC z)I$~7-sgBk`yr0mO4MP%1*c+K?SMe3uYs!;uB2q4QV0+%;4KJQILh6$}>bP9c?h#ZRcBOi23Q5567r?y66Cw zcUQV7^n|qBsM9Ua;Vf>jG+nfEp&EMvUHlUcK#rx0-dMAGW?&HK((M_dOZMI%V`5p^ zZB~UC!}1K#CRKuf*Q-LW_v1C_E-O>qjVi`uil>-!7iNjpoL-tGt_MSZAxm@x1K*t` zeo@|`?H-}?islh#7(0{r7{`tg0hd)0urHPCg=v_xt7dt?Zm-A|eU-yBJsT8zptdes zjFXhG?m*rUb9J z5_xX+iUr6M>l0;2Ciuh!NH+PvX7*F-0&y$9EI@6|w6Q>(4aS?(LQKYa!IBoDb5b+! zh9nI;)Csh&h3Lze>d;c$Kj>}Q=j?=s6~%9fZ7!h2G70(yA$)iN!$@LoN^Ax2w^OH9;!J=zw3X;*AHRxTY9*e) zg4CzA$O3Y%Y%R`L#?jo?;vM(8Inab=k$GHr1mYAh->|E*L&B%s{F*c17|q|>Loc-v z^9!ED4$hJq?Q#fR>XKNf+MosFZ30w!>Npx%DC+EubLh;r;sqQ{{m>TZKT2n|6R+DR z&ZVR6M9bvJHpVKbi~vltL8b+Cr-RL(+fTGNSR0d&&<2r{;`8z`>xG{ zH2i?L!v5lWRDVFcf5x2D2yw@0*a{t2b#uVT4t2np+7d@Vu?i>wHE$^bRl6v)NVEc0 zx)+JlAzs{7B;JdmL+JZ@o5W7`gUH)#I}tq==o*!E5KpI{0)FaIEIMUlNO80iizCt) zxjmL6>r{_YSut80N3Rr%E%t8?(e#d@Wm*_Bj=BY{XPxd%B8?t4c z2h!pbVnz{$7Se3o>B7rY93V#rRM_247gu%+7D&Pn0kw8@uhR!}rZ)KPP{+A7yoGUE zdz5R>Mh#8$`sv~ZWew$a0e2{+%e#oqm@4I6L~HlHRZx5`pcP#}whL)X7YIM4bi9is z(DS>B(}0|jT}4OF2QY#zvSq^|BpL? zP20~9nQbe%5uAMB>;sZZ6`DUEK|fJOpD))A9677{u}B(H~<4YFU=0|Rq-Csp)} zYR_ptI-l0`6z}qAT2>>L>n#j>%}%X0R+?{=}LNB4m`-nFB5_VL?2M!H(%*BL*KPvV?{#f30?kJ#jeZ<`K z%2?lDyE)Fs3CbqS6KoH#W%Tz2JI|y=eZ^JimE9DtVMq6dDe~;UrPDT3x~QapHzp#;kLGg$k0|KlkGPX- zt=s%tzQM&_Sp(&uhKfi6sb;0+5J@CLh^Nwd!qoiKO}XF;M^Lf@Pv z&Qda{@NCgS`Gp3a4K9~K_n$3%9_)Z%$}3G$GrT!QnztQK{S12UZ1K3#o4TKaIk}jw zKSylVH%<=;`-$dSJV>lHI>BEu=<;(#L0$%cn2Nj(-M6)Ue7kntOzt9pPDa(4HlMIyY z-(M_(b=uGUg%<*C<^|&BtIM?#Z+qlx7A4+JNauM=yaV{zDDhs1bds;cdl6DlsCOXJ zQLvUCgme>3)-OhiC`I1B=EGi~1gMDdYMkzh@n%xP1;P{8I2*daEVF4gHC`Yx5;Hjb zB}f%L+e_*I?AtP^=K!I{O(mJHl4@@pAYv7$ChojYT%xq5*DeGbeS?0w5c|gWNxMk+ zl(O1h7YUdjMD_2=fnr{}$T#uW8YG%cIKw{kSiFrTuw-5)prK1QlEEN-gG4*ud;5c| z#eqw@4Sb@B8$M7ICh7J->gqyMhm8qo|hTMxqm)LJ&aJwY|UAg9B@wL*5 zdS4>0yzN6oY{4BV*bZRw8BUlI#3Q}7o4tCa#uH7BQ*);JJg5VKIOBbBEK4Vv8{)yh1!4hKq-I;-x~*vjWm2nq0+M z#@WVs>KhM?sXKl~Q;Fst8|yzqa5pl1fO|KmfEyueB-}eVwctL0 zpJvkuaPQ#CaAOch+!FTY5bVe3tINd1liK&tl*>i7pE;4_M#-|HQxH_-B$z5tBg0hA zDPSt&6u2zq)PiXe>zeFFHVPvkj{01(FU}I-_{LSb(Lz0li#L^=ABOK!k;>pSiKc(5 zY_Jmlv(@L5xwh&AUmUjZs2PhOe&eb%=bxW|A>az|q6Sxv1(pa!qjh48Fql zr#Za~c|)9@K@T%}tT|zVmvT`0xoo-4CJt`#w-eV>m$`2u%fsPC0X<%7q%Vbycv&|` zqk)!~*SjKQXjedn4wQi!f)N&4Au{NPD;fNc4u-zn+YV_+MLH4V$7wW7FqMR5gI zl-*um1`Y3$@96_p&TPkvH3aDnFCRbf)Wb(31}rYVx5t*FNcoT=4Vpx zEAnEx;ZlDz(P511acF{~a(Gn8F&P#;*(9Aoj)}#(z~Hz1WB!w2@gFL=LX>spO-@fN z;W+Q9Qg|shTHr=Ecb0=DC7Mg*|24J}b#W}Rf*6<4>sJX+{4y!lCl=XWq-|G;#n@`d zWntdc*zRnnl~)Trb(usuRul#qH3YI8yISx*Y_p6`H?!E}3_=9E`q z2jJj+O(LF-y)3^e*3+wR!zzGlv?v+qlu}H-KZdot;Z+}F#C9MdL4;)*wi5};AuwS( zg-lcUZ_6}(+$#B9QU}Uh<`*o}#D>Wi0tO_V6J#2f`4wl&3sEf7QkY^{lY-~4Oygh* zbbtaew^^v6_pTM~T3}SLvVis=&wx^-JOdLqOP;|^8!69ZT_;+k11$k*CMGD&&_&mY zTt6QWz?)Z)3Gn^@;(r@C(E?v28vq8jHKW7DfeuSviwWwFlHtNLE=q>OjFWPwoNH2U z!(59+^*E?y_`&0XxPrjS`@k0buMLKZBOa@>14v^@5M#mG7@V(Qw-IYx>y+CKJchR$ zK%5ka6l`V@A{qzNsGZeTD)0@lsUtIIb2+98pO&gmNr;vwn9lR?K?-Lp!JgH}>FvJ? zUrLiR1qUIHk>%``|mI3bilvNHj$=FQ+ELI|PklGE%vI5g>M<%_Q2 zb=(W5QCI}HCuN+161#WfSX#1E%Q;1-mT`(sE#VZMs!8NM0(v!{U!YgjoT66Rg%PqMpBoT9spvj6BWf=bE$?nVk<>+CfNDLgLe0Aeh{ z=_HyF$hHtN29=xT@>{(GbE8CuDi{wHNj?X5>ZoLVk~fvp@+7YS;eq_UIZS{KDFo4= zn?#0xstnlU#Fbl&urEP{e!^)$QkRIFn&eHEe9qtt$cb#NIx9)CE09zEaDD=NPBXd~ zt`RJiNFEN^r;6cwO2Stq|68jJL-$mYFO3xm)-+4Rg#wHy&o+L;+C8i#2X7LE-sN1! z$|P%Jxg52mtD|8PZ;3_l{_`d-DGQIkE-5I~Nx_c8Y9|^j3xUsZx*KRT(s4gd@gb@c zJZV5+#)R+zO1SLc2PP@_-hvwte(F2ehXou?K=?s!mEaqVOW|!f^G^8uKxo~=c1tnl zN2l>}Dz2!dTlRRQ-uKF9(R3&Z-I?V2Jw}1@}p3rGMw4m{Q zZQKe3A>fXq4qnZ_0ov9)j&N`DW^t`36mO)K7#PX(N=&-^7LjpA6EdP7W*w|gFr{{J zxlA5U2W+2xNgy)LfWxImPT5Ne=o|O=%4yy$;=JqmdLN{Myx_6{+LCW-BHr*twnVc! z{Dy(7%U=!JgBIxAzX_jzJ{|)tSK$ujxJ;0Z?3ByM z0q?=49UKy#?m}2hu&`JP-Gs#9nj8y<>>Ui4gr>pTu>+6tO+~~T%y?FZH{b`WnNxt*#3@);BXa^YPYTy*efs>^~^BpjsUHk&Q+rcTOGy4H*V?UquJJNR(L7eR-eg1Y?ReD7*T^*Z-ASk>LOcHzUj9VT?s}Ok7B0eHl}lM zU`Ti8L)2%?!GTCVu**Lh^Vv}e_ZW}t#%+lg5Cc<9fQT_AcY7-#(gz@u0w$zl82MW8 z)k8G2;M;BZnab)Q=z_^%zkn(+IqfUG&}gDM2#*Fgd+kEmCP<&#OhIH%A2I?2srH-? zJtl%H;L8qg34}PSmF2!bD_r4xAGk2!L~t6f?1#C;C)@M~ss`L#^(KHF0E0cKU^LMX zi}+GlS&N3!)SWz$;2C3l0n(}ht8Jb{jQb@8!M@c=?dtr36S`JafCGJ03hBm&7W~1! zfw|iPyfv9f7)vg~(l96nGc$6PW-XOD z3+pd@M1j6RFAjAZw}pB!aKd^(b3j0<^#CY*@SngB@n{gjDgNQqMgkTD0*e4I^{8#3 zlaEhus>FTX#L)!<%oGcUv&eS2({H39Fyf7aMfbG%Nq7l~^!M)Fb;z=C}oJqidG(-HU#IG88mQ+$U85C zMQEsbqaFMG7op8 zJlW^uSzBa#NwKa>;b&QLa8V77AHxM)V|HOtLK(FZI~U+ak`Lq-$wk3F5LQt#*9sQ> zSkDDvCea*^0EjO-)e7)d8g@6}FC8k}36`pWBb0nd-`pjP-%|_}-7Qj}M_`Jf%kLKH zZbl^xD(<=)*j+~B?iRjuXqYj2JUgcbAgH7_?-qFmqBLSPMQ}XK6mu%z_z;j;f8781 z^y}S1s2L>?@1)pUoeZME^~#~5byiI>d~Ki?E*5OLGkl`@CEYqyc%e%P?7V{%9>5Sr zE<&-fc&Iqj&*2(*PmW3?{+2NQtaH0G+&_UM1BM6RTByg^TZ6@>R-$p3BwCGwiCgjg z)Ct(mV!M*;Q`mYZIBvLoVppF^Hrl}n#_%MbO3S#*IBZns4uWLC!^_*5Vr983$+3fY z_<}oDIY&>XJ${2TeiW}u_Db}uO7_ywp~90N9=yFySkS>fHM-}+=ZSRsZ5Yn1q()kc zWBj?zG*|?h!$sEtC@<%3B!!(&$4M&ke#iLELn7RLM7Je1-d_xtRKmZf-y;&UrsDL~ z8fS@JZ1d|K>Tl$`N6f`J*IV~MtmJd9e?uo!p-8=lCA>fZ8YdaYzkbvu50m856Lr)z z;c$fd16A{t-ILrDIL%d@t!r3=BtPt+bc&7U}1%TsEPt^-M&s6L8Pr{G8|PO?8~ z;chyhhfTGPTBXqS&riqv;O-%Pk~HVTz=cl7m?ETlGA=+0kp4o761lOKs*onZ>|E+j z>NQ_1AB~4~eb7iKWiBuAG?N9gbO zL$4-vQY>)6O?i~2`jaCVxpv_J#=(LSyA+yjlsGZ(sm?timsmQps6obCU!<1W!8$^1 zgvb|A4a(&bN1aelM;vw57m&9kFPjz6@fcBHFZ#R__?2P{Ghi$M5RWW%Gy?#2bl`Xc z%!+-dHTVKwS?M16^+ammfxx93SmLNqz=3mZ^nqOI;0U1?pQJ%PiB;evAm}fq-!ba@ zfXEE4Aa^|=`2;VFs$3W&`L)zlzh>pY;_XpS;%mGL6|+@6F9)n!SBz9k?2T9mPRXDK zJs4ibMm&h4_)@BV5VmyxCKuup7)eS%&A)u!&MQRV6z0O9{A)2Gu$teP@Qf4muTkpP zu(~;tl$esHKV(sooUXrjXx{VBu?46Qp;X1P6BZ+J1HEV@jtNQ)dTx$r|L@{1_up4s zM_|qYK{|?k19uJ2;Ht&8nlT>3DNGzMa1yD}=e6BsE?WQ$Yo}z&;R6e7vm`tE9W#X( zC`)L-(;~INTBHB3+*qFUoRfs9W;RH1$)OU&70f$Cf#zZ0{i`L(TiR~ceuuQ(I9+H5 zX~LOgXC0xD>2*5LQA1;Imtc-kc=5BMSw%EzRJtSC$J#cGZ?Kw>2*L*yMYf&E_#7=O zD~x*%i5#U;COB(}(sDw@x|?M{=w)_s3cU+d%KMTHztpiJ%(2w5R&WX(>v&F~Q${#s zsbfWaWT|5<>_=IO(l~QN0OVI`@gqX_Na>4b zzx5}%ksF(XZI6gfeee-Fk-&H&8VzJ~XxBI=#zX^Bp<{EhuTO05Wb9jM*U0+<9+^5C z^be79X&{O+wp7THu0GA;eiGZlo&+y%k9gfKRiJEP%y4i@j3)kTs<0|Wcx4CGT_rO5 zNyz1%IK`VLX@z%aDZV_f(}Ixy8*)z)h#(AV;`Jr4^V*$4svmnAiAgl$g)Tq^0MME@ zGs2)8Y2vgcbOH?Y;{8>rCH>^pUmWy@e=Z6Ctb=}6#lfbJ zuLfBfh6cP!ia6^uH^~=jSY+8DUu1_~a1&FZ|2Glcqau(lM+#Mh6mwSc?>Q4z!U6&80G^rPkuo68l+z2NMRr;#>my4U$&xv-A*V7%6!?LKK=(l%@O75T zx23UnFLcyfKiRAotS(gwGyILML7|L^cp<^W`HECYs(^j1` z@FecwDTbh=tdf!V|Br*u6J9D}ICN?7+#Z91!AB^}Nb#QSUH7G1tcBG%4KROUc7On; zaI3*2Yi~>km+?z(DAy>3_4gZ5k0N!Efi-Gl2F}9lMkXJDX8N&g%QH}LkIypXu_s;( zwiF*#FdS=`6LCn0u%u?-QVwh38O-H)RSz?=(4?$Gdx39j@oi(oH@4hCd{v0khSuMQ z5!sLdQNyf96B2&JU`4-i=?9bv4JKlw;<*kL$ghZ&Dvgj<@>^Wbv)-=Zr(@wZF*A4b zD@^cmE&#WH`#9~58OkZDZQ>N`$a2MpC`Ss8?5eV?b%oVED7!D6^(K6jur{*<%59jp zZh}D~3q6)q8xDgqL+q*wktyxCq$h!7l+2ee&J4d;E?=y*h2N}_Z#LRW{J~O2FPKN+ zFpHPQsYsbqm9qXC7bC0DiE{pCFSNG@1Cy@{?PqthFA3zh4$5_g7j!X~PsDI&Gn-Rj zp&swKvhn=f1ZTGBy;*@Ylb0kqJ{A|rq{yC01ItC$zbkuY|JUU9IY%K?2HpS2>B)Pn zQ=7h?D7P0s{wL)2zJFS7XB4xn=ujJyVRh;Nzr>pwx_G?EPON4GbHGhUfLYx1ALMl* zX3Z8HmSlz2>E3Z-WI-d^j9Lbp<%@`Au$0s%L{^90fDrPoiw^*p?i>h@iIXs1A9kP! z(2!N4PD}>7z|Rai{)A|CGnSb)_6&7Gdf<2niaohTtPC{j%a%1U-PZ-0^=YA3_3{<2 zlV$~91ytj`&n#epxXL59D#89ZEs|yt0D#wctOXEpK0(u{ z;J>l}{_rI3Ji^)PM4|h^-&jobveBP})i}pESFMN*kR5C6*st&=1*&Bx$?+L5e22o~ zgk44~-$#L)CKl`2!w$aJ$^J`~J>vi)n4=!Tt_SL74-S~5Px?4oFcB98>gdgh!j~Py zN%S;t2;iiial&Cr|K}t7ZiUGF9pF|5fJ2N`D9Qi#z-bwfG$f*3@+gMUyVXMtlZB8L z#=JY(R13coK`@_V8@HHJ%Dq}BO79f z%jl!Y!Z^1y8`?b?HbNR3Pi2Nti6Zi>1*uDYjl%?>Gnhu%K9{_1A0j%||8qQ4s+%ah zzcXAl*@5}RRac|R|2Zx7ocg=8R1pBKoPjI<9|M;+O|^$c>~=oN{BpGI&04QtC@!?@-! zs(~dc-_Hx!e?#<=vL|c3{&=5E56=^c)PDx{$ic3J7ZU0_9e14n3!BN`mk847vYEp8 z9g1z1>qd40FB=?O`hQ8VkXC+gBJB<=XNckr-u^#^3oOW^!lVHh2`fUPv{zEjs;&|) z`;H7blDozrPzj@zmM6h#5TL$l;^OKRi(S<8$VKCY-t5rl^yRt-o`!!QxBk zWaA_&g}~YOCf44|el z_*dGX^;T_Mb26W?NV)R=PHCtAcPI@)BVcsVbOG%PcrcZ-GlvE;)@Ml z1E#)Dix&SmlBZfyl&CD6(^Kd7tZtwML0 z5b_peGvehG8~uxdH!&gko!(Q~lurllglB|;1)@6?XTHEiT5mGXmJ9E^bHsNeO4%+Q^5`*s#<^WH zr#QE3;uJ=jjhy0c#6C`OZnv9LoZIa}$|mOc533GrP14k{^uRNsjjudEctnt5EiN!q zXYC8rwKzE{v^VF`YUK0pwZV*@^)`VBp+;w1f-!J$HMq4wcu*%xYq(*oBg|lc-^lGb zY#R|%FQ8D~op0qUvhB&2$8Qz#j5p$b%uDh`#FY&kX8Owv^aQ7wu=@y}W|s3$AY~b+ zK*|zMfs`6fft2~20x8v;0x4CT0x6Z80x45Dl_O_+0YCX}fjo|Z9g2maOu6lI@G|C? zrNH)a7(posSIGSDf@@bVh`^B4kKXL=HO6F(FG(UZ2)2MiCMCBSEPqJi;vTg zH;?V)ahE8nOoD-k7j#>VNYP=wic8suk7zRnGC9Ip7h`e}cVZJwsu3;xyFi_cCf+DB zZYq38ft&H10ypKH0ykxx0ym|c0yoDvKXB8`DR9$-l<#Cn6Jp*jOOjy;6-wjhP{@SK zmnB>nyQLaVp~au?8-NeE-XZZOt!CMu72d&6SUn!kaF*p_`0b3Q(p;Qk0i(%CFh4E~ zcL=p`hy05~i|eFqGdje!&D^1C1`r*p;uIaKO$FoKtkD45_>x zfdwQuzI1$%@W!(pzcm(g;Bif`aElGO@ZoYWUHmMJTI*@(voMsy^#~sem>Y9~Gp0SB z*5+8sQ5%}UbXk)Fp@o%%mPZJfiJRS`b=`83$dJ;IRU>>tl*&6LVV@A4P)Wc#MH;7^ zi`v;brBN82%=c^H!?9bWbqX#WSXyrBLC-ReMptnaAxf^8Psf)CjfO22Zmqh&5-6$) zFkj;=TPLVmaEMJ6i$(8_Si7CD%QSFWGc^{TQ+!!wy!t3ck$1|w^5g*+T&2s4Fh&*v zZ~V4ccr0w?`Pqcx-^JKhkw#}Q>-jfO7G=;QQC7MLC_~Mb;}J|YiJd=iR7?c5|@Kp0KS_(I4sP#Dxku-JvQDNA5hsC950!B+F5kr(Pk;mcwLaw^naSwK9r zm2sxQ9K<3fXrRnBEKfrj$%L#{NrSMpnlG7^ovD75OSZ~|3)KH!0jnL(Z&{kWE4Xb5 zGVV;t5ofg<-*Li!zB1)e-;@pR%JXFbGLSm0k_!jJcQ#v!-@m{W*K>h(w% zvZWYaWcxs8mTJke*YOP+8ul!(1D<5o6|fK!$+f_j@va!}PQkmD72rL%2L9LNvk&U9 zeckxL0?#+c@VPvE>y9Tn-hhJz&TZNoo$xDc^VukvE86=)o^5Zw)=b-%3GK3a17-Lg zP5TIo&-P|LUwqDrHVeZQwo^=0yge0j^YR*tW6vtYaD0M|hC!>z80?v6k8{7tbqWY4dV%asE1K$sSR&JzON@KIO(0C*H4kWCa}g z)YGyRLeI}&i+~IWtS|^j!_)!Nqqb&H1;F-wg|y|77Ns3u775-OoQy*qz+M)xZL|Tm zmie=E<%9*XfUbKPj(Mihq?bij>KG{cWK<>&>*Z7zrO?Wkp%AO2uU;1CwtpfPVFP50 zGoTLUTYX`|f$g$75qaS|7=C#L$WUe0+{w9fff<;pijRvxHf+p8ka4>yA$GndHvEu$`TD}aRm5gSK6J8Dxumgw7Y za%F++yX^8VhblW*1=@t|aJXDGJhsVhG|F0Gxn)aYnzY)rp;P6riQ?=K_K;VB78p5j z5QMKEy(WfbN805?ef`TSu_IRI<(m4uF7AN8x0=`C1@I~Q<#pkQtG5wvh|ZmOl3IV5 z^Xv~6esQf!DsEnhabpCIVBuUYR)!14?{T!{4LD|8MV;OhGwqFgX#JZ}zSX2JH(Wej z!@kw{d`X5^VycJTG<{KrBh3kPuuk*>d30Vadg4%V=xWgq@VvNM^ntUvpH@RNJS*8m zIo>iT><5pzN6}j%Pd}C<-GiVu>plBT;Ydli1AdHde@pZzz+wVd=<=8h*Fq836IU0! z3E)I>;vqcp29=hKG;-+6w?w)!iw?X6A5P7b^R~##`VD1q=|%BEEHKw7yby8Fn2X*P zZSyf#5WjR2g6v=_A=gF)hFyp&2oF)o=GvV!{cX_Puka-z_e6U* z2)*V#abCwo^H5cX_l4GJ`Tkkx3tB<+B8mRBh;0n?%lQ>& z!aXpyuXb~$V#=IObs>#>Ux@y{gc<aj$OQOpk5zhz*f<)4}sQkGzCvBV3-UzE|k1Do|lR^v&Bhd^8JUB zOtRO8$mHx3$mE)}q6Zk^w6&r`9PY%SOK^=y4c8c1v~w-I$u(2#I`m}&6|NI`@e*wu z-l~c&SqCmTj>fISNY0{~b;$cOtzU-${h1D~1E+7My!Dc{d#x8n+8Fjj$ow!kfJ8&r z!*d$Z%=Oas_Qv&+7LKk5@&8K3N1|6=fF$5DF%J7yFehsg#G2KP61AEB{t*furWGH7 zw43N#PU^_hAlmXoa$zE!*C28Y%u%?ZY{AT4dp;Bh<7(^ov=6dT>pSR&NlQbm_-H!Vfg;V{oY^ zdhTPOw2r?27%STf>hg&=!yTBl_k994n!i%bC!)R4qypKo&`{W+pJ-XQIgdlhXhIvYLTJ8ux)4csh@K5*fK zfST|=$}%DRj7txp(t}Tobl?-^FEr?s7J>!|i|E{LK4R4u*`Uw^ z6NQ`2TpI>fQn?w36w%6jb0I)zivS^Ww%|t3(c1bg!lh)KeB)!)SM=3Zu}U4K^iQ(c z`|=-J9Hr3GFGX(0{K3f%#f~uN))#zpnTr*E>E_ty5Q-GG;&7Q=2b=amNiIs>F0x47 zCKjcB1Nv%X9|mzS=$iV2ZI~~6>F74mMa+lHSp+Y$4uk-QwQ90maX@&(vIu++*e-J0 z!z&7kxA!WtO$WzNXYR)tqzAU7^YCcB*h^ElW13Xby6xgl`;KbrzC$qDja|am0%!+C z4e`Ne5^hO{(GI^7A+*!_9iWaS^!*N$pEsQ@|4Ovip0*%_?vGg=jP2!u?Sgv{n)#Ku z)BQp<5L`@W?hw7`+?^u%lnu&phO~-t#wsQo#8VZ`+9?}+d8gH&_iNGK{`7Pj^tH%D zJ-2?1*OTT^!`GpHF!_Z00SEawPLS1dcr=?SpThp1g6?JwAS{;sn=heJyTq(~>7JFh zPrrl5p5KT8Z6to-Xwu0S8l7f5n`_z3Rog8KVa3MfZRX1D^xQY%J^P!#(gWW{xoT#I z#8iB=l}2m66;GYg8}UQmfj|ys`D}8z$IwDfnR1jm?-s8(r^I+2wEBEUE)BiK8C#qA zJzR+cCuMuY#q1gTvpu3Er@!tIy`Tc4Gxvfee@G+t3U~yXOVxY90^r^AqrGBGL2X*V z6DY5jJVW3DU)_=Jg_gj@n-Le}&Ik61M)yanp`B<&b0_GTv~X~K5>4DM-bSOB{eXdZ z?GU~3gB*zDAF&wDrqg~D8SLpdi25kkTfv!Y$eAlqKlDd24xIhSk3tVQm&T2wHfVnd zwQ3ZtulzJ6z&sIe17OuqGO&z+TwVb*y4<) zj?E%3qdWn^1(4U(-Vt9q@|VqYbF(-H5>ZXFD8guc)(jdr&W^6RHFF1chFIKC71sOq zhao*or;@|)W4)i=I4sVvKbk^^4+{}Qqjm&~|3W(J2nc@?-F8G2$5y2q?qX%PLKP3; z>g|dn5Sr`gizA{lqbeNBJo_jFg=gvFqrw{~Qf8;5cSUwKa8e5Ll~Kh(>!9g?fA2*{ zF`5f$^HI^lJ}HHU->hd)_6=#N)bbdF9YAqR6r{-u#fJIGB5>ap>iX=29W=5vNyzlpc)RnJnd<53&PV0CXs zP?I8OF3)H3$NKD372a(C$1Hx!Z z9g8GnjBm1A?}S(ord!uR3D>)Io-?zpmkn;c0At_e)>*pCjnQv|x8SlE{XE>mSsSB2 zhNdoy)r{j%F9k#(f8GgVLWu599yki9qXdhrwU>-R7=?HcuSIVyT(=lngvo->B z>B8*_b+Kh~i85FDoLKQ$f^eEUWF%XQ5CYO1G~n>4`Rcm}is;W$+e$$LWRF93T)?pW zW4RcEE;i*4y#Ur+aC8=YW}b(m;aCWF;P*BwKYagKI3(FnIQ4tScA4tc? z`)sVl$Io&EQaAnR6fR8S-w4A7e?n9}K%WO^yeww2It`azp+n;uxvZ%Vkxk0S@_56+ z?%LRK6hQ6>C^1OPiC)5v8~h$;cJWAUIIBa-<-I%#vPGQZ!RAA1^Pq!Or$``?&4wmQ zsP00&-u_u2fY);u>D^-FITcQ#zPhS);UGS$gn|nzm{Z;20bcpE5%-nCZ?}57LvPMt znD+47FFj}ASVQXf9O1Xy=x+n{d%(LsAE*0az4 z&DQTYkjU$iTippKG53PE3f@uiaDhEb&n)udrORvuJsh&Fh8nKO)*6Fn>&N9uzeF#D zP)PGeBg*DAmtab-V7khtXD-om;DNpF68#?t7ue@gy(7W}4!abfjH9Yc_3ZevR5X`l zGwYwGH!jun%vWMf)_@i(EDV5|GA|fMKVGWe5kPzyU4NPGNs)Xr&HVa#@W(7{3(79j z&w?;se;H_cKmBl-em%CL7hSGTz|)q?^%0?AQy#6uJsA(O&{ujNqeSHck*XN|u;lJo-*qf55??avp zI{zwNL;JT}r9XIDgoaNF39&4MSZgG926hFc$9Q8Lv+N1{C0?xyA69IcT@7TGNBcZF z)?h&MMg6bVJFv9)(AD}mXIM2bGYI4XkvYx%IJ)NmR;9`S-cf|xks_j{UORNPUhF;y zQN-Ls?XS@n167-@(R&onObCHR3kE zkPCzx_+*VAss)vUZz0k~ku60%MAbLxgP`(iyh+!btn#Mhn=$BH;w%B;(wp^Mh%Uo! z)_;J`?uJ{i6jso~x9C22c>>Gg3b6}Vbc>#w@Fu_DKHc~GrykYUW< zq=}4Nx2 zP^3s|l4|N0oC6LVqF<{lpl65ZZHpmCIaogqTN&vpd6mLvxY)EDSK8}N>^nu(-ToK+~3@@}UsHV6E91v5lyTQ;V z(p7hZMNXuD+zrtSH^J}L*VxB?PY(>$S3<$iahTrVE^op-PN%;Q)d$k$!}ZdRqf-J~ z65tq1tPB+MAZT13v+yX%H5qZfaIeP6`UmGd`cV6;-_!l~;N&?R3CM0f^F1xNN52BJ zc=R5Kce5$~UOltDq&`ba0Ky4VU$CuG-Wa>U09j9P%AH*f17WeC?Bf0v1 ztZ0*I-2Hl95_$$h2d;`^+N`)AOJcc7JMPyvx;HY8au`SFPJcir`#6FojKSbjN~mOZ4mLb=Z$(z_#3M?$n8OIM84^X;Qj zXv9c850BFVk1vnZ4d`1xAE}=M^yU5?#85$J{as(GJV^)sj=t|D-@_2(_fo~f`tZyj z5;zVLF1^4%w9Bl*c05M?fwCUaFTg?NO^<*F{Xioh!P-29zIa66?0)ZiEZ-6@1L=)1 zX>LmL>o=yt%Eiud6pJNLv#Q7GAAT$?`{)%vK>mP!^6Pz+1JtQh?~128OXbs|QVa+J zRP)OflsQUg4;$x<();oraO^0(7rODzD8N6J_Kw01W-28=s-K24>%Ncbc>@lx9fRL8 z$l!e~NJ0Hjo?Na%P|;`C z9a8A<8z0rP^2V}2Cbe8ppC&F=& zukEbYvZ`00t$us7-m*JSYKCqfz=vg<+s^mu8!ZSK7M`1CQwS8a#HZf?#V7-j%%c8f z7$xkw%k*OVs8sr*40O;;N6K_9SN6p!9}_{Dfv%i32Gli+t{NlD*N(Bu?;ZpGF^$Ay zdJ&TTk6|`HO?O$zq{lEfpQaZc1H+k5Yac_-59#=0Anv`?c`St5C+Xp_`WQUf%Rz>3 z(D~&U@%O2`TpxjN$IJD1aew9A$MtIxWtQB28UN6VY{Bpd$%Kq4{+F29y6vbY(i%nrs}gWwB|JZksj7Uq{1ptGFk{js`V;cu1(k;2W(eC!yEx#uA-c)nVP5R zFCsGH;_2XRW9hT$pv)YXQJ6xsd1)07KfG(&cc3e6;;o|{C}O^o~7RaqAjQbpKYW&sxUo% zpovxb9Q$``sd%;?8I~=Mbp75#Ppm*)&pp`nhh}AF%wmAn3?+yB5 zj^0IilTzmD4+4Vnx%%A}{IAimxtK|-sJI#czfJ?Ibu&@+?2R;*>tpGSYTZk#s`X2` z_&mLp{ZW;=&BKoKaT+>LFGQIc^8oV(+BWb1(e^FyO%>Vy%}v|1Y0}=lOPfj42T-5| zAJ^9#soQ1zQz0Dr$KMMXOY-5*0NH zxKUUwiu(Vaxs%-7(gN%L{^+OoX70>#v%+LV)>gPC=@g#B?_Gfgd6frNxPHt9_d>UIB6i-A zNw0%Ov#DS5mm5IWyHx%~16E4E@Oe+V#`eZwB$N=i^d8Jv0%^qK7@>?o@y1QZpD}P9 z5C56}e$wSi{5lD58Be*I9rt9=XzsJX5bFSc|0&?!%m4EfTB4Endm7@vCfM7$ZpMhc z>uGed{rt{GjFA!kP9s{do;y~8TKoBgm1w0;xNoIvI%eSAD_xp0SLK6NxvsZ-z?ZGU z%(<6$ta43E5!;tmC>8oY;~E3|f`2@Nc6ov?dj?25`0i(1r(jR_=m2ut%dZQ#rWy&h z1w?|JXGMZDpA`uneipKLJ#T+j6ox(Lsz>Qxdd@W@2OiEOi@>T?$Y5&YL(hY6zvM%o zNA2$5|9IY2lKFwtlb#0KMG%2(wV*zH_<7eEh2QDURcUzu3htyibtgpNBy~PdT#Xtx z@?%#+=4j;StVRoe&u?4pnv(PbF7;l*KVI!Rsqi)0rx1>(XwMHB^oEZ%J=TO72CdWgMc3FW8uqjZRvRe3Fx<0|M4s%yr3%<5fJ^R_Qn<#) zPB**+z;fY5P;?{T{-UcdT^%ZK*A)v6y?8!c{fG>GsZ_kumt3cN{U6ok%j*n8IOJWY z_S6SYeQ+}_K=jz5ty8zqiY-kBX2L^oEHGUL<`j8yqJe72hI=oPv=EMCp*N|IqFLY@ z5m!lrmO{-Hru7BXUH5{~`M+OsovZwA<0rq2UcH~+_%bH{M!x7}*Tp5XzJ*SdhJn?% zD-1G?$Y>oDgcz)`##CoDx!1ZB3-ppDuecUqWO)7+sCnMwKfU4_kX;Y6SuD+nHpswP ztu?&Nhrj9?sV>9^p+xZ0HJ<*L`7N(v#Q&8){3=G`Wqkjuu3L|ul|r2x`%iR<2DWVJ zO6ml7j1$&6im5i@oRWgn4fG4H{FxH;0;_Hc~ zuTnyQ7f*^VG^8~c@hzB81^3sAAJhjsaF`i9Uqd{x38H^JFW-m>b3Z?2qw6fp&;E^& z+3Wdx8?olu&wrwCpK$jk%vMkH6F0g3mZ#f&0)hq;kq0K0t^D;(m^1hCf_E{rJit$R z*HuL$-_7qr0{oi4@GeG&Api7TFy=j6*$f%=2|jo;wy5Mz&N-VA;XnMg%>q2I8Qipk zzq{F0k@r$!ykQloOTo3xJZ%f;w3nZ^1#{H{eD)R$uzUIbEw0M*sJ_sbt3t|YfVu`# zyP#b?WVat7=fKOnijIV_LkrMnC>kh51MKS5CxjAWwfL^9XUXfHE*|XQ-d2|%tmWAX z&aCItwql@w0peDON1yQZTcP3kh0lJ^b$*f0qJAM~xxqBa;Y?)0csLcrD{n0-&ba`$ zTBTE&VD4Iqn~kx(DOBhuU=GJB2h3$9vl91A&4+)9(>3??TEgkkzH%Z`CS&_XTt<$i z(WywI4}HXzyTyj<6{Xnvw}6k5i7`+R(xf9bf9-wOct^ApHDpEMY;zSP zQqg(8Hn8N|{H!+A^DX{h8``FxztRRFVI2>(LErp3|G7;lyZd|qHu-{|@_{Qv^D`=R z5nS%-BfUO9kNeP-o3ATCt`SYL56+bAASni6e#M7ih);R#hpzQlXP&psHOg_PB+Mo% zl7AcIlX|{(8~RN>-@DBZQM(*Y4Ur`SZuI$Q>-L%^}WN#ZG&?=?VpE zZHpex*KG08$Rh2aXb=$ReB^owBk0)esOx%u?sk`k$D-}fZ$7}CAA@@z;G^}&gvvXeja2`2BSn|6QVO1CI)f5i`c z>Z*uS$Rv|=+P>FyJimSi)Zum98ggB0+qwqTgK^M(VWFw{GVJOz5{n8ja^N0|-o9cH zgOx#?*$93anj4xm#L{KZXRi9(m{o_~g)t%9(1SytxrSy@O9_+7ByAxkdZ?Cp@6Sb- zp7J?b{0TnibJtP15UMoz-|R=y)v;LkidVkjbM%B|eAnl$yD_%j@CD?9bxqHF;ks49 z)$UbaK}++Wub`zlmMX${`PZ&7{obN=hYu6|+w{^(q6L+cG_5+vW~U+Z-e85hzINRU zf)s>ZGn54{@Ofd^x%f%6IOh-10tToUL7|=k_`#(hjqbE>uq3YIUw`A8k^J}zXoB4M z7Wn^&I+$Oy%XN8~ICb4q0d+F*-Md^NWqUK%~7{K75?N`h)9p zWmPj@vbWpD-ttG=`ICLFr-r>NS|XAxS^|1GbVGEJ%?OP)Ul#&V7kT+V(EW-wIOV9# zS-RYTdy0=Rb<2;gtFUi0@+a51?!y4B`Uy(cO?=Z&uEN7bP3&~7?Yl*igXFtLxp< z(LOku~6# zBZ<}Fu`G#wg~$A4wjYnVHg-Cqd|+d>`1SV`_7^-}O<_frZB5%#*a?>059#(B3<@fi zx5?8<%`jbU=R@rx&kj2qo$*nYSeszyD8=JepKa=s#{OinY;U^3!M0c|A2&@*XPHXg z$62LLvRRUR2OnGOREAlTIQreiYM8K?=Lm(5Pk=*Yq*zd9XK z9&Vn&$8a`tQT38?*~t(dC+D(WI4fP9%ic>Dg(XEcSyz18baEaWV$>i9p3l;zL%Wei zzzg!(a%6IJ0UHV_>WTtZW!cg6NC8Wyte@<~?!@_qqYBxZl_Jj~C_-$W;_4Ez6M;i| zkR#hutnSF7SE?3@I9mObdy3elmJpv?#70{_<8Kr(&GHdXbTQ4{o<-Z~l#q#p^ghDV z$CEuBmD<6vC3-SyvC73tAicM`*i0mxz}R1r+hWF!L2e&2cKYzoX%?_)ie|+kO8!XD z!2Qu5miR9g{R_Xq&GNi5Hdd8JY@FPR{}Gp|CH@OchmB~5h0CHnG@7e|v$1~#Q*}{_ zD1M>_eMq#lro61?FECe$M(a{$QwDJ*GnLs?HBbevbEDZssYfkxP&vCJQxenwvD7`6 zInf*~t^%m^)kY4AIbK{7Sj;4dtD6%4#ni~AipHvD;nUnKJ4*CuuwWij3nXiBy&olv zscI$=Q`M5<(?}lE`LYY4pw^7#Z8ax~YeN$`Ol@e5CzPq4CSHlMhpr>Zq`sd;2=ssxysVLwhd7J?2YtD5qAbqBwwH*+14nDjVBJOUAof7+Y9gf-~HeOT`k zXomAl#%-LWn&^b$2e)ggFw^KFyBO1_n8;zBMze3ar_@uXZsJN`wrtE7VkX1E5|T`H z34$_ipuA|m_)r;>TvW+3D%cXp7SC0%#WJ@xtB_4|glIvzwNq~Ghs*80e(Z9HfBXBf zkCbo|Z|lznj@v1UHz#`DGP;VPOlz?4*J_}_I%E;Y4`AnItV6TPa|*&v;OPPEI_2Fb zxu=pR_*E8SpQ`3j=iuryS9>z#k%OZO4g^3vGl?U6qiWSyrnNgVZS8IS7;f^ zf2(A!5vJu96|{v4+H$ypPOf5ZWp+Bhriu-KBDlVa^#}SpRqRe>Lld7okmaY>$5uDF zasln)3kHf(ZXFmaWn{jk)Jdg;Z^vjUp#n8Z$p&>-Nex!D zTMw6d^kDWNG%Z^Pvz&sSxRw7pn5{aet5`@FA;Jh927{zlAuCc>Ca;*giT8Gc_X^d= zxn&4jsqA=x2Zpd$j_JBMB#a2fjvS6tmk(vbyj|8nl)95r;~du^S&~X9)>_a~VcUUj z3#VSG>bvzeW+6r5a)j%qXPn>{`Zqd@aIOboY8R(_J#I* zEl|m(KS<~?=lLD3{sZC9TS*JP;D zpkeDs6%&B0okg!*Hv|h&uC!g#BfL{QQF>DxgsuRYr4<>$@b$Dt9sN)CH4pF?Oi;iVCSxUYVlk38H7T5*p#-s`~ z0!hP_+Ii#(U;BvfKaQ1IhH*BQjU;Q&bH=hOpz?ilEb9$D^*3X&xch}CkAt*zKR?6@8)9-@ke4q5R6jScFr=Y=W_vaC&mBCF>P$Y*FQ=iGzm z712rMm}|k|Mqw(_n$~3i>OjD5<3n{CHL}<-x?5I?f7j@kdzVPRhNr$K0vJ1t+i}87A_9VCSB|Tz~yKI-`k6gy@u^ z(-C zhhUm%f1?>UAa~DXRGaH3v2)0-^xa9U;K;bFmNu4a;T^N*Oe;^sSoI*Ec49P7hoFZ; zZ)L~9(`6myS=VEpNWp_AVi*nc$cb#gk(IN7^2AlZhbZU8C$S+@!%@~Gj|Bf!9}W^i zutx;y5s{M^i|=oA*T)g|w*ci%*8z7=XXMg!>B+1@v3$etJ(cw;>|uzot8ekwPh~lo z7!t*vgue4cZU5D&%%2F~HY$Ji9+t}=KaCZ7^*!Nwy15IpfCohos&QnlljaB++)viu ze%uAtec?qe(o%uh?a5-&J|m3SeD>NbQVi2mW);3hn5_8$r@u1$2$ zLQo9gYzS{YgPjPw9?O}3ppG@f*ENUa>&wn$S9=$vkPQd*9Q0T^`vTjac;8bVv}%mL z;D(-iHpx-y_Gkz z`0E95tyX^)n~$YIhfNu!bG@+FO@hU)T^t481P@S9 zbi%9z-O>X$Q*HEwX;v$B(>AP*Q`LQZ@L$-qFamkvFUV~jZ~F^$`!DjrQ`iN%!RCv6 z;S?4%>0N6np%d+Nx^UwZRtT%6uclxxV;%2xE;d)@@XOD|KEX?T-nr~-nDl;jE+doP z)bkjb^j4mS&4*X{W#?i0Cc;;q$0}iuyZt<%zQ)u33e8TCpYm6c{K~(wlcV;yul$wu zJ$|i_K$~?BX0j#3UUwtZfll?6EVvNSeS_!=MnPbVV<44Ha461g_MOU3g(btxsgUxY z;B`|`rX~F4smu-d?NizC9HO#z02xBM#9unHxs{il&ql(M>#yfy>*)!8z*HsP$ssV?Q#3&0;w@JSc2qmcZc7l`B!UcicxZp{U;bZf0R zI1M{AkuC-4_99)>P|>kHQn z_g};+a41wiGXy09ox&a_ERgt?i&%N#8ez;#$0)%{q*fJ@B+e+W;m&ES0PDCu)3DIF zga2(B8(jK=hz)wn>zI%(nksr~f6X*jl5ZF)YwfUFQZ$?oNrpM>o@p5Rmh$Y2S?|6p zq$7%p$Z!eHx33nB7nQKFa^bhB#V(!)Zwx z4Yc|ue(~R+LVSkb^EY;KS}+2epmq48uI8WrjSW&7mhkLL*rbvrLUD(piK*mNwSj(j z;x`C46@70O|JNm~kj+7GRl;l7XPBWWLN}oW!Aa?KmTn$@?h^I@41XtHind(H|9&ZO z=ko=ZGNyd?IuBgR`iu|`N=0k<74-!%!vvI43uYL(FpHjR*N?Tsj12#3x#REb6LgGk z|ISXrN^{sh*r<$M3FLQ0m|kIm`HkQD5A>Ejd=)+J<~#lYHhht%T*f>wqwIGX82d$j z+GW_=+r#g>j4>E|ue=Nj)&u;b%dmRg#DBbuMU*dB@bKk~4x%lt#u~4lZ>(ltdBIpP z#6F>f+?kNcnFVG-df2JtnnM_J3i~b?*;XiLVGv6ejZE>#@U}vkQsThGoC-4DoeV2{ zcuRL`j!9wwLV%SNJ&sA@2%&!b8R}Zi1_Do{W7B-_73}XgTgH1V?pV&p zUBiaP*>)vr3zzd**RVI~dy*~I`tLKBS!*(y6G+f7qyM7aGA3cf;@zEwvPtwunXRbppeU-Od$I8<{ zekgyy!Ei13({-$Lu*jB1cMB31X<^U`J6BEAgob6k zCdj_|h_a6pP>^^na)aw$qS5N4(sbz$Gnmwyq<#&8!kWVxy!0wLyjhH?yNF^fRxUl1d#tl0lC>^ej?9X$*E|7$*F7Gnb< z!sQ(N9wA*SO~!itM8XQNrchtw#49{tasMoqQ>8m=LMc+fo0#fG(qskST!WE?#eriP zDKy~{R285;n+2+D>9Z)c^2+cLU%y-W~iS_y8|?QF1u zXXtj;>+j_gv5kUiUyH}DcsMOI=4!LW>G)KQ2mslT2!OvYTMz;K12f;Jd_8yIK<+s@wwLa$moP&BSXj(D{<1hBM!gq-AxqL24h@yO9sS zixnqtS4*AnFnr!!Y^$>7M_zR|i$697YuF!~rrph~mSeX?HTZG3kdX zFks@S2@T6O9FVh?rUDWE2gyH7fS2CKW*&pZOh(iJYN98T23p+sAuYYhxlctk4V2_O z!5oioxsUC4+z0pcu?*X4G2z|AJ8Ll!)$unLuxq@((cxic7)&QY7=pk1RrUGm{kk&- z42enFqHhtcDn6PDmOd!j!*}77j3qvr6MMu5MQfqlaw%H6?q@d%R$J+a$6vdjorR+1 zJiy9&W8)b_i9nPlr3`La!kKzu{!H^DxlO>YdOr05^qxlk&j;8-Jkl4U6K&hJv$#n@7v#$_Yj+6fg`D_Ih&7>>Hue_B+?Eb z56&#lVS_-WQakygig-lTmx1|I6=4g5tfG&Kh2M@eg)8jM?G``TK6naL4Hy8Kf;FE z>2Mu)regKPz{ySvV&j24Hrz1HOZ1kaLP8ZSKz7 zWf*_QkAY zKd_ixV%f<%7ejEX=fz7{Z?*xQ7$uJ`4M;SJL!7n*a@75N))H1`HwwpBEnyRp&wrLc z7QdgDJOOciCm;U=wvg`UH_$K6`4d=f-ObycU?+?|fO%Cbndr>cCmjdOlBlw~NygZxj+ zP>5yxU(2vA-NRSXuSNW$Wo%M3UZ3UAZ|vdME*D=OTW);WwH#eF%*U-@19Roce6*i5 zHAyCy6th>b%azUp{JRzG&uIC6tC@>m(7Fh+^Rzqh1vI>YXz}*d^XRl~r z1B&SUjHo2I#HQ6j?yzY!@I9WcKFIepuoo1#oL}}NyQT2X=xIg~yMeSL)eb)UDOQ#x8rr4>VApI_H#*h2bnbkb72%91%R$M*h(l*#5jGq@kAIqt zz%Y9A(~!>h^MsJYoj&ixZG={{7G@G~28E)KyqUE#l9wV%HVjj;V*(WFHl6A5jp;B5mkJFuc*8 zVSg@M1=~@qnScrV5iIU7yFo4k;Jtj+GvMS#zWEsx@oB#Q8Ia*_J}4l5ofm)-q>+0A zVA&;nZ2-ND^N$0F0=e&5RAvR&o`r7c89wz{#Qd7idRA1l@ma9?cl_OFSzV#7t`feQ zY+5bka|ND9AVO&exc4~>)A#U4pJOBY801Cqv`FkoG13U~dTjly5gR|H5&kE$pJ&JA z>-pN~3}TcsvG}Rump#v>D~o^SA3PuB%;J-1|*tputE@{lHpC2&j1snw)d`P zkKs|Zh7}ZkCwd_y0x_WMre3%k{m-ucn_svFg@2acx`v&BPPAnW8$C*o4Jla2FnUME zIP8Gi2=r@Ipg|lWBMpcAC_GRmseAbeFF@RSkYDsnaV~#tT7k;%e}U~PUH2U((=uaF zCNFBUVErJ7I*3dxf1dCh-2lWQ;f}VX6c6l*!tB z<98Kz$`UQgf!CYduR-;wJdbn8LG}tdJA0i? zPk!nECbm2tcoSO9x`)=WvI&^MP~}FO?qC9rgkj7gxg}8yVfba7&B9Vac<^b(ya(9U zWFbUm@yph+fqdp0>^!v2mN(edz#ID}STlHlH@-=%Nmw*o9v+LIxK429rR&%{WM5M%-Q#9ju{Fisw zpL$fP5j%_)KR{6r7*XAPK?}=;?s!EDtD?ew*uqXpL2`_J>MGuEJqF$9 z_(kg>RIlQ**P{?W@g3{g063)++{80Cuwe{CM2z>b4FTOY0Eyt(dViE(ya5&B{O%1< zn0?1z-T;by$J;kB_c3s~qul0klGGshaVcrOmSTiKMZhV7MU%%{=X%sz;l)D5$7bY7 z%sOZz%gZ;%F+NV+$o`S}dW^1^v?0R3!RK#c1-Wm;f`t=etu?7yeVto2u{@XY3H`{E zJ<=K$XF5qM^g1893FGH?{DMu4^^kRcBYj-f1{|?|2&1fuqHNy8Cgrz4s7Tg2Q6uyb z@wXj?d6QSZ%X(*o#VXROeFF`YQ=7*xdY2Vu?RziQ=di*^)&lSI`R}rG&?a9X4K<&A zGb_znYIHcLtf&L><2JJbW&Zno%4T+4!Fn-r?1UuXOcetjm?K0EQ&(+<7H>m#NfORpO{FGK!*=yhK zNAl@Vh-N*lNH<@^>rAb6H?M7FqjJMvJd&>;DNYz|=?}(*_HZ}f(F&#u!FyKOs0``M zbTm9>Ls9(_pS+cwm`uL0N-W%RWqE(zvK0%M!?>Qv= zo$s^$%KBX41$hW`mR-FdV;MneesU=9Q4D{9eYN`VqI?*ir?x?r4@sa66BEwr;}*-es(*+5!SAiT0P0X5<5&Gd|0o#FT_3V+70t^CG6#JB8y z*(70OGKQ~ITD0TxdY;*i(S!5x?O1yJ%5Q1Ma^N@qL_0fftZ`FB25ySDNasFuU^^Y& zR{taNLN{2MjH+Fnqm(RThYaAsj-KrilHCNb&5+`)_VF(QfpAjLn)A#)85UVEFCr1=NX(y!K{e1LJOiq5zccO^j^EEr!Ybn2zZx9=e8ku6{;tgbS>FEv^H1j;VV0KiQW)c3srniJcbNHbYU`SB z*u%`UII>|K4WI0E0|u@07xO;ff^9bPlfGr4;gyM3gwR_lgJbgF&6K#&f=IH3=$Thp!cI)PvdVbm-R+SN-3B0D;QO7Wfi zFl^;Zet<$0+mvlTuu<7QJEYzs^aC9Cr-3C+{ehS4Wra$|NBr2mthBPlS?UndGP*Mf z&8Il6TE|C1V~hC8IQ>7NHoTk9+l!%cHh*R>V>vRC7QrSQX{m(bGqjiW((cJA#OQ$G z_9lFxy-VDA$&MX`i_s<$G(~PIH;$k#;-K&>dIK-TeY9= zN8?9tvIene?HK?4;RoUyV=`>}z=>b0KC-x$;+xHXO zu6*(UZ|!7#42H$VstA55%vzLGWGaG7yz7}-5hFfOl7VzVL!IZs_U-JvrvtRNBzp(sC_>Rq~ zau@-S@^o;ub^x2x28F@$2=0L+3`#o;DHb4G19ABS^X#3#5>KClLpXV6|(8{m! zp$7mYM3kWG0+QHhqcT_bZ!{MiViv5P>Z89{=H2R+j#o4WqJE z-XUS-m1pOdDs3%%^4a;t%C|Xu#@YF&!OG*cv-1aLwm~gC0(V;o@4!|SUw=bvK38#< zU_fb5+>cQAIKk?^E$zTU@Yw2~un+k=f7j~1weX2;kk^9I>tJavz-UC0rE#n_He+S(Qw;pD8?+~%{B-Gj&;2kxu$_=aTn%ixW zIwz*Mhmo%nv7^~WzD{aV+-=H=t^9&icl^!+@hHDP)&2HCtV!F()9vnFm{jhtyU9u0 z3wHMyJoeh%i?L3BFwI?wmDw9H3n4mxnR!nK?D|}YAyF^d%DsRYkmjm_PZ1=DzwQV`>%BacCF*zVJ3Y8OAs2ulj zP=0%ko2(6f%5jgtM#aEfP;3vMmWw(c;4kGG(f8!KFGSF3c}9>g&pkG4PeKW<0KtBf z@C%M9Vh`V%=dOs#m89_^U!uGCZN1zs`#wAN1E_H!tLM8P1F<*fi}w3HAHcuz6@{Yx z`~{-@w&;)F3fy!xVDDaT56U*N*B{LNx9)Slt_ZpR#vdtiPXZl2FEZ+v>vE6iT0aZw zcfQNr=ZNapmxo;L8&SzAOjPnNhD!d<*D_Jb{%!#O&d+dz_xA8>-0r^MRaxbC+-|xl zFTL1JE)f4z>~`lJz#s>Y>dpi>a1x7V8XNZW*~Q?x2>-O$eFwVwB_4M;xfxe;sBiN# zOWYUX%kw4f3H@;ULop5rVj_fYi0*s9kvEH{c)X`(MM<8gcm-4m;#)m0DRmD&n>^q` z!b~i+W1kj-&r)MaVUgp>gV)f^1Tl<@FQr)3 zAUc1#)P1v;QXzd$iD*#*!>~FWoO4i@N4~fW3oeK$0Is&|I5=X}Qs~-eaf`LplMam= zeA(e*WDM?q!XaSn!KOo-?^bWOfi?9KDDa18oe9HC$T^4%k7}R;f2Pb$UflA^-J_!8 z_BrM524$Azq2BJBp(y@WZ%hnd@<)5S*Pl!Swh*zg_^MDEl{h0e6cItI70DE-bYoZo z78o$BhDeU7Outi(MlbBA*7HCg_W-B3X*(7a?gK`N@QeDo|Aa@Nult7lFVkp|lBCTS zyR?*4dnW;#_QzJZkA=sqe^p>q>!7B7o;Ovv$77@S=L(d1W7GBh-18LVVySeWSsoD$ zm_r7iWNVO(X2iy?b#;}STvqiT z=w3O{Z!fhF7oe7ElZ6CHL2-0*JnQWxHf5atAN}_8q(SZz645ZmEm}!w)E0I$67XZF#; zxO|QpnC_#ZeECHq-9?t$dHYZ|x#Ue5=AMnm{9*1O(w;WlT{aA9;ci!?rMplmtw?Ey zMQJ*D6imZqCYG6+_qvh{oLjO`G5ONr7}0S{$8h(*@HlORdz&muK{rJ)737wY7z4n1 zBhg>$nuZ^ZQMF%}eQ8D8|JDPh?P~>Q!Z{>qymE~DO$^hsM!9-8*H7}AXPsv;PqqNSMUL+mK4D> zV$!K4Rk&$cTu38a0YbP@d6TdB63fHfHLJMNvY4MVtN28I+ZAOGVac0&Wmz8#Tw|`p zuRZ+zE6XN$zw}uw$=hq#+hfZIq+ z18(eQUb4a0b|8lMpwC-GF6_bvh9c{hAp{T@N`GN2V^eQW7a0=LrXjTY5^;UQ@ZCd^ ze29g+O7o#CQcp$Uk0Wn;Ad-3di-2U7TYcGuCnka%+zh-W} zmJ|!b#tlf{vD_30tu+E$m)`*wo3WU>1j-xWcQXxvUOiLjsS)+S;+lNT9*Zi}@{JTTHx@{{)XCcRWeCiS1=>a6D=kQ_QlMAViT0n8wON#D zN-Qcybp!?|Q(G*MZiq_O9$Ah+D!yKN+8s>Ro+TtlEHFa^zG@DH8U!&LmjftE#PkwL z;f(^JZL?7O^jLaW#UQYm;Pt2!Q*1wI8!1yGW{!yY%R9)_8B2~+LrA{nX;Yc!6Zv=WoVC^C>X*AP9twaQ_GLxiK1it>$ zopJo+)yhQZ%garyS1tk@&9(0>0w1852AA{^feQ%9Xpz1maQ}}$G8m#l1a5oE6w}*J zgg!z@2BG?kz%Q2p$*9u+5%?9Q&xnzvQUq=`C$AELcQ+uW0Y6X#ezO9BMsFJA6`}h+ ziEENVZLkRRzk=Rubf=?4;O`4jCed>QLtykkGw-8J4WywWa2_Q$7-ENjV4tO$JjQ;cOsrpJlE1ym-3AIFNoy>!`{!4N?bUCDVb|%Q5n?qX?pu23$HYKJ$==pOKcqrLtBd~k zjvhRh`h`)57Cm$?WnnPpdOh?FbCoyfp)EvmqYxYQ&`*eFM(8FzbnQEc3;KBF5c;kj zyqO{!WZSHVwo_z-mA2@ib+4EjvsDibnfvTkJ#>?~!0+jy%UAfk@o?|!!HXzzlt6`a zTQarXCTb*u%RbOUw^E&r+3iC;bbSYgC?kh$dgw-~hSB=%6zWaZJ|j4TsXo#pFMi3? zcH3p>L#EJ=_0TmN5Nc%Hp@)8S2YQt;QhcI^c5DNMjcRy5)q|Hj31S+-JM_>6ADf2S zkRJL5WnsX5ria#04o2wbdgvB&+%NRd2V-&nA%>Bidho*^fD%UQ*S!dvejp?Fcja34llfQlQ;*l4Q9i764y@cAtgk^kaufodNSWxGYDsl%FB ztH*gmt5%1chDdtuqQ+LlUnR85+Hj673HSYlfZfw;utxKScExDnLo zrW6hMdk`TT-8vyHAmk8QDHtT2*_DLXBa^NqM3udQd^7(m@=;cjd_7Zd=8;j)i{?On zM?yY=?MlAxsCS)24ioiuyLH|TN9kwg_v5`RC(i25lq>~aI zkcm2bN>sB*bdzZ7`iharJEvGLps%>w&UL&N&{N$Y%hyT^xi&1~&<0{Dhp{5QbG20% zovXXPb)}gxu=2PPS#{+MQ|Cg2|DtnIc8BGTE2G@uJ#6P9^dsn81bZahaYdAlRY=fQ zZWtGRUMj;)n-D@fV+yr&=C<1qNBIxQA(6dAEkQkX3)8a`QY$_6rmqXNAE$S z6u}+|AupH6!K091-BCIh2aoEOi!ajJbuNzf&4ojds174K<{zuJ5PE}dCYEWMuU_<+ zYb8`YrSc;cC93Z!QG=dnhD@}S5;e#~OS>lW(*CH$IZbQTQ(YrdHBzd8Ox4&mRWwnj zp6F_sXf-8jmWfvPl*s?6sMJ*=k#~f$mQn>}s|LuNKin3m^iDofw7E<)7L_IPIh?QLh$y zHY8R%rb#S#XT(S?vB*oK#A=sViv$}+Ojtw{vE7Ht#jqe=VFM5qF+x0ENMG$h@093u z*f-TWfqs!h_fx>qB)z77q?hOoc%_=^=)t7;ni7>X*k9srb5gXXUnYAs3CjteDvgaYXHqhycF;Kt=A;GiL z3-mf+Vh4_*CyYlO7fAFV1>inM(NpNc$0$eP)oA5*6FSjN3kxjR?3x%V84M+%d}L4_ z0+jcBiB&@(^KFu&V743OD7+e2xM4l6rbH#-$PvZ1nXqbYU?|Fw7>b?^wra;z3Drsg zZ90@!Yc;Uo#xV{nY{DX%Xq||Fa+|T*ffbQhwJ_45V-1eKN-Uf{z*L2EE;PQ;sTWx- z{hWuQdi6mxfQyq!tFI63L=!ED$S8M;sa}38aGEJg)T^DI%_-H6^CVV?0(MHQkbxD( zt3kp}6O@;TqSe69Aj)mV3IofBvyFu1rzbAca-1u%8YrMKRj*eAlFNDp@M>TMQ{$^e zG!af6QS4M%Ev&zY4+E*_1QHAW6wwKQHAP}YC}5w&iWper9nrw5vBzT(O@wDc6x(hh zVJDz!?f8mn1?<4rYVFmIzeucR`m)xp*Q*&0{$#y^cr~zEO;|(|jhq3Z*k-Jt9qxlA zRwq5%0dZ%t=_~3Lq^Ccv z+Hp2sNL|oE0h=Tgxv`T_tzHvW$b>~S5q|klZZlRZu)_2eSTznj!@xRAV!=fqL^_9F zEpinovB(>qQLP4tsFqi3Y4$aht4HGhU5)wV1GoCR#fppxEiAdNrp* z9FkZ#gpUpntUt+WbyC0q3DrqZUR|X0WyE9E;_$pN8WK%3KO&&q873@W1|~14VW?is z^sLLMcAPG;f)ubWL$6j4$z`=#OinDtCa%UBvz|| z)o#KHo3Mx`TBm>tnW4Pxz=}w$T2kCafOU$*YNvpXOub(1Fl!@L&Iigy1S$KA4R(l;MODy>8LiftjvB-BC49-wD!cD3U~iQY^BYqRx=dYh46)-;G$qo%DUbfS_L5?Cz;I!&EH94=~? zSe^822i7Es<)ii5oE#m?mlK1k!7D-4>+3&%PJB&?Ojty5ry%vkNfib$+lw2&47)&z-F zM*;P@dQIzcV>R{T)gWphH@>2v652nA80ccTv6@o7{J9XcC`;6m14fL$Zt9BeO(E}8) zI!~`@0Ldl$G~?B%X^RP+sHC+Es9;`vMZMPMJPg61`41n2D~Q8w%oU zN>tLC5drlrFx9lK0747ph?=(2Gf+_N7%QRLDWF4#@@nk{R>*`EF<}vvG+!^m3Y)P) z!0MD(b-nPt6IjPdEI$P-?WI@CkL0pi4R|GHk?W7R1i*tSPK^jFDIY z3RqnzI{}hMI{{wfI)Mp`Xri?Xs9>S2mRx@{7ornLtOz|@fi+rUbyC0qiPdRf`HJGP zYK!9QMKsa;h=5`jnMmj>LMJFfICX*|T7T3PRXavWtRQ_^S0pDkPx9U~-Ghyr#> zEF4pdk}zz->eR91`h#eq)nJnd#b)O9M;KT>+DihKpPoKa`7B*Ct zsiqhS=gV!Sn&`F?IvHM#`umGb^{2#I05Q<6#ish#!v48|vZQvUXG3wdW3a?(rGPex z)oNh1o3O$Z*bho}_2bp3SHKg` zu16785D`#pkEvRI51Q2@*I(_Fb+f11F;HTKC}5|=3K>{o6IQ1Qi)f13TZ6S>(zktvR(na8ubd6#Mg^xqO}UF<`PrA0wvI-NUShD zTYyz5s}-SueG)1{P;&j%X~L>0jmILIXmzDjFJGw%s}oqYr3gp80`#mct#%BMSj`l$ zwp6cHGm^_{1@UTB%iC(gBBE#^fz@Kh3YJ35l~|qhYzJ0sp<@M_enp*+4`L=&wU5m4-MQ?=^KA(T*# zs8%aI1LatM^_5ud6w)EF+6}Cb2`gg4BARHv-h>r4V}*d#DY5E$<9la$wWE)O@>9Ul z-c&8f-+rW*ywQMHqh8IuizeGm?;271=?sdki0tN;b9?xQzX0Lf*wn(=B> zt0f-FD~O`C3#?!tQ@xt|Kq!$|5qh=)t4v~bQosR;)oEb)`o?3`_KmL=(M0nj0*c*N zhr;}4CE?iD7g9-Id_cXL=~>se+EFU8f)uc>uU@Yp(#v|an6TPSSVR*oEU;Q7mV{~n zR7gVkycLKR0#=E{s-b}SaEWKZv!)`3Rf|`HhW?89dJ#>u03x8+6($naR$%g?98s+n zdNx#4<5-NY6s_$C%Xe*IKOL*KUks}buLf2_zj!R7iPnq=pkzN2R$V`IFJwtrt@I4^ zt9BGitab|MkWlRgls9C;ikPs7CYrB5VTH|DAz*b%th)aA-U%$X#PU$>UebL6-HWnBy+ZU1_OEs@i4~@R-4ZKoU`0$=z5($h zB${Zo1FG@2(`&|x0IOyIJ^-tMo;3ri9WIF#pn%l_^m+x5KH9zTYSgR6ghe#b+67i{ zfT>!|1JJt$cy+7@W!(y_B8k;W0S6>jr-9|GjK`|2jIS5bMDrs8id|{K@>QaDRU#bK zYNlshWwoP_puAAd2PtG-rCzTf(nq_O39H?NMKsaE0;|=G)dH-L#PU@kRtQ+V2n$d( z6fnO^hpMTn_IM>$E#3_p`m5sWMKsX@h=6iend((rh3-XJqFycZY^bVs6iBSvfe2VQ zP{*nr7^_wtUSm*ROT)l;EFy~5j2NKgKoeHoKy)w45?HPD3=FJxh5lyt(!BnkI6P7gs zsG7kD2UG(+YX(FAk|VJK6ta4-UatVsN4pnZje511u!tsFyTA$#j<1)sc`&+{#EQ_f zb#OI#J`~mJq<{kiMg6bS!1BR<$iS*SD!yJs6U~nZDECn&EZV zBqkReQPdXtv`Jbjwdj^gUeYJFnovU~R7$Kx1Zuk(wH2sgiCQxRvBE%AW2l+2HzO<~ z7M3pGaBr6fP}UAZWSkFE#Q88~oHC9=UGUYBJYBo(B&uzNQc#kl!4gs& zX>DBvM+z3uQM!48LjW99)EW_7U6N>p3j!Qagh8^0*Gz{|b&@)hP5_X{)f9Y(VKCeo zfje>DEiFxpx?K?bwE<_-$H!~OKpU0=Z4Cw{4`O!G?=S}3)EEQV{}=;# zaX@wntm*#{2cZ!ED+7W4`q9Qe!a+SUkV@QtNCwIQ1Eo#Z{#hkCNR8tlU-ul;v2qdr z=k&y)!>~-$k61j*99St?#(Ef*u}GGYLU4C1Q=zjAY!_oJL-MhSWgz;7rRZA&QBklA z{SHF}w#8T`<^PanNM!GB(1|tCQlpPIP@nnZjN|>^hn`rex{f?4hh-c`=}<+pP1kOf zjFS?_I6*XXH$zYTA7`Akhi4p28?Zjd@J-W4JQvUa6M!aBj7GTs1O~TqjA?-eQZYq! zLlBY5$B;-eDxsBr2cd*aN)zOYu}#t+W1DKtd*mYx4vk~z!~u_CP}Iu#>VIMy;u-J% zHedC`G$_|0hnhqTH7V1zf1OmRPgV)wm?Sw_)$Fa)IYxT@k&{*H(?>MabT>Qs8jomp zq7&t;687Fl};zCjrO7Ly!vT01*itbT+@# z0?9+p8g!*kAp{TlB*hN=raKaF-2x78!M}OJ#3Ce08(~RE`!J=SV)rVyl_kJJd3tGL zd4gskXA5u&GAmb{14JQ6_)ve#=4V}Bwo!S0J1@DREGN5*w*jlRZ96~lhO$?4g#S`) z?2J+z23_gJCc;Ss@mn#oF!tc1TY(UC~E9>)19qLZrd}G-$%ANn_dv7c|9^MQ_ z-c(j99Uop&nnY|qfiAj$utvVrK~oK9(#QqKEjN|b^~asxN#v!2q!f7O`Yjt+xDq~P zq|#tPXR*VbOrp3~;Y)tpKg))n(+Hv`k{vdj8YHFNIZUzX_4X^%OH&aBhn*G5ZcC|C zKRI=@AhEdh2QGkfP?}V7dx)cND#=RZ={{9!N#MaVd*ynCu_Att!{M{4gaUPChICno ztDQhh8z@OAU3cLPR}<_?fNvYn+)kl*pw+4Atm>-hr44jD6#Qh5 zP^KWKRN(~5sm`UwArC6J`9;0kn+!h{C_kL?mcoJs=Hu!L_@o=Gfo2|++_RLz@moSB zPU8vp^r>{)I0zb76WEL+0D`ve)hiWhFnWXYwNzo^o~pqPT`N<$MInJRb&zG9Mfd|t z1=D)re2pyFV|1ZQhEmD@aWp$E46}RO*Cy=XqY$b6&{QL>7l|CL+BTUNPz2< zvL}`*MH)Qld+<1j+jidve-%#YNew6V(bdx7^sP%g&~2s1xpKT`?i`4gRF`(Dr~0Vw z3r;KyzIZGyCrI7ov^@k5TMt9(ElDPK5~*4ZQi)L97XAp@2Oo(9wIBhdzy)MzW1ZX} zv~XJkZo`ER^DQN)b%j!6K?~W&d&y%OoRq__w}roSS!wAckS}JfZ=;?j+9pa!YW4;T zcminzFT>ZM^iYTUO~5HO72N=S&G=`{eHagBx!%AUikJ#jOH}Wo>jm&8`44%}4ILn; zmY~i?`3700q77$wQmYa!&?`=hPhw#7CX{+uNd`Rz!PaaY;|r}t{W)OBSq{b0gD z?1f_q@$9uBLGV`>?m9B&g8L}JT;6WED_Ju!3}}*kco=Ng9nzhF5qFM zkV*$hq%@SKGbLJ7G9@vS^9pbgrX|5i^--QA1u8IbYM1VmxteA$x&kl8vlEca_z<_O*B$ z?7(KUcpF4pzv68m?aYd|D%v*{Z_;1RBCvwC)5Kd} z+Sn0qeP}OAy!ED?BJoxp`&vf3EF!GbQ6k?;XqQKXd1wPcycLsrU%a_V`7YiVRO46( z5eK+Pb1mMANU<#53Q6rN-g=QzR=gFE%2d4NlR{Ix<&nBkyycQIP`u^DzGjmqO@w8| zzGjl1ON6Q3*yjuflv*M%opf5_&FO$nOT6JlzNI;!rVwFvQeB9*)Y#V)TAPY68{L>C z-japTL)8>6!bMmj-GzxaZ;I1OVkQM*$cetv*q*5Ms)oejr0WVGenY`-qaU#wpHxv0 zbo$avPv&^bt>h2+pi$pyk|{_Al`=&Rx_zCc+6zZxaY98crp=^yp(07h12tx$0`ADV zl`4*G+{cA0hEU-}iA_>PqPFG{xLl39>WMC$GVYT|)INS2l5zf_hiMWT^yxp5hUr8( zOo!z3k8x1W{{2a46w^Q038Qa^oc`OpPX9If^zX$;+jaT}8RbYDH^GA^?OOSCG+fbX zkb@zD%+!|M9^8~LqX^Aphbsg6mKOW=pejFD$v>7|vrojI99*ns$K5-)R}F6HNxJdE zbuQ#cr+QFJCz@Is3dJrh{YM&lG}<{fx6{nu=@oL~;U!0k49PtzO~%?7^UvqhzN3xy z(;F%(y}{uts;LV=5RA$u;!nlIYiBq~T&MuQ;*KOC>Qt6M#KHx$C3L^AS&%l9BFgmW zU&65+$&+1qz8gWhJD&HXdZidmOe|a&|4&jh3i9Y8P{ZVXk0jGBQn6KgO-36jTx#If zBAS-tgkJI6;ChqLOI**#28;4bpw$1r(UR3op4tEj4wu6e-l0x>|}ZOVen5xUte>PftuqwWK6akv()d&dyw{Il)vF zibofk%S%$M#bg3j#~y`mYwpwg7_8JZ>-2PcsztFTCMDZa z=$Z#zCbp^bQnjTYFM^A24HpFkRnGK*RaFD=UxxT!eh?2eGmAbM|FU!No@@NZTV8%aFA6A3(;7sH zAQxzj`kNPm0WLw9f?8=KCOUhOP!Rh)$=Oc}AfC1we<*mhh2j-VEW)y-f11{;=g}`s zTdTiSz>~QC);CRCr@!?{(^~X52oKS$hfi{riCnz`pljX`F5+UA_FRavG;NcfIXr~7 z>TmGY*rvZhAa2*+iqo_X{ml*apZ>x0vcVFfqTSXrGtE0b5%&<;wGoq?S#svj zBsm0JG0~}xPZA%CCpk0aN7a#;Ha=N|CZFO|F`3wB!mZ5=X9fhB@iy_H@Dyi;{$Y;K zH+Y6K-I0+tK1F=O9)WTaJfn*2oe*;b|4no{#;1z!eQ~XdL~@YmBjTlvw~LQelbmqK zDx{M%2tni1MCj)U)6)~}cB>Uqkz8hDWjhaZc~ycBhw*8!# zL6TMMqZ0g>U`Pvu5HaH7z&_k>TB|D(5=JCYoOJQFm?RKd)GO-zR51f48`2k*Pla}P zf-{8z1s9c66W5~N3hFaxx@JAeiQC6CDBG+KFJv^Gv3rSFmQ$QUT1zFxRCIoE=<^G1 zAc>n_T7{y*Ky%ANTo!rJ3eo-`?G@Z;uW8sbGg%VjxT#2_uy-UC~7&HkRQ+{iS}XyP%pt z8=(j?CQM8j;0ArAjs_GGAXoDy}zZ?#PIucVX4hQs{j>Kg8-}sk6YY0R!LMXZt4Y10k#ssH5x|*2a zOpPu!Bx@&LDSD!fE+x`CWpZ@E0nKZ4#R2gkw&Z|{HQG7Et+9G41+67Us1htvFu^IB zIupvt@d|3IkOEZKR`6NDK9$^mW>zX+8SK;Ft0#tfO8o+(9XLd9bSS~1y~d@_r3Ivb zBE^KNK7{^Lq2%bjNyU~(Y8Pp(`y~o`6LonSL}I-O)_(dZa`+_*9QOYYOOzful=mWq zdPH}9%A`@!6-r6k?0U#{y=51H)DLI&-Ss^Ef(WB0nK@P0XA05obYkGro>nwbc8-c! z)E~PnXu9cc&}SM8nnQIrEK+HClcsk*q5B5!q-uVJ^z+G0+nUOswAdP!;QCheE`H~W z<<+<<;)fT@?}Kmr+g~dGw|8M76!;dgaRCLs4T)@I_mEJUIzkyNRrz*W?3NG%Vtqzj zH7BYz#}I-264J?fQdfHHx`tSRn@L^a9MeCKP~gupUNeo0kcLso;j0@ThQaq*Zb=HC z_Rsv>b5VL-@tPc`c!gU!M7QETsM+vnJIHbZuA_t(+$y1=rQ43FzX*LRb~Y+8*5FYA z)rU=IYn&erTlnZ>iwX-BnhwT#*IIx{ zF=>TiBdxq#U*gV55n`;Ykd{~iu^M8lEqM3sr}$%fdRz(o6s7=Ni!0U+lrfReD``lc zW^k7&3JHU$n3g^9Agw8sk{DgPEKH)eo5VA(%@}4=hgebo_}?=XKVwKyFFD{@wJi^0 zBr7pE2=@v>ly*KT-lA8FhICO&qMyl@wCY_L1QUB~+KA%PY4MFHOz8wM;~Ek7(x9tRBkJ=44gbj# zAu))%YU2jz9KAECJ#{AP?>%&;Q@XTMYfPm0UwhL5-c{$*ZEt$44$%f2dT2G;;D~z@ zh<2pC>FW4~I8<+ftbs`dJKi8C`DwGOxHdO!<#^oRHTw)Pm0=u?YZjN@ECoF^3pL~s zHcQ+8S+lGsdYdjX?zUNWQ?z2EpI9Li#osbEkNT10$eV3aRBIOBcj8Auz3&i-|E~u@ zC|eUCsVCBcS{H_(Y1UhEDq4W{p6%*J=oK)F;WwmD(cgYk6B6lIOr=&fvSgdqwhey9SB%wP)CE@Bg z(J*k0nkvcrI-Ch!951JxXtMWlkZK*1rUkN)xIBaG-&8b|jFW??kcAKn69VEKWD}iO znxGX-*Q%vqA}r{%0#AaliEg|dSKnG-4OO6DE|-K?*hIH@eUHE>T7l|Tkw($DCKv_4 zYytT#F=`sEpj?=BD3xIvUDx)oxG&dAruS4vi&hI5VHsTvGgmsJT`26L$@U6AJY>`L zK$2qB7czcWVDU@d?9H6wg1Q7d&gH%ZGGc8b4q$L=^V@ZI}B49#WK>`E_0@4)-y(lP6iXwv2iy|Ea1!=$U+H+2FD0-j! zyzlS7_xia^X3m~HyR5x>*|Aa;Ok}5{0CO{LSmmR6Yn^!AyZ|f#7?pXzzwNG@+G0dE zudG8K5Xs^RmX%A`Vv=qfyvwrO>PTYYp@GNRg3-?Q`Ik9x*x0Wf?qyhx(y}Maa`FQl zN_cXE+tjkWry8ACg*!K&YfTGa_LZ4Z_ICRiXBju?IJJpyHws`M9<1xz9!J()0YlJ$ zopcBD6{F7Ks|#LDnOZi#n+;xK3>a@zTyF-=0iHl|Vf_K1=dOU!+=S3QG={#O8wHH= z_5~e}a-bZ_t%gEbW;3Nu+*u3wVjZx#v!F(SA{LGw7^kK_f|l6SLiMKN9F)Hv^a*Yp z1iXUfz@B(qRyElhP5QTEuFV=1@S^3~vQ18~)HzO>orm^CmfadP91+kGAV~5KiuTWzRr-EN%V2kbMG>-rR=+%vhn$(L*DBb7H99ui>Whs`8k}=7WW=jj}@IZfZ0@fuEiglPgw;_V!~6bK^X&yzEzB zxw5$m@8A&y-eU|wF~0nJP$Dpww%lV>a-0C_pv(6d8Da+9{kU$j9fuQW4$kV(hFA`K zE_OI<*4TJi+eI|9v4OhtbfYnRc1U9XTk{4e)ZXegnz|J7qORnZHf+WmDrpl-jhJMvQGb9UNXhjxtOm zR9hNJd505Y=>h&>BRy-P^+p^EN310Kv;_y_JZA^ z=A`TW;3F7HJ^L7L`lOjLz1;L%5C@-i53q_MM?l^{MW=T68cX89#DW_Gmf{l0&`^d! z+&Do-b0Y~Q78^DEisDXY05Yy)Uwb0Z<+rWT;Ih!52- z#v)b@RsudN*!~dKoa-y;KyxEQE1F1QEl~S!993>%q-v`t(tRzA$}NX;Sy(m_$QV>z z<97=2ZkS&79M#y0_&F2wFchVCCs~b)`5~+A@sLVd7zebCxiq$=Q8}Vaoq(|YT-w&s zFm8H=s*_nA4G+oI#>3RJmGNjTh}w3amLf!kXKH!j7{3!A$P4erf_Uk#4AfjW^^aD@ zw-A*mE_Bho6 z!ny~Hhq6vMJXramY{nRh)Vx4V5$!-M&Hsp+-eJlA;Fv+m*^ zF*e!ymK=Pn(P?xx?Zk2WFKlg3~y!zWJ~ z-CY-kGLK2M-Z0|mp{I>Tc;2qPQN99d&Z8PT3O1{P^Y9c_2=dnDDQK^jXJLD_JdbuT zjyL;?2kB=Nx>bhR&x5S&KgftX46>(fGo9&Z#N*<6%2cTj_s0+U-xP z(Vl)GQ1WC$Tf|cP=&UjL{ZQ z_3l8>C;J$!;5BVt;zM848m{r2THFrL-L|-}dO?Bj^=x-3T7fA+r=EE+)*#%V4 z1@oWIyH);w+u@|=REH~{Lz&cB)aiMQdo&Gr9>rxxQ_1rv9eRfLJ#TD`^;fu=iE)%YUu_6ZlS29z3OS{Vs^M5m)TWY=y+mAk&X!~CaPUq#w$ zznS6ihSY-&zZ~WasYTa|XiGPsqVMRhZiZ2=Yzerb{}KRxy1Q2K5-7O2WeGC>(-N$= z27^r5{)3^jZx|yh%nIT)hoUT2>fY%`F`o;r$!|g8dl)~vzT)X8S#TEm8n_L_yTE{w z22&d@5`w+5=Y(Qfn_ojU%mO<0n$ffJjy${;S$4MJpaYrEe{})r4)e@#%I<007B-@4 zMT77q(^oy!S;5|?1aZ-Cuo&aX{kjq74+4BfZUcdB*8GuB93b%A>kI;8dKpLVu)}+J zisgJeT!|X>=JJ^qZJQAuEHU2k{ ze!!aM0e?u3eAh?>ZX%V7xP@3srGwDdc@%vh8u8`VenkarLOOReg2b%yl32NTTkD;hx*(r zD7p_S$j+vAeT?JUnNR5M_l>lN)V`loQ4@BVWWu?`0)@%JrM4iu**6bs;7`+<*<|v- zo8*pB+{A??G-&htMgf-m#Se`7%@&-36Hz&RXE+n8#ero3@oKC9(*=P}^GrY}#I_KQ zomdUndz7K#}7t-Yqj5a~1z@XN!6$R13%`%Z*{17X&ka9mX>S)^|D1T>4 zEdB7I5tn5#8X@L9oa!+BXI&o~!`v+^I3R-QlOxoLf>uKDm8e5yf8Vj}1 zi}?^COF1tzw(E^h=>N+)kRjCq_9GTsM(Afk-O#PzzN?I;mp?Kd2en!8kx@}BK@TvU zVX8+$_2W>K9K#K>v&`6{kh7L$G^?^QQo>t+u?(t8o#h5dr;LBkhH}Yoi2UeyZ8!_N z*QjTf;ZEv{N9o$?P%aNwdwuts-qulf+O6zNU6r^^_sZXQN`x-SJ=L7U9w6CvG+j<_VFQdeMMyB=r zk$$KuK814op|4_^-Op$oHJkmJRtNK#kxm_TkLhYZ$S6xGr9Tkr6l&2Q!l3H(_5SMR z>HXEqoBA8~MlWNPMo4A*fnZjVAXf7X$sFTl>(fd4Qu-vvsAAof!`)XoM!mA%Zse#B zqz^EvBziZNY1pU`_zFRJ6b`n13Uwdg`}~*zkmt70w*!ofvK}uFP*T)fBi;vgd}5VG=dhrWp9U?bIboEi@{?m|y}2IJ7Kqs4;_GjUUd zwNTSTu}};p+rn8PHJ74>7{alRt3=lsg5@1S-G>q18i-G;K^EojT@DqmW$Vo*=b=$vRQnTq7g+Ps{A7&!>L5MsM3zx|oY%=_Bc$ zkBzR8%4@-GUiuoSvx2^b7JO_}#*FuUY&?h3+2&9q*4CGv7;5y_F=HNq*PQlC97T<( z7)u8x001tL9A-4u@C=7H1{NzmD?ne*Oa!BIfd))8+Qs8_sEQwRhk1Kx+8xL37dkN! ztb8tI6sd~LPZk;NGWW!J9Ezg{P6ht3!UD5d0|Y%W$Ws~Hjx$rnw(l)cA9H_#^Rky3 zOftH-_uZ+d#a2%+$AfIO>nCG@osO=P^O)@VBTeumg z=z|bK$E#DMd3f0tO)>7bZ5UH*JZ9TKj~9bCTT4@|%f({jVQf#UsaW+q>NeHr2R+8A zsm4RN-2IvHqU{>38fA>brSUYhyiR%3jE~Sui*}!vwU}FAwJ7=AcoHolXX104Y358E zkwQ9vOQ69~qc~j2vryOk5bT72 zOFr$f?n37ob?NB|M(6(r!~YM46_o!c7;XeK|9=9#`4;r%|5wnPZ$WSV?ayk>g< zv127v&SbVu@z59ZfQ>FuyY05lCQYhKP=TH3$4WWLD!~!D@=&jxYqYf)1VAw)ZonRJNoGdd#*9&>wylY!R7uP}k^)r?G##jf`x&IrZOG01F9~2(N;bE4A^&wrm&l3oS^2u+FI*FhX zF6Au7lowV8Wy=lLSJUKgje5YTyS_E5M@(U<0_y`8U(ia5U2nY7;QSfnVv4{EFn8+3 zp=_=|yc^2LVo%rxT>4ektg5e~f?A-yfflYe>fhSq-|LN+BT9Qb!aY*Y4aOsw!dDv< zu6Aq${2iov8`Zn znl$VxS1~SbdI4srOZb~zfNQ&d_d-~B{eelQXu58T{} zF8pBRL02+hhf%A+Ex(oa044greu_@-FkbLZwn89w78b|D|2*ZxJmuQdbf@uF{3!4X zYMgNTYzCvKj=2;qqfI-FsxgK5t#rZRiD^z>Mj<~L4dXdS#WuUC^=c8Cf~|0}

I+ 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 delta 1027714 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%0DCj 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%0DhM1^u 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%0DdlX7~@%)JYIRK@u>zPH>r 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⪙TZtOcPj9c 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 From dec1163fbb892f276179ae74b51007c656157d99 Mon Sep 17 00:00:00 2001 From: Ali Cheraghi Date: Wed, 30 Apr 2025 18:42:23 +0330 Subject: [PATCH 3/3] all: replace all `@Type` usages Co-authored-by: Matthew Lugg --- doc/langref/std_options.zig | 2 +- doc/langref/test_coerce_unions_enums.zig | 2 +- lib/build-web/main.zig | 2 +- lib/compiler/aro/aro/Attribute.zig | 22 +- lib/compiler/aro/assembly_backend/x86_64.zig | 2 +- lib/compiler/resinator/code_pages.zig | 13 +- lib/compiler/resinator/errors.zig | 21 +- lib/compiler/test_runner.zig | 2 +- lib/compiler_rt/common.zig | 5 +- lib/compiler_rt/float_from_int.zig | 10 +- lib/compiler_rt/int_from_float.zig | 7 +- lib/compiler_rt/memcpy.zig | 2 +- lib/docs/wasm/main.zig | 2 +- lib/fuzzer.zig | 2 +- lib/std/Build.zig | 14 +- lib/std/Io.zig | 40 +- lib/std/Io/Reader.zig | 13 +- lib/std/Io/Writer.zig | 20 +- lib/std/crypto/phc_encoding.zig | 8 +- lib/std/crypto/tls.zig | 2 +- lib/std/enums.zig | 40 +- lib/std/fmt.zig | 2 +- lib/std/fmt/float.zig | 4 +- lib/std/hash.zig | 2 +- lib/std/hash/auto_hash.zig | 5 +- lib/std/log.zig | 10 +- lib/std/math.zig | 26 +- lib/std/math/big/int_test.zig | 4 +- lib/std/math/float.zig | 34 +- lib/std/math/log2.zig | 5 +- lib/std/math/log_int.zig | 2 +- lib/std/math/signbit.zig | 5 +- lib/std/math/sqrt.zig | 2 +- lib/std/mem.zig | 163 ++--- lib/std/meta.zig | 188 ++---- lib/std/meta/trailer_flags.zig | 26 +- lib/std/multi_array_list.zig | 63 +- lib/std/std.zig | 2 +- lib/std/zig/c_translation/helpers.zig | 28 +- lib/std/zig/llvm/Builder.zig | 39 +- src/InternPool.zig | 61 +- src/Sema.zig | 4 +- src/codegen/aarch64/Assemble.zig | 32 +- src/codegen/aarch64/Select.zig | 36 +- src/codegen/x86_64/CodeGen.zig | 12 +- src/codegen/x86_64/Emit.zig | 2 +- src/link.zig | 5 +- src/link/Dwarf.zig | 26 +- src/link/MappedFile.zig | 20 +- src/main.zig | 2 +- test/behavior/basic.zig | 7 +- test/behavior/bit_shifting.zig | 11 +- test/behavior/call.zig | 2 +- test/behavior/cast.zig | 11 +- test/behavior/enum.zig | 5 +- test/behavior/fn.zig | 4 +- test/behavior/generics.zig | 10 +- test/behavior/sizeof_and_typeof.zig | 12 +- test/behavior/struct.zig | 5 +- test/behavior/switch.zig | 6 +- test/behavior/switch_loop.zig | 5 +- test/behavior/tuple.zig | 59 +- test/behavior/type.zig | 566 +++--------------- test/behavior/union.zig | 10 +- test/behavior/x86_64/math.zig | 19 +- .../compile_errors/@import_zon_bad_type.zig | 2 +- .../compile_errors/@import_zon_opt_in_err.zig | 2 +- test/cases/compile_errors/align_zero.zig | 28 +- .../attempt_to_cast_enum_literal_to_error.zig | 2 +- .../attempt_to_create_17_bit_float_type.zig | 8 - ...eclarations_unavailable_for_reify_type.zig | 10 - .../compile_errors/error_set_decl_literal.zig | 2 +- .../invalid_pointer_to_opaque.zig | 37 +- .../invalid_pointer_with_reify_type.zig | 13 +- .../minmax_nonnumeric_operand.zig | 2 +- test/cases/compile_errors/nested_vectors.zig | 4 +- .../non_constant_expression_in_array_size.zig | 2 +- .../compile_errors/non_scalar_sentinel.zig | 31 +- .../reified_enum_field_value_overflow.zig | 13 +- .../reify_enum_with_duplicate_field.zig | 16 +- .../reify_enum_with_duplicate_tag_value.zig | 16 +- test/cases/compile_errors/reify_struct.zig | 75 +-- .../reify_type.Fn_with_is_generic_true.zig | 16 - ...th_is_var_args_true_and_non-C_callconv.zig | 15 +- .../reify_type.Fn_with_return_type_null.zig | 16 - ...austive_enum_with_non-integer_tag_type.zig | 11 +- ...xhaustive_enum_with_undefined_tag_type.zig | 11 +- .../reify_type_for_tagged_extern_union.zig | 27 +- .../reify_type_for_tagged_packed_union.zig | 27 +- ...for_tagged_union_with_extra_enum_field.zig | 27 +- ...or_tagged_union_with_extra_union_field.zig | 27 +- ...e_for_tagged_union_with_no_enum_fields.zig | 23 +- ..._for_tagged_union_with_no_union_fields.zig | 23 +- ...reify_type_for_union_with_opaque_field.zig | 15 +- .../reify_type_union_payload_is_undefined.zig | 10 - .../reify_type_with_Type.Int.zig | 13 - ...eify_type_with_invalid_field_alignment.zig | 45 +- .../reify_type_with_undefined.zig | 28 +- ...condition_comptime_type_in_destructure.zig | 2 +- ...eclarations_unavailable_for_reify_type.zig | 9 - .../tagName_on_undef_enum_literal.zig | 2 +- .../unable_to_evaluate_comptime_expr.zig | 2 +- .../wrong_type_for_reify_type.zig | 25 +- .../default_value_references_comptime_var.zig | 48 +- .../sentinel_references_comptime_var.zig | 29 +- test/standalone/simple/issue_7030.zig | 2 +- .../standalone/simple/std_enums_big_enums.zig | 29 +- tools/lldb_pretty_printers.py | 2 +- 108 files changed, 629 insertions(+), 1891 deletions(-) delete mode 100644 test/cases/compile_errors/attempt_to_create_17_bit_float_type.zig delete mode 100644 test/cases/compile_errors/enum_with_declarations_unavailable_for_reify_type.zig delete mode 100644 test/cases/compile_errors/reify_type.Fn_with_is_generic_true.zig delete mode 100644 test/cases/compile_errors/reify_type.Fn_with_return_type_null.zig delete mode 100644 test/cases/compile_errors/reify_type_union_payload_is_undefined.zig delete mode 100644 test/cases/compile_errors/reify_type_with_Type.Int.zig delete mode 100644 test/cases/compile_errors/struct_with_declarations_unavailable_for_reify_type.zig diff --git a/doc/langref/std_options.zig b/doc/langref/std_options.zig index b37d407fc8..f996e44de6 100644 --- a/doc/langref/std_options.zig +++ b/doc/langref/std_options.zig @@ -11,7 +11,7 @@ pub const std_options: std.Options = .{ fn myLogFn( comptime level: std.log.Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/doc/langref/test_coerce_unions_enums.zig b/doc/langref/test_coerce_unions_enums.zig index 9879b3dab7..0a782b4c54 100644 --- a/doc/langref/test_coerce_unions_enums.zig +++ b/doc/langref/test_coerce_unions_enums.zig @@ -41,7 +41,7 @@ test "coercion between unions and enums" { try expect(u_4.tag() == 1); // The following example is invalid. - // error: coercion from enum '@TypeOf(.enum_literal)' to union 'test_coerce_unions_enum.U2' must initialize 'f32' field 'b' + // error: coercion from enum '@EnumLiteral()' to union 'test_coerce_unions_enum.U2' must initialize 'f32' field 'b' //var u_5: U2 = .b; //try expect(u_5.tag() == 2); } diff --git a/lib/build-web/main.zig b/lib/build-web/main.zig index 6a91b5325b..e71c47707b 100644 --- a/lib/build-web/main.zig +++ b/lib/build-web/main.zig @@ -49,7 +49,7 @@ pub fn panic(msg: []const u8, st: ?*std.builtin.StackTrace, addr: ?usize) noretu fn logFn( comptime message_level: log.Level, - comptime scope: @TypeOf(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/lib/compiler/aro/aro/Attribute.zig b/lib/compiler/aro/aro/Attribute.zig index db34a3eec1..7ff4f06ac1 100644 --- a/lib/compiler/aro/aro/Attribute.zig +++ b/lib/compiler/aro/aro/Attribute.zig @@ -717,23 +717,13 @@ pub const Tag = std.meta.DeclEnum(attributes); pub const Arguments = blk: { const decls = @typeInfo(attributes).@"struct".decls; - var union_fields: [decls.len]ZigType.UnionField = undefined; - for (decls, &union_fields) |decl, *field| { - field.* = .{ - .name = decl.name, - .type = @field(attributes, decl.name), - .alignment = @alignOf(@field(attributes, decl.name)), - }; + var names: [decls.len][]const u8 = undefined; + var types: [decls.len]type = undefined; + for (decls, &names, &types) |decl, *name, *T| { + name.* = decl.name; + T.* = @field(attributes, decl.name); } - - break :blk @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = null, - .fields = &union_fields, - .decls = &.{}, - }, - }); + break :blk @Union(.auto, null, &names, &types, &@splat(.{})); }; pub fn ArgumentsForTag(comptime tag: Tag) type { diff --git a/lib/compiler/aro/assembly_backend/x86_64.zig b/lib/compiler/aro/assembly_backend/x86_64.zig index 6a6ea9e0e7..ff106e9d8b 100644 --- a/lib/compiler/aro/assembly_backend/x86_64.zig +++ b/lib/compiler/aro/assembly_backend/x86_64.zig @@ -59,7 +59,7 @@ fn serializeFloat(comptime T: type, value: T, w: *std.Io.Writer) !void { else => { const size = @bitSizeOf(T); const storage_unit = std.meta.intToEnum(StorageUnit, size) catch unreachable; - const IntTy = @Type(.{ .int = .{ .signedness = .unsigned, .bits = size } }); + const IntTy = @Int(.unsigned, size); const int_val: IntTy = @bitCast(value); return serializeInt(int_val, storage_unit, w); }, diff --git a/lib/compiler/resinator/code_pages.zig b/lib/compiler/resinator/code_pages.zig index 53cbdb768c..4f4544ff02 100644 --- a/lib/compiler/resinator/code_pages.zig +++ b/lib/compiler/resinator/code_pages.zig @@ -179,12 +179,13 @@ pub const UnsupportedCodePage = enum(u16) { pub const CodePage = blk: { const fields = @typeInfo(SupportedCodePage).@"enum".fields ++ @typeInfo(UnsupportedCodePage).@"enum".fields; - break :blk @Type(.{ .@"enum" = .{ - .tag_type = u16, - .decls = &.{}, - .fields = fields, - .is_exhaustive = true, - } }); + var field_names: [fields.len][]const u8 = undefined; + var field_values: [fields.len]u16 = undefined; + for (fields, &field_names, &field_values) |field, *name, *val| { + name.* = field.name; + val.* = field.value; + } + break :blk @Enum(u16, .exhaustive, &field_names, &field_values); }; pub fn isSupported(code_page: CodePage) bool { diff --git a/lib/compiler/resinator/errors.zig b/lib/compiler/resinator/errors.zig index f9ccc43a7f..0060990ab6 100644 --- a/lib/compiler/resinator/errors.zig +++ b/lib/compiler/resinator/errors.zig @@ -862,20 +862,23 @@ pub const ErrorDetails = struct { pub const ErrorDetailsWithoutCodePage = blk: { const details_info = @typeInfo(ErrorDetails); const fields = details_info.@"struct".fields; - var fields_without_codepage: [fields.len - 1]std.builtin.Type.StructField = undefined; + var field_names: [fields.len - 1][]const u8 = undefined; + var field_types: [fields.len - 1]type = undefined; + var field_attrs: [fields.len - 1]std.builtin.Type.StructField.Attributes = undefined; var i: usize = 0; for (fields) |field| { if (std.mem.eql(u8, field.name, "code_page")) continue; - fields_without_codepage[i] = field; + field_names[i] = field.name; + field_types[i] = field.type; + field_attrs[i] = .{ + .@"comptime" = field.is_comptime, + .@"align" = field.alignment, + .default_value_ptr = field.default_value_ptr, + }; i += 1; } - std.debug.assert(i == fields_without_codepage.len); - break :blk @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &fields_without_codepage, - .decls = &.{}, - .is_tuple = false, - } }); + std.debug.assert(i == fields.len - 1); + break :blk @Struct(.auto, null, &field_names, &field_types, &field_attrs); }; fn cellCount(code_page: SupportedCodePage, source: []const u8, start_index: usize, end_index: usize) usize { diff --git a/lib/compiler/test_runner.zig b/lib/compiler/test_runner.zig index 682c4fda08..72ed3e7677 100644 --- a/lib/compiler/test_runner.zig +++ b/lib/compiler/test_runner.zig @@ -298,7 +298,7 @@ fn mainTerminal() void { pub fn log( comptime message_level: std.log.Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/lib/compiler_rt/common.zig b/lib/compiler_rt/common.zig index 8b66e7cc26..d74eab18d8 100644 --- a/lib/compiler_rt/common.zig +++ b/lib/compiler_rt/common.zig @@ -290,10 +290,7 @@ pub fn normalize(comptime T: type, significand: *std.meta.Int(.unsigned, @typeIn pub inline fn fneg(a: anytype) @TypeOf(a) { const F = @TypeOf(a); const bits = @typeInfo(F).float.bits; - const U = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = bits, - } }); + const U = @Int(.unsigned, bits); const sign_bit_mask = @as(U, 1) << (bits - 1); const negated = @as(U, @bitCast(a)) ^ sign_bit_mask; return @bitCast(negated); diff --git a/lib/compiler_rt/float_from_int.zig b/lib/compiler_rt/float_from_int.zig index 98659d275b..9ce43b4d70 100644 --- a/lib/compiler_rt/float_from_int.zig +++ b/lib/compiler_rt/float_from_int.zig @@ -66,17 +66,17 @@ pub inline fn floatFromBigInt(comptime T: type, comptime signedness: std.builtin switch (x.len) { 0 => return 0, inline 1...4 => |limbs_len| return @floatFromInt(@as( - @Type(.{ .int = .{ .signedness = signedness, .bits = 32 * limbs_len } }), + @Int(signedness, 32 * limbs_len), @bitCast(x[0..limbs_len].*), )), else => {}, } // sign implicit fraction round sticky - const I = comptime @Type(.{ .int = .{ - .signedness = signedness, - .bits = @as(u16, @intFromBool(signedness == .signed)) + 1 + math.floatFractionalBits(T) + 1 + 1, - } }); + const I = comptime @Int( + signedness, + @as(u16, @intFromBool(signedness == .signed)) + 1 + math.floatFractionalBits(T) + 1 + 1, + ); const clrsb = clrsb: { var clsb: usize = 0; diff --git a/lib/compiler_rt/int_from_float.zig b/lib/compiler_rt/int_from_float.zig index 83de968a2e..1f1cdb215f 100644 --- a/lib/compiler_rt/int_from_float.zig +++ b/lib/compiler_rt/int_from_float.zig @@ -56,7 +56,7 @@ pub inline fn bigIntFromFloat(comptime signedness: std.builtin.Signedness, resul 0 => return, inline 1...4 => |limbs_len| { result[0..limbs_len].* = @bitCast(@as( - @Type(.{ .int = .{ .signedness = signedness, .bits = 32 * limbs_len } }), + @Int(signedness, 32 * limbs_len), @intFromFloat(a), )); return; @@ -66,10 +66,7 @@ pub inline fn bigIntFromFloat(comptime signedness: std.builtin.Signedness, resul // sign implicit fraction const significand_bits = 1 + math.floatFractionalBits(@TypeOf(a)); - const I = @Type(comptime .{ .int = .{ - .signedness = signedness, - .bits = @as(u16, @intFromBool(signedness == .signed)) + significand_bits, - } }); + const I = @Int(signedness, @as(u16, @intFromBool(signedness == .signed)) + significand_bits); const parts = math.frexp(a); const significand_bits_adjusted_to_handle_smin = @as(i32, significand_bits) + diff --git a/lib/compiler_rt/memcpy.zig b/lib/compiler_rt/memcpy.zig index 82a032d3e9..4dcd184d29 100644 --- a/lib/compiler_rt/memcpy.zig +++ b/lib/compiler_rt/memcpy.zig @@ -159,7 +159,7 @@ inline fn copyFixedLength( else if (len > @sizeOf(usize)) @Vector(len, u8) else - @Type(.{ .int = .{ .signedness = .unsigned, .bits = len * 8 } }); + @Int(.unsigned, len * 8); const loop_count = @divExact(len, @sizeOf(T)); diff --git a/lib/docs/wasm/main.zig b/lib/docs/wasm/main.zig index adf3f6b884..2a093886f5 100644 --- a/lib/docs/wasm/main.zig +++ b/lib/docs/wasm/main.zig @@ -41,7 +41,7 @@ pub fn panic(msg: []const u8, st: ?*std.builtin.StackTrace, addr: ?usize) noretu fn logFn( comptime message_level: log.Level, - comptime scope: @TypeOf(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/lib/fuzzer.zig b/lib/fuzzer.zig index caf1cbc6fb..3a48360bf8 100644 --- a/lib/fuzzer.zig +++ b/lib/fuzzer.zig @@ -15,7 +15,7 @@ pub const std_options = std.Options{ fn logOverride( comptime level: std.log.Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/lib/std/Build.zig b/lib/std/Build.zig index 3b78fc6f71..25d1ff6d95 100644 --- a/lib/std/Build.zig +++ b/lib/std/Build.zig @@ -416,7 +416,7 @@ fn createChildOnly( fn userInputOptionsFromArgs(arena: Allocator, args: anytype) UserInputOptionsMap { var map = UserInputOptionsMap.init(arena); inline for (@typeInfo(@TypeOf(args)).@"struct".fields) |field| { - if (field.type == @Type(.null)) continue; + if (field.type == @TypeOf(null)) continue; addUserInputOptionFromArg(arena, &map, field, field.type, @field(args, field.name)); } return map; @@ -526,16 +526,11 @@ fn addUserInputOptionFromArg( .pointer => |ptr_info| switch (ptr_info.size) { .one => switch (@typeInfo(ptr_info.child)) { .array => |array_info| { - comptime var slice_info = ptr_info; - slice_info.size = .slice; - slice_info.is_const = true; - slice_info.child = array_info.child; - slice_info.sentinel_ptr = null; addUserInputOptionFromArg( arena, map, field, - @Type(.{ .pointer = slice_info }), + @Pointer(.slice, .{ .@"const" = true }, array_info.child, null), maybe_value orelse null, ); return; @@ -553,14 +548,11 @@ fn addUserInputOptionFromArg( }) catch @panic("OOM"); }, else => { - comptime var slice_info = ptr_info; - slice_info.is_const = true; - slice_info.sentinel_ptr = null; addUserInputOptionFromArg( arena, map, field, - @Type(.{ .pointer = slice_info }), + @Pointer(ptr_info.size, .{ .@"const" = true }, ptr_info.child, null), maybe_value orelse null, ); return; diff --git a/lib/std/Io.zig b/lib/std/Io.zig index 8c552ad8fe..114f748199 100644 --- a/lib/std/Io.zig +++ b/lib/std/Io.zig @@ -528,23 +528,7 @@ pub fn Poller(comptime StreamEnum: type) type { /// Given an enum, returns a struct with fields of that enum, each field /// representing an I/O stream for polling. pub fn PollFiles(comptime StreamEnum: type) type { - const enum_fields = @typeInfo(StreamEnum).@"enum".fields; - var struct_fields: [enum_fields.len]std.builtin.Type.StructField = undefined; - for (&struct_fields, enum_fields) |*struct_field, enum_field| { - struct_field.* = .{ - .name = enum_field.name, - .type = std.fs.File, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(std.fs.File), - }; - } - return @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &struct_fields, - .decls = &.{}, - .is_tuple = false, - } }); + return @Struct(.auto, null, std.meta.fieldNames(StreamEnum), &@splat(std.fs.File), &@splat(.{})); } test { @@ -1625,22 +1609,14 @@ pub fn sleep(io: Io, duration: Duration, clock: Clock) SleepError!void { /// fields, each field type the future's result. pub fn SelectUnion(S: type) type { const struct_fields = @typeInfo(S).@"struct".fields; - var fields: [struct_fields.len]std.builtin.Type.UnionField = undefined; - for (&fields, struct_fields) |*union_field, struct_field| { - const F = @typeInfo(struct_field.type).pointer.child; - const Result = @TypeOf(@as(F, undefined).result); - union_field.* = .{ - .name = struct_field.name, - .type = Result, - .alignment = struct_field.alignment, - }; + var names: [struct_fields.len][]const u8 = undefined; + var types: [struct_fields.len]type = undefined; + for (struct_fields, &names, &types) |struct_field, *union_field_name, *UnionFieldType| { + const FieldFuture = @typeInfo(struct_field.type).pointer.child; + union_field_name.* = struct_field.name; + UnionFieldType.* = @FieldType(FieldFuture, "result"); } - return @Type(.{ .@"union" = .{ - .layout = .auto, - .tag_type = std.meta.FieldEnum(S), - .fields = &fields, - .decls = &.{}, - } }); + return @Union(.auto, std.meta.FieldEnum(S), &names, &types, &@splat(.{})); } /// `s` is a struct with every field a `*Future(T)`, where `T` can be any type, diff --git a/lib/std/Io/Reader.zig b/lib/std/Io/Reader.zig index 56a70f0781..78963dcdab 100644 --- a/lib/std/Io/Reader.zig +++ b/lib/std/Io/Reader.zig @@ -1273,20 +1273,17 @@ pub const TakeLeb128Error = Error || error{Overflow}; /// Read a single LEB128 value as type T, or `error.Overflow` if the value cannot fit. pub fn takeLeb128(r: *Reader, comptime Result: type) TakeLeb128Error!Result { const result_info = @typeInfo(Result).int; - return std.math.cast(Result, try r.takeMultipleOf7Leb128(@Type(.{ .int = .{ - .signedness = result_info.signedness, - .bits = std.mem.alignForwardAnyAlign(u16, result_info.bits, 7), - } }))) orelse error.Overflow; + return std.math.cast(Result, try r.takeMultipleOf7Leb128(@Int( + result_info.signedness, + std.mem.alignForwardAnyAlign(u16, result_info.bits, 7), + ))) orelse error.Overflow; } fn takeMultipleOf7Leb128(r: *Reader, comptime Result: type) TakeLeb128Error!Result { const result_info = @typeInfo(Result).int; comptime assert(result_info.bits % 7 == 0); var remaining_bits: std.math.Log2IntCeil(Result) = result_info.bits; - const UnsignedResult = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = result_info.bits, - } }); + const UnsignedResult = @Int(.unsigned, result_info.bits); var result: UnsignedResult = 0; var fits = true; while (true) { diff --git a/lib/std/Io/Writer.zig b/lib/std/Io/Writer.zig index d44800cd60..1b80b5b4f7 100644 --- a/lib/std/Io/Writer.zig +++ b/lib/std/Io/Writer.zig @@ -1890,7 +1890,7 @@ pub fn writeUleb128(w: *Writer, value: anytype) Error!void { try w.writeLeb128(switch (@typeInfo(@TypeOf(value))) { .comptime_int => @as(std.math.IntFittingRange(0, @abs(value)), value), .int => |value_info| switch (value_info.signedness) { - .signed => @as(@Type(.{ .int = .{ .signedness = .unsigned, .bits = value_info.bits -| 1 } }), @intCast(value)), + .signed => @as(@Int(.unsigned, value_info.bits -| 1), @intCast(value)), .unsigned => value, }, else => comptime unreachable, @@ -1903,7 +1903,7 @@ pub fn writeSleb128(w: *Writer, value: anytype) Error!void { .comptime_int => @as(std.math.IntFittingRange(@min(value, -1), @max(0, value)), value), .int => |value_info| switch (value_info.signedness) { .signed => value, - .unsigned => @as(@Type(.{ .int = .{ .signedness = .signed, .bits = value_info.bits + 1 } }), value), + .unsigned => @as(@Int(.signed, value_info.bits + 1), value), }, else => comptime unreachable, }); @@ -1912,10 +1912,10 @@ pub fn writeSleb128(w: *Writer, value: anytype) Error!void { /// Write a single integer as LEB128 to the given writer. pub fn writeLeb128(w: *Writer, value: anytype) Error!void { const value_info = @typeInfo(@TypeOf(value)).int; - try w.writeMultipleOf7Leb128(@as(@Type(.{ .int = .{ - .signedness = value_info.signedness, - .bits = @max(std.mem.alignForwardAnyAlign(u16, value_info.bits, 7), 7), - } }), value)); + try w.writeMultipleOf7Leb128(@as(@Int( + value_info.signedness, + @max(std.mem.alignForwardAnyAlign(u16, value_info.bits, 7), 7), + ), value)); } fn writeMultipleOf7Leb128(w: *Writer, value: anytype) Error!void { @@ -1929,10 +1929,10 @@ fn writeMultipleOf7Leb128(w: *Writer, value: anytype) Error!void { .unsigned => remaining > std.math.maxInt(u7), }; byte.* = .{ - .bits = @bitCast(@as(@Type(.{ .int = .{ - .signedness = value_info.signedness, - .bits = 7, - } }), @truncate(remaining))), + .bits = @bitCast(@as( + @Int(value_info.signedness, 7), + @truncate(remaining), + )), .more = more, }; if (value_info.bits > 7) remaining >>= 7; diff --git a/lib/std/crypto/phc_encoding.zig b/lib/std/crypto/phc_encoding.zig index 6812f3f8ae..44651464f1 100644 --- a/lib/std/crypto/phc_encoding.zig +++ b/lib/std/crypto/phc_encoding.zig @@ -94,12 +94,12 @@ pub fn deserialize(comptime HashResult: type, str: []const u8) Error!HashResult if (kvSplit(field)) |opt_version| { if (mem.eql(u8, opt_version.key, version_param_name)) { if (@hasField(HashResult, "alg_version")) { - const value_type_info = switch (@typeInfo(@TypeOf(out.alg_version))) { - .optional => |opt| @typeInfo(opt.child), - else => |t| t, + const ValueType = switch (@typeInfo(@TypeOf(out.alg_version))) { + .optional => |opt| opt.child, + else => @TypeOf(out.alg_version), }; out.alg_version = fmt.parseUnsigned( - @Type(value_type_info), + ValueType, opt_version.value, 10, ) catch return Error.InvalidEncoding; diff --git a/lib/std/crypto/tls.zig b/lib/std/crypto/tls.zig index af548cf0fb..c24283469c 100644 --- a/lib/std/crypto/tls.zig +++ b/lib/std/crypto/tls.zig @@ -606,7 +606,7 @@ pub fn array( const elem_size = @divExact(@bitSizeOf(Elem), 8); var arr: [len_size + elem_size * elems.len]u8 = undefined; std.mem.writeInt(Len, arr[0..len_size], @intCast(elem_size * elems.len), .big); - const ElemInt = @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(Elem) } }); + const ElemInt = @Int(.unsigned, @bitSizeOf(Elem)); for (0.., @as([elems.len]Elem, elems)) |index, elem| { std.mem.writeInt( ElemInt, diff --git a/lib/std/enums.zig b/lib/std/enums.zig index e47af4aca3..ffc678d772 100644 --- a/lib/std/enums.zig +++ b/lib/std/enums.zig @@ -33,22 +33,8 @@ pub fn fromInt(comptime E: type, integer: anytype) ?E { /// default, which may be undefined. pub fn EnumFieldStruct(comptime E: type, comptime Data: type, comptime field_default: ?Data) type { @setEvalBranchQuota(@typeInfo(E).@"enum".fields.len + eval_branch_quota_cushion); - var struct_fields: [@typeInfo(E).@"enum".fields.len]std.builtin.Type.StructField = undefined; - for (&struct_fields, @typeInfo(E).@"enum".fields) |*struct_field, enum_field| { - struct_field.* = .{ - .name = enum_field.name, - .type = Data, - .default_value_ptr = if (field_default) |d| @as(?*const anyopaque, @ptrCast(&d)) else null, - .is_comptime = false, - .alignment = if (@sizeOf(Data) > 0) @alignOf(Data) else 0, - }; - } - return @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &struct_fields, - .decls = &.{}, - .is_tuple = false, - } }); + const default_ptr: ?*const anyopaque = if (field_default) |d| @ptrCast(&d) else null; + return @Struct(.auto, null, std.meta.fieldNames(E), &@splat(Data), &@splat(.{ .default_value_ptr = default_ptr })); } /// Looks up the supplied fields in the given enum type. @@ -1532,19 +1518,15 @@ test "EnumIndexer empty" { test "EnumIndexer large dense unsorted" { @setEvalBranchQuota(500_000); // many `comptimePrint`s // Make an enum with 500 fields with values in *descending* order. - const E = @Type(.{ .@"enum" = .{ - .tag_type = u32, - .fields = comptime fields: { - var fields: [500]EnumField = undefined; - for (&fields, 0..) |*f, i| f.* = .{ - .name = std.fmt.comptimePrint("f{d}", .{i}), - .value = 500 - i, - }; - break :fields &fields; - }, - .decls = &.{}, - .is_exhaustive = true, - } }); + const E = @Enum(u32, .exhaustive, names: { + var names: [500][]const u8 = undefined; + for (&names, 0..) |*name, i| name.* = std.fmt.comptimePrint("f{d}", .{i}); + break :names &names; + }, vals: { + var vals: [500]u32 = undefined; + for (&vals, 0..) |*val, i| val.* = 500 - i; + break :vals &vals; + }); const Indexer = EnumIndexer(E); try testing.expectEqual(E.f0, Indexer.keyForIndex(499)); try testing.expectEqual(E.f499, Indexer.keyForIndex(0)); diff --git a/lib/std/fmt.zig b/lib/std/fmt.zig index 2dc7e13855..f9d8ffed5d 100644 --- a/lib/std/fmt.zig +++ b/lib/std/fmt.zig @@ -279,7 +279,7 @@ pub fn Alt( /// Helper for calling alternate format methods besides one named "format". pub fn alt( context: anytype, - comptime func_name: @TypeOf(.enum_literal), + comptime func_name: @EnumLiteral(), ) Alt(@TypeOf(context), @field(@TypeOf(context), @tagName(func_name))) { return .{ .data = context }; } diff --git a/lib/std/fmt/float.zig b/lib/std/fmt/float.zig index 16df95ad28..44a71f90f4 100644 --- a/lib/std/fmt/float.zig +++ b/lib/std/fmt/float.zig @@ -61,7 +61,7 @@ pub fn render(buf: []u8, value: anytype, options: Options) Error![]const u8 { const T = @TypeOf(v); comptime std.debug.assert(@typeInfo(T) == .float); - const I = @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(T) } }); + const I = @Int(.unsigned, @bitSizeOf(T)); const DT = if (@bitSizeOf(T) <= 64) u64 else u128; const tables = switch (DT) { @@ -1516,7 +1516,7 @@ const FLOAT128_POW5_INV_ERRORS: [154]u64 = .{ const builtin = @import("builtin"); fn check(comptime T: type, value: T, comptime expected: []const u8) !void { - const I = @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(T) } }); + const I = @Int(.unsigned, @bitSizeOf(T)); var buf: [6000]u8 = undefined; const value_bits: I = @bitCast(value); diff --git a/lib/std/hash.zig b/lib/std/hash.zig index 781971bd13..e8d2aa85b1 100644 --- a/lib/std/hash.zig +++ b/lib/std/hash.zig @@ -42,7 +42,7 @@ pub fn int(input: anytype) @TypeOf(input) { const info = @typeInfo(@TypeOf(input)).int; const bits = info.bits; // Convert input to unsigned integer (easier to deal with) - const Uint = @Type(.{ .int = .{ .bits = bits, .signedness = .unsigned } }); + const Uint = @Int(.unsigned, bits); const u_input: Uint = @bitCast(input); if (bits > 256) @compileError("bit widths > 256 are unsupported, use std.hash.autoHash functionality."); // For bit widths that don't have a dedicated function, use a heuristic diff --git a/lib/std/hash/auto_hash.zig b/lib/std/hash/auto_hash.zig index 59099c1a7d..a4fa8054e6 100644 --- a/lib/std/hash/auto_hash.zig +++ b/lib/std/hash/auto_hash.zig @@ -91,10 +91,7 @@ pub fn hash(hasher: anytype, key: anytype, comptime strat: HashStrategy) void { // Help the optimizer see that hashing an int is easy by inlining! // TODO Check if the situation is better after #561 is resolved. .int => |int| switch (int.signedness) { - .signed => hash(hasher, @as(@Type(.{ .int = .{ - .bits = int.bits, - .signedness = .unsigned, - } }), @bitCast(key)), strat), + .signed => hash(hasher, @as(@Int(.unsigned, int.bits), @bitCast(key)), strat), .unsigned => { if (std.meta.hasUniqueRepresentation(Key)) { @call(.always_inline, Hasher.update, .{ hasher, std.mem.asBytes(&key) }); diff --git a/lib/std/log.zig b/lib/std/log.zig index 51b01fe47f..9568f9ba52 100644 --- a/lib/std/log.zig +++ b/lib/std/log.zig @@ -57,13 +57,13 @@ pub const default_level: Level = switch (builtin.mode) { }; pub const ScopeLevel = struct { - scope: @Type(.enum_literal), + scope: @EnumLiteral(), level: Level, }; fn log( comptime level: Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { @@ -73,7 +73,7 @@ fn log( } /// Determine if a specific log message level and scope combination are enabled for logging. -pub fn logEnabled(comptime level: Level, comptime scope: @Type(.enum_literal)) bool { +pub fn logEnabled(comptime level: Level, comptime scope: @EnumLiteral()) bool { inline for (std.options.log_scope_levels) |scope_level| { if (scope_level.scope == scope) return @intFromEnum(level) <= @intFromEnum(scope_level.level); } @@ -87,7 +87,7 @@ pub fn logEnabled(comptime level: Level, comptime scope: @Type(.enum_literal)) b /// function returns. pub fn defaultLog( comptime level: Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { @@ -115,7 +115,7 @@ pub fn defaultLog( /// Returns a scoped logging namespace that logs all messages using the scope /// provided here. -pub fn scoped(comptime scope: @Type(.enum_literal)) type { +pub fn scoped(comptime scope: @EnumLiteral()) type { return struct { /// Log an error message. This log level is intended to be used /// when something has gone wrong. This might be recoverable or might diff --git a/lib/std/math.zig b/lib/std/math.zig index c1b489a41d..21611799fd 100644 --- a/lib/std/math.zig +++ b/lib/std/math.zig @@ -450,12 +450,7 @@ pub fn wrap(x: anytype, r: anytype) @TypeOf(x) { // in the rare usecase of r not being comptime_int or float, // take the penalty of having an intermediary type conversion, // otherwise the alternative is to unwind iteratively to avoid overflow - const R = comptime do: { - var info = info_r; - info.int.bits += 1; - info.int.signedness = .signed; - break :do @Type(info); - }; + const R = @Int(.signed, info_r.int.bits + 1); const radius: if (info_r.int.signedness == .signed) @TypeOf(r) else R = r; return @intCast(@mod(x - radius, 2 * @as(R, r)) - r); // provably impossible to overflow }, @@ -799,14 +794,14 @@ pub fn Log2IntCeil(comptime T: type) type { pub fn IntFittingRange(comptime from: comptime_int, comptime to: comptime_int) type { assert(from <= to); const signedness: std.builtin.Signedness = if (from < 0) .signed else .unsigned; - return @Type(.{ .int = .{ - .signedness = signedness, - .bits = @as(u16, @intFromBool(signedness == .signed)) + + return @Int( + signedness, + @as(u16, @intFromBool(signedness == .signed)) + switch (if (from < 0) @max(@abs(from) - 1, to) else to) { 0 => 0, else => |pos_max| 1 + log2(pos_max), }, - } }); + ); } test IntFittingRange { @@ -1107,9 +1102,14 @@ test cast { pub const AlignCastError = error{UnalignedMemory}; fn AlignCastResult(comptime alignment: Alignment, comptime Ptr: type) type { - var ptr_info = @typeInfo(Ptr); - ptr_info.pointer.alignment = alignment.toByteUnits(); - return @Type(ptr_info); + const orig = @typeInfo(Ptr).pointer; + return @Pointer(orig.size, .{ + .@"const" = orig.is_const, + .@"volatile" = orig.is_volatile, + .@"allowzero" = orig.is_allowzero, + .@"align" = alignment.toByteUnits(), + .@"addrspace" = orig.address_space, + }, orig.child, orig.sentinel()); } /// Align cast a pointer but return an error if it's the wrong alignment diff --git a/lib/std/math/big/int_test.zig b/lib/std/math/big/int_test.zig index bb6deeb778..eee6a0c7ce 100644 --- a/lib/std/math/big/int_test.zig +++ b/lib/std/math/big/int_test.zig @@ -2787,11 +2787,11 @@ test "bitNotWrap more than two limbs" { const bits = @bitSizeOf(Limb) * 4 + 2; try res.bitNotWrap(&a, .unsigned, bits); - const Unsigned = @Type(.{ .int = .{ .signedness = .unsigned, .bits = bits } }); + const Unsigned = @Int(.unsigned, bits); try testing.expectEqual((try res.toInt(Unsigned)), ~@as(Unsigned, maxInt(Limb))); try res.bitNotWrap(&a, .signed, bits); - const Signed = @Type(.{ .int = .{ .signedness = .signed, .bits = bits } }); + const Signed = @Int(.signed, bits); try testing.expectEqual((try res.toInt(Signed)), ~@as(Signed, maxInt(Limb))); } diff --git a/lib/std/math/float.zig b/lib/std/math/float.zig index 6ffbd85bd2..39ef854b5b 100644 --- a/lib/std/math/float.zig +++ b/lib/std/math/float.zig @@ -14,22 +14,10 @@ pub fn FloatRepr(comptime Float: type) type { exponent: BiasedExponent, sign: std.math.Sign, - pub const StoredMantissa = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = floatMantissaBits(Float), - } }); - pub const Mantissa = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = 1 + fractional_bits, - } }); - pub const Exponent = @Type(.{ .int = .{ - .signedness = .signed, - .bits = exponent_bits, - } }); - pub const BiasedExponent = enum(@Type(.{ .int = .{ - .signedness = .unsigned, - .bits = exponent_bits, - } })) { + pub const StoredMantissa = @Int(.unsigned, floatMantissaBits(Float)); + pub const Mantissa = @Int(.unsigned, 1 + fractional_bits); + pub const Exponent = @Int(.signed, exponent_bits); + pub const BiasedExponent = enum(@Int(.unsigned, exponent_bits)) { denormal = 0, min_normal = 1, zero = (1 << (exponent_bits - 1)) - 1, @@ -56,14 +44,8 @@ pub fn FloatRepr(comptime Float: type) type { fraction: Fraction, exponent: Normalized.Exponent, - pub const Fraction = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = fractional_bits, - } }); - pub const Exponent = @Type(.{ .int = .{ - .signedness = .signed, - .bits = 1 + exponent_bits, - } }); + pub const Fraction = @Int(.unsigned, fractional_bits); + pub const Exponent = @Int(.signed, 1 + exponent_bits); /// This currently truncates denormal values, which needs to be fixed before this can be used to /// produce a rounded value. @@ -122,7 +104,7 @@ inline fn mantissaOne(comptime T: type) comptime_int { /// Creates floating point type T from an unbiased exponent and raw mantissa. inline fn reconstructFloat(comptime T: type, comptime exponent: comptime_int, comptime mantissa: comptime_int) T { - const TBits = @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(T) } }); + const TBits = @Int(.unsigned, @bitSizeOf(T)); const biased_exponent = @as(TBits, exponent + floatExponentMax(T)); return @as(T, @bitCast((biased_exponent << floatMantissaBits(T)) | @as(TBits, mantissa))); } @@ -209,7 +191,7 @@ pub inline fn floatEps(comptime T: type) T { pub inline fn floatEpsAt(comptime T: type, x: T) T { switch (@typeInfo(T)) { .float => |F| { - const U: type = @Type(.{ .int = .{ .signedness = .unsigned, .bits = F.bits } }); + const U: type = @Int(.unsigned, F.bits); const u: U = @bitCast(x); const y: T = @bitCast(u ^ 1); return @abs(x - y); diff --git a/lib/std/math/log2.zig b/lib/std/math/log2.zig index f5f0cf771e..31b5e8283d 100644 --- a/lib/std/math/log2.zig +++ b/lib/std/math/log2.zig @@ -33,10 +33,7 @@ pub fn log2(x: anytype) @TypeOf(x) { return result; }, .int => |int_info| math.log2_int(switch (int_info.signedness) { - .signed => @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = int_info.bits -| 1, - } }), + .signed => @Int(.unsigned, int_info.bits -| 1), .unsigned => T, }, @intCast(x)), else => @compileError("log2 not implemented for " ++ @typeName(T)), diff --git a/lib/std/math/log_int.zig b/lib/std/math/log_int.zig index 96227639d0..6a4318e1da 100644 --- a/lib/std/math/log_int.zig +++ b/lib/std/math/log_int.zig @@ -65,7 +65,7 @@ test "log_int" { // Test all unsigned integers with 2, 3, ..., 64 bits. // We cannot test 0 or 1 bits since base must be > 1. inline for (2..64 + 1) |bits| { - const T = @Type(.{ .int = .{ .signedness = .unsigned, .bits = @intCast(bits) } }); + const T = @Int(.unsigned, @intCast(bits)); // for base = 2, 3, ..., min(maxInt(T),1024) var base: T = 1; diff --git a/lib/std/math/signbit.zig b/lib/std/math/signbit.zig index 2b50d0cbd9..7c0ea05d74 100644 --- a/lib/std/math/signbit.zig +++ b/lib/std/math/signbit.zig @@ -6,10 +6,7 @@ const expect = std.testing.expect; pub fn signbit(x: anytype) bool { return switch (@typeInfo(@TypeOf(x))) { .int, .comptime_int => x, - .float => |float| @as(@Type(.{ .int = .{ - .signedness = .signed, - .bits = float.bits, - } }), @bitCast(x)), + .float => |float| @as(@Int(.signed, float.bits), @bitCast(x)), .comptime_float => @as(i128, @bitCast(@as(f128, x))), // any float type will do else => @compileError("std.math.signbit does not support " ++ @typeName(@TypeOf(x))), } < 0; diff --git a/lib/std/math/sqrt.zig b/lib/std/math/sqrt.zig index 0753277bb7..b91e94987e 100644 --- a/lib/std/math/sqrt.zig +++ b/lib/std/math/sqrt.zig @@ -80,7 +80,7 @@ test sqrt_int { /// Returns the return type `sqrt` will return given an operand of type `T`. pub fn Sqrt(comptime T: type) type { return switch (@typeInfo(T)) { - .int => |int| @Type(.{ .int = .{ .signedness = .unsigned, .bits = (int.bits + 1) / 2 } }), + .int => |int| @Int(.unsigned, (int.bits + 1) / 2), else => T, }; } diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 01dbac73a0..5c1c4f4394 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -846,17 +846,18 @@ fn Span(comptime T: type) type { return ?Span(optional_info.child); }, .pointer => |ptr_info| { - var new_ptr_info = ptr_info; - switch (ptr_info.size) { - .c => { - new_ptr_info.sentinel_ptr = &@as(ptr_info.child, 0); - new_ptr_info.is_allowzero = false; - }, - .many => if (ptr_info.sentinel() == null) @compileError("invalid type given to std.mem.span: " ++ @typeName(T)), + const new_sentinel: ?ptr_info.child = switch (ptr_info.size) { .one, .slice => @compileError("invalid type given to std.mem.span: " ++ @typeName(T)), - } - new_ptr_info.size = .slice; - return @Type(.{ .pointer = new_ptr_info }); + .many => ptr_info.sentinel() orelse @compileError("invalid type given to std.mem.span: " ++ @typeName(T)), + .c => 0, + }; + return @Pointer(.slice, .{ + .@"const" = ptr_info.is_const, + .@"volatile" = ptr_info.is_volatile, + .@"allowzero" = ptr_info.is_allowzero and ptr_info.size != .c, + .@"align" = ptr_info.alignment, + .@"addrspace" = ptr_info.address_space, + }, ptr_info.child, new_sentinel); }, else => {}, } @@ -910,45 +911,18 @@ fn SliceTo(comptime T: type, comptime end: std.meta.Elem(T)) type { return ?SliceTo(optional_info.child, end); }, .pointer => |ptr_info| { - var new_ptr_info = ptr_info; - new_ptr_info.size = .slice; - switch (ptr_info.size) { - .one => switch (@typeInfo(ptr_info.child)) { - .array => |array_info| { - new_ptr_info.child = array_info.child; - // The return type must only be sentinel terminated if we are guaranteed - // to find the value searched for, which is only the case if it matches - // the sentinel of the type passed. - if (array_info.sentinel()) |s| { - if (end == s) { - new_ptr_info.sentinel_ptr = &end; - } else { - new_ptr_info.sentinel_ptr = null; - } - } - }, - else => {}, - }, - .many, .slice => { - // The return type must only be sentinel terminated if we are guaranteed - // to find the value searched for, which is only the case if it matches - // the sentinel of the type passed. - if (ptr_info.sentinel()) |s| { - if (end == s) { - new_ptr_info.sentinel_ptr = &end; - } else { - new_ptr_info.sentinel_ptr = null; - } - } - }, - .c => { - new_ptr_info.sentinel_ptr = &end; - // C pointers are always allowzero, but we don't want the return type to be. - assert(new_ptr_info.is_allowzero); - new_ptr_info.is_allowzero = false; - }, - } - return @Type(.{ .pointer = new_ptr_info }); + const Elem = std.meta.Elem(T); + const have_sentinel: bool = switch (ptr_info.size) { + .one, .slice, .many => if (std.meta.sentinel(T)) |s| s == end else false, + .c => false, + }; + return @Pointer(.slice, .{ + .@"const" = ptr_info.is_const, + .@"volatile" = ptr_info.is_volatile, + .@"allowzero" = ptr_info.is_allowzero and ptr_info.size != .c, + .@"align" = ptr_info.alignment, + .@"addrspace" = ptr_info.address_space, + }, Elem, if (have_sentinel) end else null); }, else => {}, } @@ -3951,38 +3925,25 @@ test reverse { } } fn ReverseIterator(comptime T: type) type { - const Pointer = blk: { - switch (@typeInfo(T)) { - .pointer => |ptr_info| switch (ptr_info.size) { - .one => switch (@typeInfo(ptr_info.child)) { - .array => |array_info| { - var new_ptr_info = ptr_info; - new_ptr_info.size = .many; - new_ptr_info.child = array_info.child; - new_ptr_info.sentinel_ptr = array_info.sentinel_ptr; - break :blk @Type(.{ .pointer = new_ptr_info }); - }, - else => {}, - }, - .slice => { - var new_ptr_info = ptr_info; - new_ptr_info.size = .many; - break :blk @Type(.{ .pointer = new_ptr_info }); - }, - else => {}, - }, - else => {}, - } - @compileError("expected slice or pointer to array, found '" ++ @typeName(T) ++ "'"); + const ptr = switch (@typeInfo(T)) { + .pointer => |ptr| ptr, + else => @compileError("expected slice or pointer to array, found '" ++ @typeName(T) ++ "'"), }; - const Element = std.meta.Elem(Pointer); - const ElementPointer = @Type(.{ .pointer = ptr: { - var ptr = @typeInfo(Pointer).pointer; - ptr.size = .one; - ptr.child = Element; - ptr.sentinel_ptr = null; - break :ptr ptr; - } }); + switch (ptr.size) { + .slice => {}, + .one => if (@typeInfo(ptr.child) != .array) @compileError("expected slice or pointer to array, found '" ++ @typeName(T) ++ "'"), + .many, .c => @compileError("expected slice or pointer to array, found '" ++ @typeName(T) ++ "'"), + } + const Element = std.meta.Elem(T); + const attrs: std.builtin.Type.Pointer.Attributes = .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + .@"allowzero" = ptr.is_allowzero, + .@"align" = ptr.alignment, + .@"addrspace" = ptr.address_space, + }; + const Pointer = @Pointer(.many, attrs, Element, std.meta.sentinel(T)); + const ElementPointer = @Pointer(.one, attrs, Element, null); return struct { ptr: Pointer, index: usize, @@ -4342,19 +4303,14 @@ fn CopyPtrAttrs( comptime size: std.builtin.Type.Pointer.Size, comptime child: type, ) type { - const info = @typeInfo(source).pointer; - return @Type(.{ - .pointer = .{ - .size = size, - .is_const = info.is_const, - .is_volatile = info.is_volatile, - .is_allowzero = info.is_allowzero, - .alignment = info.alignment, - .address_space = info.address_space, - .child = child, - .sentinel_ptr = null, - }, - }); + const ptr = @typeInfo(source).pointer; + return @Pointer(size, .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + .@"allowzero" = ptr.is_allowzero, + .@"align" = ptr.alignment, + .@"addrspace" = ptr.address_space, + }, child, null); } fn AsBytesReturnType(comptime P: type) type { @@ -4936,19 +4892,14 @@ test "freeing empty string with null-terminated sentinel" { /// Returns a slice with the given new alignment, /// all other pointer attributes copied from `AttributeSource`. fn AlignedSlice(comptime AttributeSource: type, comptime new_alignment: usize) type { - const info = @typeInfo(AttributeSource).pointer; - return @Type(.{ - .pointer = .{ - .size = .slice, - .is_const = info.is_const, - .is_volatile = info.is_volatile, - .is_allowzero = info.is_allowzero, - .alignment = new_alignment, - .address_space = info.address_space, - .child = info.child, - .sentinel_ptr = null, - }, - }); + const ptr = @typeInfo(AttributeSource).pointer; + return @Pointer(.slice, .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + .@"allowzero" = ptr.is_allowzero, + .@"align" = new_alignment, + .@"addrspace" = ptr.address_space, + }, ptr.child, null); } /// Returns the largest slice in the given bytes that conforms to the new alignment, diff --git a/lib/std/meta.zig b/lib/std/meta.zig index 5d022ecffa..77e288ecaa 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -171,58 +171,34 @@ pub fn Sentinel(comptime T: type, comptime sentinel_val: Elem(T)) type { switch (@typeInfo(T)) { .pointer => |info| switch (info.size) { .one => switch (@typeInfo(info.child)) { - .array => |array_info| return @Type(.{ - .pointer = .{ - .size = info.size, - .is_const = info.is_const, - .is_volatile = info.is_volatile, - .alignment = info.alignment, - .address_space = info.address_space, - .child = @Type(.{ - .array = .{ - .len = array_info.len, - .child = array_info.child, - .sentinel_ptr = @as(?*const anyopaque, @ptrCast(&sentinel_val)), - }, - }), - .is_allowzero = info.is_allowzero, - .sentinel_ptr = info.sentinel_ptr, - }, - }), + .array => |array_info| return @Pointer(.one, .{ + .@"const" = info.is_const, + .@"volatile" = info.is_volatile, + .@"allowzero" = info.is_allowzero, + .@"align" = info.alignment, + .@"addrspace" = info.address_space, + }, [array_info.len:sentinel_val]array_info.child, null), else => {}, }, - .many, .slice => return @Type(.{ - .pointer = .{ - .size = info.size, - .is_const = info.is_const, - .is_volatile = info.is_volatile, - .alignment = info.alignment, - .address_space = info.address_space, - .child = info.child, - .is_allowzero = info.is_allowzero, - .sentinel_ptr = @as(?*const anyopaque, @ptrCast(&sentinel_val)), - }, - }), + .many, .slice => |size| return @Pointer(size, .{ + .@"const" = info.is_const, + .@"volatile" = info.is_volatile, + .@"allowzero" = info.is_allowzero, + .@"align" = info.alignment, + .@"addrspace" = info.address_space, + }, info.child, sentinel_val), else => {}, }, .optional => |info| switch (@typeInfo(info.child)) { .pointer => |ptr_info| switch (ptr_info.size) { - .many => return @Type(.{ - .optional = .{ - .child = @Type(.{ - .pointer = .{ - .size = ptr_info.size, - .is_const = ptr_info.is_const, - .is_volatile = ptr_info.is_volatile, - .alignment = ptr_info.alignment, - .address_space = ptr_info.address_space, - .child = ptr_info.child, - .is_allowzero = ptr_info.is_allowzero, - .sentinel_ptr = @as(?*const anyopaque, @ptrCast(&sentinel_val)), - }, - }), - }, - }), + .many => return ?@Pointer(.many, .{ + .@"const" = ptr_info.is_const, + .@"volatile" = ptr_info.is_volatile, + .@"allowzero" = ptr_info.is_allowzero, + .@"align" = ptr_info.alignment, + .@"addrspace" = ptr_info.address_space, + .child = ptr_info.child, + }, ptr_info.child, sentinel_val), else => {}, }, else => {}, @@ -487,46 +463,22 @@ test tags { /// Returns an enum with a variant named after each field of `T`. pub fn FieldEnum(comptime T: type) type { - const field_infos = fields(T); + const field_names = fieldNames(T); - if (field_infos.len == 0) { - return @Type(.{ - .@"enum" = .{ - .tag_type = u0, - .fields = &.{}, - .decls = &.{}, - .is_exhaustive = true, - }, - }); - } - - if (@typeInfo(T) == .@"union") { - if (@typeInfo(T).@"union".tag_type) |tag_type| { - for (std.enums.values(tag_type), 0..) |v, i| { + switch (@typeInfo(T)) { + .@"union" => |@"union"| if (@"union".tag_type) |EnumTag| { + for (std.enums.values(EnumTag), 0..) |v, i| { if (@intFromEnum(v) != i) break; // enum values not consecutive - if (!std.mem.eql(u8, @tagName(v), field_infos[i].name)) break; // fields out of order + if (!std.mem.eql(u8, @tagName(v), field_names[i])) break; // fields out of order } else { - return tag_type; + return EnumTag; } - } + }, + else => {}, } - var enumFields: [field_infos.len]std.builtin.Type.EnumField = undefined; - var decls = [_]std.builtin.Type.Declaration{}; - inline for (field_infos, 0..) |field, i| { - enumFields[i] = .{ - .name = field.name, - .value = i, - }; - } - return @Type(.{ - .@"enum" = .{ - .tag_type = std.math.IntFittingRange(0, field_infos.len - 1), - .fields = &enumFields, - .decls = &decls, - .is_exhaustive = true, - }, - }); + const IntTag = std.math.IntFittingRange(0, field_names.len -| 1); + return @Enum(IntTag, .exhaustive, field_names, &std.simd.iota(IntTag, field_names.len)); } fn expectEqualEnum(expected: anytype, actual: @TypeOf(expected)) !void { @@ -583,20 +535,11 @@ test FieldEnum { } pub fn DeclEnum(comptime T: type) type { - const fieldInfos = std.meta.declarations(T); - var enumDecls: [fieldInfos.len]std.builtin.Type.EnumField = undefined; - var decls = [_]std.builtin.Type.Declaration{}; - inline for (fieldInfos, 0..) |field, i| { - enumDecls[i] = .{ .name = field.name, .value = i }; - } - return @Type(.{ - .@"enum" = .{ - .tag_type = std.math.IntFittingRange(0, if (fieldInfos.len == 0) 0 else fieldInfos.len - 1), - .fields = &enumDecls, - .decls = &decls, - .is_exhaustive = true, - }, - }); + const decls = declarations(T); + var names: [decls.len][]const u8 = undefined; + for (&names, decls) |*name, decl| name.* = decl.name; + const IntTag = std.math.IntFittingRange(0, decls.len -| 1); + return @Enum(IntTag, .exhaustive, &names, &std.simd.iota(IntTag, decls.len)); } test DeclEnum { @@ -868,25 +811,26 @@ pub fn declList(comptime Namespace: type, comptime Decl: type) []const *const De } } +/// Deprecated: use @Int pub fn Int(comptime signedness: std.builtin.Signedness, comptime bit_count: u16) type { - return @Type(.{ - .int = .{ - .signedness = signedness, - .bits = bit_count, - }, - }); + return @Int(signedness, bit_count); } pub fn Float(comptime bit_count: u8) type { - return @Type(.{ - .float = .{ .bits = bit_count }, - }); + return switch (bit_count) { + 16 => f16, + 32 => f32, + 64 => f64, + 80 => f80, + 128 => f128, + else => @compileError("invalid float bit count"), + }; } - test Float { try testing.expectEqual(f16, Float(16)); try testing.expectEqual(f32, Float(32)); try testing.expectEqual(f64, Float(64)); + try testing.expectEqual(f80, Float(80)); try testing.expectEqual(f128, Float(128)); } @@ -912,42 +856,14 @@ pub fn ArgsTuple(comptime Function: type) type { argument_field_list[i] = T; } - return CreateUniqueTuple(argument_field_list.len, argument_field_list); + return Tuple(&argument_field_list); } -/// For a given anonymous list of types, returns a new tuple type -/// with those types as fields. +/// Deprecated; use `@Tuple` instead. /// -/// Examples: -/// - `Tuple(&[_]type {})` ⇒ `tuple { }` -/// - `Tuple(&[_]type {f32})` ⇒ `tuple { f32 }` -/// - `Tuple(&[_]type {f32,u32})` ⇒ `tuple { f32, u32 }` +/// To be removed after Zig 0.16.0 releases. pub fn Tuple(comptime types: []const type) type { - return CreateUniqueTuple(types.len, types[0..types.len].*); -} - -fn CreateUniqueTuple(comptime N: comptime_int, comptime types: [N]type) type { - var tuple_fields: [types.len]std.builtin.Type.StructField = undefined; - inline for (types, 0..) |T, i| { - @setEvalBranchQuota(10_000); - var num_buf: [128]u8 = undefined; - tuple_fields[i] = .{ - .name = std.fmt.bufPrintSentinel(&num_buf, "{d}", .{i}, 0) catch unreachable, - .type = T, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(T), - }; - } - - return @Type(.{ - .@"struct" = .{ - .is_tuple = true, - .layout = .auto, - .decls = &.{}, - .fields = &tuple_fields, - }, - }); + return @Tuple(types); } const TupleTester = struct { diff --git a/lib/std/meta/trailer_flags.zig b/lib/std/meta/trailer_flags.zig index ddf3790c19..44a5258a14 100644 --- a/lib/std/meta/trailer_flags.zig +++ b/lib/std/meta/trailer_flags.zig @@ -20,24 +20,16 @@ pub fn TrailerFlags(comptime Fields: type) type { pub const ActiveFields = std.enums.EnumFieldStruct(FieldEnum, bool, false); pub const FieldValues = blk: { - var fields: [bit_count]Type.StructField = undefined; - for (@typeInfo(Fields).@"struct".fields, 0..) |struct_field, i| { - fields[i] = Type.StructField{ - .name = struct_field.name, - .type = ?struct_field.type, - .default_value_ptr = &@as(?struct_field.type, null), - .is_comptime = false, - .alignment = @alignOf(?struct_field.type), - }; + var field_names: [bit_count][]const u8 = undefined; + var field_types: [bit_count]type = undefined; + var field_attrs: [bit_count]std.builtin.Type.StructField.Attributes = undefined; + for (@typeInfo(Fields).@"struct".fields, &field_names, &field_types, &field_attrs) |field, *new_name, *NewType, *new_attrs| { + new_name.* = field.name; + NewType.* = ?field.type; + const default: ?field.type = null; + new_attrs.* = .{ .default_value_ptr = &default }; } - break :blk @Type(.{ - .@"struct" = .{ - .layout = .auto, - .fields = &fields, - .decls = &.{}, - .is_tuple = false, - }, - }); + break :blk @Struct(.auto, null, &field_names, &field_types, &field_attrs); }; pub const Self = @This(); diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig index ec4b0b72e1..958cca30a2 100644 --- a/lib/std/multi_array_list.zig +++ b/lib/std/multi_array_list.zig @@ -32,12 +32,17 @@ pub fn MultiArrayList(comptime T: type) type { const Elem = switch (@typeInfo(T)) { .@"struct" => T, .@"union" => |u| struct { - pub const Bare = @Type(.{ .@"union" = .{ - .layout = u.layout, - .tag_type = null, - .fields = u.fields, - .decls = &.{}, - } }); + pub const Bare = Bare: { + var field_names: [u.fields.len][]const u8 = undefined; + var field_types: [u.fields.len]type = undefined; + var field_attrs: [u.fields.len]std.builtin.Type.UnionField.Attributes = undefined; + for (u.fields, &field_names, &field_types, &field_attrs) |field, *name, *Type, *attrs| { + name.* = field.name; + Type.* = field.type; + attrs.* = .{ .@"align" = field.alignment }; + } + break :Bare @Union(u.layout, null, &field_names, &field_types, &field_attrs); + }; pub const Tag = u.tag_type orelse @compileError("MultiArrayList does not support untagged unions"); tags: Tag, @@ -609,20 +614,18 @@ pub fn MultiArrayList(comptime T: type) type { } const Entry = entry: { - var entry_fields: [fields.len]std.builtin.Type.StructField = undefined; - for (&entry_fields, sizes.fields) |*entry_field, i| entry_field.* = .{ - .name = fields[i].name ++ "_ptr", - .type = *fields[i].type, - .default_value_ptr = null, - .is_comptime = fields[i].is_comptime, - .alignment = fields[i].alignment, - }; - break :entry @Type(.{ .@"struct" = .{ - .layout = .@"extern", - .fields = &entry_fields, - .decls = &.{}, - .is_tuple = false, - } }); + var field_names: [fields.len][]const u8 = undefined; + var field_types: [fields.len]type = undefined; + var field_attrs: [fields.len]std.builtin.Type.StructField.Attributes = undefined; + for (sizes.fields, &field_names, &field_types, &field_attrs) |i, *name, *Type, *attrs| { + name.* = fields[i].name ++ "_ptr"; + Type.* = *fields[i].type; + attrs.* = .{ + .@"comptime" = fields[i].is_comptime, + .@"align" = fields[i].alignment, + }; + } + break :entry @Struct(.@"extern", null, &field_names, &field_types, &field_attrs); }; /// This function is used in the debugger pretty formatters in tools/ to fetch the /// child field order and entry type to facilitate fancy debug printing for this type. @@ -1023,23 +1026,9 @@ test "struct with many fields" { const ManyFields = struct { fn Type(count: comptime_int) type { @setEvalBranchQuota(50000); - var fields: [count]std.builtin.Type.StructField = undefined; - for (0..count) |i| { - fields[i] = .{ - .name = std.fmt.comptimePrint("a{}", .{i}), - .type = u32, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(u32), - }; - } - const info: std.builtin.Type = .{ .@"struct" = .{ - .layout = .auto, - .fields = &fields, - .decls = &.{}, - .is_tuple = false, - } }; - return @Type(info); + var field_names: [count][]const u8 = undefined; + for (&field_names, 0..) |*n, i| n.* = std.fmt.comptimePrint("a{d}", .{i}); + return @Struct(.@"extern", null, &field_names, &@splat(u32), &@splat(.{})); } fn doTest(ally: std.mem.Allocator, count: comptime_int) !void { diff --git a/lib/std/std.zig b/lib/std/std.zig index 1b8142ce4c..5c500d3f55 100644 --- a/lib/std/std.zig +++ b/lib/std/std.zig @@ -124,7 +124,7 @@ pub const Options = struct { logFn: fn ( comptime message_level: log.Level, - comptime scope: @TypeOf(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void = log.defaultLog, diff --git a/lib/std/zig/c_translation/helpers.zig b/lib/std/zig/c_translation/helpers.zig index 5f6a5561df..7d3534bffe 100644 --- a/lib/std/zig/c_translation/helpers.zig +++ b/lib/std/zig/c_translation/helpers.zig @@ -81,23 +81,15 @@ fn ToUnsigned(comptime T: type) type { } /// Constructs a [*c] pointer with the const and volatile annotations -/// from SelfType for pointing to a C flexible array of ElementType. -pub fn FlexibleArrayType(comptime SelfType: type, comptime ElementType: type) type { - switch (@typeInfo(SelfType)) { - .pointer => |ptr| { - return @Type(.{ .pointer = .{ - .size = .c, - .is_const = ptr.is_const, - .is_volatile = ptr.is_volatile, - .alignment = @alignOf(ElementType), - .address_space = .generic, - .child = ElementType, - .is_allowzero = true, - .sentinel_ptr = null, - } }); - }, - else => |info| @compileError("Invalid self type \"" ++ @tagName(info) ++ "\" for flexible array getter: " ++ @typeName(SelfType)), - } +/// from Self for pointing to a C flexible array of Element. +pub fn FlexibleArrayType(comptime Self: type, comptime Element: type) type { + return switch (@typeInfo(Self)) { + .pointer => |ptr| @Pointer(.c, .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + }, Element, null), + else => |info| @compileError("Invalid self type \"" ++ @tagName(info) ++ "\" for flexible array getter: " ++ @typeName(Self)), + }; } /// Promote the type of an integer literal until it fits as C would. @@ -219,7 +211,7 @@ fn castInt(comptime DestType: type, target: anytype) DestType { const dest = @typeInfo(DestType).int; const source = @typeInfo(@TypeOf(target)).int; - const Int = @Type(.{ .int = .{ .bits = dest.bits, .signedness = source.signedness } }); + const Int = @Int(source.signedness, dest.bits); if (dest.bits < source.bits) return @as(DestType, @bitCast(@as(Int, @truncate(target)))) diff --git a/lib/std/zig/llvm/Builder.zig b/lib/std/zig/llvm/Builder.zig index 0f01748bbf..587ac82c70 100644 --- a/lib/std/zig/llvm/Builder.zig +++ b/lib/std/zig/llvm/Builder.zig @@ -8614,39 +8614,18 @@ pub const Metadata = packed struct(u32) { nodes: anytype, w: *Writer, ) !void { - comptime var fmt_str: []const u8 = ""; const names = comptime std.meta.fieldNames(@TypeOf(nodes)); - comptime var fields: [2 + names.len]std.builtin.Type.StructField = undefined; - inline for (fields[0..2], .{ "distinct", "node" }) |*field, name| { - fmt_str = fmt_str ++ "{[" ++ name ++ "]s}"; - field.* = .{ - .name = name, - .type = []const u8, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf([]const u8), - }; - } - fmt_str = fmt_str ++ "("; - inline for (fields[2..], names) |*field, name| { - fmt_str = fmt_str ++ "{[" ++ name ++ "]f}"; - const T = std.fmt.Alt(FormatData, format); - field.* = .{ - .name = name, - .type = T, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(T), - }; - } + + comptime var fmt_str: []const u8 = "{[distinct]s}{[node]s}("; + inline for (names) |name| fmt_str = fmt_str ++ "{[" ++ name ++ "]f}"; fmt_str = fmt_str ++ ")\n"; - var fmt_args: @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &fields, - .decls = &.{}, - .is_tuple = false, - } }) = undefined; + const field_names = @as([]const []const u8, &.{ "distinct", "node" }) ++ names; + comptime var field_types: [2 + names.len]type = undefined; + @memset(field_types[0..2], []const u8); + @memset(field_types[2..], std.fmt.Alt(FormatData, format)); + + var fmt_args: @Struct(.auto, null, field_names, &field_types, &@splat(.{})) = undefined; fmt_args.distinct = @tagName(distinct); fmt_args.node = @tagName(node); inline for (names) |name| @field(fmt_args, name) = try formatter.fmt( diff --git a/src/InternPool.zig b/src/InternPool.zig index 4e8372f1f8..302e71a2b1 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -1153,23 +1153,17 @@ const Local = struct { fn PtrArrayElem(comptime len: usize) type { const elem_info = @typeInfo(Elem).@"struct"; const elem_fields = elem_info.fields; - var new_fields: [elem_fields.len]std.builtin.Type.StructField = undefined; - for (&new_fields, elem_fields) |*new_field, elem_field| { - const T = *[len]elem_field.type; - new_field.* = .{ - .name = elem_field.name, - .type = T, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(T), - }; + var new_names: [elem_fields.len][]const u8 = undefined; + var new_types: [elem_fields.len]type = undefined; + for (elem_fields, &new_names, &new_types) |elem_field, *new_name, *NewType| { + new_name.* = elem_field.name; + NewType.* = *[len]elem_field.type; + } + if (elem_info.is_tuple) { + return @Tuple(&new_types); + } else { + return @Struct(.auto, null, &new_names, &new_types, &@splat(.{})); } - return @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &new_fields, - .decls = &.{}, - .is_tuple = elem_info.is_tuple, - } }); } fn PtrElem(comptime opts: struct { size: std.builtin.Type.Pointer.Size, @@ -1177,32 +1171,17 @@ const Local = struct { }) type { const elem_info = @typeInfo(Elem).@"struct"; const elem_fields = elem_info.fields; - var new_fields: [elem_fields.len]std.builtin.Type.StructField = undefined; - for (&new_fields, elem_fields) |*new_field, elem_field| { - const T = @Type(.{ .pointer = .{ - .size = opts.size, - .is_const = opts.is_const, - .is_volatile = false, - .alignment = @alignOf(elem_field.type), - .address_space = .generic, - .child = elem_field.type, - .is_allowzero = false, - .sentinel_ptr = null, - } }); - new_field.* = .{ - .name = elem_field.name, - .type = T, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(T), - }; + var new_names: [elem_fields.len][]const u8 = undefined; + var new_types: [elem_fields.len]type = undefined; + for (elem_fields, &new_names, &new_types) |elem_field, *new_name, *NewType| { + new_name.* = elem_field.name; + NewType.* = @Pointer(opts.size, .{ .@"const" = opts.is_const }, elem_field.type, null); + } + if (elem_info.is_tuple) { + return @Tuple(&new_types); + } else { + return @Struct(.auto, null, &new_names, &new_types, &@splat(.{})); } - return @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &new_fields, - .decls = &.{}, - .is_tuple = elem_info.is_tuple, - } }); } pub fn addOne(mutable: Mutable) Allocator.Error!PtrElem(.{ .size = .one }) { diff --git a/src/Sema.zig b/src/Sema.zig index 224fc3fa39..2ca75e1574 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -23904,7 +23904,7 @@ fn analyzeShuffle( const b_src = block.builtinCallArgSrc(src_node, 2); const mask_src = block.builtinCallArgSrc(src_node, 3); - // If the type of `a` is `@Type(.undefined)`, i.e. the argument is untyped, + // If the type of `a` is `@TypeOf(undefined)`, i.e. the argument is untyped, // this is 0, because it is an error to index into this vector. const a_len: u32 = switch (sema.typeOf(a_uncoerced).zigTypeTag(zcu)) { .array, .vector => @intCast(sema.typeOf(a_uncoerced).arrayLen(zcu)), @@ -23916,7 +23916,7 @@ fn analyzeShuffle( const a_ty = try pt.vectorType(.{ .len = a_len, .child = elem_ty.toIntern() }); const a_coerced = try sema.coerce(block, a_ty, a_uncoerced, a_src); - // If the type of `b` is `@Type(.undefined)`, i.e. the argument is untyped, this is 0, because it is an error to index into this vector. + // If the type of `b` is `@TypeOf(undefined)`, i.e. the argument is untyped, this is 0, because it is an error to index into this vector. const b_len: u32 = switch (sema.typeOf(b_uncoerced).zigTypeTag(zcu)) { .array, .vector => @intCast(sema.typeOf(b_uncoerced).arrayLen(zcu)), .undefined => 0, diff --git a/src/codegen/aarch64/Assemble.zig b/src/codegen/aarch64/Assemble.zig index 5cf9c2da3c..e6b2189b7b 100644 --- a/src/codegen/aarch64/Assemble.zig +++ b/src/codegen/aarch64/Assemble.zig @@ -120,23 +120,13 @@ const matchers = matchers: { ); var symbols: Symbols: { const symbols = @typeInfo(@TypeOf(instruction.symbols)).@"struct".fields; - var symbol_fields: [symbols.len]std.builtin.Type.StructField = undefined; - for (&symbol_fields, symbols) |*symbol_field, symbol| { - const Storage = zonCast(SymbolSpec, @field(instruction.symbols, symbol.name), .{}).Storage(); - symbol_field.* = .{ - .name = symbol.name, - .type = Storage, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(Storage), - }; + var field_names: [symbols.len][]const u8 = undefined; + var field_types: [symbols.len]type = undefined; + for (symbols, &field_names, &field_types) |symbol, *field_name, *FieldType| { + field_name.* = symbol.name; + FieldType.* = zonCast(SymbolSpec, @field(instruction.symbols, symbol.name), .{}).Storage(); } - break :Symbols @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &symbol_fields, - .decls = &.{}, - .is_tuple = false, - } }); + break :Symbols @Struct(.auto, null, &field_names, &field_types, &@splat(.{})); } = undefined; const Symbol = std.meta.FieldEnum(@TypeOf(instruction.symbols)); comptime var unused_symbols: std.enums.EnumSet(Symbol) = .initFull(); @@ -334,7 +324,7 @@ const SymbolSpec = union(enum) { .reg => aarch64.encoding.Register, .arrangement => aarch64.encoding.Register.Arrangement, .systemreg => aarch64.encoding.Register.System, - .imm => |imm_spec| @Type(.{ .int = imm_spec.type }), + .imm => |imm_spec| @Int(imm_spec.type.signedness, imm_spec.type.bits), .fimm => f16, .extend => Instruction.DataProcessingRegister.AddSubtractExtendedRegister.Option, .shift => Instruction.DataProcessingRegister.Shift.Op, @@ -413,13 +403,13 @@ const SymbolSpec = union(enum) { return systemreg; }, .imm => |imm_spec| { - const imm = std.fmt.parseInt(@Type(.{ .int = .{ - .signedness = imm_spec.type.signedness, - .bits = switch (imm_spec.adjust) { + const imm = std.fmt.parseInt(@Int( + imm_spec.type.signedness, + switch (imm_spec.adjust) { .none, .neg_wrap => imm_spec.type.bits, .dec => imm_spec.type.bits + 1, }, - } }), token, 0) catch { + ), token, 0) catch { log.debug("invalid immediate: \"{f}\"", .{std.zig.fmtString(token)}); return null; }; diff --git a/src/codegen/aarch64/Select.zig b/src/codegen/aarch64/Select.zig index 93cb987820..f390d83f03 100644 --- a/src/codegen/aarch64/Select.zig +++ b/src/codegen/aarch64/Select.zig @@ -8928,12 +8928,16 @@ pub const Value = struct { constant: Constant, pub const Tag = @typeInfo(Parent).@"union".tag_type.?; - pub const Payload = @Type(.{ .@"union" = .{ - .layout = .auto, - .tag_type = null, - .fields = @typeInfo(Parent).@"union".fields, - .decls = &.{}, - } }); + pub const Payload = Payload: { + const fields = @typeInfo(Parent).@"union".fields; + var types: [fields.len]type = undefined; + var names: [fields.len][]const u8 = undefined; + for (fields, &types, &names) |f, *ty, *name| { + ty.* = f.type; + name.* = f.name; + } + break :Payload @Union(.auto, null, &names, &types, &@splat(.{})); + }; }; pub const Location = union(enum(u1)) { @@ -8949,12 +8953,16 @@ pub const Value = struct { }, pub const Tag = @typeInfo(Location).@"union".tag_type.?; - pub const Payload = @Type(.{ .@"union" = .{ - .layout = .auto, - .tag_type = null, - .fields = @typeInfo(Location).@"union".fields, - .decls = &.{}, - } }); + pub const Payload = Payload: { + const fields = @typeInfo(Location).@"union".fields; + var types: [fields.len]type = undefined; + var names: [fields.len][]const u8 = undefined; + for (fields, &types, &names) |f, *ty, *name| { + ty.* = f.type; + name.* = f.name; + } + break :Payload @Union(.auto, null, &names, &types, &@splat(.{})); + }; }; pub const Indirect = packed struct(u32) { @@ -11210,7 +11218,7 @@ pub const Value = struct { .storage = .{ .u64 = switch (size) { else => unreachable, inline 1...8 => |ct_size| std.mem.readInt( - @Type(.{ .int = .{ .signedness = .unsigned, .bits = 8 * ct_size } }), + @Int(.unsigned, 8 * ct_size), buffer[@intCast(offset)..][0..ct_size], isel.target.cpu.arch.endian(), ), @@ -11438,7 +11446,7 @@ fn writeKeyToMemory(isel: *Select, constant_key: InternPool.Key, buffer: []u8) e switch (buffer.len) { else => unreachable, inline 1...4 => |size| std.mem.writeInt( - @Type(.{ .int = .{ .signedness = .unsigned, .bits = 8 * size } }), + @Int(.unsigned, 8 * size), buffer[0..size], @intCast(error_int), isel.target.cpu.arch.endian(), diff --git a/src/codegen/x86_64/CodeGen.zig b/src/codegen/x86_64/CodeGen.zig index 80798969eb..99d768805f 100644 --- a/src/codegen/x86_64/CodeGen.zig +++ b/src/codegen/x86_64/CodeGen.zig @@ -189867,9 +189867,7 @@ const Select = struct { } fn adjustedImm(op: Select.Operand, comptime SignedImm: type, s: *const Select) SignedImm { - const UnsignedImm = @Type(.{ - .int = .{ .signedness = .unsigned, .bits = @typeInfo(SignedImm).int.bits }, - }); + const UnsignedImm = @Int(.unsigned, @typeInfo(SignedImm).int.bits); const lhs: SignedImm = lhs: switch (op.flags.adjust.lhs) { .none => 0, .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8), @@ -189934,10 +189932,10 @@ const Select = struct { const RefImm = switch (size) { else => comptime unreachable, .none => Imm, - .byte, .word, .dword, .qword => @Type(comptime .{ .int = .{ - .signedness = @typeInfo(Imm).int.signedness, - .bits = size.bitSize(undefined), - } }), + .byte, .word, .dword, .qword => @Int( + @typeInfo(Imm).int.signedness, + size.bitSize(undefined), + ), }; break :lhs @bitCast(@as(Imm, @intCast(@as(RefImm, switch (adjust) { else => comptime unreachable, diff --git a/src/codegen/x86_64/Emit.zig b/src/codegen/x86_64/Emit.zig index 18846aaf99..15f142c4a7 100644 --- a/src/codegen/x86_64/Emit.zig +++ b/src/codegen/x86_64/Emit.zig @@ -708,7 +708,7 @@ pub fn emitMir(emit: *Emit) Error!void { switch (reloc.source_length) { else => unreachable, inline 1, 4 => |source_length| std.mem.writeInt( - @Type(.{ .int = .{ .signedness = .signed, .bits = @as(u16, 8) * source_length } }), + @Int(.signed, @as(u16, 8) * source_length), inst_bytes[reloc.source_offset..][0..source_length], @intCast(disp), .little, diff --git a/src/link.zig b/src/link.zig index 31ba3aca7d..6be88490b0 100644 --- a/src/link.zig +++ b/src/link.zig @@ -51,10 +51,7 @@ pub const Diags = struct { const Int = blk: { const bits = @typeInfo(@This()).@"struct".fields.len; - break :blk @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = bits, - } }); + break :blk @Int(.unsigned, bits); }; pub fn anySet(ef: Flags) bool { diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index 04f3c37b9b..95f4ca8bbd 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -5130,25 +5130,23 @@ pub fn resolveRelocs(dwarf: *Dwarf) RelocError!void { fn DeclValEnum(comptime T: type) type { const decls = @typeInfo(T).@"struct".decls; - @setEvalBranchQuota(7 * decls.len); - var fields: [decls.len]std.builtin.Type.EnumField = undefined; + @setEvalBranchQuota(10 * decls.len); + var field_names: [decls.len][]const u8 = undefined; var fields_len = 0; var min_value: ?comptime_int = null; var max_value: ?comptime_int = null; for (decls) |decl| { if (std.mem.startsWith(u8, decl.name, "HP_") or std.mem.endsWith(u8, decl.name, "_user")) continue; const value = @field(T, decl.name); - fields[fields_len] = .{ .name = decl.name, .value = value }; + field_names[fields_len] = decl.name; fields_len += 1; if (min_value == null or min_value.? > value) min_value = value; if (max_value == null or max_value.? < value) max_value = value; } - return @Type(.{ .@"enum" = .{ - .tag_type = std.math.IntFittingRange(min_value orelse 0, max_value orelse 0), - .fields = fields[0..fields_len], - .decls = &.{}, - .is_exhaustive = true, - } }); + const TagInt = std.math.IntFittingRange(min_value orelse 0, max_value orelse 0); + var field_vals: [fields_len]TagInt = undefined; + for (field_names[0..fields_len], &field_vals) |name, *val| val.* = @field(T, name); + return @Enum(TagInt, .exhaustive, field_names[0..fields_len], &field_vals); } const AbbrevCode = enum { @@ -6382,10 +6380,12 @@ fn freeCommonEntry( fn writeInt(dwarf: *Dwarf, buf: []u8, int: u64) void { switch (buf.len) { - inline 0...8 => |len| std.mem.writeInt(@Type(.{ .int = .{ - .signedness = .unsigned, - .bits = len * 8, - } }), buf[0..len], @intCast(int), dwarf.endian), + inline 0...8 => |len| std.mem.writeInt( + @Int(.unsigned, len * 8), + buf[0..len], + @intCast(int), + dwarf.endian, + ), else => unreachable, } } diff --git a/src/link/MappedFile.zig b/src/link/MappedFile.zig index 09d940e85f..e189a1df94 100644 --- a/src/link/MappedFile.zig +++ b/src/link/MappedFile.zig @@ -108,10 +108,7 @@ pub const Node = extern struct { has_content: bool, /// Whether a moved event on this node bubbles down to children. bubbles_moved: bool, - unused: @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = 32 - @bitSizeOf(std.mem.Alignment) - 6, - } }) = 0, + unused: @Int(.unsigned, 32 - @bitSizeOf(std.mem.Alignment) - 6) = 0, }; pub const Location = union(enum(u1)) { @@ -122,19 +119,14 @@ pub const Node = extern struct { }, large: extern struct { index: usize, - unused: @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = 64 - @bitSizeOf(usize), - } }) = 0, + unused: @Int(.unsigned, 64 - @bitSizeOf(usize)) = 0, }, pub const Tag = @typeInfo(Location).@"union".tag_type.?; - pub const Payload = @Type(.{ .@"union" = .{ - .layout = .@"extern", - .tag_type = null, - .fields = @typeInfo(Location).@"union".fields, - .decls = &.{}, - } }); + pub const Payload = extern union { + small: @FieldType(Location, "small"), + large: @FieldType(Location, "large"), + }; pub fn resolve(loc: Location, mf: *const MappedFile) [2]u64 { return switch (loc) { diff --git a/src/main.zig b/src/main.zig index 21bbecea4a..8199f2d405 100644 --- a/src/main.zig +++ b/src/main.zig @@ -136,7 +136,7 @@ var log_scopes: std.ArrayList([]const u8) = .empty; pub fn log( comptime level: std.log.Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig index d704151aa6..5bd7326460 100644 --- a/test/behavior/basic.zig +++ b/test/behavior/basic.zig @@ -1264,12 +1264,9 @@ test "reference to inferred local variable works as expected" { try expect(crasher_local.lets_crash != a.lets_crash); } -test "@Type returned from block" { +test "@Int returned from block" { const T = comptime b: { - break :b @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = 8, - } }); + break :b @Int(.unsigned, 8); }; try std.testing.expect(T == u8); } diff --git a/test/behavior/bit_shifting.zig b/test/behavior/bit_shifting.zig index 42d3e982d7..74bd8690b4 100644 --- a/test/behavior/bit_shifting.zig +++ b/test/behavior/bit_shifting.zig @@ -119,21 +119,12 @@ test "Saturating Shift Left where lhs is of a computed type" { if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; const S = struct { - fn getIntShiftType(comptime T: type) type { - var unsigned_shift_type = @typeInfo(std.math.Log2Int(T)).int; - unsigned_shift_type.signedness = .signed; - - return @Type(.{ - .int = unsigned_shift_type, - }); - } - pub fn FixedPoint(comptime ValueType: type) type { return struct { value: ValueType, exponent: ShiftType, - const ShiftType: type = getIntShiftType(ValueType); + const ShiftType = @Int(.signed, @typeInfo(std.math.Log2Int(ValueType)).int.bits); pub fn shiftExponent(self: @This(), shift: ShiftType) @This() { const shiftAbs = @abs(shift); diff --git a/test/behavior/call.zig b/test/behavior/call.zig index e4d09c7fa1..3433cc5971 100644 --- a/test/behavior/call.zig +++ b/test/behavior/call.zig @@ -355,7 +355,7 @@ test "inline call doesn't re-evaluate non generic struct" { try comptime @call(.always_inline, S.foo, ArgTuple{.{ .a = 123, .b = 45 }}); } -test "Enum constructed by @Type passed as generic argument" { +test "Enum constructed by @Enum passed as generic argument" { const S = struct { const E = std.meta.FieldEnum(struct { prev_pos: bool, diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig index 2155c6eb27..4796c0c7ae 100644 --- a/test/behavior/cast.zig +++ b/test/behavior/cast.zig @@ -2446,9 +2446,14 @@ test "peer type resolution: pointer attributes are combined correctly" { }; const NonAllowZero = comptime blk: { - var ti = @typeInfo(@TypeOf(r1, r2, r3, r4)); - ti.pointer.is_allowzero = false; - break :blk @Type(ti); + const ptr = @typeInfo(@TypeOf(r1, r2, r3, r4)).pointer; + break :blk @Pointer(ptr.size, .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + .@"allowzero" = false, + .@"align" = ptr.alignment, + .@"addrspace" = ptr.address_space, + }, ptr.child, ptr.sentinel()); }; try expectEqualSlices(u8, std.mem.span(@volatileCast(@as(NonAllowZero, @ptrCast(r1)))), "foo"); try expectEqualSlices(u8, std.mem.span(@volatileCast(@as(NonAllowZero, @ptrCast(r2)))), "bar"); diff --git a/test/behavior/enum.zig b/test/behavior/enum.zig index 175449b566..6ec436b70d 100644 --- a/test/behavior/enum.zig +++ b/test/behavior/enum.zig @@ -1283,10 +1283,7 @@ test "Non-exhaustive enum backed by comptime_int" { test "matching captures causes enum equivalence" { const S = struct { fn Nonexhaustive(comptime I: type) type { - const UTag = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = @typeInfo(I).int.bits, - } }); + const UTag = @Int(.unsigned, @typeInfo(I).int.bits); return enum(UTag) { _ }; } }; diff --git a/test/behavior/fn.zig b/test/behavior/fn.zig index 677a47a104..358ca7b629 100644 --- a/test/behavior/fn.zig +++ b/test/behavior/fn.zig @@ -556,10 +556,10 @@ test "lazy values passed to anytype parameter" { test "pass and return comptime-only types" { const S = struct { - fn returnNull(comptime x: @Type(.null)) @Type(.null) { + fn returnNull(comptime x: @TypeOf(null)) @TypeOf(null) { return x; } - fn returnUndefined(comptime x: @Type(.undefined)) @Type(.undefined) { + fn returnUndefined(comptime x: @TypeOf(undefined)) @TypeOf(undefined) { return x; } }; diff --git a/test/behavior/generics.zig b/test/behavior/generics.zig index 962148e1b4..65a5a1b007 100644 --- a/test/behavior/generics.zig +++ b/test/behavior/generics.zig @@ -263,15 +263,7 @@ test "generic function instantiation turns into comptime call" { pub fn FieldEnum(comptime T: type) type { _ = T; - var enumFields: [1]std.builtin.Type.EnumField = .{.{ .name = "A", .value = 0 }}; - return @Type(.{ - .@"enum" = .{ - .tag_type = u0, - .fields = &enumFields, - .decls = &.{}, - .is_exhaustive = true, - }, - }); + return @Enum(u0, .exhaustive, &.{"A"}, &.{0}); } }; try S.doTheTest(); diff --git a/test/behavior/sizeof_and_typeof.zig b/test/behavior/sizeof_and_typeof.zig index 4ce2d3a24e..a6087787b5 100644 --- a/test/behavior/sizeof_and_typeof.zig +++ b/test/behavior/sizeof_and_typeof.zig @@ -338,14 +338,14 @@ test "peer type resolution with @TypeOf doesn't trigger dependency loop check" { test "@sizeOf reified union zero-size payload fields" { comptime { - try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union {})))); - try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void })))); + try std.testing.expect(0 == @sizeOf(@Union(.auto, null, &.{}, &.{}, &.{}))); + try std.testing.expect(0 == @sizeOf(@Union(.auto, null, &.{"a"}, &.{void}, &.{.{}}))); if (builtin.mode == .Debug or builtin.mode == .ReleaseSafe) { - try std.testing.expect(1 == @sizeOf(@Type(@typeInfo(union { a: void, b: void })))); - try std.testing.expect(1 == @sizeOf(@Type(@typeInfo(union { a: void, b: void, c: void })))); + try std.testing.expect(1 == @sizeOf(@Union(.auto, null, &.{ "a", "b" }, &.{ void, void }, &.{ .{}, .{} }))); + try std.testing.expect(1 == @sizeOf(@Union(.auto, null, &.{ "a", "b", "c" }, &.{ void, void, void }, &.{ .{}, .{}, .{} }))); } else { - try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void, b: void })))); - try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void, b: void, c: void })))); + try std.testing.expect(0 == @sizeOf(@Union(.auto, null, &.{ "a", "b" }, &.{ void, void }, &.{ .{}, .{} }))); + try std.testing.expect(0 == @sizeOf(@Union(.auto, null, &.{ "a", "b", "c" }, &.{ void, void, void }, &.{ .{}, .{}, .{} }))); } } } diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index 03a49b70d1..6ac60c2251 100644 --- a/test/behavior/struct.zig +++ b/test/behavior/struct.zig @@ -2034,10 +2034,7 @@ test "matching captures causes struct equivalence" { fn UnsignedWrapper(comptime I: type) type { const bits = @typeInfo(I).int.bits; return struct { - x: @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = bits, - } }), + x: @Int(.unsigned, bits), }; } }; diff --git a/test/behavior/switch.zig b/test/behavior/switch.zig index 170e8d9778..d184bbc47d 100644 --- a/test/behavior/switch.zig +++ b/test/behavior/switch.zig @@ -843,7 +843,8 @@ test "switch capture peer type resolution for in-memory coercible payloads" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const T1 = c_int; - const T2 = @Type(@typeInfo(T1)); + const t1_info = @typeInfo(T1).int; + const T2 = @Int(t1_info.signedness, t1_info.bits); comptime assert(T1 != T2); @@ -865,7 +866,8 @@ test "switch pointer capture peer type resolution" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const T1 = c_int; - const T2 = @Type(@typeInfo(T1)); + const t1_info = @typeInfo(T1).int; + const T2 = @Int(t1_info.signedness, t1_info.bits); comptime assert(T1 != T2); diff --git a/test/behavior/switch_loop.zig b/test/behavior/switch_loop.zig index 1d82957d39..8dfbf9775c 100644 --- a/test/behavior/switch_loop.zig +++ b/test/behavior/switch_loop.zig @@ -230,10 +230,7 @@ test "switch loop on larger than pointer integer" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; - var entry: @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = @bitSizeOf(usize) + 1, - } }) = undefined; + var entry: @Int(.unsigned, @bitSizeOf(usize) + 1) = undefined; entry = 0; loop: switch (entry) { 0 => { diff --git a/test/behavior/tuple.zig b/test/behavior/tuple.zig index cc9a711f20..a88a99171b 100644 --- a/test/behavior/tuple.zig +++ b/test/behavior/tuple.zig @@ -130,29 +130,7 @@ test "array-like initializer for tuple types" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; - const T = @Type(.{ - .@"struct" = .{ - .is_tuple = true, - .layout = .auto, - .decls = &.{}, - .fields = &.{ - .{ - .name = "0", - .type = i32, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(i32), - }, - .{ - .name = "1", - .type = u8, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(u8), - }, - }, - }, - }); + const T = @Tuple(&.{ i32, u8 }); const S = struct { fn doTheTest() !void { var obj: T = .{ -1234, 128 }; @@ -320,20 +298,7 @@ test "zero sized struct in tuple handled correctly" { const Self = @This(); const Inner = struct {}; - data: @Type(.{ - .@"struct" = .{ - .is_tuple = true, - .layout = .auto, - .decls = &.{}, - .fields = &.{.{ - .name = "0", - .type = Inner, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(Inner), - }}, - }, - }), + data: @Tuple(&.{Inner}), pub fn do(this: Self) usize { return @sizeOf(@TypeOf(this)); @@ -470,12 +435,7 @@ test "coerce anon tuple to tuple" { } test "empty tuple type" { - const S = @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{}, - .decls = &.{}, - .is_tuple = true, - } }); + const S = @Tuple(&.{}); const s: S = .{}; try expect(s.len == 0); @@ -616,18 +576,7 @@ test "OPV tuple fields aren't comptime" { const t_info = @typeInfo(T); try expect(!t_info.@"struct".fields[0].is_comptime); - const T2 = @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "0", - .type = void, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(void), - }}, - .decls = &.{}, - .is_tuple = true, - } }); + const T2 = @Tuple(&.{void}); const t2_info = @typeInfo(T2); try expect(!t2_info.@"struct".fields[0].is_comptime); } diff --git a/test/behavior/type.zig b/test/behavior/type.zig index 0bb3de6f97..411a77f9e5 100644 --- a/test/behavior/type.zig +++ b/test/behavior/type.zig @@ -4,63 +4,17 @@ const Type = std.builtin.Type; const testing = std.testing; const assert = std.debug.assert; -fn testTypes(comptime types: []const type) !void { - inline for (types) |testType| { - try testing.expect(testType == @Type(@typeInfo(testType))); - } -} - -test "Type.MetaType" { - try testing.expect(type == @Type(.{ .type = {} })); - try testTypes(&[_]type{type}); -} - -test "Type.Void" { - try testing.expect(void == @Type(.{ .void = {} })); - try testTypes(&[_]type{void}); -} - -test "Type.Bool" { - try testing.expect(bool == @Type(.{ .bool = {} })); - try testTypes(&[_]type{bool}); -} - -test "Type.NoReturn" { - try testing.expect(noreturn == @Type(.{ .noreturn = {} })); - try testTypes(&[_]type{noreturn}); -} - test "Type.Int" { - try testing.expect(u1 == @Type(.{ .int = .{ .signedness = .unsigned, .bits = 1 } })); - try testing.expect(i1 == @Type(.{ .int = .{ .signedness = .signed, .bits = 1 } })); - try testing.expect(u8 == @Type(.{ .int = .{ .signedness = .unsigned, .bits = 8 } })); - try testing.expect(i8 == @Type(.{ .int = .{ .signedness = .signed, .bits = 8 } })); - try testing.expect(u64 == @Type(.{ .int = .{ .signedness = .unsigned, .bits = 64 } })); - try testing.expect(i64 == @Type(.{ .int = .{ .signedness = .signed, .bits = 64 } })); - try testTypes(&[_]type{ u8, u32, i64 }); -} - -test "Type.ComptimeFloat" { - try testTypes(&[_]type{comptime_float}); -} -test "Type.ComptimeInt" { - try testTypes(&[_]type{comptime_int}); -} -test "Type.Undefined" { - try testTypes(&[_]type{@TypeOf(undefined)}); -} -test "Type.Null" { - try testTypes(&[_]type{@TypeOf(null)}); -} - -test "Type.EnumLiteral" { - try testTypes(&[_]type{ - @TypeOf(.Dummy), - }); + try testing.expect(u1 == @Int(.unsigned, 1)); + try testing.expect(i1 == @Int(.signed, 1)); + try testing.expect(u8 == @Int(.unsigned, 8)); + try testing.expect(i8 == @Int(.signed, 8)); + try testing.expect(u64 == @Int(.unsigned, 64)); + try testing.expect(i64 == @Int(.signed, 64)); } test "Type.Pointer" { - try testTypes(&[_]type{ + inline for (&[_]type{ // One Value Pointer Types *u8, *const u8, *volatile u8, *const volatile u8, @@ -101,62 +55,30 @@ test "Type.Pointer" { [*c]align(4) volatile u8, [*c]align(4) const volatile u8, [*c]align(8) u8, [*c]align(8) const u8, [*c]align(8) volatile u8, [*c]align(8) const volatile u8, - }); + }) |testType| { + const ptr = @typeInfo(testType).pointer; + try testing.expect(testType == @Pointer(ptr.size, .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + .@"allowzero" = ptr.is_allowzero, + .@"align" = ptr.alignment, + .@"addrspace" = ptr.address_space, + }, ptr.child, ptr.sentinel())); + } } -test "Type.Float" { - try testing.expect(f16 == @Type(.{ .float = .{ .bits = 16 } })); - try testing.expect(f32 == @Type(.{ .float = .{ .bits = 32 } })); - try testing.expect(f64 == @Type(.{ .float = .{ .bits = 64 } })); - try testing.expect(f80 == @Type(.{ .float = .{ .bits = 80 } })); - try testing.expect(f128 == @Type(.{ .float = .{ .bits = 128 } })); - try testTypes(&[_]type{ f16, f32, f64, f80, f128 }); +test "@Pointer create slice without sentinel" { + const Slice = @Pointer(.slice, .{ .@"const" = true, .@"align" = 8 }, ?*i32, null); + try testing.expect(Slice == []align(8) const ?*i32); } -test "Type.Array" { - try testing.expect([123]u8 == @Type(.{ - .array = .{ - .len = 123, - .child = u8, - .sentinel_ptr = null, - }, - })); - try testing.expect([2]u32 == @Type(.{ - .array = .{ - .len = 2, - .child = u32, - .sentinel_ptr = null, - }, - })); - try testing.expect([2:0]u32 == @Type(.{ - .array = .{ - .len = 2, - .child = u32, - .sentinel_ptr = &@as(u32, 0), - }, - })); - try testTypes(&[_]type{ [1]u8, [30]usize, [7]bool }); +test "@Pointer create slice with null sentinel" { + const Slice = @Pointer(.slice, .{ .@"const" = true, .@"align" = 8 }, ?*i32, @as(?*i32, null)); + try testing.expect(Slice == [:null]align(8) const ?*i32); } -test "@Type create slice with null sentinel" { - const Slice = @Type(.{ - .pointer = .{ - .size = .slice, - .is_const = true, - .is_volatile = false, - .is_allowzero = false, - .alignment = 8, - .address_space = .generic, - .child = *i32, - .sentinel_ptr = null, - }, - }); - try testing.expect(Slice == []align(8) const *i32); -} - -test "@Type picks up the sentinel value from Type" { - try testTypes(&[_]type{ - [11:0]u8, [4:10]u8, +test "@Pointer on @typeInfo round-trips sentinels" { + inline for (&[_]type{ [*:0]u8, [*:0]const u8, [*:0]volatile u8, [*:0]const volatile u8, [*:0]align(4) u8, [*:0]align(4) const u8, @@ -179,24 +101,16 @@ test "@Type picks up the sentinel value from Type" { [:0]allowzero align(4) u8, [:0]allowzero align(4) const u8, [:0]allowzero align(4) volatile u8, [:0]allowzero align(4) const volatile u8, [:4]allowzero align(4) volatile u8, [:4]allowzero align(4) const volatile u8, - }); -} - -test "Type.Optional" { - try testTypes(&[_]type{ - ?u8, - ?*u8, - ?[]u8, - ?[*]u8, - ?[*c]u8, - }); -} - -test "Type.ErrorUnion" { - try testTypes(&[_]type{ - error{}!void, - error{Error}!void, - }); + }) |TestType| { + const ptr = @typeInfo(TestType).pointer; + try testing.expect(TestType == @Pointer(ptr.size, .{ + .@"const" = ptr.is_const, + .@"volatile" = ptr.is_volatile, + .@"allowzero" = ptr.is_allowzero, + .@"align" = ptr.alignment, + .@"addrspace" = ptr.address_space, + }, ptr.child, ptr.sentinel())); + } } test "Type.Opaque" { @@ -205,11 +119,7 @@ test "Type.Opaque" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; - const Opaque = @Type(.{ - .@"opaque" = .{ - .decls = &.{}, - }, - }); + const Opaque = opaque {}; try testing.expect(Opaque != opaque {}); try testing.expectEqualSlices( Type.Declaration, @@ -218,52 +128,17 @@ test "Type.Opaque" { ); } -test "Type.Vector" { - try testTypes(&[_]type{ - @Vector(0, u8), - @Vector(4, u8), - @Vector(8, *u8), - @Vector(0, u8), - @Vector(4, u8), - @Vector(8, *u8), - }); -} - -test "Type.AnyFrame" { - if (true) { - // https://github.com/ziglang/zig/issues/6025 - return error.SkipZigTest; - } - - try testTypes(&[_]type{ - anyframe, - anyframe->u8, - anyframe->anyframe->u8, - }); -} - fn add(a: i32, b: i32) i32 { return a + b; } -test "Type.ErrorSet" { - try testing.expect(@Type(.{ .error_set = null }) == anyerror); - - // error sets don't compare equal so just check if they compile - inline for (.{ error{}, error{A}, error{ A, B, C } }) |T| { - const info = @typeInfo(T); - const T2 = @Type(info); - try testing.expect(T == T2); - } -} - test "Type.Struct" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; - const A = @Type(@typeInfo(struct { x: u8, y: u32 })); + const A = @Struct(.auto, null, &.{ "x", "y" }, &.{ u8, u32 }, &@splat(.{})); const infoA = @typeInfo(A).@"struct"; try testing.expectEqual(Type.ContainerLayout.auto, infoA.layout); try testing.expectEqualSlices(u8, "x", infoA.fields[0].name); @@ -281,7 +156,13 @@ test "Type.Struct" { a.y += 1; try testing.expectEqual(@as(u32, 2), a.y); - const B = @Type(@typeInfo(extern struct { x: u8, y: u32 = 5 })); + const B = @Struct( + .@"extern", + null, + &.{ "x", "y" }, + &.{ u8, u32 }, + &.{ .{}, .{ .default_value_ptr = &@as(u32, 5) } }, + ); const infoB = @typeInfo(B).@"struct"; try testing.expectEqual(Type.ContainerLayout.@"extern", infoB.layout); try testing.expectEqualSlices(u8, "x", infoB.fields[0].name); @@ -293,7 +174,16 @@ test "Type.Struct" { try testing.expectEqual(@as(usize, 0), infoB.decls.len); try testing.expectEqual(@as(bool, false), infoB.is_tuple); - const C = @Type(@typeInfo(packed struct { x: u8 = 3, y: u32 = 5 })); + const C = @Struct( + .@"packed", + null, + &.{ "x", "y" }, + &.{ u8, u32 }, + &.{ + .{ .default_value_ptr = &@as(u8, 3) }, + .{ .default_value_ptr = &@as(u32, 5) }, + }, + ); const infoC = @typeInfo(C).@"struct"; try testing.expectEqual(Type.ContainerLayout.@"packed", infoC.layout); try testing.expectEqualSlices(u8, "x", infoC.fields[0].name); @@ -305,76 +195,23 @@ test "Type.Struct" { try testing.expectEqual(@as(usize, 0), infoC.decls.len); try testing.expectEqual(@as(bool, false), infoC.is_tuple); - // anon structs - const D = @Type(@typeInfo(@TypeOf(.{ .x = 3, .y = 5 }))); - const infoD = @typeInfo(D).@"struct"; - try testing.expectEqual(Type.ContainerLayout.auto, infoD.layout); - try testing.expectEqualSlices(u8, "x", infoD.fields[0].name); - try testing.expectEqual(comptime_int, infoD.fields[0].type); - try testing.expectEqual(@as(comptime_int, 3), infoD.fields[0].defaultValue().?); - try testing.expectEqualSlices(u8, "y", infoD.fields[1].name); - try testing.expectEqual(comptime_int, infoD.fields[1].type); - try testing.expectEqual(@as(comptime_int, 5), infoD.fields[1].defaultValue().?); - try testing.expectEqual(@as(usize, 0), infoD.decls.len); - try testing.expectEqual(@as(bool, false), infoD.is_tuple); - - // tuples - const E = @Type(@typeInfo(@TypeOf(.{ 1, 2 }))); - const infoE = @typeInfo(E).@"struct"; - try testing.expectEqual(Type.ContainerLayout.auto, infoE.layout); - try testing.expectEqualSlices(u8, "0", infoE.fields[0].name); - try testing.expectEqual(comptime_int, infoE.fields[0].type); - try testing.expectEqual(@as(comptime_int, 1), infoE.fields[0].defaultValue().?); - try testing.expectEqualSlices(u8, "1", infoE.fields[1].name); - try testing.expectEqual(comptime_int, infoE.fields[1].type); - try testing.expectEqual(@as(comptime_int, 2), infoE.fields[1].defaultValue().?); - try testing.expectEqual(@as(usize, 0), infoE.decls.len); - try testing.expectEqual(@as(bool, true), infoE.is_tuple); - // empty struct - const F = @Type(@typeInfo(struct {})); + const F = @Struct(.auto, null, &.{}, &.{}, &.{}); const infoF = @typeInfo(F).@"struct"; try testing.expectEqual(Type.ContainerLayout.auto, infoF.layout); try testing.expect(infoF.fields.len == 0); try testing.expectEqual(@as(bool, false), infoF.is_tuple); - - // empty tuple - const G = @Type(@typeInfo(@TypeOf(.{}))); - const infoG = @typeInfo(G).@"struct"; - try testing.expectEqual(Type.ContainerLayout.auto, infoG.layout); - try testing.expect(infoG.fields.len == 0); - try testing.expectEqual(@as(bool, true), infoG.is_tuple); } test "Type.Enum" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; - const Foo = @Type(.{ - .@"enum" = .{ - .tag_type = u8, - .fields = &.{ - .{ .name = "a", .value = 1 }, - .{ .name = "b", .value = 5 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, - }); + const Foo = @Enum(u8, .exhaustive, &.{ "a", "b" }, &.{ 1, 5 }); try testing.expectEqual(true, @typeInfo(Foo).@"enum".is_exhaustive); try testing.expectEqual(@as(u8, 1), @intFromEnum(Foo.a)); try testing.expectEqual(@as(u8, 5), @intFromEnum(Foo.b)); - const Bar = @Type(.{ - .@"enum" = .{ - .tag_type = u32, - .fields = &.{ - .{ .name = "a", .value = 1 }, - .{ .name = "b", .value = 5 }, - }, - .decls = &.{}, - .is_exhaustive = false, - }, - }); + const Bar = @Enum(u32, .nonexhaustive, &.{ "a", "b" }, &.{ 1, 5 }); try testing.expectEqual(false, @typeInfo(Bar).@"enum".is_exhaustive); try testing.expectEqual(@as(u32, 1), @intFromEnum(Bar.a)); try testing.expectEqual(@as(u32, 5), @intFromEnum(Bar.b)); @@ -382,12 +219,7 @@ test "Type.Enum" { { // from https://github.com/ziglang/zig/issues/19985 { // enum with single field can be initialized. - const E = @Type(.{ .@"enum" = .{ - .tag_type = u0, - .is_exhaustive = true, - .fields = &.{.{ .name = "foo", .value = 0 }}, - .decls = &.{}, - } }); + const E = @Enum(u0, .exhaustive, &.{"foo"}, &.{0}); const s: struct { E } = .{.foo}; try testing.expectEqual(.foo, s[0]); } @@ -411,60 +243,20 @@ test "Type.Union" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; - const Untagged = @Type(.{ - .@"union" = .{ - .layout = .@"extern", - .tag_type = null, - .fields = &.{ - .{ .name = "int", .type = i32, .alignment = @alignOf(f32) }, - .{ .name = "float", .type = f32, .alignment = @alignOf(f32) }, - }, - .decls = &.{}, - }, - }); + const Untagged = @Union(.@"extern", null, &.{ "int", "float" }, &.{ i32, f32 }, &.{ .{}, .{} }); var untagged = Untagged{ .int = 1 }; untagged.float = 2.0; untagged.int = 3; try testing.expectEqual(@as(i32, 3), untagged.int); - const PackedUntagged = @Type(.{ - .@"union" = .{ - .layout = .@"packed", - .tag_type = null, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = 0 }, - .{ .name = "unsigned", .type = u32, .alignment = 0 }, - }, - .decls = &.{}, - }, - }); + const PackedUntagged = @Union(.@"packed", null, &.{ "signed", "unsigned" }, &.{ i32, u32 }, &.{ .{}, .{} }); var packed_untagged: PackedUntagged = .{ .signed = -1 }; _ = &packed_untagged; try testing.expectEqual(@as(i32, -1), packed_untagged.signed); try testing.expectEqual(~@as(u32, 0), packed_untagged.unsigned); - const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u1, - .fields = &.{ - .{ .name = "signed", .value = 0 }, - .{ .name = "unsigned", .value = 1 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, - }); - const Tagged = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = Tag, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = @alignOf(i32) }, - .{ .name = "unsigned", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, - }); + const Tag = @Enum(u1, .exhaustive, &.{ "signed", "unsigned" }, &.{ 0, 1 }); + const Tagged = @Union(.auto, Tag, &.{ "signed", "unsigned" }, &.{ i32, u32 }, &.{ .{}, .{} }); var tagged = Tagged{ .signed = -1 }; try testing.expectEqual(Tag.signed, @as(Tag, tagged)); tagged = .{ .unsigned = 1 }; @@ -472,74 +264,26 @@ test "Type.Union" { } test "Type.Union from Type.Enum" { - const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u0, - .fields = &.{ - .{ .name = "working_as_expected", .value = 0 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, - }); - const T = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = Tag, - .fields = &.{ - .{ .name = "working_as_expected", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, - }); + const Tag = @Enum(u0, .exhaustive, &.{"working_as_expected"}, &.{0}); + const T = @Union(.auto, Tag, &.{"working_as_expected"}, &.{u32}, &.{.{}}); _ = @typeInfo(T).@"union"; } test "Type.Union from regular enum" { const E = enum { working_as_expected }; - const T = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = E, - .fields = &.{ - .{ .name = "working_as_expected", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, - }); + const T = @Union(.auto, E, &.{"working_as_expected"}, &.{u32}, &.{.{}}); _ = @typeInfo(T).@"union"; } test "Type.Union from empty regular enum" { const E = enum {}; - const U = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = E, - .fields = &.{}, - .decls = &.{}, - }, - }); + const U = @Union(.auto, E, &.{}, &.{}, &.{}); try testing.expectEqual(@sizeOf(U), 0); } test "Type.Union from empty Type.Enum" { - const E = @Type(.{ - .@"enum" = .{ - .tag_type = u0, - .fields = &.{}, - .decls = &.{}, - .is_exhaustive = true, - }, - }); - const U = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = E, - .fields = &.{}, - .decls = &.{}, - }, - }); + const E = @Enum(u0, .exhaustive, &.{}, &.{}); + const U = @Union(.auto, E, &.{}, &.{}, &.{}); try testing.expectEqual(@sizeOf(U), 0); } @@ -548,47 +292,22 @@ test "Type.Fn" { const some_opaque = opaque {}; const some_ptr = *some_opaque; - const T = fn (c_int, some_ptr) callconv(.c) void; - { - const fn_info = std.builtin.Type{ .@"fn" = .{ - .calling_convention = .c, - .is_generic = false, - .is_var_args = false, - .return_type = void, - .params = &.{ - .{ .is_generic = false, .is_noalias = false, .type = c_int }, - .{ .is_generic = false, .is_noalias = false, .type = some_ptr }, - }, - } }; + const A = @Fn(&.{ c_int, some_ptr }, &@splat(.{}), void, .{ .@"callconv" = .c }); + comptime assert(A == fn (c_int, some_ptr) callconv(.c) void); - const fn_type = @Type(fn_info); - try std.testing.expectEqual(T, fn_type); - } + const B = @Fn(&.{ c_int, some_ptr, u32 }, &.{ .{}, .{ .@"noalias" = true }, .{} }, u64, .{}); + comptime assert(B == fn (c_int, noalias some_ptr, u32) u64); - { - const fn_info = @typeInfo(T); - const fn_type = @Type(fn_info); - try std.testing.expectEqual(T, fn_type); - } + const C = @Fn(&.{?[*]u8}, &.{.{}}, *const anyopaque, .{ .@"callconv" = .c, .varargs = true }); + comptime assert(C == fn (?[*]u8, ...) callconv(.c) *const anyopaque); } test "reified struct field name from optional payload" { comptime { const m_name: ?[1:0]u8 = "a".*; if (m_name) |*name| { - const T = @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = name, - .type = u8, - .default_value_ptr = null, - .is_comptime = false, - .alignment = 1, - }}, - .decls = &.{}, - .is_tuple = false, - } }); + const T = @Struct(.auto, null, &.{name}, &.{u8}, &.{.{}}); const t: T = .{ .a = 123 }; try std.testing.expect(t.a == 123); } @@ -598,20 +317,7 @@ test "reified struct field name from optional payload" { test "reified union uses @alignOf" { const S = struct { fn CreateUnion(comptime T: type) type { - return @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = null, - .fields = &[_]std.builtin.Type.UnionField{ - .{ - .name = "field", - .type = T, - .alignment = @alignOf(T), - }, - }, - .decls = &.{}, - }, - }); + return @Union(.auto, null, &.{"field"}, &.{T}, &.{.{}}); } }; _ = S.CreateUnion(struct {}); @@ -620,22 +326,13 @@ test "reified union uses @alignOf" { test "reified struct uses @alignOf" { const S = struct { fn NamespacedGlobals(comptime modules: anytype) type { - return @Type(.{ - .@"struct" = .{ - .layout = .auto, - .is_tuple = false, - .fields = &.{ - .{ - .name = "globals", - .type = modules.mach.globals, - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(modules.mach.globals), - }, - }, - .decls = &.{}, - }, - }); + return @Struct( + .auto, + null, + &.{"globals"}, + &.{modules.mach.globals}, + &.{.{ .@"align" = @alignOf(modules.mach.globals) }}, + ); } }; _ = S.NamespacedGlobals(.{ @@ -645,56 +342,10 @@ test "reified struct uses @alignOf" { }); } -test "reified error set initialized with field pointer" { - const S = struct { - const info = .{ - .args = [_]Type.Error{ - .{ .name = "bar" }, - }, - }; - const Foo = @Type(.{ - .error_set = &info.args, - }); - }; - try testing.expect(S.Foo == error{bar}); -} -test "reified function type params initialized with field pointer" { - const S = struct { - const fn_info = .{ - .params = [_]Type.Fn.Param{ - .{ .is_generic = false, .is_noalias = false, .type = u8 }, - }, - }; - const Bar = @Type(.{ - .@"fn" = .{ - .calling_convention = .auto, - .is_generic = false, - .is_var_args = false, - .return_type = void, - .params = &fn_info.params, - }, - }); - }; - try testing.expect(@typeInfo(S.Bar) == .@"fn"); -} - test "empty struct assigned to reified struct field" { const S = struct { fn NamespacedComponents(comptime modules: anytype) type { - return @Type(.{ - .@"struct" = .{ - .layout = .auto, - .is_tuple = false, - .fields = &.{.{ - .name = "components", - .type = @TypeOf(modules.components), - .default_value_ptr = null, - .is_comptime = false, - .alignment = @alignOf(@TypeOf(modules.components)), - }}, - .decls = &.{}, - }, - }); + return @Struct(.auto, null, &.{"components"}, &.{@TypeOf(modules.components)}, &.{.{}}); } fn namespacedComponents(comptime modules: anytype) NamespacedComponents(modules) { @@ -710,16 +361,6 @@ test "empty struct assigned to reified struct field" { }); } -test "@Type should resolve its children types" { - const sparse = enum(u2) { a, b, c }; - const dense = enum(u2) { a, b, c, d }; - - comptime var sparse_info = @typeInfo(anyerror!sparse); - sparse_info.error_union.payload = dense; - const B = @Type(sparse_info); - try testing.expectEqual(anyerror!dense, B); -} - test "struct field names sliced at comptime from larger string" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -729,28 +370,14 @@ test "struct field names sliced at comptime from larger string" { \\f3 ; comptime { - var fields: []const Type.StructField = &[0]Type.StructField{}; + var field_names: []const []const u8 = &.{}; var it = std.mem.tokenizeScalar(u8, text, '\n'); while (it.next()) |name| { - fields = fields ++ &[_]Type.StructField{.{ - .alignment = @alignOf(usize), - .name = name ++ "", - .type = usize, - .default_value_ptr = null, - .is_comptime = false, - }}; + field_names = field_names ++ @as([]const []const u8, &.{name}); } - const T = @Type(.{ - .@"struct" = .{ - .layout = .auto, - .is_tuple = false, - .fields = fields, - .decls = &.{}, - }, - }); - + const T = @Struct(.auto, null, field_names, &@splat(usize), &@splat(.{})); const gen_fields = @typeInfo(T).@"struct".fields; try testing.expectEqual(3, gen_fields.len); try testing.expectEqualStrings("f1", gen_fields[0].name); @@ -762,10 +389,7 @@ test "struct field names sliced at comptime from larger string" { test "matching captures causes opaque equivalence" { const S = struct { fn UnsignedId(comptime I: type) type { - const U = @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = @typeInfo(I).int.bits, - } }); + const U = @Int(.unsigned, @typeInfo(I).int.bits); return opaque { fn id(x: U) U { return x; @@ -785,17 +409,9 @@ test "matching captures causes opaque equivalence" { } test "reify enum where fields refers to part of array" { - const fields: [3]std.builtin.Type.EnumField = .{ - .{ .name = "foo", .value = 0 }, - .{ .name = "bar", .value = 1 }, - undefined, - }; - const E = @Type(.{ .@"enum" = .{ - .tag_type = u8, - .fields = fields[0..2], - .decls = &.{}, - .is_exhaustive = true, - } }); + const field_names: [3][]const u8 = .{ "foo", "bar", undefined }; + const field_values: [3]u8 = .{ undefined, 0, 1 }; + const E = @Enum(u8, .exhaustive, field_names[0..2], field_values[1..3]); var a: E = undefined; var b: E = undefined; a = .foo; diff --git a/test/behavior/union.zig b/test/behavior/union.zig index 115c43fbd8..7771f57bea 100644 --- a/test/behavior/union.zig +++ b/test/behavior/union.zig @@ -2198,14 +2198,8 @@ test "matching captures causes union equivalence" { fn SignedUnsigned(comptime I: type) type { const bits = @typeInfo(I).int.bits; return union { - u: @Type(.{ .int = .{ - .signedness = .unsigned, - .bits = bits, - } }), - i: @Type(.{ .int = .{ - .signedness = .signed, - .bits = bits, - } }), + u: @Int(.unsigned, bits), + i: @Int(.signed, bits), }; } }; diff --git a/test/behavior/x86_64/math.zig b/test/behavior/x86_64/math.zig index 5f0473e0d5..5662a09c77 100644 --- a/test/behavior/x86_64/math.zig +++ b/test/behavior/x86_64/math.zig @@ -36,34 +36,28 @@ pub fn ChangeScalar(comptime Type: type, comptime NewScalar: type) type { } pub fn AsSignedness(comptime Type: type, comptime signedness: std.builtin.Signedness) type { return switch (@typeInfo(Scalar(Type))) { - .int => |int| ChangeScalar(Type, @Type(.{ .int = .{ - .signedness = signedness, - .bits = int.bits, - } })), + .int => |int| ChangeScalar(Type, @Int(signedness, int.bits)), .float => Type, else => @compileError(@typeName(Type)), }; } pub fn AddOneBit(comptime Type: type) type { return ChangeScalar(Type, switch (@typeInfo(Scalar(Type))) { - .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = 1 + int.bits } }), + .int => |int| @Int(int.signedness, 1 + int.bits), .float => Scalar(Type), else => @compileError(@typeName(Type)), }); } pub fn DoubleBits(comptime Type: type) type { return ChangeScalar(Type, switch (@typeInfo(Scalar(Type))) { - .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = int.bits * 2 } }), + .int => |int| @Int(int.signedness, int.bits * 2), .float => Scalar(Type), else => @compileError(@typeName(Type)), }); } pub fn RoundBitsUp(comptime Type: type, comptime multiple: u16) type { return ChangeScalar(Type, switch (@typeInfo(Scalar(Type))) { - .int => |int| @Type(.{ .int = .{ - .signedness = int.signedness, - .bits = std.mem.alignForward(u16, int.bits, multiple), - } }), + .int => |int| @Int(int.signedness, std.mem.alignForward(u16, int.bits, multiple)), .float => Scalar(Type), else => @compileError(@typeName(Type)), }); @@ -83,10 +77,7 @@ pub fn splat(comptime Type: type, scalar: Scalar(Type)) Type { pub fn sign(rhs: anytype) ChangeScalar(@TypeOf(rhs), bool) { const Int = ChangeScalar(@TypeOf(rhs), switch (@typeInfo(Scalar(@TypeOf(rhs)))) { .int, .comptime_int => Scalar(@TypeOf(rhs)), - .float => |float| @Type(.{ .int = .{ - .signedness = .signed, - .bits = float.bits, - } }), + .float => |float| @Int(.signed, float.bits), else => @compileError(@typeName(@TypeOf(rhs))), }); return @as(Int, @bitCast(rhs)) < splat(Int, 0); diff --git a/test/cases/compile_errors/@import_zon_bad_type.zig b/test/cases/compile_errors/@import_zon_bad_type.zig index 7f8f718a74..9fe3c88721 100644 --- a/test/cases/compile_errors/@import_zon_bad_type.zig +++ b/test/cases/compile_errors/@import_zon_bad_type.zig @@ -116,7 +116,7 @@ export fn testMutablePointer() void { // tmp.zig:85:26: note: ZON does not allow nested optionals // tmp.zig:90:29: error: type '*i32' is not available in ZON // tmp.zig:90:29: note: ZON does not allow mutable pointers -// neg_inf.zon:1:1: error: expected type '@Type(.enum_literal)' +// neg_inf.zon:1:1: error: expected type '@EnumLiteral()' // tmp.zig:37:38: note: imported here // neg_inf.zon:1:1: error: expected type '?u8' // tmp.zig:57:28: note: imported here diff --git a/test/cases/compile_errors/@import_zon_opt_in_err.zig b/test/cases/compile_errors/@import_zon_opt_in_err.zig index b7322a43b4..29cf412eab 100644 --- a/test/cases/compile_errors/@import_zon_opt_in_err.zig +++ b/test/cases/compile_errors/@import_zon_opt_in_err.zig @@ -70,7 +70,7 @@ export fn testVector() void { // tmp.zig:22:29: note: imported here // vec2.zon:1:2: error: expected type '?tmp.Enum' // tmp.zig:28:30: note: imported here -// vec2.zon:1:2: error: expected type '?@Type(.enum_literal)' +// vec2.zon:1:2: error: expected type '?@EnumLiteral()' // tmp.zig:33:39: note: imported here // vec2.zon:1:2: error: expected type '?[1]u8' // tmp.zig:38:31: note: imported here diff --git a/test/cases/compile_errors/align_zero.zig b/test/cases/compile_errors/align_zero.zig index e54a32ce31..632d146dc5 100644 --- a/test/cases/compile_errors/align_zero.zig +++ b/test/cases/compile_errors/align_zero.zig @@ -38,31 +38,11 @@ export fn i() void { } export fn j() void { - _ = @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "test", - .type = u32, - .default_value_ptr = null, - .is_comptime = false, - .alignment = 0, - }}, - .decls = &.{}, - .is_tuple = false, - } }); + _ = @Struct(.auto, null, &.{"test"}, &.{u32}, &.{.{ .@"align" = 0 }}); } export fn k() void { - _ = @Type(.{ .pointer = .{ - .size = .one, - .is_const = false, - .is_volatile = false, - .alignment = 0, - .address_space = .generic, - .child = u32, - .is_allowzero = false, - .sentinel_ptr = null, - } }); + _ = @Pointer(.one, .{ .@"align" = 0 }, u32, null); } // error @@ -76,5 +56,5 @@ export fn k() void { // :29:17: error: alignment must be >= 1 // :33:35: error: alignment must be >= 1 // :37:34: error: alignment must be >= 1 -// :41:9: error: alignment must be >= 1 -// :56:9: error: alignment must be >= 1 +// :41:51: error: alignment must be >= 1 +// :45:25: error: alignment must be >= 1 diff --git a/test/cases/compile_errors/attempt_to_cast_enum_literal_to_error.zig b/test/cases/compile_errors/attempt_to_cast_enum_literal_to_error.zig index fa71a420a6..31f41b57a4 100644 --- a/test/cases/compile_errors/attempt_to_cast_enum_literal_to_error.zig +++ b/test/cases/compile_errors/attempt_to_cast_enum_literal_to_error.zig @@ -6,4 +6,4 @@ export fn entry() void { // error // -// :3:10: error: expected type 'error{Hi}', found '@Type(.enum_literal)' +// :3:10: error: expected type 'error{Hi}', found '@EnumLiteral()' diff --git a/test/cases/compile_errors/attempt_to_create_17_bit_float_type.zig b/test/cases/compile_errors/attempt_to_create_17_bit_float_type.zig deleted file mode 100644 index cf9e5824c9..0000000000 --- a/test/cases/compile_errors/attempt_to_create_17_bit_float_type.zig +++ /dev/null @@ -1,8 +0,0 @@ -const builtin = @import("std").builtin; -comptime { - _ = @Type(.{ .float = .{ .bits = 17 } }); -} - -// error -// -// :3:9: error: 17-bit float unsupported diff --git a/test/cases/compile_errors/enum_with_declarations_unavailable_for_reify_type.zig b/test/cases/compile_errors/enum_with_declarations_unavailable_for_reify_type.zig deleted file mode 100644 index 8ac082349a..0000000000 --- a/test/cases/compile_errors/enum_with_declarations_unavailable_for_reify_type.zig +++ /dev/null @@ -1,10 +0,0 @@ -export fn entry() void { - _ = @Type(@typeInfo(enum { - foo, - pub const bar = 1; - })); -} - -// error -// -// :2:9: error: reified enums must have no decls diff --git a/test/cases/compile_errors/error_set_decl_literal.zig b/test/cases/compile_errors/error_set_decl_literal.zig index abb22f189f..067629feec 100644 --- a/test/cases/compile_errors/error_set_decl_literal.zig +++ b/test/cases/compile_errors/error_set_decl_literal.zig @@ -6,4 +6,4 @@ export fn entry() void { // error // -// :3:19: error: expected type 'error{Foo}', found '@Type(.enum_literal)' +// :3:19: error: expected type 'error{Foo}', found '@EnumLiteral()' diff --git a/test/cases/compile_errors/invalid_pointer_to_opaque.zig b/test/cases/compile_errors/invalid_pointer_to_opaque.zig index 8b80b2eb25..ed7bf69063 100644 --- a/test/cases/compile_errors/invalid_pointer_to_opaque.zig +++ b/test/cases/compile_errors/invalid_pointer_to_opaque.zig @@ -9,40 +9,13 @@ export fn c() void { } export fn d() void { - _ = @Type(.{ .pointer = .{ - .size = .slice, - .is_const = false, - .is_volatile = false, - .alignment = 1, - .address_space = .generic, - .child = anyopaque, - .is_allowzero = false, - .sentinel_ptr = null, - } }); + _ = @Pointer(.slice, .{}, anyopaque, null); } export fn e() void { - _ = @Type(.{ .pointer = .{ - .size = .many, - .is_const = false, - .is_volatile = false, - .alignment = 1, - .address_space = .generic, - .child = anyopaque, - .is_allowzero = false, - .sentinel_ptr = null, - } }); + _ = @Pointer(.many, .{}, anyopaque, null); } export fn f() void { - _ = @Type(.{ .pointer = .{ - .size = .c, - .is_const = false, - .is_volatile = false, - .alignment = 1, - .address_space = .generic, - .child = anyopaque, - .is_allowzero = false, - .sentinel_ptr = null, - } }); + _ = @Pointer(.c, .{}, anyopaque, null); } // error @@ -51,5 +24,5 @@ export fn f() void { // :5:12: error: indexable pointer to opaque type 'anyopaque' not allowed // :8:13: error: indexable pointer to opaque type 'anyopaque' not allowed // :12:9: error: indexable pointer to opaque type 'anyopaque' not allowed -// :24:9: error: indexable pointer to opaque type 'anyopaque' not allowed -// :36:9: error: indexable pointer to opaque type 'anyopaque' not allowed +// :15:9: error: indexable pointer to opaque type 'anyopaque' not allowed +// :18:9: error: indexable pointer to opaque type 'anyopaque' not allowed diff --git a/test/cases/compile_errors/invalid_pointer_with_reify_type.zig b/test/cases/compile_errors/invalid_pointer_with_reify_type.zig index c1f622c1a5..5b7c5834d2 100644 --- a/test/cases/compile_errors/invalid_pointer_with_reify_type.zig +++ b/test/cases/compile_errors/invalid_pointer_with_reify_type.zig @@ -1,16 +1,7 @@ export fn entry() void { - _ = @Type(.{ .pointer = .{ - .size = .one, - .is_const = false, - .is_volatile = false, - .alignment = 1, - .address_space = .generic, - .child = u8, - .is_allowzero = false, - .sentinel_ptr = &@as(u8, 0), - } }); + _ = @Pointer(.one, .{}, u8, 0); } // error // -// :2:9: error: sentinels are only allowed on slices and unknown-length pointers +// :2:33: error: sentinels are only allowed on slices and unknown-length pointers diff --git a/test/cases/compile_errors/minmax_nonnumeric_operand.zig b/test/cases/compile_errors/minmax_nonnumeric_operand.zig index 57e939f134..cf8856a059 100644 --- a/test/cases/compile_errors/minmax_nonnumeric_operand.zig +++ b/test/cases/compile_errors/minmax_nonnumeric_operand.zig @@ -36,4 +36,4 @@ const Union = union { foo: void }; // :13:29: error: expected number, found 'tmp.Union' // :19:15: note: union declared here // :14:61: error: expected number, found 'fn () u8' -// :15:25: error: expected number, found '@Type(.enum_literal)' +// :15:25: error: expected number, found '@EnumLiteral()' diff --git a/test/cases/compile_errors/nested_vectors.zig b/test/cases/compile_errors/nested_vectors.zig index e59847e4e9..a43f60afe1 100644 --- a/test/cases/compile_errors/nested_vectors.zig +++ b/test/cases/compile_errors/nested_vectors.zig @@ -1,10 +1,10 @@ export fn entry() void { const V1 = @Vector(4, u8); - const V2 = @Type(.{ .vector = .{ .len = 4, .child = V1 } }); + const V2 = @Vector(4, V1); const v: V2 = undefined; _ = v; } // error // -// :3:16: error: expected integer, float, bool, or pointer for the vector element type; found '@Vector(4, u8)' +// :3:27: error: expected integer, float, bool, or pointer for the vector element type; found '@Vector(4, u8)' diff --git a/test/cases/compile_errors/non_constant_expression_in_array_size.zig b/test/cases/compile_errors/non_constant_expression_in_array_size.zig index 72f5e5c1fd..0f64e1263b 100644 --- a/test/cases/compile_errors/non_constant_expression_in_array_size.zig +++ b/test/cases/compile_errors/non_constant_expression_in_array_size.zig @@ -14,4 +14,4 @@ export fn entry() usize { // // :6:12: error: unable to resolve comptime value // :2:12: note: called at comptime from here -// :1:13: note: struct fields must be comptime-known +// :1:13: note: types must be comptime-known diff --git a/test/cases/compile_errors/non_scalar_sentinel.zig b/test/cases/compile_errors/non_scalar_sentinel.zig index c2d8bced8d..5678053300 100644 --- a/test/cases/compile_errors/non_scalar_sentinel.zig +++ b/test/cases/compile_errors/non_scalar_sentinel.zig @@ -12,31 +12,10 @@ comptime { } comptime { - _ = @Type(.{ .array = .{ .child = S, .len = 0, .sentinel_ptr = &sentinel } }); + _ = @Pointer(.slice, .{}, S, sentinel); } comptime { - _ = @Type(.{ .pointer = .{ - .size = .slice, - .is_const = false, - .is_volatile = false, - .alignment = @alignOf(S), - .address_space = .generic, - .child = S, - .is_allowzero = false, - .sentinel_ptr = &sentinel, - } }); -} -comptime { - _ = @Type(.{ .pointer = .{ - .size = .many, - .is_const = false, - .is_volatile = false, - .alignment = @alignOf(S), - .address_space = .generic, - .child = S, - .is_allowzero = false, - .sentinel_ptr = &sentinel, - } }); + _ = @Pointer(.many, .{}, S, sentinel); } // error @@ -47,9 +26,7 @@ comptime { // :1:11: note: struct declared here // :11:12: error: non-scalar sentinel type 'tmp.S' // :1:11: note: struct declared here -// :15:9: error: non-scalar sentinel type 'tmp.S' +// :15:34: error: non-scalar sentinel type 'tmp.S' // :1:11: note: struct declared here -// :18:9: error: non-scalar sentinel type 'tmp.S' -// :1:11: note: struct declared here -// :30:9: error: non-scalar sentinel type 'tmp.S' +// :18:33: error: non-scalar sentinel type 'tmp.S' // :1:11: note: struct declared here diff --git a/test/cases/compile_errors/reified_enum_field_value_overflow.zig b/test/cases/compile_errors/reified_enum_field_value_overflow.zig index c28ae3f5fc..ded9acd40d 100644 --- a/test/cases/compile_errors/reified_enum_field_value_overflow.zig +++ b/test/cases/compile_errors/reified_enum_field_value_overflow.zig @@ -1,17 +1,8 @@ comptime { - const E = @Type(.{ .@"enum" = .{ - .tag_type = u1, - .fields = &.{ - .{ .name = "f0", .value = 0 }, - .{ .name = "f1", .value = 1 }, - .{ .name = "f2", .value = 2 }, - }, - .decls = &.{}, - .is_exhaustive = true, - } }); + const E = @Enum(u1, .exhaustive, &.{ "f0", "f1", "f2" }, &.{ 0, 1, 2 }); _ = E; } // error // -// :2:15: error: field 'f2' with enumeration value '2' is too large for backing int type 'u1' +// :2:72: error: type 'u1' cannot represent integer value '2' diff --git a/test/cases/compile_errors/reify_enum_with_duplicate_field.zig b/test/cases/compile_errors/reify_enum_with_duplicate_field.zig index 77bfe56f17..73df5e1a86 100644 --- a/test/cases/compile_errors/reify_enum_with_duplicate_field.zig +++ b/test/cases/compile_errors/reify_enum_with_duplicate_field.zig @@ -1,18 +1,8 @@ export fn entry() void { - _ = @Type(.{ - .@"enum" = .{ - .tag_type = u32, - .fields = &.{ - .{ .name = "A", .value = 0 }, - .{ .name = "A", .value = 1 }, - }, - .decls = &.{}, - .is_exhaustive = false, - }, - }); + _ = @Enum(u32, .nonexhaustive, &.{ "A", "A" }, &.{ 0, 1 }); } // error // -// :2:9: error: duplicate enum field 'A' -// :2:9: note: other field here +// :2:36: error: duplicate enum field 'A' +// :2:36: note: other field here diff --git a/test/cases/compile_errors/reify_enum_with_duplicate_tag_value.zig b/test/cases/compile_errors/reify_enum_with_duplicate_tag_value.zig index 8ab4c1d766..6343782ca7 100644 --- a/test/cases/compile_errors/reify_enum_with_duplicate_tag_value.zig +++ b/test/cases/compile_errors/reify_enum_with_duplicate_tag_value.zig @@ -1,18 +1,8 @@ export fn entry() void { - _ = @Type(.{ - .@"enum" = .{ - .tag_type = u32, - .fields = &.{ - .{ .name = "A", .value = 10 }, - .{ .name = "B", .value = 10 }, - }, - .decls = &.{}, - .is_exhaustive = false, - }, - }); + _ = @Enum(u32, .nonexhaustive, &.{ "A", "B" }, &.{ 10, 10 }); } // error // -// :2:9: error: enum tag value 10 already taken -// :2:9: note: other enum tag value here +// :2:52: error: enum tag value 10 already taken +// :2:52: note: other enum tag value here diff --git a/test/cases/compile_errors/reify_struct.zig b/test/cases/compile_errors/reify_struct.zig index 60228061dd..690b724e12 100644 --- a/test/cases/compile_errors/reify_struct.zig +++ b/test/cases/compile_errors/reify_struct.zig @@ -1,79 +1,16 @@ comptime { - @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "foo", - .type = u32, - .default_value_ptr = null, - .is_comptime = false, - .alignment = 4, - }}, - .decls = &.{}, - .is_tuple = true, - } }); + @Struct(.auto, null, &.{"foo"}, &.{u32}, &.{.{ .@"comptime" = true }}); } comptime { - @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "3", - .type = u32, - .default_value_ptr = null, - .is_comptime = false, - .alignment = 4, - }}, - .decls = &.{}, - .is_tuple = true, - } }); + @Struct(.@"extern", null, &.{"foo"}, &.{u32}, &.{.{ .@"comptime" = true, .default_value_ptr = &@as(u32, 10) }}); } comptime { - @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "0", - .type = u32, - .default_value_ptr = null, - .is_comptime = true, - .alignment = 4, - }}, - .decls = &.{}, - .is_tuple = true, - } }); -} -comptime { - @Type(.{ .@"struct" = .{ - .layout = .@"extern", - .fields = &.{.{ - .name = "0", - .type = u32, - .default_value_ptr = null, - .is_comptime = true, - .alignment = 4, - }}, - .decls = &.{}, - .is_tuple = false, - } }); -} -comptime { - @Type(.{ .@"struct" = .{ - .layout = .@"packed", - .fields = &.{.{ - .name = "0", - .type = u32, - .default_value_ptr = null, - .is_comptime = true, - .alignment = 4, - }}, - .decls = &.{}, - .is_tuple = false, - } }); + @Struct(.@"packed", null, &.{"foo"}, &.{u32}, &.{.{ .@"align" = 4 }}); } // error // -// :2:5: error: tuple cannot have non-numeric field 'foo' -// :16:5: error: tuple field name '3' does not match field index 0 -// :30:5: error: comptime field without default initialization value -// :44:5: error: extern struct fields cannot be marked comptime -// :58:5: error: alignment of a packed struct field must be set to 0 +// :2:46: error: comptime field without default initialization value +// :5:51: error: extern struct fields cannot be marked comptime +// :8:51: error: packed struct fields cannot be aligned diff --git a/test/cases/compile_errors/reify_type.Fn_with_is_generic_true.zig b/test/cases/compile_errors/reify_type.Fn_with_is_generic_true.zig deleted file mode 100644 index d34043390d..0000000000 --- a/test/cases/compile_errors/reify_type.Fn_with_is_generic_true.zig +++ /dev/null @@ -1,16 +0,0 @@ -const Foo = @Type(.{ - .@"fn" = .{ - .calling_convention = .auto, - .is_generic = true, - .is_var_args = false, - .return_type = u0, - .params = &.{}, - }, -}); -comptime { - _ = Foo; -} - -// error -// -// :1:13: error: Type.Fn.is_generic must be false for @Type diff --git a/test/cases/compile_errors/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig b/test/cases/compile_errors/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig index f74b89ae87..a4d109b211 100644 --- a/test/cases/compile_errors/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig +++ b/test/cases/compile_errors/reify_type.Fn_with_is_var_args_true_and_non-C_callconv.zig @@ -1,18 +1,9 @@ -const Foo = @Type(.{ - .@"fn" = .{ - .calling_convention = .auto, - .is_generic = false, - .is_var_args = true, - .return_type = u0, - .params = &.{}, - }, -}); comptime { - _ = Foo; + _ = @Fn(&.{u32}, &.{.{}}, u8, .{ .varargs = true }); } // error // target=x86_64-linux // -// :1:13: error: variadic function does not support 'auto' calling convention -// :1:13: note: supported calling conventions: 'x86_64_sysv', 'x86_64_x32', 'x86_64_win' +// :2:36: error: variadic function does not support 'auto' calling convention +// :2:36: note: supported calling conventions: 'x86_64_sysv', 'x86_64_x32', 'x86_64_win' diff --git a/test/cases/compile_errors/reify_type.Fn_with_return_type_null.zig b/test/cases/compile_errors/reify_type.Fn_with_return_type_null.zig deleted file mode 100644 index 2438aa443c..0000000000 --- a/test/cases/compile_errors/reify_type.Fn_with_return_type_null.zig +++ /dev/null @@ -1,16 +0,0 @@ -const Foo = @Type(.{ - .@"fn" = .{ - .calling_convention = .auto, - .is_generic = false, - .is_var_args = false, - .return_type = null, - .params = &.{}, - }, -}); -comptime { - _ = Foo; -} - -// error -// -// :1:13: error: Type.Fn.return_type must be non-null for @Type diff --git a/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig b/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig index ad4cae5588..d74e0b2b53 100644 --- a/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig +++ b/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_non-integer_tag_type.zig @@ -1,15 +1,8 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = bool, - .fields = &.{}, - .decls = &.{}, - .is_exhaustive = false, - }, -}); +const Tag = @Enum(bool, .nonexhaustive, &.{}, &.{}); export fn entry() void { _ = @as(Tag, @enumFromInt(0)); } // error // -// :1:13: error: Type.Enum.tag_type must be an integer type +// :1:19: error: tag type must be an integer type diff --git a/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig b/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig index 2bf144b52d..1fbdab25ea 100644 --- a/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig +++ b/test/cases/compile_errors/reify_type_for_exhaustive_enum_with_undefined_tag_type.zig @@ -1,15 +1,8 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = undefined, - .fields = &.{}, - .decls = &.{}, - .is_exhaustive = false, - }, -}); +const Tag = @Enum(undefined, .exhaustive, &.{}, &.{}); export fn entry() void { _ = @as(Tag, @enumFromInt(0)); } // error // -// :1:20: error: use of undefined value here causes illegal behavior +// :1:19: error: use of undefined value here causes illegal behavior diff --git a/test/cases/compile_errors/reify_type_for_tagged_extern_union.zig b/test/cases/compile_errors/reify_type_for_tagged_extern_union.zig index a4ee133467..0313575bcd 100644 --- a/test/cases/compile_errors/reify_type_for_tagged_extern_union.zig +++ b/test/cases/compile_errors/reify_type_for_tagged_extern_union.zig @@ -1,26 +1,5 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u2, - .fields = &.{ - .{ .name = "signed", .value = 0 }, - .{ .name = "unsigned", .value = 1 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, -}); - -const Extern = @Type(.{ - .@"union" = .{ - .layout = .@"extern", - .tag_type = Tag, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = @alignOf(i32) }, - .{ .name = "unsigned", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, -}); +const Tag = @Enum(u2, .exhaustive, &.{ "signed", "unsigned" }, &.{ 0, 1 }); +const Extern = @Union(.@"extern", Tag, &.{ "signed", "unsigned" }, &.{ i32, u32 }, &@splat(.{})); export fn entry() void { const tagged: Extern = .{ .signed = -1 }; @@ -29,4 +8,4 @@ export fn entry() void { // error // -// :13:16: error: extern union does not support enum tag type +// :2:35: error: extern union does not support enum tag type diff --git a/test/cases/compile_errors/reify_type_for_tagged_packed_union.zig b/test/cases/compile_errors/reify_type_for_tagged_packed_union.zig index 1a50418628..f602771bc6 100644 --- a/test/cases/compile_errors/reify_type_for_tagged_packed_union.zig +++ b/test/cases/compile_errors/reify_type_for_tagged_packed_union.zig @@ -1,26 +1,5 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u2, - .fields = &.{ - .{ .name = "signed", .value = 0 }, - .{ .name = "unsigned", .value = 1 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, -}); - -const Packed = @Type(.{ - .@"union" = .{ - .layout = .@"packed", - .tag_type = Tag, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = @alignOf(i32) }, - .{ .name = "unsigned", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, -}); +const Tag = @Enum(u2, .exhaustive, &.{ "signed", "unsigned" }, &.{ 0, 1 }); +const Packed = @Union(.@"packed", Tag, &.{ "signed", "unsigned" }, &.{ i32, u32 }, &@splat(.{})); export fn entry() void { const tagged: Packed = .{ .signed = -1 }; @@ -29,4 +8,4 @@ export fn entry() void { // error // -// :13:16: error: packed union does not support enum tag type +// :2:35: error: packed union does not support enum tag type diff --git a/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_enum_field.zig b/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_enum_field.zig index 4e78b5f217..5b56a98eb3 100644 --- a/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_enum_field.zig +++ b/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_enum_field.zig @@ -1,26 +1,5 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u2, - .fields = &.{ - .{ .name = "signed", .value = 0 }, - .{ .name = "unsigned", .value = 1 }, - .{ .name = "arst", .value = 2 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, -}); -const Tagged = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = Tag, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = @alignOf(i32) }, - .{ .name = "unsigned", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, -}); +const Tag = @Enum(u2, .exhaustive, &.{ "signed", "unsigned", "arst" }, &.{ 0, 1, 2 }); +const Tagged = @Union(.auto, Tag, &.{ "signed", "unsigned" }, &.{ i32, u32 }, &@splat(.{})); export fn entry() void { var tagged = Tagged{ .signed = -1 }; tagged = .{ .unsigned = 1 }; @@ -28,6 +7,6 @@ export fn entry() void { // error // -// :13:16: error: enum fields missing in union +// :2:35: error: 1 enum fields missing in union // :1:13: note: field 'arst' missing, declared here // :1:13: note: enum declared here diff --git a/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_union_field.zig b/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_union_field.zig index 212ff87e87..b3fbe9f747 100644 --- a/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_union_field.zig +++ b/test/cases/compile_errors/reify_type_for_tagged_union_with_extra_union_field.zig @@ -1,26 +1,5 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u1, - .fields = &.{ - .{ .name = "signed", .value = 0 }, - .{ .name = "unsigned", .value = 1 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, -}); -const Tagged = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = Tag, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = @alignOf(i32) }, - .{ .name = "unsigned", .type = u32, .alignment = @alignOf(u32) }, - .{ .name = "arst", .type = f32, .alignment = @alignOf(f32) }, - }, - .decls = &.{}, - }, -}); +const Tag = @Enum(u1, .exhaustive, &.{ "signed", "unsigned" }, &.{ 0, 1 }); +const Tagged = @Union(.auto, Tag, &.{ "signed", "unsigned", "arst" }, &.{ i32, u32, f32 }, &@splat(.{})); export fn entry() void { var tagged = Tagged{ .signed = -1 }; tagged = .{ .unsigned = 1 }; @@ -28,5 +7,5 @@ export fn entry() void { // error // -// :12:16: error: no field named 'arst' in enum 'tmp.Tag' +// :2:35: error: no field named 'arst' in enum 'tmp.Tag' // :1:13: note: enum declared here diff --git a/test/cases/compile_errors/reify_type_for_tagged_union_with_no_enum_fields.zig b/test/cases/compile_errors/reify_type_for_tagged_union_with_no_enum_fields.zig index 688a48fe53..e9c27b7eea 100644 --- a/test/cases/compile_errors/reify_type_for_tagged_union_with_no_enum_fields.zig +++ b/test/cases/compile_errors/reify_type_for_tagged_union_with_no_enum_fields.zig @@ -1,22 +1,5 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u0, - .fields = &.{}, - .decls = &.{}, - .is_exhaustive = true, - }, -}); -const Tagged = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = Tag, - .fields = &.{ - .{ .name = "signed", .type = i32, .alignment = @alignOf(i32) }, - .{ .name = "unsigned", .type = u32, .alignment = @alignOf(u32) }, - }, - .decls = &.{}, - }, -}); +const Tag = @Enum(u0, .exhaustive, &.{}, &.{}); +const Tagged = @Union(.auto, Tag, &.{ "signed", "unsigned" }, &.{ i32, u32 }, &@splat(.{})); export fn entry() void { const tagged: Tagged = undefined; _ = tagged; @@ -24,5 +7,5 @@ export fn entry() void { // error // -// :9:16: error: no field named 'signed' in enum 'tmp.Tag' +// :2:35: error: no field named 'signed' in enum 'tmp.Tag' // :1:13: note: enum declared here diff --git a/test/cases/compile_errors/reify_type_for_tagged_union_with_no_union_fields.zig b/test/cases/compile_errors/reify_type_for_tagged_union_with_no_union_fields.zig index ce721d39e3..245bd472cc 100644 --- a/test/cases/compile_errors/reify_type_for_tagged_union_with_no_union_fields.zig +++ b/test/cases/compile_errors/reify_type_for_tagged_union_with_no_union_fields.zig @@ -1,22 +1,5 @@ -const Tag = @Type(.{ - .@"enum" = .{ - .tag_type = u1, - .fields = &.{ - .{ .name = "signed", .value = 0 }, - .{ .name = "unsigned", .value = 1 }, - }, - .decls = &.{}, - .is_exhaustive = true, - }, -}); -const Tagged = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = Tag, - .fields = &.{}, - .decls = &.{}, - }, -}); +const Tag = @Enum(u1, .exhaustive, &.{ "signed", "unsigned" }, &.{ 0, 1 }); +const Tagged = @Union(.auto, Tag, &.{}, &.{}, &.{}); export fn entry() void { const tagged: Tagged = undefined; _ = tagged; @@ -24,7 +7,7 @@ export fn entry() void { // error // -// :12:16: error: enum fields missing in union +// :2:35: error: 2 enum fields missing in union // :1:13: note: field 'signed' missing, declared here // :1:13: note: field 'unsigned' missing, declared here // :1:13: note: enum declared here diff --git a/test/cases/compile_errors/reify_type_for_union_with_opaque_field.zig b/test/cases/compile_errors/reify_type_for_union_with_opaque_field.zig index d79bac4ba4..e2be15f1a4 100644 --- a/test/cases/compile_errors/reify_type_for_union_with_opaque_field.zig +++ b/test/cases/compile_errors/reify_type_for_union_with_opaque_field.zig @@ -1,18 +1,9 @@ -const Untagged = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = null, - .fields = &.{ - .{ .name = "foo", .type = opaque {}, .alignment = 1 }, - }, - .decls = &.{}, - }, -}); +const Untagged = @Union(.auto, null, &.{"foo"}, &.{opaque {}}, &.{.{}}); export fn entry() usize { return @sizeOf(Untagged); } // error // -// :1:18: error: opaque types have unknown size and therefore cannot be directly embedded in unions -// :6:39: note: opaque declared here +// :1:49: error: opaque types have unknown size and therefore cannot be directly embedded in unions +// :1:52: note: opaque declared here diff --git a/test/cases/compile_errors/reify_type_union_payload_is_undefined.zig b/test/cases/compile_errors/reify_type_union_payload_is_undefined.zig deleted file mode 100644 index 8d80a3353d..0000000000 --- a/test/cases/compile_errors/reify_type_union_payload_is_undefined.zig +++ /dev/null @@ -1,10 +0,0 @@ -const Foo = @Type(.{ - .@"struct" = undefined, -}); -comptime { - _ = Foo; -} - -// error -// -// :1:20: error: use of undefined value here causes illegal behavior diff --git a/test/cases/compile_errors/reify_type_with_Type.Int.zig b/test/cases/compile_errors/reify_type_with_Type.Int.zig deleted file mode 100644 index 9673b24410..0000000000 --- a/test/cases/compile_errors/reify_type_with_Type.Int.zig +++ /dev/null @@ -1,13 +0,0 @@ -const builtin = @import("std").builtin; -export fn entry() void { - _ = @Type(builtin.Type.Int{ - .signedness = .signed, - .bits = 8, - }); -} - -// error -// -// :3:31: error: expected type 'builtin.Type', found 'builtin.Type.Int' -// :?:?: note: struct declared here -// :?:?: note: union declared here diff --git a/test/cases/compile_errors/reify_type_with_invalid_field_alignment.zig b/test/cases/compile_errors/reify_type_with_invalid_field_alignment.zig index a04f3e957c..e6b9e1435a 100644 --- a/test/cases/compile_errors/reify_type_with_invalid_field_alignment.zig +++ b/test/cases/compile_errors/reify_type_with_invalid_field_alignment.zig @@ -1,48 +1,15 @@ comptime { - _ = @Type(.{ - .@"union" = .{ - .layout = .auto, - .tag_type = null, - .fields = &.{ - .{ .name = "foo", .type = usize, .alignment = 3 }, - }, - .decls = &.{}, - }, - }); + _ = @Union(.auto, null, &.{"foo"}, &.{usize}, &.{.{ .@"align" = 3 }}); } comptime { - _ = @Type(.{ - .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "0", - .type = u32, - .default_value_ptr = null, - .is_comptime = true, - .alignment = 5, - }}, - .decls = &.{}, - .is_tuple = false, - }, - }); + _ = @Struct(.auto, null, &.{"a"}, &.{u32}, &.{.{ .@"comptime" = true, .@"align" = 5 }}); } comptime { - _ = @Type(.{ - .pointer = .{ - .size = .many, - .is_const = true, - .is_volatile = false, - .alignment = 7, - .address_space = .generic, - .child = u8, - .is_allowzero = false, - .sentinel_ptr = null, - }, - }); + _ = @Pointer(.many, .{ .@"align" = 7 }, u8, null); } // error // -// :2:9: error: alignment value '3' is not a power of two -// :14:9: error: alignment value '5' is not a power of two -// :30:9: error: alignment value '7' is not a power of two +// :2:51: error: alignment value '3' is not a power of two +// :5:48: error: alignment value '5' is not a power of two +// :8:26: error: alignment value '7' is not a power of two diff --git a/test/cases/compile_errors/reify_type_with_undefined.zig b/test/cases/compile_errors/reify_type_with_undefined.zig index 5c476c94aa..d489c3f604 100644 --- a/test/cases/compile_errors/reify_type_with_undefined.zig +++ b/test/cases/compile_errors/reify_type_with_undefined.zig @@ -1,31 +1,11 @@ comptime { - _ = @Type(.{ .array = .{ .len = 0, .child = u8, .sentinel_ptr = undefined } }); + _ = @Struct(.auto, null, &.{}, &.{}, undefined); } comptime { - _ = @Type(.{ - .@"struct" = .{ - .fields = undefined, - .decls = undefined, - .is_tuple = false, - .layout = .auto, - }, - }); -} -comptime { - const std = @import("std"); - const fields: [1]std.builtin.Type.StructField = undefined; - _ = @Type(.{ - .@"struct" = .{ - .layout = .auto, - .fields = &fields, - .decls = &.{}, - .is_tuple = false, - }, - }); + _ = @Struct(.auto, null, &.{"foo"}, &.{undefined}, &.{.{}}); } // error // -// :2:16: error: use of undefined value here causes illegal behavior -// :5:16: error: use of undefined value here causes illegal behavior -// :17:16: error: use of undefined value here causes illegal behavior +// :2:42: error: use of undefined value here causes illegal behavior +// :5:41: error: use of undefined value here causes illegal behavior diff --git a/test/cases/compile_errors/runtime_condition_comptime_type_in_destructure.zig b/test/cases/compile_errors/runtime_condition_comptime_type_in_destructure.zig index 27b13e2150..144cc18545 100644 --- a/test/cases/compile_errors/runtime_condition_comptime_type_in_destructure.zig +++ b/test/cases/compile_errors/runtime_condition_comptime_type_in_destructure.zig @@ -7,4 +7,4 @@ export fn foobar() void { // error // -// :4:5: error: value with comptime-only type '@Type(.enum_literal)' depends on runtime control flow +// :4:5: error: value with comptime-only type '@EnumLiteral()' depends on runtime control flow diff --git a/test/cases/compile_errors/struct_with_declarations_unavailable_for_reify_type.zig b/test/cases/compile_errors/struct_with_declarations_unavailable_for_reify_type.zig deleted file mode 100644 index 068211fdc4..0000000000 --- a/test/cases/compile_errors/struct_with_declarations_unavailable_for_reify_type.zig +++ /dev/null @@ -1,9 +0,0 @@ -export fn entry() void { - _ = @Type(@typeInfo(struct { - pub const foo = 1; - })); -} - -// error -// -// :2:9: error: reified structs must have no decls diff --git a/test/cases/compile_errors/tagName_on_undef_enum_literal.zig b/test/cases/compile_errors/tagName_on_undef_enum_literal.zig index 900aef9d7c..c003dc47fa 100644 --- a/test/cases/compile_errors/tagName_on_undef_enum_literal.zig +++ b/test/cases/compile_errors/tagName_on_undef_enum_literal.zig @@ -1,5 +1,5 @@ comptime { - const undef: @Type(.enum_literal) = undefined; + const undef: @EnumLiteral() = undefined; _ = @tagName(undef); } diff --git a/test/cases/compile_errors/unable_to_evaluate_comptime_expr.zig b/test/cases/compile_errors/unable_to_evaluate_comptime_expr.zig index 561b39a4e8..ba9de49ebc 100644 --- a/test/cases/compile_errors/unable_to_evaluate_comptime_expr.zig +++ b/test/cases/compile_errors/unable_to_evaluate_comptime_expr.zig @@ -42,4 +42,4 @@ pub export fn entry3() void { // :13:13: note: initializer of container-level variable must be comptime-known // :22:9: error: unable to evaluate comptime expression // :22:21: note: operation is runtime due to this operand -// :21:13: note: enum fields must be comptime-known +// :21:13: note: enum field values must be comptime-known diff --git a/test/cases/compile_errors/wrong_type_for_reify_type.zig b/test/cases/compile_errors/wrong_type_for_reify_type.zig index 45c9dfe9bd..cf93ff91b4 100644 --- a/test/cases/compile_errors/wrong_type_for_reify_type.zig +++ b/test/cases/compile_errors/wrong_type_for_reify_type.zig @@ -1,8 +1,25 @@ -export fn entry() void { - _ = @Type(0); +export fn entryI() void { + _ = @Int(0, 0); +} + +export fn entryE() void { + _ = @Enum(0, 0, 0, 0); +} + +export fn entryS() void { + _ = @Struct(0, 0, &.{}, &.{}, &.{}); +} + +export fn entryU() void { + _ = @Union(0, 0, &.{}, &.{}, &.{}); } // error // -// :2:15: error: expected type 'builtin.Type', found 'comptime_int' -// :?:?: note: union declared here +// :2:14: error: expected type 'builtin.Signedness', found 'comptime_int' +// :?:?: note: enum declared here +// :6:15: error: expected type 'type', found 'comptime_int' +// :10:17: error: expected type 'builtin.Type.ContainerLayout', found 'comptime_int' +// :?:?: enum declared here +// :14:16: error: expected type 'builtin.Type.ContainerLayout', found 'comptime_int' +// :?:?: enum declared here diff --git a/test/cases/default_value_references_comptime_var.zig b/test/cases/default_value_references_comptime_var.zig index e808f99738..479acdd900 100644 --- a/test/cases/default_value_references_comptime_var.zig +++ b/test/cases/default_value_references_comptime_var.zig @@ -2,49 +2,27 @@ export fn foo() void { comptime var a: u8 = 0; _ = struct { comptime *u8 = &a }; } -export fn bar() void { - comptime var a: u8 = 0; - _ = @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "0", - .type = *u8, - .default_value_ptr = @ptrCast(&&a), - .is_comptime = true, - .alignment = @alignOf(*u8), - }}, - .decls = &.{}, - .is_tuple = true, - } }); -} -export fn baz() void { +export fn bar() void { comptime var a: u8 = 0; _ = struct { foo: *u8 = &a }; } -export fn qux() void { +export fn baz() void { comptime var a: u8 = 0; - _ = @Type(.{ .@"struct" = .{ - .layout = .auto, - .fields = &.{.{ - .name = "foo", - .type = *u8, - .default_value_ptr = @ptrCast(&&a), - .is_comptime = false, - .alignment = @alignOf(*u8), - }}, - .decls = &.{}, - .is_tuple = false, - } }); + _ = @Struct( + .auto, + null, + &.{"foo"}, + &.{*u8}, + &.{.{ .default_value_ptr = @ptrCast(&&a) }}, + ); } // error // // :3:33: error: field default value contains reference to comptime var // :2:14: note: '0' points to comptime var declared here -// :7:9: error: field default value contains reference to comptime var -// :6:14: note: '0' points to comptime var declared here -// :23:9: error: captured value contains reference to comptime var -// :22:14: note: 'a' points to comptime var declared here -// :27:9: error: field default value contains reference to comptime var -// :26:14: note: 'foo' points to comptime var declared here +// :8:9: error: captured value contains reference to comptime var +// :7:14: note: 'a' points to comptime var declared here +// :17:9: error: field default value contains reference to comptime var +// :11:14: note: 'foo' points to comptime var declared here diff --git a/test/cases/sentinel_references_comptime_var.zig b/test/cases/sentinel_references_comptime_var.zig index 74841385af..b8f5cb3979 100644 --- a/test/cases/sentinel_references_comptime_var.zig +++ b/test/cases/sentinel_references_comptime_var.zig @@ -2,14 +2,6 @@ export fn foo() void { comptime var a: u8 = 0; _ = [0:&a]*u8; } -export fn bar() void { - comptime var a: u8 = 0; - _ = @Type(.{ .array = .{ - .child = *u8, - .len = 0, - .sentinel_ptr = @ptrCast(&&a), - } }); -} export fn baz() void { comptime var a: u8 = 0; @@ -17,25 +9,14 @@ export fn baz() void { } export fn qux() void { comptime var a: u8 = 0; - _ = @Type(.{ .pointer = .{ - .size = .many, - .is_const = false, - .is_volatile = false, - .alignment = @alignOf(u8), - .address_space = .generic, - .child = *u8, - .is_allowzero = false, - .sentinel_ptr = @ptrCast(&&a), - } }); + _ = @Pointer(.many, .{}, *u8, &a); } // error // // :3:12: error: sentinel contains reference to comptime var // :2:14: note: 'sentinel' points to comptime var declared here -// :7:9: error: sentinel contains reference to comptime var -// :6:14: note: 'sentinel_ptr' points to comptime var declared here -// :16:11: error: sentinel contains reference to comptime var -// :15:14: note: 'sentinel' points to comptime var declared here -// :20:9: error: sentinel contains reference to comptime var -// :19:14: note: 'sentinel_ptr' points to comptime var declared here +// :8:11: error: sentinel contains reference to comptime var +// :7:14: note: 'sentinel' points to comptime var declared here +// :12:35: error: sentinel contains reference to comptime var +// :11:14: note: 'sentinel' points to comptime var declared here diff --git a/test/standalone/simple/issue_7030.zig b/test/standalone/simple/issue_7030.zig index eb7aa65387..0215677516 100644 --- a/test/standalone/simple/issue_7030.zig +++ b/test/standalone/simple/issue_7030.zig @@ -6,7 +6,7 @@ pub const std_options: std.Options = .{ pub fn log( comptime message_level: std.log.Level, - comptime scope: @Type(.enum_literal), + comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { diff --git a/test/standalone/simple/std_enums_big_enums.zig b/test/standalone/simple/std_enums_big_enums.zig index de6cfe3ec7..1fcbc93275 100644 --- a/test/standalone/simple/std_enums_big_enums.zig +++ b/test/standalone/simple/std_enums_big_enums.zig @@ -3,20 +3,18 @@ const std = @import("std"); // big enums should not hit the eval branch quota pub fn main() void { const big = struct { - const Big = @Type(.{ .@"enum" = .{ - .tag_type = u16, - .fields = make_fields: { - @setEvalBranchQuota(500000); - var fields: [1001]std.builtin.Type.EnumField = undefined; - for (&fields, 0..) |*field, i| { - field.* = .{ .name = std.fmt.comptimePrint("field_{d}", .{i}), .value = i }; - } - fields[1000] = .{ .name = "field_9999", .value = 9999 }; - break :make_fields &fields; - }, - .decls = &.{}, - .is_exhaustive = true, - } }); + const Big = Big: { + @setEvalBranchQuota(500000); + var names: [1001][]const u8 = undefined; + var values: [1001]u16 = undefined; + for (values[0..1000], names[0..1000], 0..1000) |*val, *name, i| { + name.* = std.fmt.comptimePrint("field_{d}", .{i}); + val.* = i; + } + names[1000] = "field_9999"; + values[1000] = 9999; + break :Big @Enum(u16, .exhaustive, &names, &values); + }; }; var set = std.enums.EnumSet(big.Big).init(.{}); @@ -29,10 +27,11 @@ pub fn main() void { var multiset = std.enums.EnumMultiset(big.Big).init(.{}); _ = &multiset; + @setEvalBranchQuota(4000); + var bounded_multiset = std.enums.BoundedEnumMultiset(big.Big, u8).init(.{}); _ = &bounded_multiset; - @setEvalBranchQuota(3000); var array = std.enums.EnumArray(big.Big, u8).init(undefined); array = std.enums.EnumArray(big.Big, u8).initDefault(123, .{}); } diff --git a/tools/lldb_pretty_printers.py b/tools/lldb_pretty_printers.py index 6c32841cf9..48580243ec 100644 --- a/tools/lldb_pretty_printers.py +++ b/tools/lldb_pretty_printers.py @@ -559,7 +559,7 @@ type_tag_handlers = { 'extern_options': lambda payload: 'std.builtin.ExternOptions', 'type_info': lambda payload: 'std.builtin.Type', - 'enum_literal': lambda payload: '@TypeOf(.enum_literal)', + 'enum_literal': lambda payload: '@EnumLiteral()', 'null': lambda payload: '@TypeOf(null)', 'undefined': lambda payload: '@TypeOf(undefined)', 'empty_struct_literal': lambda payload: '@TypeOf(.{})',