@zigc/lib 0.17.0-dev.56 → 0.17.0-dev.607

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 (1259) hide show
  1. package/c/fcntl.zig +5 -0
  2. package/c/inttypes.zig +0 -10
  3. package/c/math.zig +25 -96
  4. package/c/pthread.zig +57 -0
  5. package/c/search.zig +1 -27
  6. package/c/stdlib/drand48.zig +0 -57
  7. package/c/stdlib.zig +31 -121
  8. package/c/string.zig +20 -7
  9. package/c/strings.zig +0 -38
  10. package/c/unistd.zig +28 -26
  11. package/c/wchar.zig +10 -0
  12. package/c.zig +2 -2
  13. package/{std/Build → compiler/Maker}/Fuzz.zig +177 -89
  14. package/compiler/Maker/Graph.zig +85 -0
  15. package/compiler/Maker/PkgConfig.zig +114 -0
  16. package/compiler/Maker/ScannedConfig.zig +370 -0
  17. package/compiler/Maker/Step/CheckFile.zig +63 -0
  18. package/compiler/Maker/Step/Compile.zig +1390 -0
  19. package/compiler/Maker/Step/ConfigHeader.zig +610 -0
  20. package/compiler/Maker/Step/FindProgram.zig +120 -0
  21. package/compiler/Maker/Step/Fmt.zig +65 -0
  22. package/compiler/Maker/Step/InstallArtifact.zig +141 -0
  23. package/compiler/Maker/Step/InstallDir.zig +99 -0
  24. package/compiler/Maker/Step/InstallFile.zig +26 -0
  25. package/compiler/Maker/Step/ObjCopy.zig +173 -0
  26. package/compiler/Maker/Step/Options.zig +104 -0
  27. package/compiler/Maker/Step/Run.zig +2372 -0
  28. package/compiler/Maker/Step/TranslateC.zig +152 -0
  29. package/compiler/Maker/Step/UpdateSourceFiles.zig +89 -0
  30. package/compiler/Maker/Step/WriteFile.zig +294 -0
  31. package/compiler/Maker/Step.zig +863 -0
  32. package/{std/Build → compiler/Maker}/Watch/FsEvents.zig +33 -24
  33. package/{std/Build → compiler/Maker}/Watch.zig +89 -68
  34. package/{std/Build → compiler/Maker}/WebServer.zig +145 -118
  35. package/compiler/Maker.zig +2051 -0
  36. package/compiler/aro/aro/CodeGen.zig +7 -8
  37. package/compiler/aro/aro/Compilation.zig +17 -17
  38. package/compiler/aro/aro/Driver.zig +18 -16
  39. package/compiler/aro/aro/Parser.zig +20 -15
  40. package/compiler/aro/aro/Pragma.zig +3 -2
  41. package/compiler/aro/aro/Preprocessor.zig +11 -8
  42. package/compiler/aro/aro/pragmas/message.zig +3 -2
  43. package/compiler/aro/aro/text_literal.zig +3 -2
  44. package/compiler/aro/assembly_backend/x86_64.zig +4 -4
  45. package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
  46. package/compiler/configurer.zig +1402 -0
  47. package/compiler/reduce/Walk.zig +8 -13
  48. package/compiler/resinator/compile.zig +1 -1
  49. package/compiler/resinator/cvtres.zig +4 -4
  50. package/compiler/resinator/errors.zig +7 -7
  51. package/compiler/resinator/ico.zig +4 -4
  52. package/compiler/resinator/parse.zig +2 -2
  53. package/compiler/resinator/res.zig +1 -1
  54. package/compiler/std-docs.zig +17 -38
  55. package/compiler/test_runner.zig +25 -15
  56. package/compiler/translate-c/MacroTranslator.zig +1 -1
  57. package/compiler/translate-c/Translator.zig +2 -2
  58. package/compiler/translate-c/ast.zig +16 -23
  59. package/compiler/translate-c/main.zig +1 -1
  60. package/compiler_rt/addf3.zig +1 -1
  61. package/compiler_rt/arm.zig +3 -3
  62. package/compiler_rt/atomics.zig +1 -1
  63. package/compiler_rt/comparef.zig +3 -3
  64. package/compiler_rt/cos.zig +1 -1
  65. package/compiler_rt/count0bits.zig +1 -1
  66. package/compiler_rt/divdf3.zig +2 -2
  67. package/compiler_rt/divsf3.zig +1 -1
  68. package/compiler_rt/divtf3.zig +1 -1
  69. package/compiler_rt/divxf3.zig +1 -1
  70. package/compiler_rt/extendf.zig +5 -5
  71. package/compiler_rt/fabs.zig +1 -1
  72. package/compiler_rt/float_from_int.zig +4 -5
  73. package/compiler_rt/fmax.zig +1 -1
  74. package/compiler_rt/fmin.zig +1 -1
  75. package/compiler_rt/fmod.zig +2 -2
  76. package/compiler_rt/int_from_float.zig +1 -1
  77. package/compiler_rt/limb64.zig +3 -2
  78. package/compiler_rt/mulf3.zig +2 -2
  79. package/compiler_rt/rem_pio2l.zig +1 -1
  80. package/compiler_rt/sin.zig +1 -1
  81. package/compiler_rt/sincos.zig +1 -1
  82. package/compiler_rt/ssp.zig +2 -2
  83. package/compiler_rt/tan.zig +1 -1
  84. package/compiler_rt/truncf.zig +3 -3
  85. package/compiler_rt/trunctfhf2.zig +3 -0
  86. package/compiler_rt.zig +5 -26
  87. package/docs/main.js +8 -8
  88. package/docs/wasm/Walk.zig +1 -3
  89. package/docs/wasm/html_render.zig +1 -2
  90. package/docs/wasm/markdown/Parser.zig +16 -20
  91. package/fuzzer.zig +5 -3
  92. package/include/__clang_spirv_builtins.h +12 -12
  93. package/include/__float_float.h +176 -0
  94. package/include/__float_header_macro.h +12 -0
  95. package/include/__float_infinity_nan.h +20 -0
  96. package/include/amo.h +131 -0
  97. package/include/amxavx512intrin.h +215 -1
  98. package/include/amxintrin.h +0 -2
  99. package/include/arm_acle.h +37 -27
  100. package/include/arm_neon.h +218 -82
  101. package/include/arm_sme.h +8 -8
  102. package/include/arm_sve.h +4162 -3782
  103. package/include/avx10_2_512bf16intrin.h +19 -12
  104. package/include/avx10_2_512convertintrin.h +1 -1
  105. package/include/avx10_2_512niintrin.h +31 -31
  106. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  107. package/include/avx10_2bf16intrin.h +54 -45
  108. package/include/avx10_2convertintrin.h +2 -2
  109. package/include/avx10_2copyintrin.h +1 -1
  110. package/include/avx10_2niintrin.h +14 -14
  111. package/include/avx10_2satcvtdsintrin.h +2 -2
  112. package/include/avx2intrin.h +275 -377
  113. package/include/avx512bf16intrin.h +25 -16
  114. package/include/avx512bitalgintrin.h +19 -30
  115. package/include/avx512bwintrin.h +386 -505
  116. package/include/avx512cdintrin.h +42 -55
  117. package/include/avx512dqintrin.h +132 -161
  118. package/include/avx512fintrin.h +1015 -1424
  119. package/include/avx512fp16intrin.h +112 -110
  120. package/include/avx512ifmaintrin.h +32 -34
  121. package/include/avx512ifmavlintrin.h +73 -46
  122. package/include/avx512vbmi2intrin.h +43 -32
  123. package/include/avx512vbmiintrin.h +19 -27
  124. package/include/avx512vbmivlintrin.h +35 -49
  125. package/include/avx512vlbf16intrin.h +32 -22
  126. package/include/avx512vlbitalgintrin.h +37 -53
  127. package/include/avx512vlbwintrin.h +470 -573
  128. package/include/avx512vlcdintrin.h +74 -102
  129. package/include/avx512vldqintrin.h +110 -127
  130. package/include/avx512vlfp16intrin.h +130 -111
  131. package/include/avx512vlintrin.h +945 -1299
  132. package/include/avx512vlvbmi2intrin.h +78 -63
  133. package/include/avx512vlvnniintrin.h +21 -18
  134. package/include/avx512vlvp2intersectintrin.h +2 -2
  135. package/include/avx512vnniintrin.h +10 -10
  136. package/include/avx512vp2intersectintrin.h +1 -2
  137. package/include/avx512vpopcntdqintrin.h +8 -10
  138. package/include/avx512vpopcntdqvlintrin.h +17 -15
  139. package/include/avxifmaintrin.h +16 -0
  140. package/include/avxintrin.h +165 -241
  141. package/include/avxvnniint16intrin.h +118 -99
  142. package/include/avxvnniint8intrin.h +56 -32
  143. package/include/avxvnniintrin.h +16 -8
  144. package/include/cpuid.h +101 -4
  145. package/include/emmintrin.h +168 -168
  146. package/include/f16cintrin.h +23 -9
  147. package/include/float.h +16 -155
  148. package/include/fma4intrin.h +98 -96
  149. package/include/fmaintrin.h +96 -66
  150. package/include/gfniintrin.h +21 -16
  151. package/include/hexagon_types.h +23 -20
  152. package/include/hvx_hexagon_protos.h +649 -860
  153. package/include/immintrin.h +0 -12
  154. package/include/intrin.h +4 -0
  155. package/include/lasxintrin.h +113 -0
  156. package/include/llvm_libc_wrappers/assert.h +3 -5
  157. package/include/llvm_libc_wrappers/ctype.h +3 -115
  158. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  159. package/include/llvm_libc_wrappers/stdio.h +10 -38
  160. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  161. package/include/llvm_libc_wrappers/string.h +2 -70
  162. package/include/llvm_libc_wrappers/time.h +4 -10
  163. package/include/mmintrin.h +188 -257
  164. package/include/module.modulemap +23 -4
  165. package/include/movrs_avx10_2_512intrin.h +2 -2
  166. package/include/movrs_avx10_2intrin.h +4 -4
  167. package/include/pmmintrin.h +12 -24
  168. package/include/ptrauth.h +16 -2
  169. package/include/riscv_mips.h +34 -0
  170. package/include/riscv_nds.h +89 -0
  171. package/include/sifive_vector.h +58 -2
  172. package/include/sm4evexintrin.h +2 -2
  173. package/include/smmintrin.h +77 -59
  174. package/include/spirvintrin.h +194 -0
  175. package/include/stddefer.h +19 -0
  176. package/include/tmmintrin.h +116 -147
  177. package/include/vaesintrin.h +1 -2
  178. package/include/xmmintrin.h +44 -70
  179. package/include/xopintrin.h +20 -10
  180. package/init/build.zig +1 -3
  181. package/libc/darwin/SDKSettings.json +1 -1
  182. package/libc/darwin/libSystem.tbd +88 -87
  183. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  184. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  185. package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
  186. package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
  187. package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
  188. package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
  189. package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
  190. package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
  191. package/libc/include/any-darwin-any/mach/host_info.h +3 -1
  192. package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
  193. package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
  194. package/libc/include/any-darwin-any/spawn.h +3 -1
  195. package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
  196. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  197. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  198. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  199. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  200. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  201. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  202. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  203. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  204. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  205. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  206. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  207. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  208. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  209. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  210. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  211. package/libc/include/any-linux-any/linux/elf.h +2 -0
  212. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  213. package/libc/include/any-linux-any/linux/fs.h +1 -0
  214. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  215. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  216. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  217. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  218. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  219. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  220. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  221. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  222. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  223. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  224. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  225. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  226. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  227. package/libc/include/any-linux-any/linux/magic.h +1 -0
  228. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  229. package/libc/include/any-linux-any/linux/mount.h +11 -2
  230. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  231. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  232. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  233. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  234. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  235. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  236. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  237. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  238. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  239. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  240. package/libc/include/any-linux-any/linux/pci.h +7 -0
  241. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  242. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  243. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  244. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  245. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  246. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  247. package/libc/include/any-linux-any/linux/shm.h +0 -1
  248. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  249. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  250. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  251. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  252. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  253. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  254. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  255. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  256. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  257. package/libc/include/any-linux-any/linux/version.h +3 -3
  258. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  259. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  260. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  261. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  262. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  263. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  264. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  265. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  266. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  267. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  268. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  269. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  270. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  271. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  272. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  273. package/libc/include/generic-openbsd/db.h +1 -7
  274. package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
  275. package/libc/include/generic-openbsd/fnmatch.h +6 -2
  276. package/libc/include/generic-openbsd/login_cap.h +3 -1
  277. package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
  278. package/libc/include/generic-openbsd/net/bpf.h +3 -1
  279. package/libc/include/generic-openbsd/net/hfsc.h +4 -4
  280. package/libc/include/generic-openbsd/net/if.h +5 -1
  281. package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
  282. package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
  283. package/libc/include/generic-openbsd/net/if_media.h +26 -1
  284. package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
  285. package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
  286. package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
  287. package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
  288. package/libc/include/generic-openbsd/net/if_types.h +2 -2
  289. package/libc/include/generic-openbsd/net/if_var.h +34 -12
  290. package/libc/include/generic-openbsd/net/netisr.h +1 -3
  291. package/libc/include/generic-openbsd/net/pfvar.h +154 -1
  292. package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
  293. package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
  294. package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
  295. package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
  296. package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
  297. package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
  298. package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
  299. package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
  300. package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
  301. package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
  302. package/libc/include/generic-openbsd/netinet/ip.h +3 -2
  303. package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
  304. package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
  305. package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
  306. package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
  307. package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
  308. package/libc/include/generic-openbsd/pthread.h +2 -2
  309. package/libc/include/generic-openbsd/signal.h +2 -2
  310. package/libc/include/generic-openbsd/sndio.h +6 -12
  311. package/libc/include/generic-openbsd/strings.h +5 -1
  312. package/libc/include/generic-openbsd/sys/device.h +4 -3
  313. package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
  314. package/libc/include/generic-openbsd/sys/dkio.h +3 -5
  315. package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
  316. package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
  317. package/libc/include/generic-openbsd/sys/mman.h +7 -2
  318. package/libc/include/generic-openbsd/sys/mutex.h +10 -7
  319. package/libc/include/generic-openbsd/sys/namei.h +8 -7
  320. package/libc/include/generic-openbsd/sys/param.h +1 -1
  321. package/libc/include/generic-openbsd/sys/pledge.h +1 -3
  322. package/libc/include/generic-openbsd/sys/protosw.h +8 -1
  323. package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
  324. package/libc/include/generic-openbsd/sys/sched.h +8 -1
  325. package/libc/include/generic-openbsd/sys/signal.h +4 -2
  326. package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
  327. package/libc/include/generic-openbsd/sys/sockio.h +11 -1
  328. package/libc/include/generic-openbsd/sys/syscall.h +5 -3
  329. package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
  330. package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
  331. package/libc/include/generic-openbsd/sys/types.h +6 -2
  332. package/libc/include/generic-openbsd/sys/videoio.h +143 -68
  333. package/libc/include/generic-openbsd/sys/xcall.h +2 -2
  334. package/libc/include/generic-openbsd/time.h +2 -2
  335. package/libc/include/generic-openbsd/unistd.h +2 -2
  336. package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
  337. package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
  338. package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
  339. package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
  340. package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
  341. package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
  342. package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
  343. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  344. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  345. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  346. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  347. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  348. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  349. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  350. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  351. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  352. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  353. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  354. package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
  355. package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
  356. package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
  357. package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
  358. package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
  359. package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
  360. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  361. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  362. package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
  363. package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
  364. package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
  365. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  366. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  367. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  368. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  369. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  370. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  371. package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
  372. package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
  373. package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
  374. package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
  375. package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
  376. package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
  377. package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
  378. package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
  379. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  380. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  381. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  382. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  383. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  384. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  385. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  386. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  387. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  388. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  389. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  390. package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
  391. package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
  392. package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
  393. package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
  394. package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
  395. package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
  396. package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
  397. package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
  398. package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
  399. package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
  400. package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
  401. package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
  402. package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
  403. package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
  404. package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
  405. package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
  406. package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
  407. package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
  408. package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
  409. package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
  410. package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
  411. package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
  412. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  413. package/libc/openbsd/abilists +0 -0
  414. package/libcxx/include/__algorithm/all_of.h +11 -5
  415. package/libcxx/include/__algorithm/comp.h +4 -0
  416. package/libcxx/include/__algorithm/copy.h +28 -147
  417. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  418. package/libcxx/include/__algorithm/copy_n.h +50 -16
  419. package/libcxx/include/__algorithm/count.h +2 -2
  420. package/libcxx/include/__algorithm/equal.h +43 -55
  421. package/libcxx/include/__algorithm/fill.h +26 -8
  422. package/libcxx/include/__algorithm/fill_n.h +32 -46
  423. package/libcxx/include/__algorithm/find.h +96 -39
  424. package/libcxx/include/__algorithm/find_end.h +105 -0
  425. package/libcxx/include/__algorithm/for_each.h +18 -24
  426. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  427. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  428. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  429. package/libcxx/include/__algorithm/generate.h +4 -2
  430. package/libcxx/include/__algorithm/generate_n.h +19 -6
  431. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  432. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  433. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  434. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  435. package/libcxx/include/__algorithm/make_heap.h +16 -4
  436. package/libcxx/include/__algorithm/mismatch.h +2 -2
  437. package/libcxx/include/__algorithm/move.h +8 -19
  438. package/libcxx/include/__algorithm/move_backward.h +9 -24
  439. package/libcxx/include/__algorithm/none_of.h +4 -4
  440. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  441. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  442. package/libcxx/include/__algorithm/pstl.h +9 -9
  443. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  444. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  445. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  446. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  447. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  448. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  449. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  450. package/libcxx/include/__algorithm/rotate.h +27 -44
  451. package/libcxx/include/__algorithm/search_n.h +49 -37
  452. package/libcxx/include/__algorithm/sift_down.h +19 -18
  453. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  454. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  455. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  456. package/libcxx/include/__assertion_handler +31 -4
  457. package/libcxx/include/__atomic/atomic.h +36 -60
  458. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  459. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  460. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  461. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  462. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  463. package/libcxx/include/__atomic/contention_t.h +27 -3
  464. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  465. package/libcxx/include/__bit/countl.h +1 -2
  466. package/libcxx/include/__bit/countr.h +1 -2
  467. package/libcxx/include/__bit/has_single_bit.h +1 -1
  468. package/libcxx/include/__bit/popcount.h +0 -1
  469. package/libcxx/include/__bit/rotate.h +15 -26
  470. package/libcxx/include/__bit_reference +207 -18
  471. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  472. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  473. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  474. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  475. package/libcxx/include/__charconv/traits.h +3 -24
  476. package/libcxx/include/__chrono/day.h +11 -0
  477. package/libcxx/include/__chrono/duration.h +58 -33
  478. package/libcxx/include/__chrono/file_clock.h +4 -2
  479. package/libcxx/include/__chrono/is_clock.h +72 -0
  480. package/libcxx/include/__chrono/leap_second.h +13 -0
  481. package/libcxx/include/__chrono/month.h +13 -0
  482. package/libcxx/include/__chrono/month_weekday.h +22 -0
  483. package/libcxx/include/__chrono/monthday.h +20 -0
  484. package/libcxx/include/__chrono/steady_clock.h +1 -1
  485. package/libcxx/include/__chrono/system_clock.h +3 -3
  486. package/libcxx/include/__chrono/time_point.h +37 -13
  487. package/libcxx/include/__chrono/weekday.h +25 -0
  488. package/libcxx/include/__chrono/year.h +11 -0
  489. package/libcxx/include/__chrono/year_month.h +13 -0
  490. package/libcxx/include/__chrono/year_month_day.h +23 -0
  491. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  492. package/libcxx/include/__chrono/zoned_time.h +16 -0
  493. package/libcxx/include/__compare/is_eq.h +6 -6
  494. package/libcxx/include/__compare/strong_order.h +12 -30
  495. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  496. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  497. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  498. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  499. package/libcxx/include/__config +63 -280
  500. package/libcxx/include/__configuration/abi.h +14 -24
  501. package/libcxx/include/__configuration/availability.h +65 -118
  502. package/libcxx/include/__configuration/compiler.h +6 -6
  503. package/libcxx/include/__configuration/experimental.h +38 -0
  504. package/libcxx/include/__configuration/hardening.h +215 -0
  505. package/libcxx/include/__configuration/language.h +3 -0
  506. package/libcxx/include/__configuration/platform.h +9 -16
  507. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  508. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  509. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  510. package/libcxx/include/__exception/exception.h +6 -4
  511. package/libcxx/include/__exception/exception_ptr.h +27 -5
  512. package/libcxx/include/__exception/nested_exception.h +2 -2
  513. package/libcxx/include/__exception/operations.h +5 -5
  514. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  515. package/libcxx/include/__expected/expected.h +62 -64
  516. package/libcxx/include/__expected/unexpected.h +4 -4
  517. package/libcxx/include/__filesystem/copy_options.h +4 -4
  518. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  519. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  520. package/libcxx/include/__filesystem/directory_options.h +7 -4
  521. package/libcxx/include/__filesystem/file_status.h +3 -3
  522. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  523. package/libcxx/include/__filesystem/operations.h +97 -66
  524. package/libcxx/include/__filesystem/path.h +68 -64
  525. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  526. package/libcxx/include/__filesystem/perm_options.h +4 -4
  527. package/libcxx/include/__filesystem/perms.h +4 -4
  528. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  529. package/libcxx/include/__filesystem/space_info.h +1 -1
  530. package/libcxx/include/__filesystem/u8path.h +12 -14
  531. package/libcxx/include/__flat_map/flat_map.h +88 -71
  532. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  533. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  534. package/libcxx/include/__flat_map/utils.h +1 -0
  535. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  536. package/libcxx/include/__flat_set/flat_set.h +86 -68
  537. package/libcxx/include/__format/concepts.h +0 -14
  538. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  539. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  540. package/libcxx/include/__format/format_arg.h +7 -10
  541. package/libcxx/include/__format/format_args.h +1 -1
  542. package/libcxx/include/__format/format_context.h +5 -5
  543. package/libcxx/include/__format/format_parse_context.h +2 -2
  544. package/libcxx/include/__format/formatter_output.h +30 -34
  545. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  546. package/libcxx/include/__format/range_default_formatter.h +2 -41
  547. package/libcxx/include/__format/range_format.h +71 -0
  548. package/libcxx/include/__format/range_formatter.h +1 -0
  549. package/libcxx/include/__format/width_estimation_table.h +4 -2
  550. package/libcxx/include/__functional/bind.h +10 -15
  551. package/libcxx/include/__functional/bind_back.h +1 -1
  552. package/libcxx/include/__functional/bind_front.h +1 -1
  553. package/libcxx/include/__functional/function.h +57 -75
  554. package/libcxx/include/__functional/hash.h +1 -10
  555. package/libcxx/include/__functional/identity.h +1 -1
  556. package/libcxx/include/__functional/is_transparent.h +8 -0
  557. package/libcxx/include/__functional/mem_fn.h +2 -1
  558. package/libcxx/include/__functional/operations.h +18 -0
  559. package/libcxx/include/__functional/ranges_operations.h +7 -0
  560. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  561. package/libcxx/include/__functional/weak_result_type.h +14 -28
  562. package/libcxx/include/__fwd/ios.h +1 -1
  563. package/libcxx/include/__fwd/tuple.h +14 -0
  564. package/libcxx/include/__hash_table +371 -357
  565. package/libcxx/include/__ios/fpos.h +4 -4
  566. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  567. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  568. package/libcxx/include/__iterator/concepts.h +6 -9
  569. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  570. package/libcxx/include/__iterator/distance.h +40 -18
  571. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  572. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  573. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  574. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  575. package/libcxx/include/__iterator/iter_move.h +1 -1
  576. package/libcxx/include/__iterator/iterator.h +13 -0
  577. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  578. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  579. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  580. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  581. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  582. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  583. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  584. package/libcxx/include/__locale +3 -10
  585. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  586. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  587. package/libcxx/include/__locale_dir/messages.h +1 -1
  588. package/libcxx/include/__locale_dir/money.h +2 -2
  589. package/libcxx/include/__locale_dir/num.h +190 -243
  590. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  591. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  592. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  593. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  594. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  595. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  596. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  597. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  598. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  599. package/libcxx/include/__locale_dir/time.h +3 -7
  600. package/libcxx/include/__math/hypot.h +1 -1
  601. package/libcxx/include/__math/logarithms.h +1 -1
  602. package/libcxx/include/__math/traits.h +80 -11
  603. package/libcxx/include/__mdspan/extents.h +7 -4
  604. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  605. package/libcxx/include/__mdspan/mdspan.h +29 -23
  606. package/libcxx/include/__memory/addressof.h +7 -5
  607. package/libcxx/include/__memory/align.h +18 -1
  608. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  609. package/libcxx/include/__memory/allocator.h +14 -26
  610. package/libcxx/include/__memory/allocator_traits.h +6 -4
  611. package/libcxx/include/__memory/compressed_pair.h +15 -9
  612. package/libcxx/include/__memory/construct_at.h +12 -23
  613. package/libcxx/include/__memory/inout_ptr.h +1 -1
  614. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  615. package/libcxx/include/__memory/out_ptr.h +1 -1
  616. package/libcxx/include/__memory/pointer_traits.h +1 -1
  617. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  618. package/libcxx/include/__memory/shared_count.h +9 -30
  619. package/libcxx/include/__memory/shared_ptr.h +100 -145
  620. package/libcxx/include/__memory/temp_value.h +1 -2
  621. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  622. package/libcxx/include/__memory/unique_ptr.h +14 -16
  623. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  624. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  625. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  626. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  627. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  628. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  629. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  630. package/libcxx/include/__mutex/mutex.h +2 -2
  631. package/libcxx/include/__mutex/once_flag.h +14 -11
  632. package/libcxx/include/__mutex/tag_types.h +3 -3
  633. package/libcxx/include/__mutex/unique_lock.h +8 -7
  634. package/libcxx/include/__new/align_val_t.h +6 -0
  635. package/libcxx/include/__new/allocate.h +1 -2
  636. package/libcxx/include/__new/exceptions.h +8 -2
  637. package/libcxx/include/__new/global_new_delete.h +4 -11
  638. package/libcxx/include/__new/interference_size.h +0 -4
  639. package/libcxx/include/__new/launder.h +3 -5
  640. package/libcxx/include/__new/nothrow_t.h +1 -1
  641. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  642. package/libcxx/include/__numeric/midpoint.h +9 -14
  643. package/libcxx/include/__numeric/pstl.h +2 -2
  644. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  645. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  646. package/libcxx/include/__pstl/backends/default.h +14 -14
  647. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  648. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  649. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  650. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  651. package/libcxx/include/__random/binomial_distribution.h +10 -4
  652. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  653. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  654. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  655. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  656. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  657. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  658. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  659. package/libcxx/include/__ranges/common_view.h +7 -7
  660. package/libcxx/include/__ranges/drop_view.h +8 -8
  661. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  662. package/libcxx/include/__ranges/elements_of.h +49 -0
  663. package/libcxx/include/__ranges/empty_view.h +5 -5
  664. package/libcxx/include/__ranges/filter_view.h +10 -10
  665. package/libcxx/include/__ranges/iota_view.h +41 -22
  666. package/libcxx/include/__ranges/owning_view.h +15 -15
  667. package/libcxx/include/__ranges/ref_view.h +6 -6
  668. package/libcxx/include/__ranges/repeat_view.h +17 -10
  669. package/libcxx/include/__ranges/single_view.h +8 -8
  670. package/libcxx/include/__ranges/take_view.h +9 -9
  671. package/libcxx/include/__ranges/transform_view.h +1 -2
  672. package/libcxx/include/__ranges/view_interface.h +10 -10
  673. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  674. package/libcxx/include/__ranges/zip_view.h +20 -20
  675. package/libcxx/include/__split_buffer +612 -240
  676. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  677. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  678. package/libcxx/include/__stop_token/stop_source.h +1 -1
  679. package/libcxx/include/__stop_token/stop_state.h +4 -4
  680. package/libcxx/include/__stop_token/stop_token.h +1 -1
  681. package/libcxx/include/__string/char_traits.h +51 -31
  682. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  683. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  684. package/libcxx/include/__system_error/error_category.h +8 -8
  685. package/libcxx/include/__system_error/error_code.h +5 -5
  686. package/libcxx/include/__system_error/error_condition.h +4 -4
  687. package/libcxx/include/__system_error/system_error.h +1 -1
  688. package/libcxx/include/__thread/id.h +1 -1
  689. package/libcxx/include/__thread/jthread.h +1 -1
  690. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  691. package/libcxx/include/__thread/support/c11.h +8 -8
  692. package/libcxx/include/__thread/support/pthread.h +8 -8
  693. package/libcxx/include/__thread/support/windows.h +8 -8
  694. package/libcxx/include/__thread/thread.h +13 -8
  695. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  696. package/libcxx/include/__tree +849 -701
  697. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  698. package/libcxx/include/__tuple/tuple_element.h +0 -12
  699. package/libcxx/include/__tuple/tuple_size.h +0 -4
  700. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  701. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  702. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  703. package/libcxx/include/__type_traits/invoke.h +8 -0
  704. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  705. package/libcxx/include/__type_traits/is_array.h +26 -0
  706. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  707. package/libcxx/include/__type_traits/is_final.h +1 -1
  708. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  709. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  710. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  711. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  712. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  713. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  714. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  715. package/libcxx/include/__utility/cmp.h +19 -7
  716. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  717. package/libcxx/include/__utility/in_place.h +1 -1
  718. package/libcxx/include/__utility/integer_sequence.h +56 -41
  719. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  720. package/libcxx/include/__utility/pair.h +22 -25
  721. package/libcxx/include/__utility/scope_guard.h +2 -0
  722. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  723. package/libcxx/include/__vector/vector.h +187 -160
  724. package/libcxx/include/__vector/vector_bool.h +76 -83
  725. package/libcxx/include/any +118 -155
  726. package/libcxx/include/array +88 -56
  727. package/libcxx/include/atomic +2 -0
  728. package/libcxx/include/barrier +20 -24
  729. package/libcxx/include/bitset +49 -30
  730. package/libcxx/include/ccomplex +3 -11
  731. package/libcxx/include/chrono +47 -0
  732. package/libcxx/include/ciso646 +3 -6
  733. package/libcxx/include/complex +77 -65
  734. package/libcxx/include/complex.h +10 -10
  735. package/libcxx/include/condition_variable +3 -3
  736. package/libcxx/include/cstdalign +3 -10
  737. package/libcxx/include/cstdbool +3 -10
  738. package/libcxx/include/ctgmath +2 -11
  739. package/libcxx/include/ctype.h +24 -24
  740. package/libcxx/include/cwchar +2 -2
  741. package/libcxx/include/deque +109 -225
  742. package/libcxx/include/errno.h +269 -269
  743. package/libcxx/include/exception +4 -1
  744. package/libcxx/include/ext/hash_map +7 -48
  745. package/libcxx/include/ext/hash_set +2 -8
  746. package/libcxx/include/fenv.h +43 -43
  747. package/libcxx/include/flat_map +663 -11
  748. package/libcxx/include/flat_set +543 -8
  749. package/libcxx/include/float.h +16 -16
  750. package/libcxx/include/forward_list +33 -53
  751. package/libcxx/include/fstream +57 -42
  752. package/libcxx/include/future +41 -51
  753. package/libcxx/include/initializer_list +9 -3
  754. package/libcxx/include/inttypes.h +16 -16
  755. package/libcxx/include/ios +28 -28
  756. package/libcxx/include/istream +19 -13
  757. package/libcxx/include/iterator +10 -0
  758. package/libcxx/include/latch +7 -5
  759. package/libcxx/include/limits +4 -4
  760. package/libcxx/include/list +61 -79
  761. package/libcxx/include/map +386 -274
  762. package/libcxx/include/math.h +19 -0
  763. package/libcxx/include/mdspan +1 -5
  764. package/libcxx/include/mutex +29 -19
  765. package/libcxx/include/optional +644 -149
  766. package/libcxx/include/print +9 -5
  767. package/libcxx/include/queue +39 -37
  768. package/libcxx/include/ranges +48 -0
  769. package/libcxx/include/regex +33 -31
  770. package/libcxx/include/scoped_allocator +16 -11
  771. package/libcxx/include/semaphore +15 -18
  772. package/libcxx/include/set +220 -192
  773. package/libcxx/include/shared_mutex +3 -8
  774. package/libcxx/include/span +53 -37
  775. package/libcxx/include/sstream +34 -28
  776. package/libcxx/include/stack +13 -15
  777. package/libcxx/include/stddef.h +10 -10
  778. package/libcxx/include/stdexcept +2 -2
  779. package/libcxx/include/stdio.h +20 -21
  780. package/libcxx/include/streambuf +59 -19
  781. package/libcxx/include/string +574 -573
  782. package/libcxx/include/string_view +113 -89
  783. package/libcxx/include/strstream +10 -10
  784. package/libcxx/include/syncstream +4 -4
  785. package/libcxx/include/tgmath.h +12 -12
  786. package/libcxx/include/tuple +242 -212
  787. package/libcxx/include/type_traits +8 -2
  788. package/libcxx/include/typeindex +5 -3
  789. package/libcxx/include/typeinfo +92 -89
  790. package/libcxx/include/unordered_map +179 -304
  791. package/libcxx/include/unordered_set +168 -195
  792. package/libcxx/include/utility +12 -0
  793. package/libcxx/include/valarray +106 -161
  794. package/libcxx/include/variant +25 -33
  795. package/libcxx/include/version +41 -24
  796. package/libcxx/include/wctype.h +29 -29
  797. package/libcxx/libc/hdr/errno_macros.h +3 -1
  798. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  799. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  800. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  801. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  802. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  803. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  804. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  805. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  806. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  807. package/libcxx/libc/shared/libc_common.h +5 -0
  808. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  809. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  810. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  811. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  812. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  813. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  814. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  815. package/libcxx/libc/src/__support/big_int.h +14 -14
  816. package/libcxx/libc/src/__support/common.h +3 -2
  817. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  818. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  819. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  820. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  821. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  822. package/libcxx/libc/src/__support/macros/config.h +23 -0
  823. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  824. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  825. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  826. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  827. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  828. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  829. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  830. package/libcxx/libc/src/__support/math_extras.h +20 -4
  831. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  832. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  833. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  834. package/libcxx/src/any.cpp +4 -0
  835. package/libcxx/src/atomic.cpp +365 -80
  836. package/libcxx/src/barrier.cpp +4 -3
  837. package/libcxx/src/charconv.cpp +6 -3
  838. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  839. package/libcxx/src/error_category.cpp +3 -1
  840. package/libcxx/src/exception.cpp +2 -10
  841. package/libcxx/src/experimental/time_zone.cpp +1 -1
  842. package/libcxx/src/experimental/tzdb.cpp +4 -1
  843. package/libcxx/src/filesystem/error.h +4 -22
  844. package/libcxx/src/filesystem/format_string.h +9 -18
  845. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  846. package/libcxx/src/filesystem/operations.cpp +2 -9
  847. package/libcxx/src/filesystem/path.cpp +3 -1
  848. package/libcxx/src/include/aligned_alloc.h +65 -0
  849. package/libcxx/src/include/config_elast.h +1 -1
  850. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  851. package/libcxx/src/include/overridable_function.h +8 -10
  852. package/libcxx/src/iostream.cpp +56 -37
  853. package/libcxx/src/locale.cpp +213 -196
  854. package/libcxx/src/memory.cpp +12 -14
  855. package/libcxx/src/mutex_destructor.cpp +1 -1
  856. package/libcxx/src/new.cpp +5 -5
  857. package/libcxx/src/optional.cpp +4 -0
  858. package/libcxx/src/print.cpp +9 -1
  859. package/libcxx/src/random.cpp +0 -26
  860. package/libcxx/src/string.cpp +10 -25
  861. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  862. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  863. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  864. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  865. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  866. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  867. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  868. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  869. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  870. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  871. package/libcxx/src/system_error.cpp +2 -0
  872. package/libcxx/src/thread.cpp +1 -3
  873. package/libcxx/src/valarray.cpp +1 -2
  874. package/libcxx/src/vector.cpp +2 -2
  875. package/libcxxabi/include/__cxxabi_config.h +42 -23
  876. package/libcxxabi/src/cxa_exception.cpp +4 -2
  877. package/libcxxabi/src/cxa_exception.h +16 -14
  878. package/libcxxabi/src/cxa_personality.cpp +126 -9
  879. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  880. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  881. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  882. package/libcxxabi/src/demangle/Utility.h +21 -7
  883. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  884. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  885. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  886. package/libtsan/LICENSE.TXT +311 -0
  887. package/libtsan/builtins/assembly.h +41 -8
  888. package/libtsan/interception/interception_win.cpp +4 -0
  889. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  890. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  891. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  892. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  893. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  894. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  895. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  896. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  897. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  898. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  899. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  900. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  901. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  902. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  903. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  904. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  905. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  906. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  907. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  908. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  909. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  910. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  911. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  912. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  913. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  914. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  915. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  916. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  917. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  918. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  919. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  920. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  921. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  922. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  923. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  924. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  925. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  926. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  927. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  928. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  929. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  930. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  931. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  932. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  933. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  934. package/libtsan/tsan_debugging.cpp +2 -2
  935. package/libtsan/tsan_flags.cpp +37 -0
  936. package/libtsan/tsan_flags.h +8 -0
  937. package/libtsan/tsan_flags.inc +12 -0
  938. package/libtsan/tsan_interceptors.h +9 -1
  939. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  940. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  941. package/libtsan/tsan_interface.h +3 -3
  942. package/libtsan/tsan_interface_ann.cpp +23 -9
  943. package/libtsan/tsan_mman.cpp +18 -4
  944. package/libtsan/tsan_platform.h +44 -7
  945. package/libtsan/tsan_platform_linux.cpp +42 -14
  946. package/libtsan/tsan_platform_mac.cpp +16 -3
  947. package/libtsan/tsan_report.h +14 -1
  948. package/libtsan/tsan_rtl.cpp +14 -0
  949. package/libtsan/tsan_rtl.h +7 -2
  950. package/libtsan/tsan_rtl_aarch64.S +3 -5
  951. package/libtsan/tsan_rtl_access.cpp +8 -3
  952. package/libtsan/tsan_rtl_amd64.S +2 -0
  953. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  954. package/libtsan/tsan_rtl_report.cpp +132 -65
  955. package/libtsan/tsan_rtl_thread.cpp +31 -9
  956. package/libtsan/tsan_symbolize.cpp +1 -1
  957. package/libtsan/tsan_symbolize.h +1 -1
  958. package/libtsan/tsan_trace.h +1 -1
  959. package/libunwind/include/__libunwind_config.h +11 -2
  960. package/libunwind/include/libunwind.h +117 -11
  961. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  962. package/libunwind/src/AddressSpace.hpp +42 -20
  963. package/libunwind/src/CompactUnwinder.hpp +16 -5
  964. package/libunwind/src/DwarfInstructions.hpp +24 -13
  965. package/libunwind/src/DwarfParser.hpp +62 -23
  966. package/libunwind/src/EHHeaderParser.hpp +7 -4
  967. package/libunwind/src/Registers.hpp +226 -22
  968. package/libunwind/src/Unwind-seh.cpp +6 -7
  969. package/libunwind/src/Unwind-wasm.c +7 -7
  970. package/libunwind/src/UnwindCursor.hpp +167 -49
  971. package/libunwind/src/UnwindLevel1.c +46 -17
  972. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  973. package/libunwind/src/UnwindRegistersSave.S +86 -2
  974. package/libunwind/src/assembly.h +5 -1
  975. package/libunwind/src/config.h +9 -0
  976. package/libunwind/src/gcc_personality_v0.c +79 -6
  977. package/libunwind/src/libunwind.cpp +104 -4
  978. package/libunwind/src/libunwind_ext.h +7 -1
  979. package/libunwind/src/shadow_stack_unwind.h +2 -2
  980. package/lldb/pretty_printers.py +948 -0
  981. package/package.json +1 -1
  982. package/std/Build/Cache/Path.zig +9 -2
  983. package/std/Build/Cache.zig +16 -7
  984. package/std/Build/Configuration.zig +3436 -0
  985. package/std/Build/Module.zig +99 -225
  986. package/std/Build/Step/CheckFile.zig +17 -63
  987. package/std/Build/Step/Compile.zig +97 -1420
  988. package/std/Build/Step/ConfigHeader.zig +55 -944
  989. package/std/Build/Step/Fail.zig +10 -20
  990. package/std/Build/Step/FindProgram.zig +31 -0
  991. package/std/Build/Step/Fmt.zig +22 -57
  992. package/std/Build/Step/InstallArtifact.zig +26 -141
  993. package/std/Build/Step/InstallDir.zig +14 -67
  994. package/std/Build/Step/InstallFile.zig +12 -21
  995. package/std/Build/Step/ObjCopy.zig +82 -199
  996. package/std/Build/Step/Options.zig +26 -261
  997. package/std/Build/Step/Run.zig +139 -2214
  998. package/std/Build/Step/TranslateC.zig +55 -164
  999. package/std/Build/Step/UpdateSourceFiles.zig +38 -91
  1000. package/std/Build/Step/WriteFile.zig +113 -328
  1001. package/std/Build/Step.zig +45 -916
  1002. package/std/Build/abi.zig +1 -1
  1003. package/std/Build.zig +644 -718
  1004. package/std/Io/Dir.zig +12 -7
  1005. package/std/Io/Dispatch.zig +5 -5
  1006. package/std/Io/File/Writer.zig +8 -6
  1007. package/std/Io/File.zig +6 -9
  1008. package/std/Io/Kqueue.zig +3 -3
  1009. package/std/Io/Reader.zig +8 -14
  1010. package/std/Io/RwLock.zig +2 -0
  1011. package/std/Io/Semaphore.zig +112 -17
  1012. package/std/Io/Terminal.zig +1 -1
  1013. package/std/Io/Threaded.zig +19 -16
  1014. package/std/Io/Uring.zig +7 -7
  1015. package/std/Io/Writer.zig +75 -10
  1016. package/std/Io/net/HostName.zig +11 -6
  1017. package/std/Io.zig +92 -28
  1018. package/std/Random/ChaCha.zig +2 -2
  1019. package/std/Random/benchmark.zig +2 -2
  1020. package/std/Random.zig +6 -6
  1021. package/std/SemanticVersion.zig +1 -1
  1022. package/std/Target/Query.zig +4 -5
  1023. package/std/Target/aarch64.zig +620 -77
  1024. package/std/Target/amdgcn.zig +421 -21
  1025. package/std/Target/arm.zig +40 -6
  1026. package/std/Target/bpf.zig +6 -0
  1027. package/std/Target/hexagon.zig +41 -6
  1028. package/std/Target/loongarch.zig +18 -0
  1029. package/std/Target/mips.zig +6 -0
  1030. package/std/Target/nvptx.zig +58 -35
  1031. package/std/Target/powerpc.zig +27 -19
  1032. package/std/Target/riscv.zig +512 -177
  1033. package/std/Target/sparc.zig +17 -0
  1034. package/std/Target/spirv.zig +1 -1
  1035. package/std/Target/wasm.zig +7 -0
  1036. package/std/Target/x86.zig +200 -31
  1037. package/std/Target/xtensa.zig +65 -0
  1038. package/std/Target.zig +94 -57
  1039. package/std/Thread.zig +17 -4
  1040. package/std/array_hash_map.zig +103 -57
  1041. package/std/array_list.zig +20 -35
  1042. package/std/ascii.zig +0 -9
  1043. package/std/atomic.zig +2 -0
  1044. package/std/base64.zig +5 -5
  1045. package/std/bit_set.zig +85 -93
  1046. package/std/c/serenity.zig +1 -6
  1047. package/std/c.zig +117 -36
  1048. package/std/compress/flate/Decompress.zig +3 -4
  1049. package/std/compress/zstd/Decompress.zig +7 -9
  1050. package/std/crypto/25519/curve25519.zig +2 -2
  1051. package/std/crypto/25519/edwards25519.zig +3 -3
  1052. package/std/crypto/25519/ristretto255.zig +2 -2
  1053. package/std/crypto/25519/scalar.zig +6 -6
  1054. package/std/crypto/25519/x25519.zig +1 -1
  1055. package/std/crypto/Certificate.zig +14 -2
  1056. package/std/crypto/Sha1.zig +1 -1
  1057. package/std/crypto/aegis.zig +45 -39
  1058. package/std/crypto/aes_ccm.zig +22 -22
  1059. package/std/crypto/aes_gcm.zig +10 -12
  1060. package/std/crypto/aes_ocb.zig +9 -9
  1061. package/std/crypto/argon2.zig +15 -15
  1062. package/std/crypto/ascon.zig +75 -35
  1063. package/std/crypto/bcrypt.zig +20 -10
  1064. package/std/crypto/benchmark.zig +7 -7
  1065. package/std/crypto/blake2.zig +100 -64
  1066. package/std/crypto/cbc_mac.zig +1 -1
  1067. package/std/crypto/chacha20.zig +10 -10
  1068. package/std/crypto/cmac.zig +3 -3
  1069. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  1070. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  1071. package/std/crypto/codecs/asn1.zig +1 -1
  1072. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  1073. package/std/crypto/ecdsa.zig +9 -9
  1074. package/std/crypto/ff.zig +4 -5
  1075. package/std/crypto/ghash_polyval.zig +4 -4
  1076. package/std/crypto/hkdf.zig +1 -1
  1077. package/std/crypto/isap.zig +3 -3
  1078. package/std/crypto/kangarootwelve.zig +1 -1
  1079. package/std/crypto/keccak_p.zig +8 -8
  1080. package/std/crypto/md5.zig +1 -1
  1081. package/std/crypto/ml_dsa.zig +39 -39
  1082. package/std/crypto/ml_kem.zig +12 -34
  1083. package/std/crypto/modes.zig +2 -2
  1084. package/std/crypto/pbkdf2.zig +1 -1
  1085. package/std/crypto/pcurves/common.zig +4 -5
  1086. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  1087. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  1088. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  1089. package/std/crypto/pcurves/tests/p256.zig +5 -5
  1090. package/std/crypto/pcurves/tests/p384.zig +5 -5
  1091. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  1092. package/std/crypto/salsa20.zig +8 -14
  1093. package/std/crypto/sha2.zig +2 -2
  1094. package/std/crypto/sha3.zig +2 -4
  1095. package/std/crypto/siphash.zig +1 -1
  1096. package/std/crypto/timing_safe.zig +10 -9
  1097. package/std/crypto/tls/Client.zig +89 -13
  1098. package/std/crypto/tls.zig +1 -1
  1099. package/std/crypto.zig +4 -3
  1100. package/std/debug/Dwarf.zig +21 -12
  1101. package/std/debug/Pdb.zig +25 -17
  1102. package/std/debug/SelfInfo/Elf.zig +1 -0
  1103. package/std/debug/cpu_context.zig +168 -24
  1104. package/std/debug.zig +16 -8
  1105. package/std/deque.zig +1 -1
  1106. package/std/elf.zig +22 -5
  1107. package/std/enums.zig +8 -20
  1108. package/std/fmt/float.zig +2 -0
  1109. package/std/fmt/parse_float/decimal.zig +1 -1
  1110. package/std/fmt/parse_float.zig +1 -1
  1111. package/std/fmt.zig +7 -8
  1112. package/std/fs/path.zig +7 -5
  1113. package/std/hash/Adler32.zig +3 -3
  1114. package/std/hash/benchmark.zig +2 -2
  1115. package/std/hash/wyhash.zig +2 -2
  1116. package/std/hash/xxhash.zig +0 -6
  1117. package/std/hash_map.zig +22 -2
  1118. package/std/heap/ArenaAllocator.zig +3 -5
  1119. package/std/heap/BufferFirstAllocator.zig +165 -0
  1120. package/std/heap/SafeAllocator.zig +2180 -0
  1121. package/std/heap/debug_allocator.zig +2 -2
  1122. package/std/heap/memory_pool.zig +34 -197
  1123. package/std/heap.zig +20 -133
  1124. package/std/http.zig +4 -5
  1125. package/std/json/Scanner.zig +2 -2
  1126. package/std/json/static.zig +2 -2
  1127. package/std/json.zig +1 -1
  1128. package/std/{builtin → lang}/assembly.zig +71 -0
  1129. package/std/{builtin.zig → lang.zig} +5 -3
  1130. package/std/leb128.zig +2 -2
  1131. package/std/math/acos.zig +6 -0
  1132. package/std/math/asin.zig +6 -0
  1133. package/std/math/atan.zig +5 -0
  1134. package/std/math/big/int.zig +5 -5
  1135. package/std/math/big.zig +4 -4
  1136. package/std/math/copysign.zig +1 -1
  1137. package/std/math/float.zig +62 -0
  1138. package/std/math/frexp.zig +4 -4
  1139. package/std/math/hypot.zig +4 -0
  1140. package/std/math/ilogb.zig +1 -1
  1141. package/std/math/isfinite.zig +1 -1
  1142. package/std/math/isinf.zig +1 -1
  1143. package/std/math/isnan.zig +1 -2
  1144. package/std/math/isnormal.zig +2 -2
  1145. package/std/math/iszero.zig +2 -2
  1146. package/std/math/ldexp.zig +2 -2
  1147. package/std/math/log10.zig +0 -2
  1148. package/std/math/modf.zig +1 -2
  1149. package/std/math/nextafter.zig +3 -4
  1150. package/std/math/pow.zig +1 -1
  1151. package/std/math/powi.zig +2 -3
  1152. package/std/math/signbit.zig +0 -1
  1153. package/std/math.zig +21 -26
  1154. package/std/mem/Allocator.zig +5 -9
  1155. package/std/mem.zig +52 -75
  1156. package/std/meta/trailer_flags.zig +1 -1
  1157. package/std/meta.zig +4 -36
  1158. package/std/multi_array_list.zig +24 -0
  1159. package/std/os/emscripten.zig +7 -6
  1160. package/std/os/linux/IoUring.zig +2 -0
  1161. package/std/os/linux/alpha.zig +358 -0
  1162. package/std/os/linux/arm.zig +0 -26
  1163. package/std/os/linux/bpf.zig +6 -0
  1164. package/std/os/linux/ioctl.zig +3 -2
  1165. package/std/os/linux/syscalls.zig +528 -1
  1166. package/std/os/linux/tls.zig +12 -1
  1167. package/std/os/linux/x86.zig +2 -2
  1168. package/std/os/linux/xtensa.zig +171 -0
  1169. package/std/os/linux.zig +794 -52
  1170. package/std/os/plan9.zig +1 -1
  1171. package/std/os/uefi/hii.zig +1 -1
  1172. package/std/os/uefi/tables/boot_services.zig +9 -8
  1173. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1174. package/std/os/windows.zig +130 -1
  1175. package/std/os.zig +36 -0
  1176. package/std/pie.zig +21 -0
  1177. package/std/posix.zig +2 -2
  1178. package/std/process/Child.zig +20 -0
  1179. package/std/process/Environ.zig +28 -4
  1180. package/std/process.zig +13 -5
  1181. package/std/simd.zig +4 -21
  1182. package/std/start.zig +45 -12
  1183. package/std/std.zig +8 -1
  1184. package/std/tar/Writer.zig +39 -33
  1185. package/std/tar.zig +8 -4
  1186. package/std/testing.zig +68 -15
  1187. package/std/unicode.zig +13 -8
  1188. package/std/zig/Ast/Render.zig +6 -30
  1189. package/std/zig/Ast.zig +12 -37
  1190. package/std/zig/AstGen.zig +174 -258
  1191. package/std/zig/AstRlAnnotate.zig +1 -11
  1192. package/std/zig/AstSmith.zig +5 -11
  1193. package/std/zig/ErrorBundle.zig +6 -2
  1194. package/std/zig/LibCDirs.zig +14 -7
  1195. package/std/zig/LibCInstallation.zig +49 -14
  1196. package/std/zig/Parse.zig +11 -76
  1197. package/std/zig/PkgConfig.zig +146 -0
  1198. package/std/zig/TokenSmith.zig +0 -6
  1199. package/std/zig/WindowsSdk.zig +18 -18
  1200. package/std/zig/Zir.zig +15 -69
  1201. package/std/zig/ZonGen.zig +19 -27
  1202. package/std/zig/llvm/Builder.zig +39 -33
  1203. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1204. package/std/zig/llvm/ir.zig +8 -8
  1205. package/std/zig/system/arm.zig +56 -2
  1206. package/std/zig/system/linux.zig +4 -0
  1207. package/std/zig/system/loongarch.zig +25 -9
  1208. package/std/zig/system/windows.zig +34 -1
  1209. package/std/zig/system/x86.zig +60 -16
  1210. package/std/zig/system.zig +18 -25
  1211. package/std/zig/target.zig +1 -4
  1212. package/std/zig/tokenizer.zig +4 -43
  1213. package/std/zig.zig +98 -22
  1214. package/std/zip.zig +5 -5
  1215. package/std/zon/Serializer.zig +6 -2
  1216. package/std/zon/parse.zig +1 -1
  1217. package/zig.h +24 -2
  1218. package/compiler/build_runner.zig +0 -1857
  1219. package/compiler_rt/long_double.zig +0 -37
  1220. package/include/amxbf16transposeintrin.h +0 -94
  1221. package/include/amxcomplextransposeintrin.h +0 -303
  1222. package/include/amxfp16transposeintrin.h +0 -94
  1223. package/include/amxmovrstransposeintrin.h +0 -200
  1224. package/include/amxtf32transposeintrin.h +0 -105
  1225. package/include/amxtransposeintrin.h +0 -248
  1226. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1227. package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
  1228. package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
  1229. package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
  1230. package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
  1231. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1232. package/libc/mingw/math/lrintl.c +0 -18
  1233. package/libc/mingw/math/rintl.c +0 -16
  1234. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1235. package/libc/musl/src/linux/tee.c +0 -8
  1236. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1237. package/libc/musl/src/math/i386/rintl.c +0 -7
  1238. package/libc/musl/src/math/lrintl.c +0 -36
  1239. package/libc/musl/src/math/rintl.c +0 -29
  1240. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1241. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1242. package/libc/musl/src/math/x32/rintl.s +0 -6
  1243. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1244. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1245. package/libc/musl/src/string/strdup.c +0 -10
  1246. package/libc/musl/src/string/strndup.c +0 -12
  1247. package/libc/musl/src/string/wcsdup.c +0 -10
  1248. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1249. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1250. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1251. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1252. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1253. package/libc/musl/src/unistd/dup2.c +0 -20
  1254. package/libc/musl/src/unistd/dup3.c +0 -26
  1255. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1256. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1257. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1258. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1259. package/std/Build/Step/CheckObject.zig +0 -2764
