@zigc/lib 0.17.0-dev.228 → 0.17.0-dev.242

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 (106) hide show
  1. package/compiler/build_runner.zig +1 -1
  2. package/compiler/reduce/Walk.zig +1 -6
  3. package/compiler/resinator/cvtres.zig +4 -4
  4. package/compiler/resinator/ico.zig +4 -4
  5. package/compiler/resinator/parse.zig +2 -2
  6. package/compiler/resinator/res.zig +1 -1
  7. package/compiler/translate-c/ast.zig +11 -21
  8. package/compiler_rt/atomics.zig +1 -1
  9. package/compiler_rt/ssp.zig +2 -2
  10. package/docs/wasm/Walk.zig +1 -3
  11. package/docs/wasm/html_render.zig +1 -2
  12. package/package.json +1 -1
  13. package/std/Io/Reader.zig +0 -5
  14. package/std/Io/Threaded.zig +4 -4
  15. package/std/Io/Writer.zig +1 -2
  16. package/std/Io/net/HostName.zig +11 -6
  17. package/std/Random/ChaCha.zig +2 -2
  18. package/std/Random/benchmark.zig +2 -2
  19. package/std/Thread.zig +2 -2
  20. package/std/base64.zig +5 -5
  21. package/std/bit_set.zig +7 -7
  22. package/std/c.zig +17 -17
  23. package/std/compress/flate/Decompress.zig +1 -1
  24. package/std/crypto/25519/curve25519.zig +2 -2
  25. package/std/crypto/25519/edwards25519.zig +3 -3
  26. package/std/crypto/25519/ristretto255.zig +2 -2
  27. package/std/crypto/25519/scalar.zig +6 -6
  28. package/std/crypto/25519/x25519.zig +1 -1
  29. package/std/crypto/Certificate.zig +1 -1
  30. package/std/crypto/Sha1.zig +1 -1
  31. package/std/crypto/aegis.zig +45 -39
  32. package/std/crypto/aes_ccm.zig +20 -20
  33. package/std/crypto/aes_gcm.zig +10 -12
  34. package/std/crypto/aes_ocb.zig +9 -9
  35. package/std/crypto/argon2.zig +15 -15
  36. package/std/crypto/bcrypt.zig +20 -10
  37. package/std/crypto/benchmark.zig +7 -7
  38. package/std/crypto/blake2.zig +100 -64
  39. package/std/crypto/cbc_mac.zig +1 -1
  40. package/std/crypto/chacha20.zig +10 -10
  41. package/std/crypto/cmac.zig +2 -2
  42. package/std/crypto/codecs/asn1.zig +1 -1
  43. package/std/crypto/ecdsa.zig +9 -9
  44. package/std/crypto/ff.zig +2 -2
  45. package/std/crypto/ghash_polyval.zig +4 -4
  46. package/std/crypto/hkdf.zig +1 -1
  47. package/std/crypto/isap.zig +3 -3
  48. package/std/crypto/kangarootwelve.zig +1 -1
  49. package/std/crypto/keccak_p.zig +7 -7
  50. package/std/crypto/md5.zig +1 -1
  51. package/std/crypto/ml_dsa.zig +33 -33
  52. package/std/crypto/ml_kem.zig +4 -4
  53. package/std/crypto/modes.zig +1 -1
  54. package/std/crypto/pbkdf2.zig +1 -1
  55. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  56. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  57. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  58. package/std/crypto/pcurves/tests/p256.zig +5 -5
  59. package/std/crypto/pcurves/tests/p384.zig +5 -5
  60. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  61. package/std/crypto/salsa20.zig +8 -8
  62. package/std/crypto/sha2.zig +2 -2
  63. package/std/crypto/sha3.zig +2 -2
  64. package/std/crypto/siphash.zig +1 -1
  65. package/std/crypto/timing_safe.zig +5 -4
  66. package/std/crypto/tls/Client.zig +10 -9
  67. package/std/crypto.zig +3 -3
  68. package/std/debug/Dwarf.zig +1 -1
  69. package/std/debug.zig +6 -4
  70. package/std/elf.zig +1 -1
  71. package/std/enums.zig +1 -1
  72. package/std/fmt/parse_float/decimal.zig +1 -1
  73. package/std/fmt.zig +5 -1
  74. package/std/hash/Adler32.zig +3 -3
  75. package/std/hash/benchmark.zig +2 -2
  76. package/std/hash/wyhash.zig +1 -1
  77. package/std/heap/debug_allocator.zig +1 -1
  78. package/std/http.zig +1 -1
  79. package/std/json/static.zig +2 -2
  80. package/std/math/big/int.zig +3 -3
  81. package/std/math/nextafter.zig +1 -2
  82. package/std/math/powi.zig +2 -3
  83. package/std/math/signbit.zig +0 -1
  84. package/std/math.zig +12 -18
  85. package/std/mem.zig +9 -8
  86. package/std/meta.zig +1 -1
  87. package/std/os/emscripten.zig +2 -2
  88. package/std/os/linux.zig +4 -4
  89. package/std/os/uefi/hii.zig +1 -1
  90. package/std/tar/Writer.zig +39 -33
  91. package/std/tar.zig +8 -4
  92. package/std/unicode.zig +13 -8
  93. package/std/zig/Ast/Render.zig +1 -25
  94. package/std/zig/Ast.zig +5 -28
  95. package/std/zig/AstGen.zig +75 -184
  96. package/std/zig/AstRlAnnotate.zig +1 -11
  97. package/std/zig/AstSmith.zig +5 -11
  98. package/std/zig/LibCInstallation.zig +1 -1
  99. package/std/zig/Parse.zig +4 -69
  100. package/std/zig/TokenSmith.zig +0 -6
  101. package/std/zig/WindowsSdk.zig +1 -1
  102. package/std/zig/Zir.zig +0 -54
  103. package/std/zig/ZonGen.zig +0 -1
  104. package/std/zig/llvm/Builder.zig +3 -7
  105. package/std/zig/tokenizer.zig +4 -43
  106. package/std/zig.zig +0 -2
