@zigc/lib 0.17.0-dev.644 → 0.17.0-dev.657

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/compiler/Maker/ScannedConfig.zig +4 -3
  2. package/compiler/Maker/Step/FindProgram.zig +2 -2
  3. package/compiler/Maker/Watch/FsEvents.zig +3 -2
  4. package/compiler/aro/aro/Attribute.zig +52 -51
  5. package/compiler/aro/aro/Compilation.zig +5 -5
  6. package/compiler/aro/aro/Diagnostics.zig +7 -7
  7. package/compiler/aro/aro/Parser.zig +2 -2
  8. package/compiler/aro/aro/Tree.zig +11 -11
  9. package/compiler/aro/aro/features.zig +4 -4
  10. package/compiler/aro/aro/text_literal.zig +2 -2
  11. package/compiler/aro/backend/Interner.zig +14 -13
  12. package/compiler/configurer.zig +2 -2
  13. package/compiler/resinator/bmp.zig +3 -2
  14. package/compiler/resinator/code_pages.zig +14 -12
  15. package/compiler/resinator/cvtres.zig +11 -10
  16. package/compiler/resinator/errors.zig +18 -22
  17. package/compiler/resinator/lang.zig +7 -7
  18. package/compiler/resinator/parse.zig +1 -1
  19. package/compiler/translate-c/ast.zig +6 -6
  20. package/docs/wasm/markdown/Document.zig +3 -3
  21. package/docs/wasm/markdown/Parser.zig +3 -3
  22. package/package.json +1 -1
  23. package/std/Build/Cache.zig +2 -2
  24. package/std/Build/Configuration.zig +19 -16
  25. package/std/Build/Step/ConfigHeader.zig +3 -2
  26. package/std/Build/Step/Options.zig +28 -22
  27. package/std/Build.zig +52 -53
  28. package/std/Io/Kqueue.zig +2 -2
  29. package/std/Io/Reader.zig +1 -1
  30. package/std/Io/Threaded.zig +18 -15
  31. package/std/Io/Uring.zig +2 -2
  32. package/std/Io/Writer.zig +18 -18
  33. package/std/Io/net.zig +3 -1
  34. package/std/Io.zig +7 -6
  35. package/std/Progress.zig +2 -2
  36. package/std/Target/aarch64.zig +2 -2
  37. package/std/Target/alpha.zig +2 -2
  38. package/std/Target/amdgcn.zig +2 -2
  39. package/std/Target/arc.zig +2 -2
  40. package/std/Target/arm.zig +2 -2
  41. package/std/Target/avr.zig +2 -2
  42. package/std/Target/bpf.zig +2 -2
  43. package/std/Target/csky.zig +2 -2
  44. package/std/Target/hexagon.zig +2 -2
  45. package/std/Target/hppa.zig +2 -2
  46. package/std/Target/kvx.zig +2 -2
  47. package/std/Target/lanai.zig +2 -2
  48. package/std/Target/loongarch.zig +2 -2
  49. package/std/Target/m68k.zig +2 -2
  50. package/std/Target/mips.zig +2 -2
  51. package/std/Target/msp430.zig +2 -2
  52. package/std/Target/nvptx.zig +2 -2
  53. package/std/Target/powerpc.zig +2 -2
  54. package/std/Target/propeller.zig +2 -2
  55. package/std/Target/riscv.zig +2 -2
  56. package/std/Target/s390x.zig +2 -2
  57. package/std/Target/sparc.zig +2 -2
  58. package/std/Target/spirv.zig +2 -2
  59. package/std/Target/ve.zig +2 -2
  60. package/std/Target/wasm.zig +2 -2
  61. package/std/Target/x86.zig +2 -2
  62. package/std/Target/xcore.zig +2 -2
  63. package/std/Target/xtensa.zig +2 -2
  64. package/std/Target.zig +4 -4
  65. package/std/c/darwin.zig +1 -1
  66. package/std/coff.zig +1 -1
  67. package/std/crypto/codecs/asn1/Oid.zig +8 -8
  68. package/std/crypto/codecs/asn1/der/Decoder.zig +7 -7
  69. package/std/crypto/codecs/asn1/der/Encoder.zig +10 -8
  70. package/std/crypto/phc_encoding.zig +23 -20
  71. package/std/crypto/timing_safe.zig +1 -1
  72. package/std/crypto/tls/Client.zig +3 -3
  73. package/std/crypto/tls.zig +1 -1
  74. package/std/debug/Dwarf/Unwind/VirtualMachine.zig +11 -5
  75. package/std/debug/ElfFile.zig +12 -8
  76. package/std/debug/MachOFile.zig +2 -2
  77. package/std/debug/SelfInfo/MachO.zig +2 -2
  78. package/std/debug/SelfInfo/Windows.zig +2 -2
  79. package/std/elf.zig +7 -7
  80. package/std/enums.zig +66 -67
  81. package/std/gpu.zig +1 -1
  82. package/std/hash/auto_hash.zig +8 -8
  83. package/std/hash/verify.zig +3 -3
  84. package/std/http/Client.zig +2 -2
  85. package/std/json/Stringify.zig +14 -14
  86. package/std/json/static.zig +47 -31
  87. package/std/lang.zig +65 -97
  88. package/std/math.zig +2 -2
  89. package/std/mem/Allocator.zig +9 -9
  90. package/std/mem.zig +86 -102
  91. package/std/meta/trailer_flags.zig +26 -19
  92. package/std/meta.zig +131 -171
  93. package/std/multi_array_list.zig +49 -57
  94. package/std/os/uefi/protocol/device_path.zig +8 -7
  95. package/std/os/uefi/tables/boot_services.zig +1 -1
  96. package/std/os/windows.zig +9 -15
  97. package/std/start.zig +6 -6
  98. package/std/testing/Smith.zig +35 -21
  99. package/std/testing.zig +15 -15
  100. package/std/zig/Ast.zig +4 -4
  101. package/std/zig/AstGen.zig +42 -42
  102. package/std/zig/ErrorBundle.zig +16 -13
  103. package/std/zig/LibCInstallation.zig +11 -11
  104. package/std/zig/Parse.zig +6 -6
  105. package/std/zig/Zir.zig +10 -10
  106. package/std/zig/c_translation/helpers.zig +2 -2
  107. package/std/zig/llvm/BitcodeReader.zig +3 -3
  108. package/std/zig/llvm/Builder.zig +124 -93
  109. package/std/zig/llvm/bitcode_writer.zig +4 -4
  110. package/std/zig/system/windows.zig +11 -11
  111. package/std/zig/system.zig +4 -4
  112. package/std/zig.zig +4 -4
  113. package/std/zon/Serializer.zig +28 -23
  114. package/std/zon/parse.zig +58 -61