package/std/math.zig CHANGED
@@ -58,6 +58,7 @@ pub const floatMax = float.floatMax;
58
58
  pub const floatEps = float.floatEps;
59
59
  pub const floatEpsAt = float.floatEpsAt;
60
60
  pub const inf = float.inf;
61
+ pub const long_double = float.long_double;
61
62
  pub const nan = float.nan;
62
63
  pub const snan = float.snan;
63
64
 
@@ -778,7 +779,7 @@ pub fn Log2Int(comptime T: type) type {
778
779
  if (T == comptime_int) return comptime_int;
779
780
  const bits: u16 = @typeInfo(T).int.bits;
780
781
  const log2_bits = 16 - @clz(bits - 1);
781
- return std.meta.Int(.unsigned, log2_bits);
782
+ return @Int(.unsigned, log2_bits);
782
783
  }
783
784
 
784
785
  /// Returns an unsigned int type that can hold the number of bits in T.
@@ -787,7 +788,7 @@ pub fn Log2IntCeil(comptime T: type) type {
787
788
  if (T == comptime_int) return comptime_int;
788
789
  const bits: u16 = @typeInfo(T).int.bits;
789
790
  const log2_bits = 16 - @clz(bits);
790
- return std.meta.Int(.unsigned, log2_bits);
791
+ return @Int(.unsigned, log2_bits);
791
792
  }