package/std/zig/Zir.zig CHANGED
@@ -250,9 +250,6 @@ pub const Inst = struct {
250
250
  /// Array concatenation. `a ++ b`
251
251
  /// Uses the `pl_node` union field. Payload is `Bin`.
252
252
  array_cat,
253
- /// Array multiplication `a ** b`
254
- /// Uses the `pl_node` union field. Payload is `ArrayMul`.
255
- array_mul,
256
253
  /// `[N]T` syntax. No source location provided.
257
254
  /// Uses the `pl_node` union field. Payload is `Bin`. lhs is length, rhs is element type.
258
255
  array_type,
@@ -597,13 +594,6 @@ pub const Inst = struct {
597
594
  /// name is added to it.
598
595
  /// Uses the `str_tok` union field.
599
596
  ret_err_value,
600
- /// A string name is provided which is an anonymous error set value.
601
- /// If the current function has an inferred error set, the error given by the
602
- /// name is added to it.
603
- /// Results in the error code. Note that control flow is not diverted with
604
- /// this instruction; a following 'ret' instruction will do the diversion.
605
- /// Uses the `str_tok` union field.
606
- ret_err_value_code,
607
597
  /// Obtains a pointer to the return value.
608
598
  /// Uses the `node` union field.
609
599
  ret_ptr,
@@ -1066,9 +1056,6 @@ pub const Inst = struct {
1066
1056
  /// A defer statement.
1067
1057
  /// Uses the `defer` union field.
1068
1058
  @"defer",
1069
- /// An errdefer statement with a code.
1070
- /// Uses the `err_defer_code` union field.
1071
- defer_err_code,
1072
1059
 
1073
1060
  /// Requests that Sema update the saved error return trace index for the enclosing
1074
1061
  /// block, if the operand is .none or of an error/error-union type.
@@ -1112,7 +1099,6 @@ pub const Inst = struct {
1112
1099
  .alloc_inferred_comptime_mut,
1113
1100
  .make_ptr_const,
1114
1101
  .array_cat,
1115
- .array_mul,
1116
1102
  .array_type,
1117
1103
  .array_type_sentinel,
1118
1104
  .reify_int,
@@ -1295,14 +1281,12 @@ pub const Inst = struct {
1295
1281
  .memmove,
1296
1282
  .min,
1297
1283
  .@"resume",
1298
- .ret_err_value_code,
1299
1284
  .extended,
1300
1285
  .ret_ptr,
1301
1286
  .ret_type,
1302
1287
  .@"try",
1303
1288
  .try_ptr,
1304
1289
  .@"defer",
1305
- .defer_err_code,
1306
1290
  .save_err_ret_index,
1307
1291
  .for_len,
1308
1292
  .opt_eu_base_ptr_init,
@@ -1377,7 +1361,6 @@ pub const Inst = struct {
1377
1361
  .memmove,
1378
1362
  .check_comptime_control_flow,
1379
1363
  .@"defer",
1380
- .defer_err_code,
1381
1364
  .save_err_ret_index,
1382
1365
  .restore_err_ret_index_unconditional,
1383
1366
  .restore_err_ret_index_fn_entry,
@@ -1409,7 +1392,6 @@ pub const Inst = struct {
1409
1392
  .resolve_inferred_alloc,
1410
1393
  .make_ptr_const,
1411
1394
  .array_cat,
1412
- .array_mul,
1413
1395
  .array_type,
1414
1396
  .array_type_sentinel,
1415
1397
  .reify_int,
@@ -1574,7 +1556,6 @@ pub const Inst = struct {
1574
1556
  .max,
1575
1557
  .min,
1576
1558
  .@"resume",
1577
- .ret_err_value_code,
1578
1559
  .@"break",
1579
1560
  .break_inline,
1580
1561
  .condbr,
@@ -1644,7 +1625,6 @@ pub const Inst = struct {
1644
1625
  .param_anytype = .str_tok,
1645
1626
  .param_anytype_comptime = .str_tok,
1646
1627
  .array_cat = .pl_node,
1647
- .array_mul = .pl_node,
1648
1628
  .array_type = .pl_node,
1649
1629
  .array_type_sentinel = .pl_node,
1650
1630
  .reify_int = .pl_node,
@@ -1732,7 +1712,6 @@ pub const Inst = struct {
1732
1712
  .ret_load = .un_node,
1733
1713
  .ret_implicit = .un_tok,
1734
1714
  .ret_err_value = .str_tok,
1735
- .ret_err_value_code = .str_tok,
1736
1715
  .ret_ptr = .node,
1737
1716
  .ret_type = .node,
1738
1717
  .ptr_type = .ptr_type,
@@ -1866,7 +1845,6 @@ pub const Inst = struct {
1866
1845
  .@"resume" = .un_node,
1867
1846
 
1868
1847
  .@"defer" = .@"defer",
1869
- .defer_err_code = .defer_err_code,
1870
1848
 
1871
1849
  .save_err_ret_index = .save_err_ret_index,
1872
1850
  .restore_err_ret_index_unconditional = .un_node,
@@ -2213,7 +2191,6 @@ pub const Inst = struct {
2213
2191
  /// and `[]Ref`.
2214
2192
  pub const Ref = enum(u32) {
2215
2193
  u0_type,
2216
- i0_type,
2217
2194
  u1_type,
2218
2195
  u8_type,
2219
2196
  i8_type,
@@ -2484,10 +2461,6 @@ pub const Inst = struct {
2484
2461
  index: u32,
2485
2462
  len: u32,
2486
2463
  },
2487
- defer_err_code: struct {
2488
- err_code: Ref,
2489
- payload_index: u32,
2490
- },
2491
2464
  save_err_ret_index: struct {
2492
2465
  operand: Ref, // If error type (or .none), save new trace index
2493
2466
  },
@@ -2538,7 +2511,6 @@ pub const Inst = struct {
2538
2511
  inst_node,
2539
2512
  str_op,
2540
2513
  @"defer",
2541
- defer_err_code,
2542
2514
  save_err_ret_index,
2543
2515
  elem_val_imm,
2544
2516
  declaration,
@@ -3974,12 +3946,6 @@ pub const Inst = struct {
3974
3946
  column: u32,
3975
3947
  };
3976
3948
 
3977
- pub const DeferErrCode = struct {
3978
- remapped_err_code: Index,
3979
- index: u32,
3980
- len: u32,
3981
- };
3982
-
3983
3949
  pub const ValidateDestructure = struct {
3984
3950
  /// The value being destructured.
3985
3951
  operand: Ref,
@@ -3989,15 +3955,6 @@ pub const Inst = struct {
3989
3955
  expect_len: u32,
3990
3956
  };
3991
3957
 
3992
- pub const ArrayMul = struct {
3993
- /// The result type of the array multiplication operation, or `.none` if none was available.
3994
- res_ty: Ref,
3995
- /// The LHS of the array multiplication.
3996
- lhs: Ref,
3997
- /// The RHS of the array multiplication.
3998
- rhs: Ref,
3999
- };
4000
-
4001
3958
  pub const RestoreErrRetIndex = struct {
4002
3959
  src_node: Ast.Node.Offset,
4003
3960
  /// If `.none`, restore the trace to its state upon function entry.
@@ -4149,7 +4106,6 @@ fn findTrackableInner(
4149
4106
  .param_anytype,
4150
4107
  .param_anytype_comptime,
4151
4108
  .array_cat,
4152
- .array_mul,
4153
4109
  .array_type,
4154
4110
  .array_type_sentinel,
4155
4111
  .reify_int,
@@ -4222,7 +4178,6 @@ fn findTrackableInner(
4222
4178
  .ret_load,
4223
4179
  .ret_implicit,
4224
4180
  .ret_err_value,
4225
- .ret_err_value_code,
4226
4181
  .ret_ptr,
4227
4182
  .ret_type,
4228
4183
  .ptr_type,
@@ -4621,15 +4576,6 @@ fn findTrackableInner(
4621
4576
  try zir.findTrackableBody(gpa, contents, defers, body);
4622
4577
  }
4623
4578
  },
4624
- .defer_err_code => {
4625
- const inst_data = datas[@intFromEnum(inst)].defer_err_code;
4626
- const extra = zir.extraData(Inst.DeferErrCode, inst_data.payload_index).data;
4627
- const gop = try defers.getOrPut(gpa, extra.index);
4628
- if (!gop.found_existing) {
4629
- const body = zir.bodySlice(extra.index, extra.len);
4630
- try zir.findTrackableBody(gpa, contents, defers, body);
4631
- }
4632
- },
4633
4579
  }
4634
4580
  }
4635
4581
 
@@ -166,7 +166,6 @@ fn expr(zg: *ZonGen, node: Ast.Node.Index, dest_node: Zoir.Node.Index) Allocator
166
166
  .less_than,
167
167
  .less_or_equal,
168
168
  .array_cat,
169
- .array_mult,
170
169
  .bool_and,
171
170
  .bool_or,
172
171
  .bool_not,
@@ -7628,9 +7628,7 @@ pub const Constant = enum(u32) {
7628
7628
  const expected_limbs = @divExact(512, @bitSizeOf(std.math.big.Limb));
7629
7629
  string: [
7630
7630
  (std.math.big.int.Const{
7631
- .limbs = &([1]std.math.big.Limb{
7632
- maxInt(std.math.big.Limb),
7633
- } ** expected_limbs),
7631
+ .limbs = &@as([expected_limbs]std.math.big.Limb, @splat(maxInt(std.math.big.Limb))),
7634
7632
  .positive = false,
7635
7633
  }).sizeInBaseUpperBound(10)
7636
7634
  ]u8,
@@ -9347,7 +9345,7 @@ pub fn nanConst(self: *Builder, ty: Type) Allocator.Error!Constant {
9347
9345
  .double => try self.doubleConst(std.math.nan(f64)),
9348
9346
  .fp128 => try self.fp128Const(std.math.nan(f128)),
9349
9347
  .x86_fp80 => try self.x86_fp80Const(std.math.nan(f80)),
9350
- .ppc_fp128 => try self.ppc_fp128Const(.{std.math.nan(f64)} ** 2),
9348
+ .ppc_fp128 => try self.ppc_fp128Const(@splat(.{std.math.nan(f64)})),
9351
9349
  else => unreachable,
9352
9350
  };
9353
9351
  }
@@ -10597,9 +10595,7 @@ pub fn print(self: *Builder, w: *Writer) (Writer.Error || Allocator.Error)!void
10597
10595
  const expected_limbs = @divExact(512, @bitSizeOf(std.math.big.Limb));
10598
10596
  string: [
10599
10597
  (std.math.big.int.Const{
10600
- .limbs = &([1]std.math.big.Limb{
10601
- maxInt(std.math.big.Limb),
10602
- } ** expected_limbs),
10598
+ .limbs = &@as([expected_limbs]std.math.big.Limb, @splat(maxInt(std.math.big.Limb))),
10603
10599
  .positive = false,
10604
10600
  }).sizeInBaseUpperBound(10)
10605
10601
  ]u8,
@@ -64,7 +64,6 @@ pub const Token = struct {
64
64
 
65
65
  pub const Tag = enum {
66
66
  invalid,
67
- invalid_periodasterisks,
68
67
  identifier,
69
68
  string_literal,
70
69
  multiline_string_literal_line,
@@ -109,7 +108,6 @@ pub const Token = struct {
109
108
  minus_pipe_equal,
110
109
  asterisk,
111
110
  asterisk_equal,
112
- asterisk_asterisk,
113
111
  asterisk_percent,
114
112
  asterisk_percent_equal,
115
113
  asterisk_pipe,
@@ -197,7 +195,6 @@ pub const Token = struct {
197
195
  .container_doc_comment,
198
196
  => null,
199
197
 
200
- .invalid_periodasterisks => ".**",
201
198
  .bang => "!",
202
199
  .pipe => "|",
203
200
  .pipe_pipe => "||",
@@ -236,7 +233,6 @@ pub const Token = struct {
236
233
  .minus_pipe_equal => "-|=",
237
234
  .asterisk => "*",
238
235
  .asterisk_equal => "*=",
239
- .asterisk_asterisk => "**",
240
236
  .asterisk_percent => "*%",
241
237
  .asterisk_percent_equal => "*%=",
242
238
  .asterisk_pipe => "*|",
@@ -386,7 +382,6 @@ pub const Tokenizer = struct {
386
382
  angle_bracket_angle_bracket_right,
387
383
  period,
388
384
  period_2,
389
- period_asterisk,
390
385
  saw_at_sign,
391
386
  invalid,
392
387
  };
@@ -569,10 +564,6 @@ pub const Tokenizer = struct {
569
564
  result.tag = .asterisk_equal;
570
565
  self.index += 1;
571
566
  },
572
- '*' => {
573
- result.tag = .asterisk_asterisk;
574
- self.index += 1;
575
- },
576
567
  '%' => continue :state .asterisk_percent,
577
568
  '|' => continue :state .asterisk_pipe,
578
569
  else => result.tag = .asterisk,
@@ -915,7 +906,10 @@ pub const Tokenizer = struct {
915
906
  self.index += 1;
916
907
  switch (self.buffer[self.index]) {
917
908
  '.' => continue :state .period_2,
918
- '*' => continue :state .period_asterisk,
909
+ '*' => {
910
+ result.tag = .period_asterisk;
911
+ self.index += 1;
912
+ },
919
913
  else => result.tag = .period,
920
914
  }
921
915
  },
@@ -931,14 +925,6 @@ pub const Tokenizer = struct {
931
925
  }
932
926
  },
933
927
 
934
- .period_asterisk => {
935
- self.index += 1;
936
- switch (self.buffer[self.index]) {
937
- '*' => result.tag = .invalid_periodasterisks,
938
- else => result.tag = .period_asterisk,
939
- }
940
- },
941
-
942
928
  .slash => {
943
929
  self.index += 1;
944
930
  switch (self.buffer[self.index]) {
@@ -1343,31 +1329,6 @@ test "correctly parse pointer assignment" {
1343
1329
  });
1344
1330
  }
1345
1331
 
1346
- test "correctly parse pointer dereference followed by asterisk" {
1347
- try testTokenize("\"b\".* ** 10", &.{
1348
- .string_literal,
1349
- .period_asterisk,
1350
- .asterisk_asterisk,
1351
- .number_literal,
1352
- });
1353
-
1354
- try testTokenize("(\"b\".*)** 10", &.{
1355
- .l_paren,
1356
- .string_literal,
1357
- .period_asterisk,
1358
- .r_paren,
1359
- .asterisk_asterisk,
1360
- .number_literal,
1361
- });
1362
-
1363
- try testTokenize("\"b\".*** 10", &.{
1364
- .string_literal,
1365
- .invalid_periodasterisks,
1366
- .asterisk_asterisk,
1367
- .number_literal,
1368
- });
1369
- }
1370
-
1371
1332
  test "range literals" {
1372
1333
  try testTokenize("0...9", &.{ .number_literal, .ellipsis3, .number_literal });
1373
1334
  try testTokenize("'0'...'9'", &.{ .char_literal, .ellipsis3, .char_literal });
package/std/zig.zig CHANGED
@@ -811,7 +811,6 @@ pub const SimpleComptimeReason = enum(u32) {
811
811
  compile_error_string,
812
812
  inline_assembly_code,
813
813
  atomic_order,
814
- array_mul_factor,
815
814
  slice_cat_operand,
816
815
  inline_call_target,
817
816
  generic_call_target,
@@ -899,7 +898,6 @@ pub const SimpleComptimeReason = enum(u32) {
899
898
  .compile_error_string => "compile error string must be comptime-known",
900
899
  .inline_assembly_code => "inline assembly code must be comptime-known",
901
900
  .atomic_order => "atomic order must be comptime-known",
902
- .array_mul_factor => "array multiplication factor must be comptime-known",
903
901
  .slice_cat_operand => "slice being concatenated must be comptime-known",
904
902
  .inline_call_target => "function being called inline must be comptime-known",
905
903
  .generic_call_target => "generic function being called must be comptime-known",