authorgravatar for 75577902+AndrewKraevskii@users.noreply.github.comАндрей Краевский <75577902+AndrewKraevskii@users.noreply.github.com> 2025-03-27 06:49:38+03:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-03-27 12:19:07+01:00
log8088105b05aa5977a52dd60993e8aeaae01cb145
treeb357e77b0f3f6729c26bd7943b4eda9ce01298be
parent38a8fd5d8533902191bfcc21efa623f473a65c94
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.meta.FieldType -> @FieldType


13 files changed, 46 insertions(+), 46 deletions(-)

doc/langref.html.in+4-4
......@@ -3679,22 +3679,22 @@ void do_a_thing(struct Foo *foo) {
36793679 <tr>
36803680 <th scope="row">{#syntax#}.{x}{#endsyntax#}</th>
36813681 <td>{#syntax#}T{#endsyntax#}</td>
3682 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}std.meta.FieldType(T, .@"0"){#endsyntax#}</td>
3682 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}@FieldType(T, "0"){#endsyntax#}</td>
36833683 </tr>
36843684 <tr>
36853685 <th scope="row">{#syntax#}.{ .a = x }{#endsyntax#}</th>
36863686 <td>{#syntax#}T{#endsyntax#}</td>
3687 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}std.meta.FieldType(T, .a){#endsyntax#}</td>
3687 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}@FieldType(T, "a"){#endsyntax#}</td>
36883688 </tr>
36893689 <tr>
36903690 <th scope="row">{#syntax#}T{x}{#endsyntax#}</th>
36913691 <td>-</td>
3692 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}std.meta.FieldType(T, .@"0"){#endsyntax#}</td>
3692 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}@FieldType(T, "0"){#endsyntax#}</td>
36933693 </tr>
36943694 <tr>
36953695 <th scope="row">{#syntax#}T{ .a = x }{#endsyntax#}</th>
36963696 <td>-</td>
3697 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}std.meta.FieldType(T, .a){#endsyntax#}</td>
3697 <td>{#syntax#}x{#endsyntax#} is a {#syntax#}@FieldType(T, "a"){#endsyntax#}</td>
36983698 </tr>
36993699 <tr>
37003700 <th scope="row">{#syntax#}@Type(x){#endsyntax#}</th>
lib/compiler/aro_translate_c/ast.zig+1-1
......@@ -394,7 +394,7 @@ pub const Node = extern union {
394394 }
395395
396396 pub fn Data(comptime t: Tag) type {
397 return std.meta.fieldInfo(t.Type(), .data).type;
397 return @FieldType(t.Type(), "data");
398398 }
399399 };
400400
lib/std/array_hash_map.zig+4-4
......@@ -2486,13 +2486,13 @@ test "reIndex" {
24862486test "auto store_hash" {
24872487 const HasCheapEql = AutoArrayHashMap(i32, i32);
24882488 const HasExpensiveEql = AutoArrayHashMap([32]i32, i32);
2489 try testing.expect(std.meta.fieldInfo(HasCheapEql.Data, .hash).type == void);
2490 try testing.expect(std.meta.fieldInfo(HasExpensiveEql.Data, .hash).type != void);
2489 try testing.expect(@FieldType(HasCheapEql.Data, "hash") == void);
2490 try testing.expect(@FieldType(HasExpensiveEql.Data, "hash") != void);
24912491
24922492 const HasCheapEqlUn = AutoArrayHashMapUnmanaged(i32, i32);
24932493 const HasExpensiveEqlUn = AutoArrayHashMapUnmanaged([32]i32, i32);
2494 try testing.expect(std.meta.fieldInfo(HasCheapEqlUn.Data, .hash).type == void);
2495 try testing.expect(std.meta.fieldInfo(HasExpensiveEqlUn.Data, .hash).type != void);
2494 try testing.expect(@FieldType(HasCheapEqlUn.Data, "hash") == void);
2495 try testing.expect(@FieldType(HasExpensiveEqlUn.Data, "hash") != void);
24962496}
24972497
24982498test "sort" {
lib/std/multi_array_list.zig+1-1
......@@ -565,7 +565,7 @@ pub fn MultiArrayList(comptime T: type) type {
565565 }
566566
567567 fn FieldType(comptime field: Field) type {
568 return meta.fieldInfo(Elem, field).type;
568 return @FieldType(Elem, @tagName(field));
569569 }
570570
571571 const Entry = entry: {
lib/std/zig/llvm/Builder.zig+3-3
......@@ -7526,9 +7526,9 @@ pub const Constant = enum(u32) {
75267526 };
75277527 }
75287528 };
7529 const Mantissa64 = std.meta.FieldType(Float.Repr(f64), .mantissa);
7530 const Exponent32 = std.meta.FieldType(Float.Repr(f32), .exponent);
7531 const Exponent64 = std.meta.FieldType(Float.Repr(f64), .exponent);
7529 const Mantissa64 = @FieldType(Float.Repr(f64), "mantissa");
7530 const Exponent32 = @FieldType(Float.Repr(f32), "exponent");
7531 const Exponent64 = @FieldType(Float.Repr(f64), "exponent");
75327532
75337533 const repr: Float.Repr(f32) = @bitCast(item.data);
75347534 const denormal_shift = switch (repr.exponent) {
src/Compilation.zig+1-1
......@@ -1512,7 +1512,7 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil
15121512 .emit_asm = options.emit_asm,
15131513 .emit_llvm_ir = options.emit_llvm_ir,
15141514 .emit_llvm_bc = options.emit_llvm_bc,
1515 .work_queues = .{std.fifo.LinearFifo(Job, .Dynamic).init(gpa)} ** @typeInfo(std.meta.FieldType(Compilation, .work_queues)).array.len,
1515 .work_queues = @splat(.init(gpa)),
15161516 .c_object_work_queue = std.fifo.LinearFifo(*CObject, .Dynamic).init(gpa),
15171517 .win32_resource_work_queue = if (dev.env.supports(.win32_resource)) std.fifo.LinearFifo(*Win32Resource, .Dynamic).init(gpa) else .{},
15181518 .astgen_work_queue = std.fifo.LinearFifo(Zcu.File.Index, .Dynamic).init(gpa),
src/Sema.zig+1-1
......@@ -13524,7 +13524,7 @@ fn validateErrSetSwitch(
1352413524 seen_errors: *SwitchErrorSet,
1352513525 case_vals: *std.ArrayListUnmanaged(Air.Inst.Ref),
1352613526 operand_ty: Type,
13527 inst_data: std.meta.FieldType(Zir.Inst.Data, .pl_node),
13527 inst_data: @FieldType(Zir.Inst.Data, "pl_node"),
1352813528 scalar_cases_len: u32,
1352913529 multi_cases_len: u32,
1353013530 else_case: struct { body: []const Zir.Inst.Index, end: usize, src: LazySrcLoc },
src/arch/x86_64/Encoding.zig+2-2
......@@ -1029,8 +1029,8 @@ const mnemonic_to_encodings_map = init: {
10291029 storage_i += value.len;
10301030 }
10311031 var mnemonic_i: [mnemonic_count]usize = @splat(0);
1032 const ops_len = @typeInfo(std.meta.FieldType(Data, .ops)).array.len;
1033 const opc_len = @typeInfo(std.meta.FieldType(Data, .opc)).array.len;
1032 const ops_len = @typeInfo(@FieldType(Data, "ops")).array.len;
1033 const opc_len = @typeInfo(@FieldType(Data, "opc")).array.len;
10341034 for (encodings) |entry| {
10351035 const i = &mnemonic_i[@intFromEnum(entry[0])];
10361036 mnemonic_map[@intFromEnum(entry[0])][i.*] = .{
src/link/Coff.zig+6-6
......@@ -3497,9 +3497,9 @@ pub const Relocation = struct {
34973497 const target_page = @as(i32, @intCast(ctx.target_vaddr >> 12));
34983498 const pages = @as(u21, @bitCast(@as(i21, @intCast(target_page - source_page))));
34993499 var inst = aarch64_util.Instruction{
3500 .pc_relative_address = mem.bytesToValue(std.meta.TagPayload(
3500 .pc_relative_address = mem.bytesToValue(@FieldType(
35013501 aarch64_util.Instruction,
3502 aarch64_util.Instruction.pc_relative_address,
3502 @tagName(aarch64_util.Instruction.pc_relative_address),
35033503 ), buffer[0..4]),
35043504 };
35053505 inst.pc_relative_address.immhi = @as(u19, @truncate(pages >> 2));
......@@ -3512,18 +3512,18 @@ pub const Relocation = struct {
35123512 const narrowed = @as(u12, @truncate(@as(u64, @intCast(ctx.target_vaddr))));
35133513 if (isArithmeticOp(buffer[0..4])) {
35143514 var inst = aarch64_util.Instruction{
3515 .add_subtract_immediate = mem.bytesToValue(std.meta.TagPayload(
3515 .add_subtract_immediate = mem.bytesToValue(@FieldType(
35163516 aarch64_util.Instruction,
3517 aarch64_util.Instruction.add_subtract_immediate,
3517 @tagName(aarch64_util.Instruction.add_subtract_immediate),
35183518 ), buffer[0..4]),
35193519 };
35203520 inst.add_subtract_immediate.imm12 = narrowed;
35213521 mem.writeInt(u32, buffer[0..4], inst.toU32(), .little);
35223522 } else {
35233523 var inst = aarch64_util.Instruction{
3524 .load_store_register = mem.bytesToValue(std.meta.TagPayload(
3524 .load_store_register = mem.bytesToValue(@FieldType(
35253525 aarch64_util.Instruction,
3526 aarch64_util.Instruction.load_store_register,
3526 @tagName(aarch64_util.Instruction.load_store_register),
35273527 ), buffer[0..4]),
35283528 };
35293529 const offset: u12 = blk: {
src/link/Elf/Atom.zig+4-4
......@@ -1783,9 +1783,9 @@ const aarch64 = struct {
17831783 aarch64_util.writeAddImmInst(off, code);
17841784 } else {
17851785 const old_inst: Instruction = .{
1786 .add_subtract_immediate = mem.bytesToValue(std.meta.TagPayload(
1786 .add_subtract_immediate = mem.bytesToValue(@FieldType(
17871787 Instruction,
1788 Instruction.add_subtract_immediate,
1788 @tagName(Instruction.add_subtract_immediate),
17891789 ), code),
17901790 };
17911791 const rd: Register = @enumFromInt(old_inst.add_subtract_immediate.rd);
......@@ -1797,9 +1797,9 @@ const aarch64 = struct {
17971797
17981798 .TLSDESC_CALL => if (!target.flags.has_tlsdesc) {
17991799 const old_inst: Instruction = .{
1800 .unconditional_branch_register = mem.bytesToValue(std.meta.TagPayload(
1800 .unconditional_branch_register = mem.bytesToValue(@FieldType(
18011801 Instruction,
1802 Instruction.unconditional_branch_register,
1802 @tagName(Instruction.unconditional_branch_register),
18031803 ), code),
18041804 };
18051805 const rn: Register = @enumFromInt(old_inst.unconditional_branch_register.rn);
src/link/MachO/Atom.zig+6-6
......@@ -794,9 +794,9 @@ fn resolveRelocInner(
794794 aarch64.writeAddImmInst(@truncate(target), inst_code);
795795 } else {
796796 var inst = aarch64.Instruction{
797 .load_store_register = mem.bytesToValue(std.meta.TagPayload(
797 .load_store_register = mem.bytesToValue(@FieldType(
798798 aarch64.Instruction,
799 aarch64.Instruction.load_store_register,
799 @tagName(aarch64.Instruction.load_store_register),
800800 ), inst_code),
801801 };
802802 inst.load_store_register.offset = switch (inst.load_store_register.size) {
......@@ -843,9 +843,9 @@ fn resolveRelocInner(
843843 const inst_code = code[rel_offset..][0..4];
844844 const reg_info: RegInfo = blk: {
845845 if (aarch64.isArithmeticOp(inst_code)) {
846 const inst = mem.bytesToValue(std.meta.TagPayload(
846 const inst = mem.bytesToValue(@FieldType(
847847 aarch64.Instruction,
848 aarch64.Instruction.add_subtract_immediate,
848 @tagName(aarch64.Instruction.add_subtract_immediate),
849849 ), inst_code);
850850 break :blk .{
851851 .rd = inst.rd,
......@@ -853,9 +853,9 @@ fn resolveRelocInner(
853853 .size = inst.sf,
854854 };
855855 } else {
856 const inst = mem.bytesToValue(std.meta.TagPayload(
856 const inst = mem.bytesToValue(@FieldType(
857857 aarch64.Instruction,
858 aarch64.Instruction.load_store_register,
858 @tagName(aarch64.Instruction.load_store_register),
859859 ), inst_code);
860860 break :blk .{
861861 .rd = inst.rt,
src/link/aarch64.zig+8-8
......@@ -5,9 +5,9 @@ pub inline fn isArithmeticOp(inst: *const [4]u8) bool {
55
66pub fn writeAddImmInst(value: u12, code: *[4]u8) void {
77 var inst = Instruction{
8 .add_subtract_immediate = mem.bytesToValue(std.meta.TagPayload(
8 .add_subtract_immediate = mem.bytesToValue(@FieldType(
99 Instruction,
10 Instruction.add_subtract_immediate,
10 @tagName(Instruction.add_subtract_immediate),
1111 ), code),
1212 };
1313 inst.add_subtract_immediate.imm12 = value;
......@@ -16,9 +16,9 @@ pub fn writeAddImmInst(value: u12, code: *[4]u8) void {
1616
1717pub fn writeLoadStoreRegInst(value: u12, code: *[4]u8) void {
1818 var inst: Instruction = .{
19 .load_store_register = mem.bytesToValue(std.meta.TagPayload(
19 .load_store_register = mem.bytesToValue(@FieldType(
2020 Instruction,
21 Instruction.load_store_register,
21 @tagName(Instruction.load_store_register),
2222 ), code),
2323 };
2424 inst.load_store_register.offset = value;
......@@ -34,9 +34,9 @@ pub fn calcNumberOfPages(saddr: i64, taddr: i64) error{Overflow}!i21 {
3434
3535pub fn writeAdrpInst(pages: u21, code: *[4]u8) void {
3636 var inst = Instruction{
37 .pc_relative_address = mem.bytesToValue(std.meta.TagPayload(
37 .pc_relative_address = mem.bytesToValue(@FieldType(
3838 Instruction,
39 Instruction.pc_relative_address,
39 @tagName(Instruction.pc_relative_address),
4040 ), code),
4141 };
4242 inst.pc_relative_address.immhi = @as(u19, @truncate(pages >> 2));
......@@ -46,9 +46,9 @@ pub fn writeAdrpInst(pages: u21, code: *[4]u8) void {
4646
4747pub fn writeBranchImm(disp: i28, code: *[4]u8) void {
4848 var inst = Instruction{
49 .unconditional_branch_immediate = mem.bytesToValue(std.meta.TagPayload(
49 .unconditional_branch_immediate = mem.bytesToValue(@FieldType(
5050 Instruction,
51 Instruction.unconditional_branch_immediate,
51 @tagName(Instruction.unconditional_branch_immediate),
5252 ), code),
5353 };
5454 inst.unconditional_branch_immediate.imm26 = @as(u26, @truncate(@as(u28, @bitCast(disp >> 2))));
src/link/riscv.zig+5-5
......@@ -50,27 +50,27 @@ pub fn writeAddend(
5050}
5151
5252pub fn writeInstU(code: *[4]u8, value: u32) void {
53 var data: Instruction = .{ .U = mem.bytesToValue(std.meta.TagPayload(Instruction, .U), code) };
53 var data: Instruction = .{ .U = mem.bytesToValue(@FieldType(Instruction, "U"), code) };
5454 const compensated: u32 = @bitCast(@as(i32, @bitCast(value)) + 0x800);
5555 data.U.imm12_31 = bitSlice(compensated, 31, 12);
5656 mem.writeInt(u32, code, data.toU32(), .little);
5757}
5858
5959pub fn writeInstI(code: *[4]u8, value: u32) void {
60 var data: Instruction = .{ .I = mem.bytesToValue(std.meta.TagPayload(Instruction, .I), code) };
60 var data: Instruction = .{ .I = mem.bytesToValue(@FieldType(Instruction, "I"), code) };
6161 data.I.imm0_11 = bitSlice(value, 11, 0);
6262 mem.writeInt(u32, code, data.toU32(), .little);
6363}
6464
6565pub fn writeInstS(code: *[4]u8, value: u32) void {
66 var data: Instruction = .{ .S = mem.bytesToValue(std.meta.TagPayload(Instruction, .S), code) };
66 var data: Instruction = .{ .S = mem.bytesToValue(@FieldType(Instruction, "S"), code) };
6767 data.S.imm0_4 = bitSlice(value, 4, 0);
6868 data.S.imm5_11 = bitSlice(value, 11, 5);
6969 mem.writeInt(u32, code, data.toU32(), .little);
7070}
7171
7272pub fn writeInstJ(code: *[4]u8, value: u32) void {
73 var data: Instruction = .{ .J = mem.bytesToValue(std.meta.TagPayload(Instruction, .J), code) };
73 var data: Instruction = .{ .J = mem.bytesToValue(@FieldType(Instruction, "J"), code) };
7474 data.J.imm1_10 = bitSlice(value, 10, 1);
7575 data.J.imm11 = bitSlice(value, 11, 11);
7676 data.J.imm12_19 = bitSlice(value, 19, 12);
......@@ -79,7 +79,7 @@ pub fn writeInstJ(code: *[4]u8, value: u32) void {
7979}
8080
8181pub fn writeInstB(code: *[4]u8, value: u32) void {
82 var data: Instruction = .{ .B = mem.bytesToValue(std.meta.TagPayload(Instruction, .B), code) };
82 var data: Instruction = .{ .B = mem.bytesToValue(@FieldType(Instruction, "B"), code) };
8383 data.B.imm1_4 = bitSlice(value, 4, 1);
8484 data.B.imm5_10 = bitSlice(value, 10, 5);
8585 data.B.imm11 = bitSlice(value, 11, 11);