792
793
 
793
794
  /// Returns the smallest integer type that can hold both from and to.
@@ -1047,10 +1048,10 @@ fn testRem() !void {
1047
1048
 
1048
1049
  /// Returns the negation of the integer parameter.
1049
1050
  /// Result is a signed integer.
1050
- pub fn negateCast(x: anytype) !std.meta.Int(.signed, @bitSizeOf(@TypeOf(x))) {
1051
+ pub fn negateCast(x: anytype) !@Int(.signed, @bitSizeOf(@TypeOf(x))) {
1051
1052
  if (@typeInfo(@TypeOf(x)).int.signedness == .signed) return negate(x);
1052
1053
 
1053
- const int = std.meta.Int(.signed, @bitSizeOf(@TypeOf(x)));
1054
+ const int = @Int(.signed, @bitSizeOf(@TypeOf(x)));
1054
1055
  if (x > -minInt(int)) return error.Overflow;
1055
1056
 
1056
1057
  if (x == -minInt(int)) return minInt(int);
@@ -1140,13 +1141,11 @@ test isPowerOfTwo {
1140
1141
  pub fn ByteAlignedInt(comptime T: type) type {
1141
1142
  const info = @typeInfo(T).int;
1142
1143
  const bits = (info.bits + 7) / 8 * 8;
1143
- const extended_type = std.meta.Int(info.signedness, bits);
1144
- return extended_type;
1144
+ return @Int(info.signedness, bits);
1145
1145
  }
1146
1146
 
1147
1147
  test ByteAlignedInt {
1148
1148
  try testing.expect(ByteAlignedInt(u0) == u0);
1149
- try testing.expect(ByteAlignedInt(i0) == i0);
1150
1149
  try testing.expect(ByteAlignedInt(u3) == u8);
1151
1150
  try testing.expect(ByteAlignedInt(u8) == u8);
1152
1151
  try testing.expect(ByteAlignedInt(i111) == i112);
@@ -1178,7 +1177,7 @@ pub inline fn floor(value: anytype) @TypeOf(value) {
1178
1177
  /// Returns the nearest power of two less than or equal to value, or
1179
1178
  /// zero if value is less than or equal to zero.
1180
1179
  pub fn floorPowerOfTwo(comptime T: type, value: T) T {
1181
- const uT = std.meta.Int(.unsigned, @typeInfo(T).int.bits);
1180
+ const uT = @Int(.unsigned, @typeInfo(T).int.bits);
1182
1181
  if (value <= 0) return 0;
1183
1182
  return @as(T, 1) << log2_int(uT, @as(uT, @intCast(value)));
1184
1183
  }
@@ -1213,11 +1212,11 @@ pub inline fn ceil(value: anytype) @TypeOf(value) {
1213
1212
  /// Returns the next power of two (if the value is not already a power of two).
1214
1213
  /// Only unsigned integers can be used. Zero is not an allowed input.
1215
1214
  /// Result is a type with 1 more bit than the input type.
1216
- pub fn ceilPowerOfTwoPromote(comptime T: type, value: T) std.meta.Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1) {
1215
+ pub fn ceilPowerOfTwoPromote(comptime T: type, value: T) @Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1) {
1217
1216
  comptime assert(@typeInfo(T) == .int);
1218
1217
  comptime assert(@typeInfo(T).int.signedness == .unsigned);
1219
1218
  assert(value != 0);
1220
- const PromotedType = std.meta.Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1);
1219
+ const PromotedType = @Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1);
1221
1220
  const ShiftType = std.math.Log2Int(PromotedType);
1222
1221
  return @as(PromotedType, 1) << @as(ShiftType, @intCast(@typeInfo(T).int.bits - @clz(value - 1)));
1223
1222
  }
@@ -1229,7 +1228,7 @@ pub fn ceilPowerOfTwo(comptime T: type, value: T) (error{Overflow}!T) {
1229
1228
  comptime assert(@typeInfo(T) == .int);
1230
1229
  const info = @typeInfo(T).int;
1231
1230
  comptime assert(info.signedness == .unsigned);
1232
- const PromotedType = std.meta.Int(info.signedness, info.bits + 1);
1231
+ const PromotedType = @Int(info.signedness, info.bits + 1);
1233
1232
  const overflowBit = @as(PromotedType, 1) << info.bits;
1234
1233
  const x = ceilPowerOfTwoPromote(T, value);
1235
1234
  if (overflowBit & x != 0) {
@@ -1441,19 +1440,17 @@ test lerp {
1441
1440
 
1442
1441
  /// Returns the maximum value of integer type T.
1443
1442
  pub fn maxInt(comptime T: type) comptime_int {
1444
- const info = @typeInfo(T);
1445
- const bit_count = info.int.bits;
1446
- if (bit_count == 0) return 0;
1447
- return (1 << (bit_count - @intFromBool(info.int.signedness == .signed))) - 1;
1443
+ const info = @typeInfo(T).int;
1444
+ return (1 << (info.bits - @intFromBool(info.signedness == .signed))) - 1;
1448
1445
  }
1449
1446
 
1450
1447
  /// Returns the minimum value of integer type T.
1451
1448
  pub fn minInt(comptime T: type) comptime_int {
1452
- const info = @typeInfo(T);
1453
- const bit_count = info.int.bits;
1454
- if (info.int.signedness == .unsigned) return 0;
1455
- if (bit_count == 0) return 0;
1456
- return -(1 << (bit_count - 1));
1449
+ const info = @typeInfo(T).int;
1450
+ return switch (info.signedness) {
1451
+ .unsigned => 0,
1452
+ .signed => -(1 << (info.bits - 1)),
1453
+ };
1457
1454
  }
1458
1455
 
1459
1456
  test maxInt {
@@ -1465,7 +1462,6 @@ test maxInt {
1465
1462
  try testing.expect(maxInt(u64) == 18446744073709551615);
1466
1463
  try testing.expect(maxInt(u128) == 340282366920938463463374607431768211455);
1467
1464
 
1468
- try testing.expect(maxInt(i0) == 0);
1469
1465
  try testing.expect(maxInt(i1) == 0);
1470
1466
  try testing.expect(maxInt(i8) == 127);
1471
1467
  try testing.expect(maxInt(i16) == 32767);
@@ -1485,7 +1481,6 @@ test minInt {
1485
1481
  try testing.expect(minInt(u64) == 0);
1486
1482
  try testing.expect(minInt(u128) == 0);
1487
1483
 
1488
- try testing.expect(minInt(i0) == 0);
1489
1484
  try testing.expect(minInt(i1) == -1);
1490
1485
  try testing.expect(minInt(i8) == -128);
1491
1486
  try testing.expect(minInt(i16) == -32768);
@@ -1502,11 +1497,11 @@ test "max value type" {
1502
1497
 
1503
1498
  /// Multiply a and b. Return type is wide enough to guarantee no
1504
1499
  /// overflow.
1505
- pub fn mulWide(comptime T: type, a: T, b: T) std.meta.Int(
1500
+ pub fn mulWide(comptime T: type, a: T, b: T) @Int(
1506
1501
  @typeInfo(T).int.signedness,
1507
1502
  @typeInfo(T).int.bits * 2,
1508
1503
  ) {
1509
- const ResultInt = std.meta.Int(
1504
+ const ResultInt = @Int(
1510
1505
  @typeInfo(T).int.signedness,
1511
1506
  @typeInfo(T).int.bits * 2,
1512
1507
  );
@@ -1709,8 +1704,8 @@ pub inline fn boolMask(comptime MaskInt: type, value: bool) MaskInt {
1709
1704
  if (@typeInfo(MaskInt) != .int)
1710
1705
  @compileError("boolMask requires an integer mask type.");
1711
1706
 
1712
- if (MaskInt == u0 or MaskInt == i0)
1713
- @compileError("boolMask cannot convert to u0 or i0, they are too small.");
1707
+ if (MaskInt == u0)
1708
+ @compileError("boolMask cannot convert to u0, it is too small.");
1714
1709
 
1715
1710
  // The u1 and i1 cases tend to overflow,
1716
1711
  // so we special case them here.
@@ -23,6 +23,8 @@ pub const VTable = struct {
23
23
  /// Return a pointer to `len` bytes with specified `alignment`, or return
24
24
  /// `null` indicating the allocation failed.
25
25
  ///
26
+ /// `new_len` must be greater than zero.
27
+ ///
26
28
  /// `ret_addr` is optionally provided as the first return address of the
27
29
  /// allocation call stack. If the value is `0` it means no return address
28
30
  /// has been provided.
@@ -167,7 +169,7 @@ pub fn create(a: Allocator, comptime T: type) Error!*T {
167
169
  const ptr = comptime std.mem.alignBackward(usize, math.maxInt(usize), @alignOf(T));
168
170
  return @ptrFromInt(ptr);
169
171
  }
170
- const ptr: *T = @ptrCast(try a.allocBytesWithAlignment(.of(T), @sizeOf(T), @returnAddress()));
172
+ const ptr: *T = @ptrCast(try a.allocBytesAligned(.of(T), @sizeOf(T), @returnAddress()));
171
173
  return ptr;
172
174
  }
173
175
 
@@ -283,10 +285,10 @@ fn allocWithSizeAndAlignment(
283
285
  return_address: usize,
284
286
  ) Error![*]align(alignment.toByteUnits()) u8 {
285
287
  const byte_count = math.mul(usize, size, n) catch return error.OutOfMemory;
286
- return self.allocBytesWithAlignment(alignment, byte_count, return_address);
288
+ return self.allocBytesAligned(alignment, byte_count, return_address);
287
289
  }
288
290
 
289
- fn allocBytesWithAlignment(
291
+ pub fn allocBytesAligned(
290
292
  self: Allocator,
291
293
  comptime alignment: Alignment,
292
294
  byte_count: usize,
@@ -456,12 +458,6 @@ pub fn dupe(allocator: Allocator, comptime T: type, m: []const T) Error![]T {
456
458
  return new_buf;
457
459
  }
458
460
 
459
- /// Deprecated in favor of `dupeSentinel`
460
- /// Copies `m` to newly allocated memory, with a null-terminated element. Caller owns the memory.
461
- pub fn dupeZ(allocator: Allocator, comptime T: type, m: []const T) Error![:0]T {
462
- return allocator.dupeSentinel(T, m, 0);
463
- }
464
-
465
461
  /// Copies `m` to newly allocated memory, with a null-terminated element. Caller owns the memory.
466
462
  pub fn dupeSentinel(
467
463
  allocator: Allocator,
package/std/mem.zig CHANGED
@@ -201,9 +201,12 @@ test "Allocator.resize" {
201
201
  defer testing.allocator.free(values);
202
202
 
203
203
  for (values, 0..) |*v, i| v.* = @as(T, @intCast(i));
204
- if (!testing.allocator.resize(values, values.len + 10)) return error.OutOfMemory;
205
- values = values.ptr[0 .. values.len + 10];
206
- try testing.expect(values.len == 110);
204
+ if (testing.allocator.resize(values, values.len + 10)) {
205
+ values = values.ptr[0 .. values.len + 10];
206
+ try testing.expect(values.len == 110);
207
+ } else {
208
+ // `resize` is not guaranteed to succeed even if there is sufficient memory.
209
+ }
207
210
  }
208
211
 
209
212
  const primitiveFloatTypes = .{
@@ -217,9 +220,12 @@ test "Allocator.resize" {
217
220
  defer testing.allocator.free(values);
218
221
 
219
222
  for (values, 0..) |*v, i| v.* = @as(T, @floatFromInt(i));
220
- if (!testing.allocator.resize(values, values.len + 10)) return error.OutOfMemory;
221
- values = values.ptr[0 .. values.len + 10];
222
- try testing.expect(values.len == 110);
223
+ if (testing.allocator.resize(values, values.len + 10)) {
224
+ values = values.ptr[0 .. values.len + 10];
225
+ try testing.expect(values.len == 110);
226
+ } else {
227
+ // `resize` is not guaranteed to succeed even if there is sufficient memory.
228
+ }
223
229
  }
224
230
  }
225
231
 
@@ -359,7 +365,10 @@ test zeroes {
359
365
  var a = zeroes(C_struct);
360
366
 
361
367
  // Extern structs should have padding zeroed out.
362
- try testing.expectEqualSlices(u8, &[_]u8{0} ** @sizeOf(@TypeOf(a)), asBytes(&a));
368
+ {
369
+ const num_bytes = @sizeOf(@TypeOf(a));
370
+ try testing.expectEqualSlices(u8, &@as([num_bytes]u8, @splat(0)), @ptrCast(&a));
371
+ }
363
372
 
364
373
  a.y += 10;
365
374
 
@@ -370,7 +379,6 @@ test zeroes {
370
379
  comptime comptime_field: u8 = 5,
371
380
 
372
381
  integral_types: struct {
373
- integer_0: i0,
374
382
  integer_8: i8,
375
383
  integer_16: i16,
376
384
  integer_32: i32,
@@ -405,7 +413,6 @@ test zeroes {
405
413
 
406
414
  const b = zeroes(ZigStruct);
407
415
  try testing.expectEqual(@as(u8, 5), b.comptime_field);
408
- try testing.expectEqual(@as(i8, 0), b.integral_types.integer_0);
409
416
  try testing.expectEqual(@as(i8, 0), b.integral_types.integer_8);
410
417
  try testing.expectEqual(@as(i16, 0), b.integral_types.integer_16);
411
418
  try testing.expectEqual(@as(i32, 0), b.integral_types.integer_32);
@@ -1589,7 +1596,7 @@ test find {
1589
1596
  test "find multibyte" {
1590
1597
  {
1591
1598
  // make haystack and needle long enough to trigger Boyer-Moore-Horspool algorithm
1592
- const haystack = [1]u16{0} ** 100 ++ [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff };
1599
+ const haystack = @as([100]u16, @splat(0)) ++ [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff };
1593
1600
  const needle = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee };
1594
1601
  try testing.expectEqual(findPos(u16, &haystack, 0, &needle), 100);
1595
1602
 
@@ -1602,7 +1609,7 @@ test "find multibyte" {
1602
1609
 
1603
1610
  {
1604
1611
  // make haystack and needle long enough to trigger Boyer-Moore-Horspool algorithm
1605
- const haystack = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff } ++ [1]u16{0} ** 100;
1612
+ const haystack = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff } ++ @as([100]u16, @splat(0));
1606
1613
  const needle = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee };
1607
1614
  try testing.expectEqual(lastIndexOf(u16, &haystack, &needle), 0);
1608
1615
 
@@ -1690,7 +1697,7 @@ test countScalar {
1690
1697
  //
1691
1698
  /// See also: `containsAtLeastScalar`
1692
1699
  pub fn containsAtLeast(comptime T: type, haystack: []const T, expected_count: usize, needle: []const T) bool {
1693
- if (needle.len == 1) return containsAtLeastScalar(T, haystack, expected_count, needle[0]);
1700
+ if (needle.len == 1) return containsAtLeastScalar(T, haystack, needle[0], expected_count);
1694
1701
  assert(needle.len > 0);
1695
1702
  if (expected_count == 0) return true;
1696
1703
 
@@ -1721,17 +1728,12 @@ test containsAtLeast {
1721
1728
  try testing.expect(!containsAtLeast(u8, " radar radar ", 3, "radar"));
1722
1729
  }
1723
1730
 
1724
- /// Deprecated in favor of `containsAtLeastScalar2`.
1725
- pub fn containsAtLeastScalar(comptime T: type, list: []const T, minimum: usize, element: T) bool {
1726
- return containsAtLeastScalar2(T, list, element, minimum);
1727
- }
1728
-
1729
1731
  /// Returns true if `element` appears at least `minimum` number of times in `list`.
1730
1732
  //
1731
1733
  /// Related:
1732
1734
  /// * `containsAtLeast`
1733
1735
  /// * `countScalar`
1734
- pub fn containsAtLeastScalar2(comptime T: type, list: []const T, element: T, minimum: usize) bool {
1736
+ pub fn containsAtLeastScalar(comptime T: type, list: []const T, element: T, minimum: usize) bool {
1735
1737
  const n = list.len;
1736
1738
  var i: usize = 0;
1737
1739
  var found: usize = 0;
@@ -1759,14 +1761,14 @@ pub fn containsAtLeastScalar2(comptime T: type, list: []const T, element: T, min
1759
1761
  return false;
1760
1762
  }
1761
1763
 
1762
- test containsAtLeastScalar2 {
1763
- try testing.expect(containsAtLeastScalar2(u8, "aa", 'a', 0));
1764
- try testing.expect(containsAtLeastScalar2(u8, "aa", 'a', 1));
1765
- try testing.expect(containsAtLeastScalar2(u8, "aa", 'a', 2));
1766
- try testing.expect(!containsAtLeastScalar2(u8, "aa", 'a', 3));
1764
+ test containsAtLeastScalar {
1765
+ try testing.expect(containsAtLeastScalar(u8, "aa", 'a', 0));
1766
+ try testing.expect(containsAtLeastScalar(u8, "aa", 'a', 1));
1767
+ try testing.expect(containsAtLeastScalar(u8, "aa", 'a', 2));
1768
+ try testing.expect(!containsAtLeastScalar(u8, "aa", 'a', 3));
1767
1769
 
1768
- try testing.expect(containsAtLeastScalar2(u8, "adadda", 'd', 3));
1769
- try testing.expect(!containsAtLeastScalar2(u8, "adadda", 'd', 4));
1770
+ try testing.expect(containsAtLeastScalar(u8, "adadda", 'd', 3));
1771
+ try testing.expect(!containsAtLeastScalar(u8, "adadda", 'd', 4));
1770
1772
  }
1771
1773
 
1772
1774
  /// Reads an integer from memory with size equal to bytes.len.
@@ -1776,7 +1778,7 @@ pub fn readVarInt(comptime ReturnType: type, bytes: []const u8, endian: Endian)
1776
1778
  assert(@typeInfo(ReturnType).int.bits >= bytes.len * 8);
1777
1779
  const bits = @typeInfo(ReturnType).int.bits;
1778
1780
  const signedness = @typeInfo(ReturnType).int.signedness;
1779
- const WorkType = std.meta.Int(signedness, @max(16, bits));
1781
+ const WorkType = @Int(signedness, @max(16, bits));
1780
1782
  var result: WorkType = 0;
1781
1783
  switch (endian) {
1782
1784
  .big => {
@@ -1827,8 +1829,8 @@ pub fn readVarPackedInt(
1827
1829
  endian: std.builtin.Endian,
1828
1830
  signedness: std.builtin.Signedness,
1829
1831
  ) T {
1830
- const uN = std.meta.Int(.unsigned, @bitSizeOf(T));
1831
- const iN = std.meta.Int(.signed, @bitSizeOf(T));
1832
+ const uN = @Int(.unsigned, @bitSizeOf(T));
1833
+ const iN = @Int(.signed, @bitSizeOf(T));
1832
1834
  const Log2N = std.math.Log2Int(T);
1833
1835
 
1834
1836
  const read_size = (bit_count + (bit_offset % 8) + 7) / 8;
@@ -1920,7 +1922,7 @@ test readInt {
1920
1922
  }
1921
1923
 
1922
1924
  fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T {
1923
- const uN = std.meta.Int(.unsigned, @bitSizeOf(T));
1925
+ const uN = @Int(.unsigned, @bitSizeOf(T));
1924
1926
  const Log2N = std.math.Log2Int(T);
1925
1927
 
1926
1928
  const bit_count = @as(usize, @bitSizeOf(T));
@@ -1928,7 +1930,7 @@ fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T
1928
1930
 
1929
1931
  const load_size = (bit_count + 7) / 8;
1930
1932
  const load_tail_bits = @as(u3, @intCast((load_size * 8) - bit_count));
1931
- const LoadInt = std.meta.Int(.unsigned, load_size * 8);
1933
+ const LoadInt = @Int(.unsigned, load_size * 8);
1932
1934
 
1933
1935
  if (bit_count == 0)
1934
1936
  return 0;
@@ -1946,7 +1948,7 @@ fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T
1946
1948
  }
1947
1949
 
1948
1950
  fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
1949
- const uN = std.meta.Int(.unsigned, @bitSizeOf(T));
1951
+ const uN = @Int(.unsigned, @bitSizeOf(T));
1950
1952
  const Log2N = std.math.Log2Int(T);
1951
1953
 
1952
1954
  const bit_count = @as(usize, @bitSizeOf(T));
@@ -1955,7 +1957,7 @@ fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
1955
1957
 
1956
1958
  const load_size = (bit_count + 7) / 8;
1957
1959
  const load_tail_bits = @as(u3, @intCast((load_size * 8) - bit_count));
1958
- const LoadInt = std.meta.Int(.unsigned, load_size * 8);
1960
+ const LoadInt = @Int(.unsigned, load_size * 8);
1959
1961
 
1960
1962
  if (bit_count == 0)
1961
1963
  return 0;
@@ -1972,18 +1974,6 @@ fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
1972
1974
  } else return @as(T, @bitCast(val));
1973
1975
  }
1974
1976
 
1975
- /// Deprecated: use readPackedInt(T, bytes, bit_offset, value, .native)
1976
- pub const readPackedIntNative = switch (native_endian) {
1977
- .little => readPackedIntLittle,
1978
- .big => readPackedIntBig,
1979
- };
1980
-
1981
- /// Deprecated: use readPackedInt(T, bytes, bit_offset, value, .foreign)
1982
- pub const readPackedIntForeign = switch (native_endian) {
1983
- .little => readPackedIntBig,
1984
- .big => readPackedIntLittle,
1985
- };
1986
-
1987
1977
  /// Loads an integer from packed memory.
1988
1978
  /// Asserts that buffer contains at least bit_offset + @bitSizeOf(T) bits.
1989
1979
  pub fn readPackedInt(comptime T: type, bytes: []const u8, bit_offset: usize, endian: Endian) T {
@@ -2060,7 +2050,7 @@ test writeInt {
2060
2050
  }
2061
2051
 
2062
2052
  fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value: T) void {
2063
- const uN = std.meta.Int(.unsigned, @bitSizeOf(T));
2053
+ const uN = @Int(.unsigned, @bitSizeOf(T));
2064
2054
  const Log2N = std.math.Log2Int(T);
2065
2055
 
2066
2056
  const bit_count = @as(usize, @bitSizeOf(T));
@@ -2068,7 +2058,7 @@ fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value:
2068
2058
 
2069
2059
  const store_size = (@bitSizeOf(T) + 7) / 8;
2070
2060
  const store_tail_bits = @as(u3, @intCast((store_size * 8) - bit_count));
2071
- const StoreInt = std.meta.Int(.unsigned, store_size * 8);
2061
+ const StoreInt = @Int(.unsigned, store_size * 8);
2072
2062
 
2073
2063
  if (bit_count == 0)
2074
2064
  return;
@@ -2093,7 +2083,7 @@ fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value:
2093
2083
  }
2094
2084
 
2095
2085
  fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T) void {
2096
- const uN = std.meta.Int(.unsigned, @bitSizeOf(T));
2086
+ const uN = @Int(.unsigned, @bitSizeOf(T));
2097
2087
  const Log2N = std.math.Log2Int(T);
2098
2088
 
2099
2089
  const bit_count = @as(usize, @bitSizeOf(T));
@@ -2102,7 +2092,7 @@ fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T)
2102
2092
 
2103
2093
  const store_size = (@bitSizeOf(T) + 7) / 8;
2104
2094
  const store_tail_bits = @as(u3, @intCast((store_size * 8) - bit_count));
2105
- const StoreInt = std.meta.Int(.unsigned, store_size * 8);
2095
+ const StoreInt = @Int(.unsigned, store_size * 8);
2106
2096
 
2107
2097
  if (bit_count == 0)
2108
2098
  return;
@@ -2127,18 +2117,6 @@ fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T)
2127
2117
  writeInt(StoreInt, write_bytes[(byte_count - store_size)..][0..store_size], write_value, .big);
2128
2118
  }
2129
2119
 
2130
- /// Deprecated: use writePackedInt(T, bytes, bit_offset, value, .native)
2131
- pub const writePackedIntNative = switch (native_endian) {
2132
- .little => writePackedIntLittle,
2133
- .big => writePackedIntBig,
2134
- };
2135
-
2136
- /// Deprecated: use writePackedInt(T, bytes, bit_offset, value, .foreign)
2137
- pub const writePackedIntForeign = switch (native_endian) {
2138
- .little => writePackedIntBig,
2139
- .big => writePackedIntLittle,
2140
- };
2141
-
2142
2120
  /// Stores an integer to packed memory.
2143
2121
  /// Asserts that buffer contains at least bit_offset + @bitSizeOf(T) bits.
2144
2122
  pub fn writePackedInt(comptime T: type, bytes: []u8, bit_offset: usize, value: T, endian: Endian) void {
@@ -2159,7 +2137,7 @@ test writePackedInt {
2159
2137
  /// If negative, the written value is sign-extended.
2160
2138
  pub fn writeVarPackedInt(bytes: []u8, bit_offset: usize, bit_count: usize, value: anytype, endian: std.builtin.Endian) void {
2161
2139
  const T = @TypeOf(value);
2162
- const uN = std.meta.Int(.unsigned, @bitSizeOf(T));
2140
+ const uN = @Int(.unsigned, @bitSizeOf(T));
2163
2141
 
2164
2142
  const bit_shift = @as(u3, @intCast(bit_offset % 8));
2165
2143
  const write_size = (bit_count + bit_shift + 7) / 8;
@@ -2241,7 +2219,7 @@ pub fn byteSwapAllFieldsAligned(comptime S: type, comptime a: Alignment, ptr: *a
2241
2219
  },
2242
2220
  .bool => {},
2243
2221
  .float => |float_info| {
2244
- @field(ptr, f.name) = @bitCast(@byteSwap(@as(std.meta.Int(.unsigned, float_info.bits), @bitCast(@field(ptr, f.name)))));
2222
+ @field(ptr, f.name) = @bitCast(@byteSwap(@as(@Int(.unsigned, float_info.bits), @bitCast(@field(ptr, f.name)))));
2245
2223
  },
2246
2224
  else => {
2247
2225
  @field(ptr, f.name) = @byteSwap(@field(ptr, f.name));
@@ -2261,7 +2239,7 @@ pub fn byteSwapAllFieldsAligned(comptime S: type, comptime a: Alignment, ptr: *a
2261
2239
  }
2262
2240
  }
2263
2241
 
2264
- const BackingInt = std.meta.Int(.unsigned, @bitSizeOf(S));
2242
+ const BackingInt = @Int(.unsigned, @bitSizeOf(S));
2265
2243
  ptr.* = @bitCast(@byteSwap(@as(BackingInt, @bitCast(ptr.*))));
2266
2244
  },
2267
2245
  .array => |info| {
@@ -2369,7 +2347,7 @@ pub fn byteSwapAllElements(comptime Elem: type, slice: []Elem) void {
2369
2347
  },
2370
2348
  .bool => {},
2371
2349
  .float => |float_info| {
2372
- elem.* = @bitCast(@byteSwap(@as(std.meta.Int(.unsigned, float_info.bits), @bitCast(elem.*))));
2350
+ elem.* = @bitCast(@byteSwap(@as(@Int(.unsigned, float_info.bits), @bitCast(elem.*))));
2373
2351
  },
2374
2352
  else => {
2375
2353
  elem.* = @byteSwap(elem.*);
@@ -4647,7 +4625,7 @@ test "sliceAsBytes with sentinel slice" {
4647
4625
  }
4648
4626
 
4649
4627
  test "sliceAsBytes with zero-bit element type" {
4650
- const lots_of_nothing = [1]void{{}} ** 10_000;
4628
+ const lots_of_nothing: [10_000]void = @splat({});
4651
4629
  const bytes = sliceAsBytes(&lots_of_nothing);
4652
4630
  try testing.expect(bytes.len == 0);
4653
4631
  }
@@ -4799,7 +4777,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
4799
4777
  const bits = t.int.bits;
4800
4778
  if (bits <= max_gp_register_bits and builtin.zig_backend != .stage2_c) {
4801
4779
  const val2 = @as(
4802
- std.meta.Int(t.int.signedness, @max(8, std.math.ceilPowerOfTwoAssert(u16, bits))),
4780
+ @Int(t.int.signedness, @max(8, std.math.ceilPowerOfTwoAssert(u16, bits))),
4803
4781
  val,
4804
4782
  );
4805
4783
  asm volatile (""
@@ -4809,8 +4787,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
4809
4787
  } else doNotOptimizeAway(&val);
4810
4788
  },
4811
4789
  .float => {
4812
- // https://github.com/llvm/llvm-project/issues/159200
4813
- if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c and !builtin.cpu.arch.isLoongArch()) {
4790
+ if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c) {
4814
4791
  asm volatile (""
4815
4792
  :
4816
4793
  : [_] "rm" (val),
@@ -4866,8 +4843,8 @@ test doNotOptimizeAway {
4866
4843
  doNotOptimizeAway(@as(u200, 0));
4867
4844
  doNotOptimizeAway(@as(f32, 0.0));
4868
4845
  doNotOptimizeAway(@as(f64, 0.0));
4869
- doNotOptimizeAway([_]u8{0} ** 4);
4870
- doNotOptimizeAway([_]u8{0} ** 100);
4846
+ doNotOptimizeAway(@as([4]u8, @splat(0)));
4847
+ doNotOptimizeAway(@as([100]u8, @splat(0)));
4871
4848
  doNotOptimizeAway(@as(std.builtin.Endian, .little));
4872
4849
  }
4873
4850
 
@@ -4964,7 +4941,7 @@ test isAligned {
4964
4941
  }
4965
4942
 
4966
4943
  test "freeing empty string with null-terminated sentinel" {
4967
- const empty_string = try testing.allocator.dupeZ(u8, "");
4944
+ const empty_string = try testing.allocator.dupeSentinel(u8, "", 0);
4968
4945
  testing.allocator.free(empty_string);
4969
4946
  }
4970
4947
 
@@ -5035,8 +5012,8 @@ test "read/write(Var)PackedInt" {
5035
5012
  if (@bitSizeOf(PackedType) > @bitSizeOf(BackingType))
5036
5013
  continue;
5037
5014
 
5038
- const iPackedType = std.meta.Int(.signed, @bitSizeOf(PackedType));
5039
- const uPackedType = std.meta.Int(.unsigned, @bitSizeOf(PackedType));
5015
+ const iPackedType = @Int(.signed, @bitSizeOf(PackedType));
5016
+ const uPackedType = @Int(.unsigned, @bitSizeOf(PackedType));
5040
5017
  const Log2T = std.math.Log2Int(BackingType);
5041
5018
 
5042
5019
  const offset_at_end = @bitSizeOf(BackingType) - @bitSizeOf(PackedType);
@@ -5103,8 +5080,8 @@ test "read/write(Var)PackedInt" {
5103
5080
  }
5104
5081
 
5105
5082
  const signedness = @typeInfo(PackedType).int.signedness;
5106
- const NextPowerOfTwoInt = std.meta.Int(signedness, try comptime std.math.ceilPowerOfTwo(u16, @bitSizeOf(PackedType)));
5107
- const ui64 = std.meta.Int(signedness, 64);
5083
+ const NextPowerOfTwoInt = @Int(signedness, try std.math.ceilPowerOfTwo(u16, @bitSizeOf(PackedType)));
5084
+ const ui64 = @Int(signedness, 64);
5108
5085
  inline for ([_]type{ PackedType, NextPowerOfTwoInt, ui64 }) |U| {
5109
5086
  { // Variable-size Read/Write (Native-endian)
5110
5087
 
@@ -13,7 +13,7 @@ pub fn TrailerFlags(comptime Fields: type) type {
13
13
  return struct {
14
14
  bits: Int,
15
15
 
16
- pub const Int = meta.Int(.unsigned, bit_count);
16
+ pub const Int = @Int(.unsigned, bit_count);
17
17
  pub const bit_count = @typeInfo(Fields).@"struct".fields.len;
18
18
 
19
19
  pub const FieldEnum = std.meta.FieldEnum(Fields);
package/std/meta.zig CHANGED
@@ -751,11 +751,6 @@ pub fn fieldIndex(comptime T: type, comptime name: []const u8) ?comptime_int {
751
751
  return null;
752
752
  }
753
753
 
754
- /// Deprecated: use @Int
755
- pub fn Int(comptime signedness: std.builtin.Signedness, comptime bit_count: u16) type {
756
- return @Int(signedness, bit_count);
757
- }
758
-
759
754
  pub fn Float(comptime bit_count: u8) type {
760
755
  return switch (bit_count) {
761
756
  16 => f16,
@@ -796,14 +791,7 @@ pub fn ArgsTuple(comptime Function: type) type {
796
791
  argument_field_list[i] = T;
797
792
  }
798
793
 
799
- return Tuple(&argument_field_list);
800
- }
801
-
802
- /// Deprecated; use `@Tuple` instead.
803
- ///
804
- /// To be removed after Zig 0.16.0 releases.
805
- pub fn Tuple(comptime types: []const type) type {
806
- return @Tuple(types);
794
+ return @Tuple(&argument_field_list);
807
795
  }
808
796
 
809
797
  const TupleTester = struct {
@@ -839,33 +827,13 @@ test ArgsTuple {
839
827
  TupleTester.assertTuple(.{u32}, ArgsTuple(fn (comptime a: u32) []const u8));
840
828
  }
841
829
 
842
- test Tuple {
843
- TupleTester.assertTuple(.{}, Tuple(&[_]type{}));
844
- TupleTester.assertTuple(.{u32}, Tuple(&[_]type{u32}));
845
- TupleTester.assertTuple(.{ u32, f16 }, Tuple(&[_]type{ u32, f16 }));
846
- TupleTester.assertTuple(.{ u32, f16, []const u8, void }, Tuple(&[_]type{ u32, f16, []const u8, void }));
847
- }
848
-
849
- test "Tuple deduplication" {
850
- const T1 = std.meta.Tuple(&.{ u32, f32, i8 });
851
- const T2 = std.meta.Tuple(&.{ u32, f32, i8 });
852
- const T3 = std.meta.Tuple(&.{ u32, f32, i7 });
853
-
854
- if (T1 != T2) {
855
- @compileError("std.meta.Tuple doesn't deduplicate tuple types.");
856
- }
857
- if (T1 == T3) {
858
- @compileError("std.meta.Tuple fails to generate different types.");
859
- }
860
- }
861
-
862
830
  test "ArgsTuple forwarding" {
863
- const T1 = std.meta.Tuple(&.{ u32, f32, i8 });
831
+ const T1 = @Tuple(&.{ u32, f32, i8 });
864
832
  const T2 = std.meta.ArgsTuple(fn (u32, f32, i8) void);
865
833
  const T3 = std.meta.ArgsTuple(fn (u32, f32, i8) callconv(.c) noreturn);
866
834
 
867
835
  if (T1 != T2) {
868
- @compileError("std.meta.ArgsTuple produces different types than std.meta.Tuple");
836
+ @compileError("std.meta.ArgsTuple produces different types than @Tuple");
869
837
  }
870
838
  if (T1 != T3) {
871
839
  @compileError("std.meta.ArgsTuple produces different types for the same argument lists.");
@@ -1067,7 +1035,7 @@ test hasUniqueRepresentation {
1067
1035
 
1068
1036
  try testing.expect(!hasUniqueRepresentation(TestUnion4));
1069
1037
 
1070
- inline for ([_]type{ i0, u8, i16, u32, i64 }) |T| {
1038
+ inline for ([_]type{ u8, i16, u32, i64 }) |T| {
1071
1039
  try testing.expect(hasUniqueRepresentation(T));
1072
1040
  try testing.expect(hasUniqueRepresentation(enum(T) { _ }));
1073
1041
  }
@@ -133,6 +133,13 @@ pub fn MultiArrayList(comptime T: type) type {
133
133
  };
134
134
  }
135
135
 
136
+ pub fn swap(self: Slice, a: usize, b: usize) void {
137
+ inline for (@typeInfo(Field).@"enum".fields) |field| {
138
+ const its = self.items(@field(Field, field.name));
139
+ std.mem.swap(@FieldType(T, field.name), &its[a], &its[b]);
140
+ }
141
+ }
142
+
136
143
  pub fn toMultiArrayList(self: Slice) Self {
137
144
  if (self.ptrs.len == 0 or self.capacity == 0) {
138
145
  return .{};
@@ -267,6 +274,10 @@ pub fn MultiArrayList(comptime T: type) type {
267
274
  return self.slice().get(index);
268
275
  }
269
276
 
277
+ pub fn swap(self: Self, a: usize, b: usize) void {
278
+ return self.slice().swap(a, b);
279
+ }
280
+
270
281
  /// Extend the list by 1 element.
271
282
  ///
272
283
  /// Allocates more memory as necessary.
@@ -771,6 +782,19 @@ test "basic usage" {
771
782
  try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 1, 2, 3 });
772
783
  try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'a', 'b', 'c' });
773
784
 
785
+ list.swap(0, 2);
786
+ try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 3, 2, 1 });
787
+ try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'c', 'b', 'a' });
788
+ list.swap(2, 1);
789
+ try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 3, 1, 2 });
790
+ try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'c', 'a', 'b' });
791
+ list.swap(2, 0);
792
+ try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 2, 1, 3 });
793
+ try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'b', 'a', 'c' });
794
+ list.swap(0, 1);
795
+ try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 1, 2, 3 });
796
+ try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'a', 'b', 'c' });
797
+
774
798
  try testing.expectEqual(@as(usize, 3), list.items(.b).len);
775
799
  try testing.expectEqualStrings("foobar", list.items(.b)[0]);
776
800
  try testing.expectEqualStrings("zigzag", list.items(.b)[1]);