@@ -52,7 +52,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
52
52
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
53
53
 
54
54
  pub const all_features = blk: {
55
- const len = @typeInfo(Feature).@"enum".fields.len;
55
+ const len = @typeInfo(Feature).@"enum".field_names.len;
56
56
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
57
57
  var result: [len]CpuFeature = undefined;
58
58
  result[@intFromEnum(Feature.addsubiw)] = .{
@@ -388,7 +388,7 @@ pub const all_features = blk: {
388
388
  const ti = @typeInfo(Feature);
389
389
  for (&result, 0..) |*elem, i| {
390
390
  elem.index = i;
391
- elem.name = ti.@"enum".fields[i].name;
391
+ elem.name = ti.@"enum".field_names[i];
392
392
  }
393
393
  break :blk result;
394
394
  };
@@ -17,7 +17,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
17
17
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
18
18
 
19
19
  pub const all_features = blk: {
20
- const len = @typeInfo(Feature).@"enum".fields.len;
20
+ const len = @typeInfo(Feature).@"enum".field_names.len;
21
21
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
22
22
  var result: [len]CpuFeature = undefined;
23
23
  result[@intFromEnum(Feature.allows_misaligned_mem_access)] = .{
@@ -43,7 +43,7 @@ pub const all_features = blk: {
43
43
  const ti = @typeInfo(Feature);
44
44
  for (&result, 0..) |*elem, i| {
45
45
  elem.index = i;
46
- elem.name = ti.@"enum".fields[i].name;
46
+ elem.name = ti.@"enum".field_names[i];
47
47
  }
48
48
  break :blk result;
49
49
  };
@@ -76,7 +76,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
76
76
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
77
77
 
78
78
  pub const all_features = blk: {
79
- const len = @typeInfo(Feature).@"enum".fields.len;
79
+ const len = @typeInfo(Feature).@"enum".field_names.len;
80
80
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
81
81
  var result: [len]CpuFeature = undefined;
82
82
  result[@intFromEnum(Feature.@"10e60")] = .{
@@ -418,7 +418,7 @@ pub const all_features = blk: {
418
418
  const ti = @typeInfo(Feature);
419
419
  for (&result, 0..) |*elem, i| {
420
420
  elem.index = i;
421
- elem.name = ti.@"enum".fields[i].name;
421
+ elem.name = ti.@"enum".field_names[i];
422
422
  }
423
423
  break :blk result;
424
424
  };
@@ -60,7 +60,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
60
60
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
61
61
 
62
62
  pub const all_features = blk: {
63
- const len = @typeInfo(Feature).@"enum".fields.len;
63
+ const len = @typeInfo(Feature).@"enum".field_names.len;
64
64
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
65
65
  var result: [len]CpuFeature = undefined;
66
66
  result[@intFromEnum(Feature.audio)] = .{
@@ -334,7 +334,7 @@ pub const all_features = blk: {
334
334
  const ti = @typeInfo(Feature);
335
335
  for (&result, 0..) |*elem, i| {
336
336
  elem.index = i;
337
- elem.name = ti.@"enum".fields[i].name;
337
+ elem.name = ti.@"enum".field_names[i];
338
338
  }
339
339
  break :blk result;
340
340
  };
@@ -18,7 +18,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
18
18
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
19
19
 
20
20
  pub const all_features = blk: {
21
- const len = @typeInfo(Feature).@"enum".fields.len;
21
+ const len = @typeInfo(Feature).@"enum".field_names.len;
22
22
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
23
23
  var result: [len]CpuFeature = undefined;
24
24
  result[@intFromEnum(Feature.@"64bit")] = .{
@@ -56,7 +56,7 @@ pub const all_features = blk: {
56
56
  const ti = @typeInfo(Feature);
57
57
  for (&result, 0..) |*elem, i| {
58
58
  elem.index = i;
59
- elem.name = ti.@"enum".fields[i].name;
59
+ elem.name = ti.@"enum".field_names[i];
60
60
  }
61
61
  break :blk result;
62
62
  };
@@ -16,7 +16,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
16
16
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
17
17
 
18
18
  pub const all_features = blk: {
19
- const len = @typeInfo(Feature).@"enum".fields.len;
19
+ const len = @typeInfo(Feature).@"enum".field_names.len;
20
20
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
21
21
  var result: [len]CpuFeature = undefined;
22
22
  result[@intFromEnum(Feature.v3_1)] = .{
@@ -41,7 +41,7 @@ pub const all_features = blk: {
41
41
  const ti = @typeInfo(Feature);
42
42
  for (&result, 0..) |*elem, i| {
43
43
  elem.index = i;
44
- elem.name = ti.@"enum".fields[i].name;
44
+ elem.name = ti.@"enum".field_names[i];
45
45
  }
46
46
  break :blk result;
47
47
  };
@@ -12,13 +12,13 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
12
12
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
13
13
 
14
14
  pub const all_features = blk: {
15
- const len = @typeInfo(Feature).@"enum".fields.len;
15
+ const len = @typeInfo(Feature).@"enum".field_names.len;
16
16
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
17
17
  var result: [len]CpuFeature = undefined;
18
18
  const ti = @typeInfo(Feature);
19
19
  for (&result, 0..) |*elem, i| {
20
20
  elem.index = i;
21
- elem.name = ti.@"enum".fields[i].name;
21
+ elem.name = ti.@"enum".field_names[i];
22
22
  }
23
23
  break :blk result;
24
24
  };
@@ -34,7 +34,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
34
34
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
35
35
 
36
36
  pub const all_features = blk: {
37
- const len = @typeInfo(Feature).@"enum".fields.len;
37
+ const len = @typeInfo(Feature).@"enum".field_names.len;
38
38
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
39
39
  var result: [len]CpuFeature = undefined;
40
40
  result[@intFromEnum(Feature.@"32bit")] = .{
@@ -153,7 +153,7 @@ pub const all_features = blk: {
153
153
  const ti = @typeInfo(Feature);
154
154
  for (&result, 0..) |*elem, i| {
155
155
  elem.index = i;
156
- elem.name = ti.@"enum".fields[i].name;
156
+ elem.name = ti.@"enum".field_names[i];
157
157
  }
158
158
  break :blk result;
159
159
  };
@@ -36,7 +36,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
36
36
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
37
37
 
38
38
  pub const all_features = blk: {
39
- const len = @typeInfo(Feature).@"enum".fields.len;
39
+ const len = @typeInfo(Feature).@"enum".field_names.len;
40
40
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
41
41
  var result: [len]CpuFeature = undefined;
42
42
  result[@intFromEnum(Feature.isa_68000)] = .{
@@ -170,7 +170,7 @@ pub const all_features = blk: {
170
170
  const ti = @typeInfo(Feature);
171
171
  for (&result, 0..) |*elem, i| {
172
172
  elem.index = i;
173
- elem.name = ti.@"enum".fields[i].name;
173
+ elem.name = ti.@"enum".field_names[i];
174
174
  }
175
175
  break :blk result;
176
176
  };
@@ -70,7 +70,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
70
70
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
71
71
 
72
72
  pub const all_features = blk: {
73
- const len = @typeInfo(Feature).@"enum".fields.len;
73
+ const len = @typeInfo(Feature).@"enum".field_names.len;
74
74
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
75
75
  var result: [len]CpuFeature = undefined;
76
76
  result[@intFromEnum(Feature.abs2008)] = .{
@@ -425,7 +425,7 @@ pub const all_features = blk: {
425
425
  const ti = @typeInfo(Feature);
426
426
  for (&result, 0..) |*elem, i| {
427
427
  elem.index = i;
428
- elem.name = ti.@"enum".fields[i].name;
428
+ elem.name = ti.@"enum".field_names[i];
429
429
  }
430
430
  break :blk result;
431
431
  };
@@ -17,7 +17,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
17
17
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
18
18
 
19
19
  pub const all_features = blk: {
20
- const len = @typeInfo(Feature).@"enum".fields.len;
20
+ const len = @typeInfo(Feature).@"enum".field_names.len;
21
21
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
22
22
  var result: [len]CpuFeature = undefined;
23
23
  result[@intFromEnum(Feature.ext)] = .{
@@ -43,7 +43,7 @@ pub const all_features = blk: {
43
43
  const ti = @typeInfo(Feature);
44
44
  for (&result, 0..) |*elem, i| {
45
45
  elem.index = i;
46
- elem.name = ti.@"enum".fields[i].name;
46
+ elem.name = ti.@"enum".field_names[i];
47
47
  }
48
48
  break :blk result;
49
49
  };
@@ -84,7 +84,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
84
84
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
85
85
 
86
86
  pub const all_features = blk: {
87
- const len = @typeInfo(Feature).@"enum".fields.len;
87
+ const len = @typeInfo(Feature).@"enum".field_names.len;
88
88
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
89
89
  var result: [len]CpuFeature = undefined;
90
90
  result[@intFromEnum(Feature.ptx32)] = .{
@@ -445,7 +445,7 @@ pub const all_features = blk: {
445
445
  const ti = @typeInfo(Feature);
446
446
  for (&result, 0..) |*elem, i| {
447
447
  elem.index = i;
448
- elem.name = ti.@"enum".fields[i].name;
448
+ elem.name = ti.@"enum".field_names[i];
449
449
  }
450
450
  break :blk result;
451
451
  };
@@ -93,7 +93,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
93
93
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
94
94
 
95
95
  pub const all_features = blk: {
96
- const len = @typeInfo(Feature).@"enum".fields.len;
96
+ const len = @typeInfo(Feature).@"enum".field_names.len;
97
97
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
98
98
  var result: [len]CpuFeature = undefined;
99
99
  result[@intFromEnum(Feature.@"64bit")] = .{
@@ -595,7 +595,7 @@ pub const all_features = blk: {
595
595
  const ti = @typeInfo(Feature);
596
596
  for (&result, 0..) |*elem, i| {
597
597
  elem.index = i;
598
- elem.name = ti.@"enum".fields[i].name;
598
+ elem.name = ti.@"enum".field_names[i];
599
599
  }
600
600
  break :blk result;
601
601
  };
@@ -14,7 +14,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
14
14
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
15
15
 
16
16
  pub const all_features = blk: {
17
- const len = @typeInfo(Feature).@"enum".fields.len;
17
+ const len = @typeInfo(Feature).@"enum".field_names.len;
18
18
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
19
19
  var result: [len]CpuFeature = undefined;
20
20
  result[@intFromEnum(Feature.p2)] = .{
@@ -25,7 +25,7 @@ pub const all_features = blk: {
25
25
  const ti = @typeInfo(Feature);
26
26
  for (&result, 0..) |*elem, i| {
27
27
  elem.index = i;
28
- elem.name = ti.@"enum".fields[i].name;
28
+ elem.name = ti.@"enum".field_names[i];
29
29
  }
30
30
  break :blk result;
31
31
  };
@@ -361,7 +361,7 @@ pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
361
361
 
362
362
  pub const all_features = blk: {
363
363
  @setEvalBranchQuota(2000);
364
- const len = @typeInfo(Feature).@"enum".fields.len;
364
+ const len = @typeInfo(Feature).@"enum".field_names.len;
365
365
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
366
366
  var result: [len]CpuFeature = undefined;
367
367
  result[@intFromEnum(Feature.@"32bit")] = .{
@@ -2675,7 +2675,7 @@ pub const all_features = blk: {
2675
2675
  const ti = @typeInfo(Feature);
2676
2676
  for (&result, 0..) |*elem, i| {
2677
2677
  elem.index = i;
2678
- elem.name = ti.@"enum".fields[i].name;
2678
+ elem.name = ti.@"enum".field_names[i];
2679
2679
  }
2680
2680
  break :blk result;
2681
2681
  };
@@ -62,7 +62,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
62
62
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
63
63
 
64
64
  pub const all_features = blk: {
65
- const len = @typeInfo(Feature).@"enum".fields.len;
65
+ const len = @typeInfo(Feature).@"enum".field_names.len;
66
66
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
67
67
  var result: [len]CpuFeature = undefined;
68
68
  result[@intFromEnum(Feature.backchain)] = .{
@@ -313,7 +313,7 @@ pub const all_features = blk: {
313
313
  const ti = @typeInfo(Feature);
314
314
  for (&result, 0..) |*elem, i| {
315
315
  elem.index = i;
316
- elem.name = ti.@"enum".fields[i].name;
316
+ elem.name = ti.@"enum".field_names[i];
317
317
  }
318
318
  break :blk result;
319
319
  };
@@ -72,7 +72,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
72
72
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
73
73
 
74
74
  pub const all_features = blk: {
75
- const len = @typeInfo(Feature).@"enum".fields.len;
75
+ const len = @typeInfo(Feature).@"enum".field_names.len;
76
76
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
77
77
  var result: [len]CpuFeature = undefined;
78
78
  result[@intFromEnum(Feature.@"64bit")] = .{
@@ -395,7 +395,7 @@ pub const all_features = blk: {
395
395
  const ti = @typeInfo(Feature);
396
396
  for (&result, 0..) |*elem, i| {
397
397
  elem.index = i;
398
- elem.name = ti.@"enum".fields[i].name;
398
+ elem.name = ti.@"enum".field_names[i];
399
399
  }
400
400
  break :blk result;
401
401
  };
@@ -29,7 +29,7 @@ pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
29
29
 
30
30
  pub const all_features = blk: {
31
31
  @setEvalBranchQuota(2000);
32
- const len = @typeInfo(Feature).@"enum".fields.len;
32
+ const len = @typeInfo(Feature).@"enum".field_names.len;
33
33
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
34
34
  var result: [len]CpuFeature = undefined;
35
35
  result[@intFromEnum(Feature.arbitrary_precision_integers)] = .{
@@ -138,7 +138,7 @@ pub const all_features = blk: {
138
138
  const ti = @typeInfo(Feature);
139
139
  for (&result, 0..) |*elem, i| {
140
140
  elem.index = i;
141
- elem.name = ti.@"enum".fields[i].name;
141
+ elem.name = ti.@"enum".field_names[i];
142
142
  }
143
143
  break :blk result;
144
144
  };
package/std/Target/ve.zig CHANGED
@@ -14,7 +14,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
14
14
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
15
15
 
16
16
  pub const all_features = blk: {
17
- const len = @typeInfo(Feature).@"enum".fields.len;
17
+ const len = @typeInfo(Feature).@"enum".field_names.len;
18
18
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
19
19
  var result: [len]CpuFeature = undefined;
20
20
  result[@intFromEnum(Feature.vpu)] = .{
@@ -25,7 +25,7 @@ pub const all_features = blk: {
25
25
  const ti = @typeInfo(Feature);
26
26
  for (&result, 0..) |*elem, i| {
27
27
  elem.index = i;
28
- elem.name = ti.@"enum".fields[i].name;
28
+ elem.name = ti.@"enum".field_names[i];
29
29
  }
30
30
  break :blk result;
31
31
  };
@@ -32,7 +32,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
32
32
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
33
33
 
34
34
  pub const all_features = blk: {
35
- const len = @typeInfo(Feature).@"enum".fields.len;
35
+ const len = @typeInfo(Feature).@"enum".field_names.len;
36
36
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
37
37
  var result: [len]CpuFeature = undefined;
38
38
  result[@intFromEnum(Feature.atomics)] = .{
@@ -139,7 +139,7 @@ pub const all_features = blk: {
139
139
  const ti = @typeInfo(Feature);
140
140
  for (&result, 0..) |*elem, i| {
141
141
  elem.index = i;
142
- elem.name = ti.@"enum".fields[i].name;
142
+ elem.name = ti.@"enum".field_names[i];
143
143
  }
144
144
  break :blk result;
145
145
  };
@@ -215,7 +215,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
215
215
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
216
216
 
217
217
  pub const all_features = blk: {
218
- const len = @typeInfo(Feature).@"enum".fields.len;
218
+ const len = @typeInfo(Feature).@"enum".field_names.len;
219
219
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
220
220
  var result: [len]CpuFeature = undefined;
221
221
  result[@intFromEnum(Feature.@"16bit_mode")] = .{
@@ -1374,7 +1374,7 @@ pub const all_features = blk: {
1374
1374
  const ti = @typeInfo(Feature);
1375
1375
  for (&result, 0..) |*elem, i| {
1376
1376
  elem.index = i;
1377
- elem.name = ti.@"enum".fields[i].name;
1377
+ elem.name = ti.@"enum".field_names[i];
1378
1378
  }
1379
1379
  break :blk result;
1380
1380
  };
@@ -12,13 +12,13 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
12
12
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
13
13
 
14
14
  pub const all_features = blk: {
15
- const len = @typeInfo(Feature).@"enum".fields.len;
15
+ const len = @typeInfo(Feature).@"enum".field_names.len;
16
16
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
17
17
  var result: [len]CpuFeature = undefined;
18
18
  const ti = @typeInfo(Feature);
19
19
  for (&result, 0..) |*elem, i| {
20
20
  elem.index = i;
21
- elem.name = ti.@"enum".fields[i].name;
21
+ elem.name = ti.@"enum".field_names[i];
22
22
  }
23
23
  break :blk result;
24
24
  };
@@ -50,7 +50,7 @@ pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
50
50
  pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
51
51
 
52
52
  pub const all_features = blk: {
53
- const len = @typeInfo(Feature).@"enum".fields.len;
53
+ const len = @typeInfo(Feature).@"enum".field_names.len;
54
54
  std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
55
55
  var result: [len]CpuFeature = undefined;
56
56
  result[@intFromEnum(Feature.bool)] = .{
@@ -251,7 +251,7 @@ pub const all_features = blk: {
251
251
  const ti = @typeInfo(Feature);
252
252
  for (&result, 0..) |*elem, i| {
253
253
  elem.index = i;
254
- elem.name = ti.@"enum".fields[i].name;
254
+ elem.name = ti.@"enum".field_names[i];
255
255
  }
256
256
  break :blk result;
257
257
  };
package/std/Target.zig CHANGED
@@ -1764,10 +1764,10 @@ pub const Cpu = struct {
1764
1764
 
1765
1765
  fn allCpusFromDecls(comptime cpus: type) []const *const Cpu.Model {
1766
1766
  @setEvalBranchQuota(2000);
1767
- const decls = @typeInfo(cpus).@"struct".decls;
1768
- var array: [decls.len]*const Cpu.Model = undefined;
1769
- for (decls, 0..) |decl, i| {
1770
- array[i] = &@field(cpus, decl.name);
1767
+ const decl_names = @typeInfo(cpus).@"struct".decl_names;
1768
+ var array: [decl_names.len]*const Cpu.Model = undefined;
1769
+ for (decl_names, 0..) |decl_name, i| {
1770
+ array[i] = &@field(cpus, decl_name);
1771
1771
  }
1772
1772
  const finalized = array;
1773
1773
  return &finalized;
package/std/c/darwin.zig CHANGED
@@ -54,7 +54,7 @@ pub const EXC = enum(exception_type_t) {
54
54
 
55
55
  _,
56
56
 
57
- pub const TYPES_COUNT = @typeInfo(EXC).@"enum".fields.len;
57
+ pub const TYPES_COUNT = @typeInfo(EXC).@"enum".field_names.len;
58
58
  pub const SOFT_SIGNAL = 0x10003;
59
59
 
60
60
  pub const MASK = packed struct(u32) {
package/std/coff.zig CHANGED
@@ -1386,7 +1386,7 @@ pub const IMAGE = struct {
1386
1386
  RESERVED = 15,
1387
1387
  _,
1388
1388
 
1389
- pub const len = @typeInfo(IMAGE.DIRECTORY_ENTRY).@"enum".fields.len;
1389
+ pub const len = @typeInfo(IMAGE.DIRECTORY_ENTRY).@"enum".field_names.len;
1390
1390
  };
1391
1391
 
1392
1392
  pub const FILE = struct {
@@ -177,27 +177,27 @@ pub fn StaticMap(comptime Enum: type) type {
177
177
  pub fn initComptime(comptime key_pairs: anytype) ReturnType {
178
178
  const struct_info = @typeInfo(@TypeOf(key_pairs)).@"struct";
179
179
  const error_msg = "Each field of '" ++ @typeName(Enum) ++ "' must map to exactly one OID";
180
- if (!enum_info.is_exhaustive or enum_info.fields.len != struct_info.fields.len) {
180
+ if (enum_info.mode == .nonexhaustive or enum_info.field_names.len != struct_info.field_names.len) {
181
181
  @compileError(error_msg);
182
182
  }
183
183
 
184
184
  comptime var enum_to_oid = EnumToOid.initUndefined();
185
185
 
186
186
  const KeyPair = struct { []const u8, Enum };
187
- comptime var static_key_pairs: [enum_info.fields.len]KeyPair = undefined;
187
+ comptime var static_key_pairs: [enum_info.field_names.len]KeyPair = undefined;
188
188
 
189
- comptime for (enum_info.fields, 0..) |f, i| {
190
- if (!@hasField(@TypeOf(key_pairs), f.name)) {
191
- @compileError("Field '" ++ f.name ++ "' missing Oid.StaticMap entry");
189
+ comptime for (enum_info.field_names, enum_info.field_values, 0..) |f_name, f_value, i| {
190
+ if (!@hasField(@TypeOf(key_pairs), f_name)) {
191
+ @compileError("Field '" ++ f_name ++ "' missing Oid.StaticMap entry");
192
192
  }
193
- const encoded = &encodeComptime(@field(key_pairs, f.name));
194
- const tag: Enum = @enumFromInt(f.value);
193
+ const encoded = &encodeComptime(@field(key_pairs, f_name));
194
+ const tag: Enum = @enumFromInt(f_value);
195
195
  static_key_pairs[i] = .{ encoded, tag };
196
196
  enum_to_oid.set(tag, encoded);
197
197
  };
198
198
 
199
199
  const oid_to_enum = std.StaticStringMap(Enum).initComptime(static_key_pairs);
200
- if (oid_to_enum.values().len != enum_info.fields.len) @compileError(error_msg);
200
+ if (oid_to_enum.values().len != enum_info.field_names.len) @compileError(error_msg);
201
201
 
202
202
  return ReturnType{ .oid_to_enum = oid_to_enum, .enum_to_oid = enum_to_oid };
203
203
  }
@@ -19,14 +19,14 @@ pub fn any(self: *Decoder, comptime T: type) !T {
19
19
 
20
20
  const tag = Tag.fromZig(T).toExpected();
21
21
  switch (@typeInfo(T)) {
22
- .@"struct" => {
22
+ .@"struct" => |info| {
23
23
  const ele = try self.element(tag);
24
24
  defer self.index = ele.slice.end; // don't force parsing all fields
25
25
 
26
26
  var res: T = undefined;
27
27
 
28
- inline for (std.meta.fields(T)) |f| {
29
- self.field_tag = FieldTag.fromContainer(T, f.name);
28
+ inline for (info.field_names, info.field_types, info.field_attrs) |f_name, f_type, f_attrs| {
29
+ self.field_tag = FieldTag.fromContainer(T, f_name);
30
30
 
31
31
  if (self.field_tag) |ft| {
32
32
  if (ft.explicit) {
@@ -36,15 +36,15 @@ pub fn any(self: *Decoder, comptime T: type) !T {
36
36
  }
37
37
  }
38
38
 
39
- @field(res, f.name) = self.any(f.type) catch |err| brk: {
40
- if (f.defaultValue()) |d| {
39
+ @field(res, f_name) = self.any(f_type) catch |err| brk: {
40
+ if (f_attrs.defaultValue(f_type)) |d| {
41
41
  break :brk d;
42
42
  }
43
43
  return err;
44
44
  };
45
45
  // DER encodes null values by skipping them.
46
- if (@typeInfo(f.type) == .optional and @field(res, f.name) == null) {
47
- if (f.defaultValue()) |d| @field(res, f.name) = d;
46
+ if (@typeInfo(f_type) == .optional and @field(res, f_name) == null) {
47
+ if (f_attrs.defaultValue(f_type)) |d| @field(res, f_name) = d;
48
48
  }
49
49
  }
50
50
 
@@ -29,16 +29,18 @@ fn anyTag(self: *Encoder, tag_: Tag, val: anytype) !void {
29
29
 
30
30
  switch (@typeInfo(T)) {
31
31
  .@"struct" => |info| {
32
- inline for (0..info.fields.len) |i| {
33
- const f = info.fields[info.fields.len - i - 1];
34
- const field_val = @field(val, f.name);
35
- const field_tag = FieldTag.fromContainer(T, f.name);
32
+ inline for (0..info.field_names.len) |i| {
33
+ const f_idx = info.field_names.len - i - 1;
34
+ const f_name = info.field_names[f_idx];
35
+ const f_type = info.field_types[f_idx];
36
+ const f_attrs = info.field_attrs[f_idx];
37
+ const field_val = @field(val, f_name);
38
+ const field_tag = FieldTag.fromContainer(T, f_name);
36
39
 
37
40
  // > The encoding of a set value or sequence value shall not include an encoding for any
38
41
  // > component value which is equal to its default value.
39
- const is_default = if (f.is_comptime) false else if (f.default_value_ptr) |v| brk: {
40
- const default_val: *const f.type = @ptrCast(@alignCast(v));
41
- break :brk std.mem.eql(u8, std.mem.asBytes(default_val), std.mem.asBytes(&field_val));
42
+ const is_default = if (f_attrs.@"comptime") false else if (f_attrs.defaultValue(f_type)) |default_val| brk: {
43
+ break :brk std.mem.eql(u8, std.mem.asBytes(&default_val), std.mem.asBytes(&field_val));
42
44
  } else false;
43
45
 
44
46
  if (!is_default) {
@@ -46,7 +48,7 @@ fn anyTag(self: *Encoder, tag_: Tag, val: anytype) !void {
46
48
  self.field_tag = field_tag;
47
49
  // will merge with self.field_tag.
48
50
  // may mutate self.field_tag.
49
- try self.anyTag(Tag.fromZig(f.type), field_val);
51
+ try self.anyTag(Tag.fromZig(f_type), field_val);
50
52
  if (field_tag) |ft| {
51
53
  if (ft.explicit) {
52
54
  try self.length(self.buffer.data.len - start2);