html-to-markdown 2.25.1 → 2.26.2

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 (2075) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.toml +3 -0
  3. data/Gemfile.lock +2 -2
  4. data/README.md +8 -5
  5. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
  6. data/lib/html_to_markdown/version.rb +1 -1
  7. data/rust-vendor/anyhow/.cargo-checksum.json +1 -1
  8. data/rust-vendor/anyhow/.cargo_vcs_info.json +1 -1
  9. data/rust-vendor/anyhow/.github/workflows/ci.yml +3 -4
  10. data/rust-vendor/anyhow/Cargo.lock +31 -111
  11. data/rust-vendor/anyhow/Cargo.toml +2 -5
  12. data/rust-vendor/anyhow/Cargo.toml.orig +4 -8
  13. data/rust-vendor/anyhow/build.rs +1 -14
  14. data/rust-vendor/anyhow/src/backtrace.rs +8 -370
  15. data/rust-vendor/anyhow/src/error.rs +12 -39
  16. data/rust-vendor/anyhow/src/fmt.rs +2 -2
  17. data/rust-vendor/anyhow/src/lib.rs +1 -1
  18. data/rust-vendor/async-trait/.cargo-checksum.json +1 -0
  19. data/rust-vendor/async-trait/.cargo_vcs_info.json +6 -0
  20. data/rust-vendor/async-trait/.github/FUNDING.yml +1 -0
  21. data/rust-vendor/async-trait/.github/workflows/ci.yml +109 -0
  22. data/rust-vendor/async-trait/Cargo.lock +453 -0
  23. data/rust-vendor/async-trait/Cargo.toml +91 -0
  24. data/rust-vendor/async-trait/Cargo.toml.orig +38 -0
  25. data/rust-vendor/async-trait/LICENSE-APACHE +176 -0
  26. data/rust-vendor/async-trait/README.md +205 -0
  27. data/rust-vendor/async-trait/src/args.rs +36 -0
  28. data/rust-vendor/async-trait/src/bound.rs +50 -0
  29. data/rust-vendor/async-trait/src/expand.rs +504 -0
  30. data/rust-vendor/async-trait/src/lib.rs +257 -0
  31. data/rust-vendor/async-trait/src/lifetime.rs +112 -0
  32. data/rust-vendor/async-trait/src/parse.rs +34 -0
  33. data/rust-vendor/async-trait/src/receiver.rs +169 -0
  34. data/rust-vendor/async-trait/src/verbatim.rs +34 -0
  35. data/rust-vendor/async-trait/tests/compiletest.rs +7 -0
  36. data/rust-vendor/async-trait/tests/executor/mod.rs +36 -0
  37. data/rust-vendor/async-trait/tests/test.rs +1728 -0
  38. data/rust-vendor/async-trait/tests/ui/arg-implementation-detail.rs +22 -0
  39. data/rust-vendor/async-trait/tests/ui/arg-implementation-detail.stderr +5 -0
  40. data/rust-vendor/async-trait/tests/ui/bare-trait-object.rs +15 -0
  41. data/rust-vendor/async-trait/tests/ui/bare-trait-object.stderr +15 -0
  42. data/rust-vendor/async-trait/tests/ui/consider-restricting.rs +26 -0
  43. data/rust-vendor/async-trait/tests/ui/consider-restricting.stderr +33 -0
  44. data/rust-vendor/async-trait/tests/ui/delimiter-span.rs +24 -0
  45. data/rust-vendor/async-trait/tests/ui/delimiter-span.stderr +21 -0
  46. data/rust-vendor/async-trait/tests/ui/lifetime-defined-here.rs +23 -0
  47. data/rust-vendor/async-trait/tests/ui/lifetime-defined-here.stderr +29 -0
  48. data/rust-vendor/async-trait/tests/ui/lifetime-span.rs +36 -0
  49. data/rust-vendor/async-trait/tests/ui/lifetime-span.stderr +33 -0
  50. data/rust-vendor/async-trait/tests/ui/missing-async-in-impl.rs +15 -0
  51. data/rust-vendor/async-trait/tests/ui/missing-async-in-impl.stderr +8 -0
  52. data/rust-vendor/async-trait/tests/ui/missing-async-in-trait.rs +15 -0
  53. data/rust-vendor/async-trait/tests/ui/missing-async-in-trait.stderr +8 -0
  54. data/rust-vendor/async-trait/tests/ui/missing-body.rs +15 -0
  55. data/rust-vendor/async-trait/tests/ui/missing-body.stderr +7 -0
  56. data/rust-vendor/async-trait/tests/ui/must-use.rs +21 -0
  57. data/rust-vendor/async-trait/tests/ui/must-use.stderr +23 -0
  58. data/rust-vendor/async-trait/tests/ui/no-attribute-macro.rs +13 -0
  59. data/rust-vendor/async-trait/tests/ui/no-attribute-macro.stderr +17 -0
  60. data/rust-vendor/async-trait/tests/ui/self-span.rs +30 -0
  61. data/rust-vendor/async-trait/tests/ui/self-span.stderr +32 -0
  62. data/rust-vendor/async-trait/tests/ui/send-not-implemented.rs +22 -0
  63. data/rust-vendor/async-trait/tests/ui/send-not-implemented.stderr +31 -0
  64. data/rust-vendor/async-trait/tests/ui/type-mismatch.rs +21 -0
  65. data/rust-vendor/async-trait/tests/ui/type-mismatch.stderr +11 -0
  66. data/rust-vendor/async-trait/tests/ui/unreachable.rs +20 -0
  67. data/rust-vendor/async-trait/tests/ui/unreachable.stderr +14 -0
  68. data/rust-vendor/async-trait/tests/ui/unsupported-self.rs +15 -0
  69. data/rust-vendor/async-trait/tests/ui/unsupported-self.stderr +5 -0
  70. data/rust-vendor/bumpalo/.cargo-checksum.json +1 -1
  71. data/rust-vendor/bumpalo/.cargo_vcs_info.json +1 -1
  72. data/rust-vendor/bumpalo/CHANGELOG.md +39 -0
  73. data/rust-vendor/bumpalo/Cargo.lock +1 -1
  74. data/rust-vendor/bumpalo/Cargo.toml +2 -2
  75. data/rust-vendor/bumpalo/Cargo.toml.orig +2 -2
  76. data/rust-vendor/bumpalo/src/boxed.rs +73 -25
  77. data/rust-vendor/bumpalo/src/collections/string.rs +41 -19
  78. data/rust-vendor/bumpalo/src/collections/vec.rs +27 -0
  79. data/rust-vendor/bumpalo/src/lib.rs +11 -0
  80. data/rust-vendor/futures/.cargo-checksum.json +1 -0
  81. data/rust-vendor/futures/.cargo_vcs_info.json +6 -0
  82. data/rust-vendor/futures/Cargo.lock +746 -0
  83. data/rust-vendor/futures/Cargo.toml +394 -0
  84. data/rust-vendor/futures/Cargo.toml.orig +65 -0
  85. data/rust-vendor/futures/LICENSE-APACHE +202 -0
  86. data/rust-vendor/futures/LICENSE-MIT +26 -0
  87. data/rust-vendor/futures/README.md +61 -0
  88. data/rust-vendor/futures/src/lib.rs +254 -0
  89. data/rust-vendor/futures/tests/_require_features.rs +13 -0
  90. data/rust-vendor/futures/tests/async_await_macros.rs +404 -0
  91. data/rust-vendor/futures/tests/auto_traits.rs +1899 -0
  92. data/rust-vendor/futures/tests/bilock.rs +104 -0
  93. data/rust-vendor/futures/tests/compat.rs +16 -0
  94. data/rust-vendor/futures/tests/eager_drop.rs +121 -0
  95. data/rust-vendor/futures/tests/eventual.rs +179 -0
  96. data/rust-vendor/futures/tests/future_abortable.rs +44 -0
  97. data/rust-vendor/futures/tests/future_basic_combinators.rs +104 -0
  98. data/rust-vendor/futures/tests/future_fuse.rs +12 -0
  99. data/rust-vendor/futures/tests/future_inspect.rs +16 -0
  100. data/rust-vendor/futures/tests/future_join.rs +32 -0
  101. data/rust-vendor/futures/tests/future_join_all.rs +40 -0
  102. data/rust-vendor/futures/tests/future_obj.rs +33 -0
  103. data/rust-vendor/futures/tests/future_select_all.rs +25 -0
  104. data/rust-vendor/futures/tests/future_select_ok.rs +30 -0
  105. data/rust-vendor/futures/tests/future_shared.rs +273 -0
  106. data/rust-vendor/futures/tests/future_try_flatten_stream.rs +83 -0
  107. data/rust-vendor/futures/tests/future_try_join_all.rs +44 -0
  108. data/rust-vendor/futures/tests/io_buf_reader.rs +431 -0
  109. data/rust-vendor/futures/tests/io_buf_writer.rs +239 -0
  110. data/rust-vendor/futures/tests/io_cursor.rs +30 -0
  111. data/rust-vendor/futures/tests/io_line_writer.rs +73 -0
  112. data/rust-vendor/futures/tests/io_lines.rs +84 -0
  113. data/rust-vendor/futures/tests/io_read.rs +64 -0
  114. data/rust-vendor/futures/tests/io_read_exact.rs +17 -0
  115. data/rust-vendor/futures/tests/io_read_line.rs +101 -0
  116. data/rust-vendor/futures/tests/io_read_to_end.rs +65 -0
  117. data/rust-vendor/futures/tests/io_read_to_string.rs +44 -0
  118. data/rust-vendor/futures/tests/io_read_until.rs +60 -0
  119. data/rust-vendor/futures/tests/io_window.rs +30 -0
  120. data/rust-vendor/futures/tests/io_write.rs +65 -0
  121. data/rust-vendor/futures/tests/lock_mutex.rs +69 -0
  122. data/rust-vendor/futures/tests/macro_comma_support.rs +43 -0
  123. data/rust-vendor/futures/tests/object_safety.rs +49 -0
  124. data/rust-vendor/futures/tests/oneshot.rs +78 -0
  125. data/rust-vendor/futures/tests/ready_queue.rs +148 -0
  126. data/rust-vendor/futures/tests/recurse.rs +25 -0
  127. data/rust-vendor/futures/tests/sink.rs +554 -0
  128. data/rust-vendor/futures/tests/sink_fanout.rs +24 -0
  129. data/rust-vendor/futures/tests/stream.rs +577 -0
  130. data/rust-vendor/futures/tests/stream_abortable.rs +46 -0
  131. data/rust-vendor/futures/tests/stream_buffer_unordered.rs +73 -0
  132. data/rust-vendor/futures/tests/stream_catch_unwind.rs +27 -0
  133. data/rust-vendor/futures/tests/stream_futures_ordered.rs +172 -0
  134. data/rust-vendor/futures/tests/stream_futures_unordered.rs +431 -0
  135. data/rust-vendor/futures/tests/stream_into_async_read.rs +94 -0
  136. data/rust-vendor/futures/tests/stream_peekable.rs +58 -0
  137. data/rust-vendor/futures/tests/stream_select_all.rs +197 -0
  138. data/rust-vendor/futures/tests/stream_select_next_some.rs +86 -0
  139. data/rust-vendor/futures/tests/stream_split.rs +57 -0
  140. data/rust-vendor/futures/tests/stream_try_stream.rs +183 -0
  141. data/rust-vendor/futures/tests/stream_unfold.rs +32 -0
  142. data/rust-vendor/futures/tests/task_arc_wake.rs +79 -0
  143. data/rust-vendor/futures/tests/task_atomic_waker.rs +48 -0
  144. data/rust-vendor/futures/tests/test_macro.rs +20 -0
  145. data/rust-vendor/futures/tests/try_join.rs +35 -0
  146. data/rust-vendor/futures/tests_disabled/all.rs +400 -0
  147. data/rust-vendor/futures/tests_disabled/stream.rs +368 -0
  148. data/rust-vendor/futures-channel/.cargo-checksum.json +1 -0
  149. data/rust-vendor/futures-channel/.cargo_vcs_info.json +6 -0
  150. data/rust-vendor/futures-channel/Cargo.lock +23 -0
  151. data/rust-vendor/futures-channel/Cargo.toml +97 -0
  152. data/rust-vendor/futures-channel/Cargo.toml.orig +38 -0
  153. data/rust-vendor/futures-channel/LICENSE-APACHE +202 -0
  154. data/rust-vendor/futures-channel/LICENSE-MIT +26 -0
  155. data/rust-vendor/futures-channel/README.md +23 -0
  156. data/rust-vendor/futures-channel/benches/sync_mpsc.rs +135 -0
  157. data/rust-vendor/futures-channel/src/lib.rs +38 -0
  158. data/rust-vendor/futures-channel/src/lock.rs +102 -0
  159. data/rust-vendor/futures-channel/src/mpsc/mod.rs +1468 -0
  160. data/rust-vendor/futures-channel/src/mpsc/queue.rs +177 -0
  161. data/rust-vendor/futures-channel/src/mpsc/sink_impl.rs +73 -0
  162. data/rust-vendor/futures-channel/src/oneshot.rs +488 -0
  163. data/rust-vendor/futures-channel/tests/channel.rs +66 -0
  164. data/rust-vendor/futures-channel/tests/mpsc-close.rs +332 -0
  165. data/rust-vendor/futures-channel/tests/mpsc-size_hint.rs +40 -0
  166. data/rust-vendor/futures-channel/tests/mpsc.rs +703 -0
  167. data/rust-vendor/futures-channel/tests/oneshot.rs +256 -0
  168. data/rust-vendor/futures-core/.cargo-checksum.json +1 -0
  169. data/rust-vendor/futures-core/.cargo_vcs_info.json +6 -0
  170. data/rust-vendor/futures-core/Cargo.lock +16 -0
  171. data/rust-vendor/futures-core/Cargo.toml +66 -0
  172. data/rust-vendor/futures-core/Cargo.toml.orig +35 -0
  173. data/rust-vendor/futures-core/LICENSE-APACHE +202 -0
  174. data/rust-vendor/futures-core/LICENSE-MIT +26 -0
  175. data/rust-vendor/futures-core/README.md +23 -0
  176. data/rust-vendor/futures-core/src/future.rs +113 -0
  177. data/rust-vendor/futures-core/src/lib.rs +27 -0
  178. data/rust-vendor/futures-core/src/stream.rs +245 -0
  179. data/rust-vendor/futures-core/src/task/__internal/atomic_waker.rs +423 -0
  180. data/rust-vendor/futures-core/src/task/__internal/mod.rs +7 -0
  181. data/rust-vendor/futures-core/src/task/mod.rs +10 -0
  182. data/rust-vendor/futures-core/src/task/poll.rs +15 -0
  183. data/rust-vendor/futures-executor/.cargo-checksum.json +1 -0
  184. data/rust-vendor/futures-executor/.cargo_vcs_info.json +6 -0
  185. data/rust-vendor/futures-executor/Cargo.lock +48 -0
  186. data/rust-vendor/futures-executor/Cargo.toml +82 -0
  187. data/rust-vendor/futures-executor/Cargo.toml.orig +32 -0
  188. data/rust-vendor/futures-executor/LICENSE-APACHE +202 -0
  189. data/rust-vendor/futures-executor/LICENSE-MIT +26 -0
  190. data/rust-vendor/futures-executor/README.md +23 -0
  191. data/rust-vendor/futures-executor/benches/thread_notify.rs +109 -0
  192. data/rust-vendor/futures-executor/src/enter.rs +80 -0
  193. data/rust-vendor/futures-executor/src/lib.rs +73 -0
  194. data/rust-vendor/futures-executor/src/local_pool.rs +401 -0
  195. data/rust-vendor/futures-executor/src/thread_pool.rs +377 -0
  196. data/rust-vendor/futures-executor/src/unpark_mutex.rs +137 -0
  197. data/rust-vendor/futures-executor/tests/local_pool.rs +497 -0
  198. data/rust-vendor/futures-io/.cargo-checksum.json +1 -0
  199. data/rust-vendor/futures-io/.cargo_vcs_info.json +6 -0
  200. data/rust-vendor/futures-io/Cargo.lock +6 -0
  201. data/rust-vendor/futures-io/Cargo.toml +58 -0
  202. data/rust-vendor/futures-io/Cargo.toml.orig +30 -0
  203. data/rust-vendor/futures-io/LICENSE-APACHE +202 -0
  204. data/rust-vendor/futures-io/LICENSE-MIT +26 -0
  205. data/rust-vendor/futures-io/README.md +23 -0
  206. data/rust-vendor/futures-io/src/lib.rs +561 -0
  207. data/rust-vendor/futures-macro/.cargo-checksum.json +1 -0
  208. data/rust-vendor/futures-macro/.cargo_vcs_info.json +6 -0
  209. data/rust-vendor/futures-macro/Cargo.lock +47 -0
  210. data/rust-vendor/futures-macro/Cargo.toml +57 -0
  211. data/rust-vendor/futures-macro/Cargo.toml.orig +25 -0
  212. data/rust-vendor/futures-macro/LICENSE-APACHE +202 -0
  213. data/rust-vendor/futures-macro/LICENSE-MIT +26 -0
  214. data/rust-vendor/futures-macro/src/executor.rs +56 -0
  215. data/rust-vendor/futures-macro/src/join.rs +144 -0
  216. data/rust-vendor/futures-macro/src/lib.rs +55 -0
  217. data/rust-vendor/futures-macro/src/select.rs +330 -0
  218. data/rust-vendor/futures-macro/src/stream_select.rs +113 -0
  219. data/rust-vendor/futures-sink/.cargo-checksum.json +1 -0
  220. data/rust-vendor/futures-sink/.cargo_vcs_info.json +6 -0
  221. data/rust-vendor/futures-sink/Cargo.lock +6 -0
  222. data/rust-vendor/futures-sink/Cargo.toml +54 -0
  223. data/rust-vendor/futures-sink/Cargo.toml.orig +25 -0
  224. data/rust-vendor/futures-sink/LICENSE-APACHE +202 -0
  225. data/rust-vendor/futures-sink/LICENSE-MIT +26 -0
  226. data/rust-vendor/futures-sink/README.md +23 -0
  227. data/rust-vendor/futures-sink/src/lib.rs +240 -0
  228. data/rust-vendor/futures-task/.cargo-checksum.json +1 -0
  229. data/rust-vendor/futures-task/.cargo_vcs_info.json +6 -0
  230. data/rust-vendor/futures-task/Cargo.lock +6 -0
  231. data/rust-vendor/futures-task/Cargo.toml +58 -0
  232. data/rust-vendor/futures-task/Cargo.toml.orig +33 -0
  233. data/rust-vendor/futures-task/LICENSE-APACHE +202 -0
  234. data/rust-vendor/futures-task/LICENSE-MIT +26 -0
  235. data/rust-vendor/futures-task/README.md +23 -0
  236. data/rust-vendor/futures-task/src/arc_wake.rs +49 -0
  237. data/rust-vendor/futures-task/src/future_obj.rs +335 -0
  238. data/rust-vendor/futures-task/src/lib.rs +50 -0
  239. data/rust-vendor/futures-task/src/noop_waker.rs +63 -0
  240. data/rust-vendor/futures-task/src/spawn.rs +192 -0
  241. data/rust-vendor/futures-task/src/waker.rs +60 -0
  242. data/rust-vendor/futures-task/src/waker_ref.rs +66 -0
  243. data/rust-vendor/futures-util/.cargo-checksum.json +1 -0
  244. data/rust-vendor/futures-util/.cargo_vcs_info.json +6 -0
  245. data/rust-vendor/futures-util/Cargo.lock +693 -0
  246. data/rust-vendor/futures-util/Cargo.toml +181 -0
  247. data/rust-vendor/futures-util/Cargo.toml.orig +65 -0
  248. data/rust-vendor/futures-util/LICENSE-APACHE +202 -0
  249. data/rust-vendor/futures-util/LICENSE-MIT +26 -0
  250. data/rust-vendor/futures-util/README.md +23 -0
  251. data/rust-vendor/futures-util/benches/bilock.rs +68 -0
  252. data/rust-vendor/futures-util/benches/flatten_unordered.rs +58 -0
  253. data/rust-vendor/futures-util/benches/futures_unordered.rs +43 -0
  254. data/rust-vendor/futures-util/benches/select.rs +35 -0
  255. data/rust-vendor/futures-util/src/abortable.rs +209 -0
  256. data/rust-vendor/futures-util/src/async_await/join_mod.rs +110 -0
  257. data/rust-vendor/futures-util/src/async_await/mod.rs +60 -0
  258. data/rust-vendor/futures-util/src/async_await/pending.rs +43 -0
  259. data/rust-vendor/futures-util/src/async_await/poll.rs +39 -0
  260. data/rust-vendor/futures-util/src/async_await/random.rs +54 -0
  261. data/rust-vendor/futures-util/src/async_await/select_mod.rs +340 -0
  262. data/rust-vendor/futures-util/src/async_await/stream_select_mod.rs +39 -0
  263. data/rust-vendor/futures-util/src/compat/compat01as03.rs +455 -0
  264. data/rust-vendor/futures-util/src/compat/compat03as01.rs +268 -0
  265. data/rust-vendor/futures-util/src/compat/executor.rs +86 -0
  266. data/rust-vendor/futures-util/src/compat/mod.rs +22 -0
  267. data/rust-vendor/futures-util/src/fns.rs +372 -0
  268. data/rust-vendor/futures-util/src/future/abortable.rs +19 -0
  269. data/rust-vendor/futures-util/src/future/always_ready.rs +62 -0
  270. data/rust-vendor/futures-util/src/future/either.rs +314 -0
  271. data/rust-vendor/futures-util/src/future/future/catch_unwind.rs +39 -0
  272. data/rust-vendor/futures-util/src/future/future/flatten.rs +153 -0
  273. data/rust-vendor/futures-util/src/future/future/fuse.rs +92 -0
  274. data/rust-vendor/futures-util/src/future/future/map.rs +66 -0
  275. data/rust-vendor/futures-util/src/future/future/mod.rs +603 -0
  276. data/rust-vendor/futures-util/src/future/future/remote_handle.rs +127 -0
  277. data/rust-vendor/futures-util/src/future/future/shared.rs +430 -0
  278. data/rust-vendor/futures-util/src/future/join.rs +217 -0
  279. data/rust-vendor/futures-util/src/future/join_all.rs +167 -0
  280. data/rust-vendor/futures-util/src/future/lazy.rs +60 -0
  281. data/rust-vendor/futures-util/src/future/maybe_done.rs +105 -0
  282. data/rust-vendor/futures-util/src/future/mod.rs +134 -0
  283. data/rust-vendor/futures-util/src/future/option.rs +64 -0
  284. data/rust-vendor/futures-util/src/future/pending.rs +55 -0
  285. data/rust-vendor/futures-util/src/future/poll_fn.rs +58 -0
  286. data/rust-vendor/futures-util/src/future/poll_immediate.rs +131 -0
  287. data/rust-vendor/futures-util/src/future/ready.rs +82 -0
  288. data/rust-vendor/futures-util/src/future/select.rs +133 -0
  289. data/rust-vendor/futures-util/src/future/select_all.rs +75 -0
  290. data/rust-vendor/futures-util/src/future/select_ok.rs +85 -0
  291. data/rust-vendor/futures-util/src/future/try_future/into_future.rs +36 -0
  292. data/rust-vendor/futures-util/src/future/try_future/mod.rs +625 -0
  293. data/rust-vendor/futures-util/src/future/try_future/try_flatten.rs +162 -0
  294. data/rust-vendor/futures-util/src/future/try_future/try_flatten_err.rs +62 -0
  295. data/rust-vendor/futures-util/src/future/try_join.rs +256 -0
  296. data/rust-vendor/futures-util/src/future/try_join_all.rs +201 -0
  297. data/rust-vendor/futures-util/src/future/try_maybe_done.rs +92 -0
  298. data/rust-vendor/futures-util/src/future/try_select.rs +85 -0
  299. data/rust-vendor/futures-util/src/io/allow_std.rs +202 -0
  300. data/rust-vendor/futures-util/src/io/buf_reader.rs +264 -0
  301. data/rust-vendor/futures-util/src/io/buf_writer.rs +229 -0
  302. data/rust-vendor/futures-util/src/io/chain.rs +142 -0
  303. data/rust-vendor/futures-util/src/io/close.rs +28 -0
  304. data/rust-vendor/futures-util/src/io/copy.rs +58 -0
  305. data/rust-vendor/futures-util/src/io/copy_buf.rs +78 -0
  306. data/rust-vendor/futures-util/src/io/copy_buf_abortable.rs +124 -0
  307. data/rust-vendor/futures-util/src/io/cursor.rs +234 -0
  308. data/rust-vendor/futures-util/src/io/empty.rs +59 -0
  309. data/rust-vendor/futures-util/src/io/fill_buf.rs +47 -0
  310. data/rust-vendor/futures-util/src/io/flush.rs +31 -0
  311. data/rust-vendor/futures-util/src/io/into_sink.rs +82 -0
  312. data/rust-vendor/futures-util/src/io/line_writer.rs +155 -0
  313. data/rust-vendor/futures-util/src/io/lines.rs +50 -0
  314. data/rust-vendor/futures-util/src/io/mod.rs +833 -0
  315. data/rust-vendor/futures-util/src/io/read.rs +30 -0
  316. data/rust-vendor/futures-util/src/io/read_exact.rs +42 -0
  317. data/rust-vendor/futures-util/src/io/read_line.rs +77 -0
  318. data/rust-vendor/futures-util/src/io/read_to_end.rs +90 -0
  319. data/rust-vendor/futures-util/src/io/read_to_string.rs +60 -0
  320. data/rust-vendor/futures-util/src/io/read_until.rs +60 -0
  321. data/rust-vendor/futures-util/src/io/read_vectored.rs +30 -0
  322. data/rust-vendor/futures-util/src/io/repeat.rs +66 -0
  323. data/rust-vendor/futures-util/src/io/seek.rs +30 -0
  324. data/rust-vendor/futures-util/src/io/sink.rs +67 -0
  325. data/rust-vendor/futures-util/src/io/split.rs +129 -0
  326. data/rust-vendor/futures-util/src/io/take.rs +125 -0
  327. data/rust-vendor/futures-util/src/io/window.rs +104 -0
  328. data/rust-vendor/futures-util/src/io/write.rs +30 -0
  329. data/rust-vendor/futures-util/src/io/write_all.rs +43 -0
  330. data/rust-vendor/futures-util/src/io/write_all_vectored.rs +195 -0
  331. data/rust-vendor/futures-util/src/io/write_vectored.rs +30 -0
  332. data/rust-vendor/futures-util/src/lib.rs +332 -0
  333. data/rust-vendor/futures-util/src/lock/bilock.rs +297 -0
  334. data/rust-vendor/futures-util/src/lock/mod.rs +27 -0
  335. data/rust-vendor/futures-util/src/lock/mutex.rs +560 -0
  336. data/rust-vendor/futures-util/src/macros.rs +31 -0
  337. data/rust-vendor/futures-util/src/never.rs +18 -0
  338. data/rust-vendor/futures-util/src/sink/buffer.rs +105 -0
  339. data/rust-vendor/futures-util/src/sink/close.rs +32 -0
  340. data/rust-vendor/futures-util/src/sink/drain.rs +59 -0
  341. data/rust-vendor/futures-util/src/sink/err_into.rs +57 -0
  342. data/rust-vendor/futures-util/src/sink/fanout.rs +111 -0
  343. data/rust-vendor/futures-util/src/sink/feed.rs +43 -0
  344. data/rust-vendor/futures-util/src/sink/flush.rs +36 -0
  345. data/rust-vendor/futures-util/src/sink/map_err.rs +65 -0
  346. data/rust-vendor/futures-util/src/sink/mod.rs +344 -0
  347. data/rust-vendor/futures-util/src/sink/send.rs +41 -0
  348. data/rust-vendor/futures-util/src/sink/send_all.rs +100 -0
  349. data/rust-vendor/futures-util/src/sink/unfold.rs +92 -0
  350. data/rust-vendor/futures-util/src/sink/with.rs +145 -0
  351. data/rust-vendor/futures-util/src/sink/with_flat_map.rs +127 -0
  352. data/rust-vendor/futures-util/src/stream/abortable.rs +19 -0
  353. data/rust-vendor/futures-util/src/stream/empty.rs +45 -0
  354. data/rust-vendor/futures-util/src/stream/futures_ordered.rs +260 -0
  355. data/rust-vendor/futures-util/src/stream/futures_unordered/abort.rs +12 -0
  356. data/rust-vendor/futures-util/src/stream/futures_unordered/iter.rs +172 -0
  357. data/rust-vendor/futures-util/src/stream/futures_unordered/mod.rs +674 -0
  358. data/rust-vendor/futures-util/src/stream/futures_unordered/ready_to_run_queue.rs +113 -0
  359. data/rust-vendor/futures-util/src/stream/futures_unordered/task.rs +214 -0
  360. data/rust-vendor/futures-util/src/stream/iter.rs +66 -0
  361. data/rust-vendor/futures-util/src/stream/mod.rs +148 -0
  362. data/rust-vendor/futures-util/src/stream/once.rs +67 -0
  363. data/rust-vendor/futures-util/src/stream/pending.rs +45 -0
  364. data/rust-vendor/futures-util/src/stream/poll_fn.rs +57 -0
  365. data/rust-vendor/futures-util/src/stream/poll_immediate.rs +80 -0
  366. data/rust-vendor/futures-util/src/stream/repeat.rs +58 -0
  367. data/rust-vendor/futures-util/src/stream/repeat_with.rs +93 -0
  368. data/rust-vendor/futures-util/src/stream/select.rs +117 -0
  369. data/rust-vendor/futures-util/src/stream/select_all.rs +249 -0
  370. data/rust-vendor/futures-util/src/stream/select_with_strategy.rs +304 -0
  371. data/rust-vendor/futures-util/src/stream/stream/all.rs +93 -0
  372. data/rust-vendor/futures-util/src/stream/stream/any.rs +93 -0
  373. data/rust-vendor/futures-util/src/stream/stream/buffer_unordered.rs +120 -0
  374. data/rust-vendor/futures-util/src/stream/stream/buffered.rs +118 -0
  375. data/rust-vendor/futures-util/src/stream/stream/catch_unwind.rs +62 -0
  376. data/rust-vendor/futures-util/src/stream/stream/chain.rs +76 -0
  377. data/rust-vendor/futures-util/src/stream/stream/chunks.rs +103 -0
  378. data/rust-vendor/futures-util/src/stream/stream/collect.rs +56 -0
  379. data/rust-vendor/futures-util/src/stream/stream/concat.rs +62 -0
  380. data/rust-vendor/futures-util/src/stream/stream/count.rs +53 -0
  381. data/rust-vendor/futures-util/src/stream/stream/cycle.rs +67 -0
  382. data/rust-vendor/futures-util/src/stream/stream/enumerate.rs +64 -0
  383. data/rust-vendor/futures-util/src/stream/stream/filter.rs +117 -0
  384. data/rust-vendor/futures-util/src/stream/stream/filter_map.rs +111 -0
  385. data/rust-vendor/futures-util/src/stream/stream/flatten.rs +73 -0
  386. data/rust-vendor/futures-util/src/stream/stream/flatten_unordered.rs +531 -0
  387. data/rust-vendor/futures-util/src/stream/stream/fold.rs +88 -0
  388. data/rust-vendor/futures-util/src/stream/stream/for_each.rs +78 -0
  389. data/rust-vendor/futures-util/src/stream/stream/for_each_concurrent.rs +119 -0
  390. data/rust-vendor/futures-util/src/stream/stream/forward.rs +75 -0
  391. data/rust-vendor/futures-util/src/stream/stream/fuse.rs +75 -0
  392. data/rust-vendor/futures-util/src/stream/stream/into_future.rs +90 -0
  393. data/rust-vendor/futures-util/src/stream/stream/map.rs +77 -0
  394. data/rust-vendor/futures-util/src/stream/stream/mod.rs +1697 -0
  395. data/rust-vendor/futures-util/src/stream/stream/next.rs +34 -0
  396. data/rust-vendor/futures-util/src/stream/stream/peek.rs +441 -0
  397. data/rust-vendor/futures-util/src/stream/stream/ready_chunks.rs +93 -0
  398. data/rust-vendor/futures-util/src/stream/stream/scan.rs +128 -0
  399. data/rust-vendor/futures-util/src/stream/stream/select_next_some.rs +42 -0
  400. data/rust-vendor/futures-util/src/stream/stream/skip.rs +70 -0
  401. data/rust-vendor/futures-util/src/stream/stream/skip_while.rs +124 -0
  402. data/rust-vendor/futures-util/src/stream/stream/split.rs +224 -0
  403. data/rust-vendor/futures-util/src/stream/stream/take.rs +86 -0
  404. data/rust-vendor/futures-util/src/stream/stream/take_until.rs +170 -0
  405. data/rust-vendor/futures-util/src/stream/stream/take_while.rs +124 -0
  406. data/rust-vendor/futures-util/src/stream/stream/then.rs +101 -0
  407. data/rust-vendor/futures-util/src/stream/stream/unzip.rs +63 -0
  408. data/rust-vendor/futures-util/src/stream/stream/zip.rs +128 -0
  409. data/rust-vendor/futures-util/src/stream/try_stream/and_then.rs +105 -0
  410. data/rust-vendor/futures-util/src/stream/try_stream/into_async_read.rs +166 -0
  411. data/rust-vendor/futures-util/src/stream/try_stream/into_stream.rs +52 -0
  412. data/rust-vendor/futures-util/src/stream/try_stream/mod.rs +1254 -0
  413. data/rust-vendor/futures-util/src/stream/try_stream/or_else.rs +109 -0
  414. data/rust-vendor/futures-util/src/stream/try_stream/try_all.rs +98 -0
  415. data/rust-vendor/futures-util/src/stream/try_stream/try_any.rs +98 -0
  416. data/rust-vendor/futures-util/src/stream/try_stream/try_buffer_unordered.rs +86 -0
  417. data/rust-vendor/futures-util/src/stream/try_stream/try_buffered.rs +87 -0
  418. data/rust-vendor/futures-util/src/stream/try_stream/try_chunks.rs +132 -0
  419. data/rust-vendor/futures-util/src/stream/try_stream/try_collect.rs +52 -0
  420. data/rust-vendor/futures-util/src/stream/try_stream/try_concat.rs +51 -0
  421. data/rust-vendor/futures-util/src/stream/try_stream/try_filter.rs +112 -0
  422. data/rust-vendor/futures-util/src/stream/try_stream/try_filter_map.rs +106 -0
  423. data/rust-vendor/futures-util/src/stream/try_stream/try_flatten.rs +84 -0
  424. data/rust-vendor/futures-util/src/stream/try_stream/try_flatten_unordered.rs +176 -0
  425. data/rust-vendor/futures-util/src/stream/try_stream/try_fold.rs +93 -0
  426. data/rust-vendor/futures-util/src/stream/try_stream/try_for_each.rs +68 -0
  427. data/rust-vendor/futures-util/src/stream/try_stream/try_for_each_concurrent.rs +132 -0
  428. data/rust-vendor/futures-util/src/stream/try_stream/try_next.rs +34 -0
  429. data/rust-vendor/futures-util/src/stream/try_stream/try_ready_chunks.rs +126 -0
  430. data/rust-vendor/futures-util/src/stream/try_stream/try_skip_while.rs +120 -0
  431. data/rust-vendor/futures-util/src/stream/try_stream/try_take_while.rs +129 -0
  432. data/rust-vendor/futures-util/src/stream/try_stream/try_unfold.rs +122 -0
  433. data/rust-vendor/futures-util/src/stream/unfold.rs +119 -0
  434. data/rust-vendor/futures-util/src/task/mod.rs +40 -0
  435. data/rust-vendor/futures-util/src/task/spawn.rs +169 -0
  436. data/rust-vendor/futures-util/src/unfold_state.rs +39 -0
  437. data/rust-vendor/html-to-markdown-rs/Cargo.toml +2 -2
  438. data/rust-vendor/html-to-markdown-rs/src/convert_api.rs +5 -1
  439. data/rust-vendor/html-to-markdown-rs/src/converter/block/paragraph.rs +1 -0
  440. data/rust-vendor/html-to-markdown-rs/src/converter/context.rs +5 -0
  441. data/rust-vendor/html-to-markdown-rs/src/converter/text_node.rs +6 -1
  442. data/rust-vendor/html-to-markdown-rs/src/converter/visitor_hooks.rs +9 -3
  443. data/rust-vendor/html-to-markdown-rs/tests/convert_with_metadata_no_frontmatter.rs +100 -0
  444. data/rust-vendor/html-to-markdown-rs/tests/issue_212_regressions.rs +63 -0
  445. data/rust-vendor/html-to-markdown-rs/tests/visitor_integration_test.rs +58 -0
  446. data/rust-vendor/html5ever/.cargo-checksum.json +1 -1
  447. data/rust-vendor/html5ever/.cargo_vcs_info.json +1 -1
  448. data/rust-vendor/html5ever/Cargo.lock +216 -128
  449. data/rust-vendor/html5ever/Cargo.toml +11 -6
  450. data/rust-vendor/html5ever/Cargo.toml.orig +1 -0
  451. data/rust-vendor/html5ever/examples/arena.rs +30 -1
  452. data/rust-vendor/html5ever/src/driver.rs +19 -5
  453. data/rust-vendor/html5ever/src/encoding.rs +173 -0
  454. data/rust-vendor/html5ever/src/lib.rs +1 -0
  455. data/rust-vendor/html5ever/src/serialize/mod.rs +2 -2
  456. data/rust-vendor/html5ever/src/tokenizer/interface.rs +42 -4
  457. data/rust-vendor/html5ever/src/tokenizer/mod.rs +24 -1
  458. data/rust-vendor/html5ever/src/tokenizer/states.rs +34 -0
  459. data/rust-vendor/html5ever/src/tree_builder/mod.rs +8 -13
  460. data/rust-vendor/html5ever/src/tree_builder/rules.rs +131 -153
  461. data/rust-vendor/html5ever/src/tree_builder/tag_sets.rs +1 -6
  462. data/rust-vendor/html5ever/src/tree_builder/types.rs +22 -2
  463. data/rust-vendor/html5ever/tests/driver.rs +111 -0
  464. data/rust-vendor/js-sys/.cargo-checksum.json +1 -1
  465. data/rust-vendor/js-sys/.cargo_vcs_info.json +1 -1
  466. data/rust-vendor/js-sys/Cargo.lock +19 -19
  467. data/rust-vendor/js-sys/Cargo.toml +7 -3
  468. data/rust-vendor/js-sys/Cargo.toml.orig +7 -3
  469. data/rust-vendor/js-sys/README.md +2 -2
  470. data/rust-vendor/js-sys/src/Temporal.rs +2990 -663
  471. data/rust-vendor/js-sys/src/lib.rs +7485 -731
  472. data/rust-vendor/linux-raw-sys/.cargo-checksum.json +1 -1
  473. data/rust-vendor/linux-raw-sys/.cargo_vcs_info.json +1 -1
  474. data/rust-vendor/linux-raw-sys/Cargo.lock +3 -3
  475. data/rust-vendor/linux-raw-sys/Cargo.toml +3 -1
  476. data/rust-vendor/linux-raw-sys/Cargo.toml.orig +3 -1
  477. data/rust-vendor/linux-raw-sys/src/aarch64/btrfs.rs +42 -1
  478. data/rust-vendor/linux-raw-sys/src/aarch64/general.rs +52 -2
  479. data/rust-vendor/linux-raw-sys/src/aarch64/if_arp.rs +6 -2
  480. data/rust-vendor/linux-raw-sys/src/aarch64/if_tun.rs +319 -0
  481. data/rust-vendor/linux-raw-sys/src/aarch64/io_uring.rs +52 -1
  482. data/rust-vendor/linux-raw-sys/src/aarch64/ioctl.rs +0 -1
  483. data/rust-vendor/linux-raw-sys/src/aarch64/net.rs +5 -1
  484. data/rust-vendor/linux-raw-sys/src/aarch64/netlink.rs +153 -6
  485. data/rust-vendor/linux-raw-sys/src/aarch64/prctl.rs +3 -2
  486. data/rust-vendor/linux-raw-sys/src/aarch64/ptrace.rs +2 -0
  487. data/rust-vendor/linux-raw-sys/src/aarch64/vm_sockets.rs +111 -0
  488. data/rust-vendor/linux-raw-sys/src/aarch64/xdp.rs +1 -0
  489. data/rust-vendor/linux-raw-sys/src/arm/btrfs.rs +42 -1
  490. data/rust-vendor/linux-raw-sys/src/arm/general.rs +52 -2
  491. data/rust-vendor/linux-raw-sys/src/arm/if_arp.rs +6 -2
  492. data/rust-vendor/linux-raw-sys/src/arm/if_tun.rs +317 -0
  493. data/rust-vendor/linux-raw-sys/src/arm/io_uring.rs +52 -1
  494. data/rust-vendor/linux-raw-sys/src/arm/ioctl.rs +0 -1
  495. data/rust-vendor/linux-raw-sys/src/arm/net.rs +5 -1
  496. data/rust-vendor/linux-raw-sys/src/arm/netlink.rs +153 -6
  497. data/rust-vendor/linux-raw-sys/src/arm/prctl.rs +3 -2
  498. data/rust-vendor/linux-raw-sys/src/arm/vm_sockets.rs +108 -0
  499. data/rust-vendor/linux-raw-sys/src/arm/xdp.rs +1 -0
  500. data/rust-vendor/linux-raw-sys/src/csky/btrfs.rs +42 -1
  501. data/rust-vendor/linux-raw-sys/src/csky/general.rs +52 -2
  502. data/rust-vendor/linux-raw-sys/src/csky/if_arp.rs +6 -2
  503. data/rust-vendor/linux-raw-sys/src/csky/if_tun.rs +317 -0
  504. data/rust-vendor/linux-raw-sys/src/csky/io_uring.rs +52 -1
  505. data/rust-vendor/linux-raw-sys/src/csky/net.rs +5 -1
  506. data/rust-vendor/linux-raw-sys/src/csky/netlink.rs +153 -6
  507. data/rust-vendor/linux-raw-sys/src/csky/prctl.rs +3 -2
  508. data/rust-vendor/linux-raw-sys/src/csky/vm_sockets.rs +108 -0
  509. data/rust-vendor/linux-raw-sys/src/csky/xdp.rs +1 -0
  510. data/rust-vendor/linux-raw-sys/src/hexagon/auxvec.rs +30 -0
  511. data/rust-vendor/linux-raw-sys/src/hexagon/bootparam.rs +3 -0
  512. data/rust-vendor/linux-raw-sys/src/hexagon/btrfs.rs +1935 -0
  513. data/rust-vendor/linux-raw-sys/src/hexagon/elf_uapi.rs +652 -0
  514. data/rust-vendor/linux-raw-sys/src/hexagon/errno.rs +135 -0
  515. data/rust-vendor/linux-raw-sys/src/hexagon/general.rs +3284 -0
  516. data/rust-vendor/linux-raw-sys/src/hexagon/if_arp.rs +2793 -0
  517. data/rust-vendor/linux-raw-sys/src/hexagon/if_ether.rs +168 -0
  518. data/rust-vendor/linux-raw-sys/src/hexagon/if_packet.rs +309 -0
  519. data/rust-vendor/linux-raw-sys/src/hexagon/if_tun.rs +317 -0
  520. data/rust-vendor/linux-raw-sys/src/hexagon/image.rs +3 -0
  521. data/rust-vendor/linux-raw-sys/src/hexagon/io_uring.rs +1489 -0
  522. data/rust-vendor/linux-raw-sys/src/hexagon/ioctl.rs +3 -0
  523. data/rust-vendor/linux-raw-sys/src/hexagon/landlock.rs +102 -0
  524. data/rust-vendor/linux-raw-sys/src/hexagon/loop_device.rs +132 -0
  525. data/rust-vendor/linux-raw-sys/src/hexagon/mempolicy.rs +175 -0
  526. data/rust-vendor/linux-raw-sys/src/hexagon/net.rs +3487 -0
  527. data/rust-vendor/linux-raw-sys/src/hexagon/netlink.rs +5606 -0
  528. data/rust-vendor/linux-raw-sys/src/hexagon/prctl.rs +270 -0
  529. data/rust-vendor/linux-raw-sys/src/hexagon/ptrace.rs +1091 -0
  530. data/rust-vendor/linux-raw-sys/src/hexagon/system.rs +100 -0
  531. data/rust-vendor/linux-raw-sys/src/hexagon/vm_sockets.rs +108 -0
  532. data/rust-vendor/linux-raw-sys/src/hexagon/xdp.rs +192 -0
  533. data/rust-vendor/linux-raw-sys/src/lib.rs +329 -0
  534. data/rust-vendor/linux-raw-sys/src/loongarch64/btrfs.rs +42 -1
  535. data/rust-vendor/linux-raw-sys/src/loongarch64/general.rs +52 -2
  536. data/rust-vendor/linux-raw-sys/src/loongarch64/if_arp.rs +6 -2
  537. data/rust-vendor/linux-raw-sys/src/loongarch64/if_tun.rs +319 -0
  538. data/rust-vendor/linux-raw-sys/src/loongarch64/io_uring.rs +52 -1
  539. data/rust-vendor/linux-raw-sys/src/loongarch64/net.rs +5 -1
  540. data/rust-vendor/linux-raw-sys/src/loongarch64/netlink.rs +153 -6
  541. data/rust-vendor/linux-raw-sys/src/loongarch64/prctl.rs +3 -2
  542. data/rust-vendor/linux-raw-sys/src/loongarch64/vm_sockets.rs +111 -0
  543. data/rust-vendor/linux-raw-sys/src/loongarch64/xdp.rs +1 -0
  544. data/rust-vendor/linux-raw-sys/src/m68k/auxvec.rs +30 -0
  545. data/rust-vendor/linux-raw-sys/src/m68k/bootparam.rs +3 -0
  546. data/rust-vendor/linux-raw-sys/src/m68k/btrfs.rs +1935 -0
  547. data/rust-vendor/linux-raw-sys/src/m68k/elf_uapi.rs +652 -0
  548. data/rust-vendor/linux-raw-sys/src/m68k/errno.rs +135 -0
  549. data/rust-vendor/linux-raw-sys/src/m68k/general.rs +3379 -0
  550. data/rust-vendor/linux-raw-sys/src/m68k/if_arp.rs +2793 -0
  551. data/rust-vendor/linux-raw-sys/src/m68k/if_ether.rs +168 -0
  552. data/rust-vendor/linux-raw-sys/src/m68k/if_packet.rs +309 -0
  553. data/rust-vendor/linux-raw-sys/src/m68k/if_tun.rs +317 -0
  554. data/rust-vendor/linux-raw-sys/src/m68k/image.rs +3 -0
  555. data/rust-vendor/linux-raw-sys/src/m68k/io_uring.rs +1489 -0
  556. data/rust-vendor/linux-raw-sys/src/m68k/ioctl.rs +1501 -0
  557. data/rust-vendor/linux-raw-sys/src/m68k/landlock.rs +102 -0
  558. data/rust-vendor/linux-raw-sys/src/m68k/loop_device.rs +132 -0
  559. data/rust-vendor/linux-raw-sys/src/m68k/mempolicy.rs +175 -0
  560. data/rust-vendor/linux-raw-sys/src/m68k/net.rs +3487 -0
  561. data/rust-vendor/linux-raw-sys/src/m68k/netlink.rs +5606 -0
  562. data/rust-vendor/linux-raw-sys/src/m68k/prctl.rs +270 -0
  563. data/rust-vendor/linux-raw-sys/src/m68k/ptrace.rs +1019 -0
  564. data/rust-vendor/linux-raw-sys/src/m68k/system.rs +100 -0
  565. data/rust-vendor/linux-raw-sys/src/m68k/vm_sockets.rs +108 -0
  566. data/rust-vendor/linux-raw-sys/src/m68k/xdp.rs +192 -0
  567. data/rust-vendor/linux-raw-sys/src/mips/btrfs.rs +42 -1
  568. data/rust-vendor/linux-raw-sys/src/mips/general.rs +52 -2
  569. data/rust-vendor/linux-raw-sys/src/mips/if_arp.rs +6 -2
  570. data/rust-vendor/linux-raw-sys/src/mips/if_tun.rs +327 -0
  571. data/rust-vendor/linux-raw-sys/src/mips/io_uring.rs +52 -1
  572. data/rust-vendor/linux-raw-sys/src/mips/ioctl.rs +0 -1
  573. data/rust-vendor/linux-raw-sys/src/mips/net.rs +5 -1
  574. data/rust-vendor/linux-raw-sys/src/mips/netlink.rs +153 -6
  575. data/rust-vendor/linux-raw-sys/src/mips/prctl.rs +3 -2
  576. data/rust-vendor/linux-raw-sys/src/mips/vm_sockets.rs +118 -0
  577. data/rust-vendor/linux-raw-sys/src/mips/xdp.rs +1 -0
  578. data/rust-vendor/linux-raw-sys/src/mips32r6/btrfs.rs +42 -1
  579. data/rust-vendor/linux-raw-sys/src/mips32r6/general.rs +52 -2
  580. data/rust-vendor/linux-raw-sys/src/mips32r6/if_arp.rs +6 -2
  581. data/rust-vendor/linux-raw-sys/src/mips32r6/if_tun.rs +327 -0
  582. data/rust-vendor/linux-raw-sys/src/mips32r6/io_uring.rs +52 -1
  583. data/rust-vendor/linux-raw-sys/src/mips32r6/ioctl.rs +0 -1
  584. data/rust-vendor/linux-raw-sys/src/mips32r6/net.rs +5 -1
  585. data/rust-vendor/linux-raw-sys/src/mips32r6/netlink.rs +153 -6
  586. data/rust-vendor/linux-raw-sys/src/mips32r6/prctl.rs +3 -2
  587. data/rust-vendor/linux-raw-sys/src/mips32r6/vm_sockets.rs +118 -0
  588. data/rust-vendor/linux-raw-sys/src/mips32r6/xdp.rs +1 -0
  589. data/rust-vendor/linux-raw-sys/src/mips64/btrfs.rs +42 -1
  590. data/rust-vendor/linux-raw-sys/src/mips64/general.rs +52 -2
  591. data/rust-vendor/linux-raw-sys/src/mips64/if_arp.rs +6 -2
  592. data/rust-vendor/linux-raw-sys/src/mips64/if_tun.rs +329 -0
  593. data/rust-vendor/linux-raw-sys/src/mips64/io_uring.rs +52 -1
  594. data/rust-vendor/linux-raw-sys/src/mips64/ioctl.rs +0 -1
  595. data/rust-vendor/linux-raw-sys/src/mips64/net.rs +5 -1
  596. data/rust-vendor/linux-raw-sys/src/mips64/netlink.rs +153 -6
  597. data/rust-vendor/linux-raw-sys/src/mips64/prctl.rs +3 -2
  598. data/rust-vendor/linux-raw-sys/src/mips64/vm_sockets.rs +121 -0
  599. data/rust-vendor/linux-raw-sys/src/mips64/xdp.rs +1 -0
  600. data/rust-vendor/linux-raw-sys/src/mips64r6/btrfs.rs +42 -1
  601. data/rust-vendor/linux-raw-sys/src/mips64r6/general.rs +52 -2
  602. data/rust-vendor/linux-raw-sys/src/mips64r6/if_arp.rs +6 -2
  603. data/rust-vendor/linux-raw-sys/src/mips64r6/if_tun.rs +329 -0
  604. data/rust-vendor/linux-raw-sys/src/mips64r6/io_uring.rs +52 -1
  605. data/rust-vendor/linux-raw-sys/src/mips64r6/ioctl.rs +0 -1
  606. data/rust-vendor/linux-raw-sys/src/mips64r6/net.rs +5 -1
  607. data/rust-vendor/linux-raw-sys/src/mips64r6/netlink.rs +153 -6
  608. data/rust-vendor/linux-raw-sys/src/mips64r6/prctl.rs +3 -2
  609. data/rust-vendor/linux-raw-sys/src/mips64r6/vm_sockets.rs +121 -0
  610. data/rust-vendor/linux-raw-sys/src/mips64r6/xdp.rs +1 -0
  611. data/rust-vendor/linux-raw-sys/src/powerpc/btrfs.rs +42 -1
  612. data/rust-vendor/linux-raw-sys/src/powerpc/general.rs +52 -2
  613. data/rust-vendor/linux-raw-sys/src/powerpc/if_arp.rs +6 -2
  614. data/rust-vendor/linux-raw-sys/src/powerpc/if_tun.rs +323 -0
  615. data/rust-vendor/linux-raw-sys/src/powerpc/io_uring.rs +52 -1
  616. data/rust-vendor/linux-raw-sys/src/powerpc/ioctl.rs +0 -1
  617. data/rust-vendor/linux-raw-sys/src/powerpc/net.rs +5 -1
  618. data/rust-vendor/linux-raw-sys/src/powerpc/netlink.rs +153 -6
  619. data/rust-vendor/linux-raw-sys/src/powerpc/prctl.rs +3 -2
  620. data/rust-vendor/linux-raw-sys/src/powerpc/vm_sockets.rs +114 -0
  621. data/rust-vendor/linux-raw-sys/src/powerpc/xdp.rs +1 -0
  622. data/rust-vendor/linux-raw-sys/src/powerpc64/btrfs.rs +42 -1
  623. data/rust-vendor/linux-raw-sys/src/powerpc64/general.rs +52 -2
  624. data/rust-vendor/linux-raw-sys/src/powerpc64/if_arp.rs +6 -2
  625. data/rust-vendor/linux-raw-sys/src/powerpc64/if_tun.rs +325 -0
  626. data/rust-vendor/linux-raw-sys/src/powerpc64/io_uring.rs +52 -1
  627. data/rust-vendor/linux-raw-sys/src/powerpc64/ioctl.rs +0 -1
  628. data/rust-vendor/linux-raw-sys/src/powerpc64/net.rs +5 -1
  629. data/rust-vendor/linux-raw-sys/src/powerpc64/netlink.rs +153 -6
  630. data/rust-vendor/linux-raw-sys/src/powerpc64/prctl.rs +3 -2
  631. data/rust-vendor/linux-raw-sys/src/powerpc64/vm_sockets.rs +117 -0
  632. data/rust-vendor/linux-raw-sys/src/powerpc64/xdp.rs +1 -0
  633. data/rust-vendor/linux-raw-sys/src/riscv32/btrfs.rs +42 -1
  634. data/rust-vendor/linux-raw-sys/src/riscv32/general.rs +52 -2
  635. data/rust-vendor/linux-raw-sys/src/riscv32/if_arp.rs +6 -2
  636. data/rust-vendor/linux-raw-sys/src/riscv32/if_tun.rs +317 -0
  637. data/rust-vendor/linux-raw-sys/src/riscv32/io_uring.rs +52 -1
  638. data/rust-vendor/linux-raw-sys/src/riscv32/net.rs +5 -1
  639. data/rust-vendor/linux-raw-sys/src/riscv32/netlink.rs +153 -6
  640. data/rust-vendor/linux-raw-sys/src/riscv32/prctl.rs +3 -2
  641. data/rust-vendor/linux-raw-sys/src/riscv32/vm_sockets.rs +108 -0
  642. data/rust-vendor/linux-raw-sys/src/riscv32/xdp.rs +1 -0
  643. data/rust-vendor/linux-raw-sys/src/riscv64/btrfs.rs +42 -1
  644. data/rust-vendor/linux-raw-sys/src/riscv64/general.rs +52 -2
  645. data/rust-vendor/linux-raw-sys/src/riscv64/if_arp.rs +6 -2
  646. data/rust-vendor/linux-raw-sys/src/riscv64/if_tun.rs +319 -0
  647. data/rust-vendor/linux-raw-sys/src/riscv64/io_uring.rs +52 -1
  648. data/rust-vendor/linux-raw-sys/src/riscv64/ioctl.rs +0 -1
  649. data/rust-vendor/linux-raw-sys/src/riscv64/net.rs +5 -1
  650. data/rust-vendor/linux-raw-sys/src/riscv64/netlink.rs +153 -6
  651. data/rust-vendor/linux-raw-sys/src/riscv64/prctl.rs +3 -2
  652. data/rust-vendor/linux-raw-sys/src/riscv64/vm_sockets.rs +111 -0
  653. data/rust-vendor/linux-raw-sys/src/riscv64/xdp.rs +1 -0
  654. data/rust-vendor/linux-raw-sys/src/s390x/btrfs.rs +42 -1
  655. data/rust-vendor/linux-raw-sys/src/s390x/general.rs +52 -2
  656. data/rust-vendor/linux-raw-sys/src/s390x/if_arp.rs +6 -2
  657. data/rust-vendor/linux-raw-sys/src/s390x/if_tun.rs +339 -0
  658. data/rust-vendor/linux-raw-sys/src/s390x/io_uring.rs +52 -1
  659. data/rust-vendor/linux-raw-sys/src/s390x/ioctl.rs +0 -1
  660. data/rust-vendor/linux-raw-sys/src/s390x/net.rs +5 -1
  661. data/rust-vendor/linux-raw-sys/src/s390x/netlink.rs +153 -6
  662. data/rust-vendor/linux-raw-sys/src/s390x/prctl.rs +3 -2
  663. data/rust-vendor/linux-raw-sys/src/s390x/vm_sockets.rs +131 -0
  664. data/rust-vendor/linux-raw-sys/src/s390x/xdp.rs +1 -0
  665. data/rust-vendor/linux-raw-sys/src/sparc/btrfs.rs +42 -1
  666. data/rust-vendor/linux-raw-sys/src/sparc/general.rs +52 -2
  667. data/rust-vendor/linux-raw-sys/src/sparc/if_arp.rs +6 -2
  668. data/rust-vendor/linux-raw-sys/src/sparc/if_tun.rs +317 -0
  669. data/rust-vendor/linux-raw-sys/src/sparc/io_uring.rs +52 -1
  670. data/rust-vendor/linux-raw-sys/src/sparc/net.rs +5 -1
  671. data/rust-vendor/linux-raw-sys/src/sparc/netlink.rs +153 -6
  672. data/rust-vendor/linux-raw-sys/src/sparc/prctl.rs +3 -2
  673. data/rust-vendor/linux-raw-sys/src/sparc/vm_sockets.rs +108 -0
  674. data/rust-vendor/linux-raw-sys/src/sparc/xdp.rs +1 -0
  675. data/rust-vendor/linux-raw-sys/src/sparc64/btrfs.rs +42 -1
  676. data/rust-vendor/linux-raw-sys/src/sparc64/general.rs +52 -2
  677. data/rust-vendor/linux-raw-sys/src/sparc64/if_arp.rs +6 -2
  678. data/rust-vendor/linux-raw-sys/src/sparc64/if_tun.rs +325 -0
  679. data/rust-vendor/linux-raw-sys/src/sparc64/io_uring.rs +52 -1
  680. data/rust-vendor/linux-raw-sys/src/sparc64/net.rs +5 -1
  681. data/rust-vendor/linux-raw-sys/src/sparc64/netlink.rs +153 -6
  682. data/rust-vendor/linux-raw-sys/src/sparc64/prctl.rs +3 -2
  683. data/rust-vendor/linux-raw-sys/src/sparc64/vm_sockets.rs +117 -0
  684. data/rust-vendor/linux-raw-sys/src/sparc64/xdp.rs +1 -0
  685. data/rust-vendor/linux-raw-sys/src/x32/btrfs.rs +42 -1
  686. data/rust-vendor/linux-raw-sys/src/x32/general.rs +52 -2
  687. data/rust-vendor/linux-raw-sys/src/x32/if_arp.rs +6 -2
  688. data/rust-vendor/linux-raw-sys/src/x32/if_tun.rs +319 -0
  689. data/rust-vendor/linux-raw-sys/src/x32/io_uring.rs +52 -1
  690. data/rust-vendor/linux-raw-sys/src/x32/ioctl.rs +0 -1
  691. data/rust-vendor/linux-raw-sys/src/x32/net.rs +5 -1
  692. data/rust-vendor/linux-raw-sys/src/x32/netlink.rs +153 -6
  693. data/rust-vendor/linux-raw-sys/src/x32/prctl.rs +3 -2
  694. data/rust-vendor/linux-raw-sys/src/x32/vm_sockets.rs +111 -0
  695. data/rust-vendor/linux-raw-sys/src/x32/xdp.rs +1 -0
  696. data/rust-vendor/linux-raw-sys/src/x86/btrfs.rs +42 -1
  697. data/rust-vendor/linux-raw-sys/src/x86/general.rs +52 -2
  698. data/rust-vendor/linux-raw-sys/src/x86/if_arp.rs +6 -2
  699. data/rust-vendor/linux-raw-sys/src/x86/if_tun.rs +317 -0
  700. data/rust-vendor/linux-raw-sys/src/x86/io_uring.rs +52 -1
  701. data/rust-vendor/linux-raw-sys/src/x86/ioctl.rs +0 -1
  702. data/rust-vendor/linux-raw-sys/src/x86/net.rs +5 -1
  703. data/rust-vendor/linux-raw-sys/src/x86/netlink.rs +153 -6
  704. data/rust-vendor/linux-raw-sys/src/x86/prctl.rs +3 -2
  705. data/rust-vendor/linux-raw-sys/src/x86/vm_sockets.rs +108 -0
  706. data/rust-vendor/linux-raw-sys/src/x86/xdp.rs +1 -0
  707. data/rust-vendor/linux-raw-sys/src/x86_64/btrfs.rs +42 -1
  708. data/rust-vendor/linux-raw-sys/src/x86_64/general.rs +52 -2
  709. data/rust-vendor/linux-raw-sys/src/x86_64/if_arp.rs +6 -2
  710. data/rust-vendor/linux-raw-sys/src/x86_64/if_tun.rs +319 -0
  711. data/rust-vendor/linux-raw-sys/src/x86_64/io_uring.rs +52 -1
  712. data/rust-vendor/linux-raw-sys/src/x86_64/ioctl.rs +0 -1
  713. data/rust-vendor/linux-raw-sys/src/x86_64/net.rs +5 -1
  714. data/rust-vendor/linux-raw-sys/src/x86_64/netlink.rs +153 -6
  715. data/rust-vendor/linux-raw-sys/src/x86_64/prctl.rs +3 -2
  716. data/rust-vendor/linux-raw-sys/src/x86_64/vm_sockets.rs +111 -0
  717. data/rust-vendor/linux-raw-sys/src/x86_64/xdp.rs +1 -0
  718. data/rust-vendor/markup5ever/.cargo-checksum.json +1 -1
  719. data/rust-vendor/markup5ever/.cargo_vcs_info.json +1 -1
  720. data/rust-vendor/markup5ever/Cargo.toml +6 -3
  721. data/rust-vendor/markup5ever/Cargo.toml.orig +3 -0
  722. data/rust-vendor/markup5ever/interface/mod.rs +9 -0
  723. data/rust-vendor/markup5ever/interface/tree_builder.rs +11 -0
  724. data/rust-vendor/pin-project-lite/.cargo-checksum.json +1 -0
  725. data/rust-vendor/pin-project-lite/.cargo_vcs_info.json +6 -0
  726. data/rust-vendor/pin-project-lite/CHANGELOG.md +264 -0
  727. data/rust-vendor/pin-project-lite/Cargo.lock +23 -0
  728. data/rust-vendor/pin-project-lite/Cargo.toml +198 -0
  729. data/rust-vendor/pin-project-lite/Cargo.toml.orig +91 -0
  730. data/rust-vendor/pin-project-lite/LICENSE-APACHE +177 -0
  731. data/rust-vendor/pin-project-lite/LICENSE-MIT +23 -0
  732. data/rust-vendor/pin-project-lite/README.md +129 -0
  733. data/rust-vendor/pin-project-lite/src/lib.rs +1770 -0
  734. data/rust-vendor/pin-project-lite/tests/auxiliary/mod.rs +14 -0
  735. data/rust-vendor/pin-project-lite/tests/compiletest.rs +11 -0
  736. data/rust-vendor/pin-project-lite/tests/drop_order.rs +169 -0
  737. data/rust-vendor/pin-project-lite/tests/expand/.rustfmt.toml +1 -0
  738. data/rust-vendor/pin-project-lite/tests/expand/default/enum.expanded.rs +166 -0
  739. data/rust-vendor/pin-project-lite/tests/expand/default/enum.rs +19 -0
  740. data/rust-vendor/pin-project-lite/tests/expand/default/struct.expanded.rs +107 -0
  741. data/rust-vendor/pin-project-lite/tests/expand/default/struct.rs +13 -0
  742. data/rust-vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs +102 -0
  743. data/rust-vendor/pin-project-lite/tests/expand/multifields/enum.rs +20 -0
  744. data/rust-vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs +174 -0
  745. data/rust-vendor/pin-project-lite/tests/expand/multifields/struct.rs +17 -0
  746. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs +166 -0
  747. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-all.rs +19 -0
  748. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs +76 -0
  749. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-mut.rs +17 -0
  750. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs +33 -0
  751. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-none.rs +16 -0
  752. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs +76 -0
  753. data/rust-vendor/pin-project-lite/tests/expand/naming/enum-ref.rs +17 -0
  754. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs +151 -0
  755. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-all.rs +16 -0
  756. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs +107 -0
  757. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-mut.rs +14 -0
  758. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs +107 -0
  759. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-none.rs +13 -0
  760. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs +107 -0
  761. data/rust-vendor/pin-project-lite/tests/expand/naming/struct-ref.rs +14 -0
  762. data/rust-vendor/pin-project-lite/tests/expand/not_unpin/enum.expanded.rs +114 -0
  763. data/rust-vendor/pin-project-lite/tests/expand/not_unpin/enum.rs +19 -0
  764. data/rust-vendor/pin-project-lite/tests/expand/not_unpin/struct.expanded.rs +103 -0
  765. data/rust-vendor/pin-project-lite/tests/expand/not_unpin/struct.rs +16 -0
  766. data/rust-vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs +128 -0
  767. data/rust-vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs +23 -0
  768. data/rust-vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs +117 -0
  769. data/rust-vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs +18 -0
  770. data/rust-vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs +118 -0
  771. data/rust-vendor/pin-project-lite/tests/expand/pub/enum.rs +18 -0
  772. data/rust-vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs +107 -0
  773. data/rust-vendor/pin-project-lite/tests/expand/pub/struct.rs +13 -0
  774. data/rust-vendor/pin-project-lite/tests/expandtest.rs +10 -0
  775. data/rust-vendor/pin-project-lite/tests/include/basic.rs +81 -0
  776. data/rust-vendor/pin-project-lite/tests/proper_unpin.rs +101 -0
  777. data/rust-vendor/pin-project-lite/tests/test.rs +699 -0
  778. data/rust-vendor/pin-project-lite/tests/ui/not_unpin/conflict-unpin.rs +38 -0
  779. data/rust-vendor/pin-project-lite/tests/ui/not_unpin/conflict-unpin.stderr +50 -0
  780. data/rust-vendor/pin-project-lite/tests/ui/not_unpin/negative_impls_stable.rs +22 -0
  781. data/rust-vendor/pin-project-lite/tests/ui/not_unpin/negative_impls_stable.stderr +16 -0
  782. data/rust-vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.rs +17 -0
  783. data/rust-vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr +15 -0
  784. data/rust-vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.rs +66 -0
  785. data/rust-vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr +81 -0
  786. data/rust-vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.rs +95 -0
  787. data/rust-vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr +512 -0
  788. data/rust-vendor/pin-project-lite/tests/ui/pin_project/invalid.rs +27 -0
  789. data/rust-vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr +47 -0
  790. data/rust-vendor/pin-project-lite/tests/ui/pin_project/negative_impls_stable.rs +21 -0
  791. data/rust-vendor/pin-project-lite/tests/ui/pin_project/negative_impls_stable.stderr +15 -0
  792. data/rust-vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.rs +12 -0
  793. data/rust-vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr +75 -0
  794. data/rust-vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.rs +22 -0
  795. data/rust-vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr +34 -0
  796. data/rust-vendor/pin-project-lite/tests/ui/pin_project/packed.rs +21 -0
  797. data/rust-vendor/pin-project-lite/tests/ui/pin_project/packed.stderr +95 -0
  798. data/rust-vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.rs +14 -0
  799. data/rust-vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr +5 -0
  800. data/rust-vendor/pin-project-lite/tests/ui/pin_project/unsupported.rs +29 -0
  801. data/rust-vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr +111 -0
  802. data/rust-vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.rs +19 -0
  803. data/rust-vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr +22 -0
  804. data/rust-vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.rs +28 -0
  805. data/rust-vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr +34 -0
  806. data/rust-vendor/regex-syntax/.cargo-checksum.json +1 -1
  807. data/rust-vendor/regex-syntax/.cargo_vcs_info.json +1 -1
  808. data/rust-vendor/regex-syntax/Cargo.lock +1 -1
  809. data/rust-vendor/regex-syntax/Cargo.toml +6 -1
  810. data/rust-vendor/regex-syntax/Cargo.toml.orig +1 -1
  811. data/rust-vendor/regex-syntax/benches/bench.rs +63 -0
  812. data/rust-vendor/regex-syntax/src/hir/translate.rs +6 -2
  813. data/rust-vendor/rgb/.cargo-checksum.json +1 -1
  814. data/rust-vendor/rgb/.cargo_vcs_info.json +1 -1
  815. data/rust-vendor/rgb/Cargo.lock +31 -20
  816. data/rust-vendor/rgb/Cargo.toml +1 -1
  817. data/rust-vendor/rgb/Cargo.toml.orig +1 -1
  818. data/rust-vendor/rgb/examples/example.rs +1 -12
  819. data/rust-vendor/rgb/src/as_bytes.rs +0 -21
  820. data/rust-vendor/rgb/src/formats/gray.rs +3 -2
  821. data/rust-vendor/rgb/src/legacy/alt.rs +7 -51
  822. data/rust-vendor/rgb/src/legacy/internal/convert/array.rs +0 -16
  823. data/rust-vendor/rgb/src/legacy/internal/convert/mod.rs +24 -74
  824. data/rust-vendor/rgb/src/legacy/internal/convert/tuple.rs +0 -9
  825. data/rust-vendor/rgb/src/legacy/internal/ops.rs +0 -156
  826. data/rust-vendor/rgb/src/legacy/internal/pixel.rs +8 -2
  827. data/rust-vendor/rgb/src/legacy/internal/rgb.rs +8 -61
  828. data/rust-vendor/rgb/src/legacy/internal/rgba.rs +8 -92
  829. data/rust-vendor/rgb/src/lib.rs +6 -113
  830. data/rust-vendor/rustix/.cargo-checksum.json +1 -1
  831. data/rust-vendor/rustix/.cargo_vcs_info.json +1 -1
  832. data/rust-vendor/rustix/Cargo.lock +301 -91
  833. data/rust-vendor/rustix/Cargo.toml +5 -5
  834. data/rust-vendor/rustix/Cargo.toml.orig +5 -5
  835. data/rust-vendor/rustix/README.md +4 -5
  836. data/rust-vendor/rustix/src/backend/libc/fs/makedev.rs +2 -22
  837. data/rust-vendor/rustix/src/backend/libc/fs/syscalls.rs +20 -2
  838. data/rust-vendor/rustix/src/backend/libc/fs/types.rs +16 -0
  839. data/rust-vendor/rustix/src/backend/linux_raw/arch/riscv64.rs +432 -13
  840. data/rust-vendor/rustix/src/fs/at.rs +30 -14
  841. data/rust-vendor/rustix/src/fs/mod.rs +2 -4
  842. data/rust-vendor/rustix/src/process/types.rs +23 -8
  843. data/rust-vendor/slab/.cargo-checksum.json +1 -0
  844. data/rust-vendor/slab/.cargo_vcs_info.json +6 -0
  845. data/rust-vendor/slab/CHANGELOG.md +71 -0
  846. data/rust-vendor/slab/Cargo.lock +83 -0
  847. data/rust-vendor/slab/Cargo.toml +67 -0
  848. data/rust-vendor/slab/Cargo.toml.orig +29 -0
  849. data/rust-vendor/slab/LICENSE +25 -0
  850. data/rust-vendor/slab/README.md +51 -0
  851. data/rust-vendor/slab/SECURITY.md +9 -0
  852. data/rust-vendor/slab/src/builder.rs +63 -0
  853. data/rust-vendor/slab/src/lib.rs +1653 -0
  854. data/rust-vendor/slab/src/serde.rs +62 -0
  855. data/rust-vendor/slab/tests/serde.rs +49 -0
  856. data/rust-vendor/slab/tests/slab.rs +782 -0
  857. data/rust-vendor/syn/.cargo-checksum.json +1 -1
  858. data/rust-vendor/syn/.cargo_vcs_info.json +1 -1
  859. data/rust-vendor/syn/Cargo.lock +30 -30
  860. data/rust-vendor/syn/Cargo.toml +1 -1
  861. data/rust-vendor/syn/Cargo.toml.orig +1 -1
  862. data/rust-vendor/syn/src/item.rs +3 -0
  863. data/rust-vendor/syn/src/lib.rs +1 -1
  864. data/rust-vendor/syn/tests/common/eq.rs +1 -1
  865. data/rust-vendor/tempfile/.cargo-checksum.json +1 -1
  866. data/rust-vendor/tempfile/.cargo_vcs_info.json +1 -1
  867. data/rust-vendor/tempfile/CHANGELOG.md +4 -0
  868. data/rust-vendor/tempfile/Cargo.lock +7 -7
  869. data/rust-vendor/tempfile/Cargo.toml +2 -2
  870. data/rust-vendor/tempfile/Cargo.toml.orig +2 -2
  871. data/rust-vendor/tempfile/README.md +23 -6
  872. data/rust-vendor/tempfile/src/env.rs +1 -1
  873. data/rust-vendor/tempfile/src/file/imp/unix.rs +2 -10
  874. data/rust-vendor/tempfile/src/lib.rs +1 -1
  875. data/rust-vendor/tempfile/src/util.rs +1 -1
  876. data/rust-vendor/tendril/.cargo-checksum.json +1 -1
  877. data/rust-vendor/tendril/.cargo_vcs_info.json +2 -2
  878. data/rust-vendor/tendril/Cargo.lock +642 -68
  879. data/rust-vendor/tendril/Cargo.toml +44 -16
  880. data/rust-vendor/tendril/Cargo.toml.orig +26 -15
  881. data/rust-vendor/tendril/README.md +27 -27
  882. data/rust-vendor/tendril/benches/futf.rs +63 -0
  883. data/rust-vendor/tendril/benches/tendril.rs +158 -0
  884. data/rust-vendor/tendril/examples/fuzz.rs +22 -25
  885. data/rust-vendor/tendril/src/buf32.rs +4 -9
  886. data/rust-vendor/tendril/src/fmt.rs +23 -26
  887. data/rust-vendor/tendril/src/futf.rs +504 -0
  888. data/rust-vendor/tendril/src/lib.rs +13 -13
  889. data/rust-vendor/tendril/src/stream.rs +46 -140
  890. data/rust-vendor/tendril/src/tendril.rs +56 -175
  891. data/rust-vendor/tendril/src/utf8_decode.rs +12 -14
  892. data/rust-vendor/tendril/src/util.rs +5 -9
  893. data/rust-vendor/tokio/.cargo-checksum.json +1 -0
  894. data/rust-vendor/tokio/.cargo_vcs_info.json +6 -0
  895. data/rust-vendor/tokio/CHANGELOG.md +4253 -0
  896. data/rust-vendor/tokio/Cargo.toml +934 -0
  897. data/rust-vendor/tokio/Cargo.toml.orig +189 -0
  898. data/rust-vendor/tokio/LICENSE +21 -0
  899. data/rust-vendor/tokio/README.md +255 -0
  900. data/rust-vendor/tokio/docs/reactor-refactor.md +276 -0
  901. data/rust-vendor/tokio/src/blocking.rs +63 -0
  902. data/rust-vendor/tokio/src/doc/mod.rs +47 -0
  903. data/rust-vendor/tokio/src/doc/os.rs +68 -0
  904. data/rust-vendor/tokio/src/fs/canonicalize.rs +49 -0
  905. data/rust-vendor/tokio/src/fs/copy.rs +24 -0
  906. data/rust-vendor/tokio/src/fs/create_dir.rs +50 -0
  907. data/rust-vendor/tokio/src/fs/create_dir_all.rs +51 -0
  908. data/rust-vendor/tokio/src/fs/dir_builder.rs +129 -0
  909. data/rust-vendor/tokio/src/fs/file/tests.rs +978 -0
  910. data/rust-vendor/tokio/src/fs/file.rs +995 -0
  911. data/rust-vendor/tokio/src/fs/hard_link.rs +44 -0
  912. data/rust-vendor/tokio/src/fs/metadata.rs +46 -0
  913. data/rust-vendor/tokio/src/fs/mocks.rs +176 -0
  914. data/rust-vendor/tokio/src/fs/mod.rs +324 -0
  915. data/rust-vendor/tokio/src/fs/open_options/mock_open_options.rs +39 -0
  916. data/rust-vendor/tokio/src/fs/open_options/uring_open_options.rs +128 -0
  917. data/rust-vendor/tokio/src/fs/open_options.rs +853 -0
  918. data/rust-vendor/tokio/src/fs/read.rs +77 -0
  919. data/rust-vendor/tokio/src/fs/read_dir.rs +357 -0
  920. data/rust-vendor/tokio/src/fs/read_link.rs +12 -0
  921. data/rust-vendor/tokio/src/fs/read_to_string.rs +30 -0
  922. data/rust-vendor/tokio/src/fs/read_uring.rs +134 -0
  923. data/rust-vendor/tokio/src/fs/remove_dir.rs +12 -0
  924. data/rust-vendor/tokio/src/fs/remove_dir_all.rs +14 -0
  925. data/rust-vendor/tokio/src/fs/remove_file.rs +16 -0
  926. data/rust-vendor/tokio/src/fs/rename.rs +17 -0
  927. data/rust-vendor/tokio/src/fs/set_permissions.rs +15 -0
  928. data/rust-vendor/tokio/src/fs/symlink.rs +16 -0
  929. data/rust-vendor/tokio/src/fs/symlink_dir.rs +19 -0
  930. data/rust-vendor/tokio/src/fs/symlink_file.rs +19 -0
  931. data/rust-vendor/tokio/src/fs/symlink_metadata.rs +15 -0
  932. data/rust-vendor/tokio/src/fs/try_exists.rs +28 -0
  933. data/rust-vendor/tokio/src/fs/write.rs +96 -0
  934. data/rust-vendor/tokio/src/future/block_on.rs +22 -0
  935. data/rust-vendor/tokio/src/future/maybe_done.rs +123 -0
  936. data/rust-vendor/tokio/src/future/mod.rs +28 -0
  937. data/rust-vendor/tokio/src/future/trace.rs +11 -0
  938. data/rust-vendor/tokio/src/future/try_join.rs +82 -0
  939. data/rust-vendor/tokio/src/fuzz.rs +1 -0
  940. data/rust-vendor/tokio/src/io/async_buf_read.rs +117 -0
  941. data/rust-vendor/tokio/src/io/async_fd.rs +1439 -0
  942. data/rust-vendor/tokio/src/io/async_read.rs +133 -0
  943. data/rust-vendor/tokio/src/io/async_seek.rs +96 -0
  944. data/rust-vendor/tokio/src/io/async_write.rs +403 -0
  945. data/rust-vendor/tokio/src/io/blocking.rs +306 -0
  946. data/rust-vendor/tokio/src/io/bsd/poll_aio.rs +197 -0
  947. data/rust-vendor/tokio/src/io/interest.rs +345 -0
  948. data/rust-vendor/tokio/src/io/join.rs +130 -0
  949. data/rust-vendor/tokio/src/io/mod.rs +308 -0
  950. data/rust-vendor/tokio/src/io/poll_evented.rs +297 -0
  951. data/rust-vendor/tokio/src/io/read_buf.rs +344 -0
  952. data/rust-vendor/tokio/src/io/ready.rs +322 -0
  953. data/rust-vendor/tokio/src/io/seek.rs +57 -0
  954. data/rust-vendor/tokio/src/io/split.rs +166 -0
  955. data/rust-vendor/tokio/src/io/stderr.rs +134 -0
  956. data/rust-vendor/tokio/src/io/stdin.rs +98 -0
  957. data/rust-vendor/tokio/src/io/stdio_common.rs +222 -0
  958. data/rust-vendor/tokio/src/io/stdout.rs +183 -0
  959. data/rust-vendor/tokio/src/io/uring/mod.rs +4 -0
  960. data/rust-vendor/tokio/src/io/uring/open.rs +59 -0
  961. data/rust-vendor/tokio/src/io/uring/read.rs +61 -0
  962. data/rust-vendor/tokio/src/io/uring/utils.rs +6 -0
  963. data/rust-vendor/tokio/src/io/uring/write.rs +55 -0
  964. data/rust-vendor/tokio/src/io/util/async_buf_read_ext.rs +357 -0
  965. data/rust-vendor/tokio/src/io/util/async_read_ext.rs +1454 -0
  966. data/rust-vendor/tokio/src/io/util/async_seek_ext.rs +96 -0
  967. data/rust-vendor/tokio/src/io/util/async_write_ext.rs +1332 -0
  968. data/rust-vendor/tokio/src/io/util/buf_reader.rs +311 -0
  969. data/rust-vendor/tokio/src/io/util/buf_stream.rs +207 -0
  970. data/rust-vendor/tokio/src/io/util/buf_writer.rs +310 -0
  971. data/rust-vendor/tokio/src/io/util/chain.rs +144 -0
  972. data/rust-vendor/tokio/src/io/util/copy.rs +303 -0
  973. data/rust-vendor/tokio/src/io/util/copy_bidirectional.rs +137 -0
  974. data/rust-vendor/tokio/src/io/util/copy_buf.rs +117 -0
  975. data/rust-vendor/tokio/src/io/util/empty.rs +164 -0
  976. data/rust-vendor/tokio/src/io/util/fill_buf.rs +59 -0
  977. data/rust-vendor/tokio/src/io/util/flush.rs +47 -0
  978. data/rust-vendor/tokio/src/io/util/lines.rs +145 -0
  979. data/rust-vendor/tokio/src/io/util/mem.rs +429 -0
  980. data/rust-vendor/tokio/src/io/util/mod.rs +112 -0
  981. data/rust-vendor/tokio/src/io/util/read.rs +55 -0
  982. data/rust-vendor/tokio/src/io/util/read_buf.rs +71 -0
  983. data/rust-vendor/tokio/src/io/util/read_exact.rs +69 -0
  984. data/rust-vendor/tokio/src/io/util/read_int.rs +158 -0
  985. data/rust-vendor/tokio/src/io/util/read_line.rs +119 -0
  986. data/rust-vendor/tokio/src/io/util/read_to_end.rs +143 -0
  987. data/rust-vendor/tokio/src/io/util/read_to_string.rs +78 -0
  988. data/rust-vendor/tokio/src/io/util/read_until.rs +80 -0
  989. data/rust-vendor/tokio/src/io/util/repeat.rs +74 -0
  990. data/rust-vendor/tokio/src/io/util/shutdown.rs +46 -0
  991. data/rust-vendor/tokio/src/io/util/sink.rs +94 -0
  992. data/rust-vendor/tokio/src/io/util/split.rs +121 -0
  993. data/rust-vendor/tokio/src/io/util/take.rs +138 -0
  994. data/rust-vendor/tokio/src/io/util/vec_with_initialized.rs +142 -0
  995. data/rust-vendor/tokio/src/io/util/write.rs +46 -0
  996. data/rust-vendor/tokio/src/io/util/write_all.rs +55 -0
  997. data/rust-vendor/tokio/src/io/util/write_all_buf.rs +64 -0
  998. data/rust-vendor/tokio/src/io/util/write_buf.rs +55 -0
  999. data/rust-vendor/tokio/src/io/util/write_int.rs +151 -0
  1000. data/rust-vendor/tokio/src/io/util/write_vectored.rs +47 -0
  1001. data/rust-vendor/tokio/src/lib.rs +707 -0
  1002. data/rust-vendor/tokio/src/loom/mocked.rs +85 -0
  1003. data/rust-vendor/tokio/src/loom/mod.rs +14 -0
  1004. data/rust-vendor/tokio/src/loom/std/atomic_u16.rs +47 -0
  1005. data/rust-vendor/tokio/src/loom/std/atomic_u32.rs +47 -0
  1006. data/rust-vendor/tokio/src/loom/std/atomic_u64.rs +19 -0
  1007. data/rust-vendor/tokio/src/loom/std/atomic_u64_as_mutex.rs +76 -0
  1008. data/rust-vendor/tokio/src/loom/std/atomic_u64_native.rs +4 -0
  1009. data/rust-vendor/tokio/src/loom/std/atomic_u64_static_const_new.rs +12 -0
  1010. data/rust-vendor/tokio/src/loom/std/atomic_u64_static_once_cell.rs +57 -0
  1011. data/rust-vendor/tokio/src/loom/std/atomic_usize.rs +59 -0
  1012. data/rust-vendor/tokio/src/loom/std/barrier.rs +223 -0
  1013. data/rust-vendor/tokio/src/loom/std/mod.rs +124 -0
  1014. data/rust-vendor/tokio/src/loom/std/mutex.rs +36 -0
  1015. data/rust-vendor/tokio/src/loom/std/parking_lot.rs +195 -0
  1016. data/rust-vendor/tokio/src/loom/std/rwlock.rs +48 -0
  1017. data/rust-vendor/tokio/src/loom/std/unsafe_cell.rs +18 -0
  1018. data/rust-vendor/tokio/src/macros/addr_of.rs +27 -0
  1019. data/rust-vendor/tokio/src/macros/cfg.rs +713 -0
  1020. data/rust-vendor/tokio/src/macros/join.rs +279 -0
  1021. data/rust-vendor/tokio/src/macros/loom.rs +8 -0
  1022. data/rust-vendor/tokio/src/macros/mod.rs +36 -0
  1023. data/rust-vendor/tokio/src/macros/pin.rs +144 -0
  1024. data/rust-vendor/tokio/src/macros/select.rs +1411 -0
  1025. data/rust-vendor/tokio/src/macros/support.rs +32 -0
  1026. data/rust-vendor/tokio/src/macros/thread_local.rs +18 -0
  1027. data/rust-vendor/tokio/src/macros/trace.rs +26 -0
  1028. data/rust-vendor/tokio/src/macros/try_join.rs +280 -0
  1029. data/rust-vendor/tokio/src/net/addr.rs +333 -0
  1030. data/rust-vendor/tokio/src/net/lookup_host.rs +38 -0
  1031. data/rust-vendor/tokio/src/net/mod.rs +64 -0
  1032. data/rust-vendor/tokio/src/net/tcp/listener.rs +460 -0
  1033. data/rust-vendor/tokio/src/net/tcp/mod.rs +16 -0
  1034. data/rust-vendor/tokio/src/net/tcp/socket.rs +1027 -0
  1035. data/rust-vendor/tokio/src/net/tcp/split.rs +423 -0
  1036. data/rust-vendor/tokio/src/net/tcp/split_owned.rs +507 -0
  1037. data/rust-vendor/tokio/src/net/tcp/stream.rs +1541 -0
  1038. data/rust-vendor/tokio/src/net/udp.rs +2333 -0
  1039. data/rust-vendor/tokio/src/net/unix/datagram/mod.rs +3 -0
  1040. data/rust-vendor/tokio/src/net/unix/datagram/socket.rs +1621 -0
  1041. data/rust-vendor/tokio/src/net/unix/listener.rs +247 -0
  1042. data/rust-vendor/tokio/src/net/unix/mod.rs +39 -0
  1043. data/rust-vendor/tokio/src/net/unix/pipe.rs +1442 -0
  1044. data/rust-vendor/tokio/src/net/unix/socket.rs +273 -0
  1045. data/rust-vendor/tokio/src/net/unix/socketaddr.rs +66 -0
  1046. data/rust-vendor/tokio/src/net/unix/split.rs +331 -0
  1047. data/rust-vendor/tokio/src/net/unix/split_owned.rs +419 -0
  1048. data/rust-vendor/tokio/src/net/unix/stream.rs +1095 -0
  1049. data/rust-vendor/tokio/src/net/unix/ucred.rs +332 -0
  1050. data/rust-vendor/tokio/src/net/windows/mod.rs +3 -0
  1051. data/rust-vendor/tokio/src/net/windows/named_pipe.rs +2699 -0
  1052. data/rust-vendor/tokio/src/process/kill.rs +13 -0
  1053. data/rust-vendor/tokio/src/process/mod.rs +1854 -0
  1054. data/rust-vendor/tokio/src/process/unix/mod.rs +374 -0
  1055. data/rust-vendor/tokio/src/process/unix/orphan.rs +334 -0
  1056. data/rust-vendor/tokio/src/process/unix/pidfd_reaper.rs +352 -0
  1057. data/rust-vendor/tokio/src/process/unix/reap.rs +298 -0
  1058. data/rust-vendor/tokio/src/process/windows.rs +285 -0
  1059. data/rust-vendor/tokio/src/runtime/blocking/mod.rs +26 -0
  1060. data/rust-vendor/tokio/src/runtime/blocking/pool.rs +606 -0
  1061. data/rust-vendor/tokio/src/runtime/blocking/schedule.rs +66 -0
  1062. data/rust-vendor/tokio/src/runtime/blocking/shutdown.rs +71 -0
  1063. data/rust-vendor/tokio/src/runtime/blocking/task.rs +44 -0
  1064. data/rust-vendor/tokio/src/runtime/builder.rs +1840 -0
  1065. data/rust-vendor/tokio/src/runtime/config.rs +54 -0
  1066. data/rust-vendor/tokio/src/runtime/context/blocking.rs +121 -0
  1067. data/rust-vendor/tokio/src/runtime/context/current.rs +97 -0
  1068. data/rust-vendor/tokio/src/runtime/context/runtime.rs +99 -0
  1069. data/rust-vendor/tokio/src/runtime/context/runtime_mt.rs +36 -0
  1070. data/rust-vendor/tokio/src/runtime/context/scoped.rs +56 -0
  1071. data/rust-vendor/tokio/src/runtime/context.rs +200 -0
  1072. data/rust-vendor/tokio/src/runtime/driver/op.rs +207 -0
  1073. data/rust-vendor/tokio/src/runtime/driver.rs +376 -0
  1074. data/rust-vendor/tokio/src/runtime/dump.rs +340 -0
  1075. data/rust-vendor/tokio/src/runtime/handle.rs +710 -0
  1076. data/rust-vendor/tokio/src/runtime/id.rs +42 -0
  1077. data/rust-vendor/tokio/src/runtime/io/driver/signal.rs +22 -0
  1078. data/rust-vendor/tokio/src/runtime/io/driver/uring.rs +294 -0
  1079. data/rust-vendor/tokio/src/runtime/io/driver.rs +333 -0
  1080. data/rust-vendor/tokio/src/runtime/io/metrics.rs +24 -0
  1081. data/rust-vendor/tokio/src/runtime/io/mod.rs +22 -0
  1082. data/rust-vendor/tokio/src/runtime/io/registration.rs +259 -0
  1083. data/rust-vendor/tokio/src/runtime/io/registration_set.rs +149 -0
  1084. data/rust-vendor/tokio/src/runtime/io/scheduled_io.rs +582 -0
  1085. data/rust-vendor/tokio/src/runtime/local_runtime/mod.rs +7 -0
  1086. data/rust-vendor/tokio/src/runtime/local_runtime/options.rs +18 -0
  1087. data/rust-vendor/tokio/src/runtime/local_runtime/runtime.rs +397 -0
  1088. data/rust-vendor/tokio/src/runtime/metrics/batch.rs +303 -0
  1089. data/rust-vendor/tokio/src/runtime/metrics/histogram/h2_histogram.rs +526 -0
  1090. data/rust-vendor/tokio/src/runtime/metrics/histogram.rs +629 -0
  1091. data/rust-vendor/tokio/src/runtime/metrics/io.rs +25 -0
  1092. data/rust-vendor/tokio/src/runtime/metrics/mock.rs +15 -0
  1093. data/rust-vendor/tokio/src/runtime/metrics/mod.rs +40 -0
  1094. data/rust-vendor/tokio/src/runtime/metrics/runtime.rs +1122 -0
  1095. data/rust-vendor/tokio/src/runtime/metrics/scheduler.rs +35 -0
  1096. data/rust-vendor/tokio/src/runtime/metrics/worker.rs +110 -0
  1097. data/rust-vendor/tokio/src/runtime/mod.rs +604 -0
  1098. data/rust-vendor/tokio/src/runtime/park.rs +362 -0
  1099. data/rust-vendor/tokio/src/runtime/process.rs +44 -0
  1100. data/rust-vendor/tokio/src/runtime/runtime.rs +515 -0
  1101. data/rust-vendor/tokio/src/runtime/scheduler/block_in_place.rs +9 -0
  1102. data/rust-vendor/tokio/src/runtime/scheduler/current_thread/mod.rs +861 -0
  1103. data/rust-vendor/tokio/src/runtime/scheduler/defer.rs +43 -0
  1104. data/rust-vendor/tokio/src/runtime/scheduler/inject/metrics.rs +7 -0
  1105. data/rust-vendor/tokio/src/runtime/scheduler/inject/pop.rs +55 -0
  1106. data/rust-vendor/tokio/src/runtime/scheduler/inject/rt_multi_thread.rs +122 -0
  1107. data/rust-vendor/tokio/src/runtime/scheduler/inject/shared.rs +121 -0
  1108. data/rust-vendor/tokio/src/runtime/scheduler/inject/synced.rs +37 -0
  1109. data/rust-vendor/tokio/src/runtime/scheduler/inject.rs +70 -0
  1110. data/rust-vendor/tokio/src/runtime/scheduler/lock.rs +6 -0
  1111. data/rust-vendor/tokio/src/runtime/scheduler/mod.rs +338 -0
  1112. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/counters.rs +62 -0
  1113. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/handle/metrics.rs +55 -0
  1114. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/handle/taskdump.rs +26 -0
  1115. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/handle.rs +132 -0
  1116. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/idle.rs +240 -0
  1117. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/mod.rs +105 -0
  1118. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/overflow.rs +26 -0
  1119. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/park.rs +300 -0
  1120. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/queue.rs +599 -0
  1121. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/stats.rs +137 -0
  1122. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/trace.rs +61 -0
  1123. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/trace_mock.rs +11 -0
  1124. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/worker/metrics.rs +15 -0
  1125. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/worker/taskdump.rs +79 -0
  1126. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/worker/taskdump_mock.rs +7 -0
  1127. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/worker.rs +1497 -0
  1128. data/rust-vendor/tokio/src/runtime/scheduler/util/mod.rs +2 -0
  1129. data/rust-vendor/tokio/src/runtime/scheduler/util/time_alt.rs +179 -0
  1130. data/rust-vendor/tokio/src/runtime/signal/mod.rs +143 -0
  1131. data/rust-vendor/tokio/src/runtime/task/abort.rs +105 -0
  1132. data/rust-vendor/tokio/src/runtime/task/core.rs +570 -0
  1133. data/rust-vendor/tokio/src/runtime/task/error.rs +198 -0
  1134. data/rust-vendor/tokio/src/runtime/task/harness.rs +567 -0
  1135. data/rust-vendor/tokio/src/runtime/task/id.rs +92 -0
  1136. data/rust-vendor/tokio/src/runtime/task/join.rs +373 -0
  1137. data/rust-vendor/tokio/src/runtime/task/list.rs +368 -0
  1138. data/rust-vendor/tokio/src/runtime/task/mod.rs +670 -0
  1139. data/rust-vendor/tokio/src/runtime/task/raw.rs +378 -0
  1140. data/rust-vendor/tokio/src/runtime/task/state.rs +662 -0
  1141. data/rust-vendor/tokio/src/runtime/task/trace/mod.rs +364 -0
  1142. data/rust-vendor/tokio/src/runtime/task/trace/symbol.rs +92 -0
  1143. data/rust-vendor/tokio/src/runtime/task/trace/tree.rs +126 -0
  1144. data/rust-vendor/tokio/src/runtime/task/waker.rs +124 -0
  1145. data/rust-vendor/tokio/src/runtime/task_hooks.rs +83 -0
  1146. data/rust-vendor/tokio/src/runtime/tests/inject.rs +54 -0
  1147. data/rust-vendor/tokio/src/runtime/tests/loom_blocking.rs +102 -0
  1148. data/rust-vendor/tokio/src/runtime/tests/loom_current_thread/yield_now.rs +30 -0
  1149. data/rust-vendor/tokio/src/runtime/tests/loom_current_thread.rs +198 -0
  1150. data/rust-vendor/tokio/src/runtime/tests/loom_join_set.rs +82 -0
  1151. data/rust-vendor/tokio/src/runtime/tests/loom_local.rs +47 -0
  1152. data/rust-vendor/tokio/src/runtime/tests/loom_multi_thread/queue.rs +205 -0
  1153. data/rust-vendor/tokio/src/runtime/tests/loom_multi_thread/shutdown.rs +28 -0
  1154. data/rust-vendor/tokio/src/runtime/tests/loom_multi_thread/yield_now.rs +37 -0
  1155. data/rust-vendor/tokio/src/runtime/tests/loom_multi_thread.rs +461 -0
  1156. data/rust-vendor/tokio/src/runtime/tests/loom_oneshot.rs +48 -0
  1157. data/rust-vendor/tokio/src/runtime/tests/mod.rs +85 -0
  1158. data/rust-vendor/tokio/src/runtime/tests/queue.rs +273 -0
  1159. data/rust-vendor/tokio/src/runtime/tests/task.rs +469 -0
  1160. data/rust-vendor/tokio/src/runtime/tests/task_combinations.rs +488 -0
  1161. data/rust-vendor/tokio/src/runtime/thread_id.rs +31 -0
  1162. data/rust-vendor/tokio/src/runtime/time/entry.rs +693 -0
  1163. data/rust-vendor/tokio/src/runtime/time/handle.rs +68 -0
  1164. data/rust-vendor/tokio/src/runtime/time/mod.rs +493 -0
  1165. data/rust-vendor/tokio/src/runtime/time/source.rs +45 -0
  1166. data/rust-vendor/tokio/src/runtime/time/tests/mod.rs +269 -0
  1167. data/rust-vendor/tokio/src/runtime/time/wheel/level.rs +192 -0
  1168. data/rust-vendor/tokio/src/runtime/time/wheel/mod.rs +331 -0
  1169. data/rust-vendor/tokio/src/runtime/time_alt/cancellation_queue/tests.rs +97 -0
  1170. data/rust-vendor/tokio/src/runtime/time_alt/cancellation_queue.rs +92 -0
  1171. data/rust-vendor/tokio/src/runtime/time_alt/context.rs +47 -0
  1172. data/rust-vendor/tokio/src/runtime/time_alt/entry.rs +276 -0
  1173. data/rust-vendor/tokio/src/runtime/time_alt/mod.rs +24 -0
  1174. data/rust-vendor/tokio/src/runtime/time_alt/registration_queue/tests.rs +53 -0
  1175. data/rust-vendor/tokio/src/runtime/time_alt/registration_queue.rs +43 -0
  1176. data/rust-vendor/tokio/src/runtime/time_alt/tests.rs +168 -0
  1177. data/rust-vendor/tokio/src/runtime/time_alt/timer.rs +169 -0
  1178. data/rust-vendor/tokio/src/runtime/time_alt/wake_queue/tests.rs +66 -0
  1179. data/rust-vendor/tokio/src/runtime/time_alt/wake_queue.rs +50 -0
  1180. data/rust-vendor/tokio/src/runtime/time_alt/wheel/level.rs +194 -0
  1181. data/rust-vendor/tokio/src/runtime/time_alt/wheel/mod.rs +272 -0
  1182. data/rust-vendor/tokio/src/signal/ctrl_c.rs +62 -0
  1183. data/rust-vendor/tokio/src/signal/mod.rs +100 -0
  1184. data/rust-vendor/tokio/src/signal/registry.rs +275 -0
  1185. data/rust-vendor/tokio/src/signal/reusable_box.rs +230 -0
  1186. data/rust-vendor/tokio/src/signal/unix.rs +570 -0
  1187. data/rust-vendor/tokio/src/signal/windows/stub.rs +25 -0
  1188. data/rust-vendor/tokio/src/signal/windows/sys.rs +244 -0
  1189. data/rust-vendor/tokio/src/signal/windows.rs +526 -0
  1190. data/rust-vendor/tokio/src/sync/barrier.rs +213 -0
  1191. data/rust-vendor/tokio/src/sync/batch_semaphore.rs +780 -0
  1192. data/rust-vendor/tokio/src/sync/broadcast.rs +1759 -0
  1193. data/rust-vendor/tokio/src/sync/mod.rs +524 -0
  1194. data/rust-vendor/tokio/src/sync/mpsc/block.rs +477 -0
  1195. data/rust-vendor/tokio/src/sync/mpsc/bounded.rs +1949 -0
  1196. data/rust-vendor/tokio/src/sync/mpsc/chan.rs +628 -0
  1197. data/rust-vendor/tokio/src/sync/mpsc/error.rs +168 -0
  1198. data/rust-vendor/tokio/src/sync/mpsc/list.rs +419 -0
  1199. data/rust-vendor/tokio/src/sync/mpsc/mod.rs +144 -0
  1200. data/rust-vendor/tokio/src/sync/mpsc/unbounded.rs +726 -0
  1201. data/rust-vendor/tokio/src/sync/mutex.rs +1396 -0
  1202. data/rust-vendor/tokio/src/sync/notify.rs +1409 -0
  1203. data/rust-vendor/tokio/src/sync/once_cell.rs +512 -0
  1204. data/rust-vendor/tokio/src/sync/oneshot.rs +1594 -0
  1205. data/rust-vendor/tokio/src/sync/rwlock/owned_read_guard.rs +208 -0
  1206. data/rust-vendor/tokio/src/sync/rwlock/owned_write_guard.rs +460 -0
  1207. data/rust-vendor/tokio/src/sync/rwlock/owned_write_guard_mapped.rs +230 -0
  1208. data/rust-vendor/tokio/src/sync/rwlock/read_guard.rs +191 -0
  1209. data/rust-vendor/tokio/src/sync/rwlock/write_guard.rs +457 -0
  1210. data/rust-vendor/tokio/src/sync/rwlock/write_guard_mapped.rs +213 -0
  1211. data/rust-vendor/tokio/src/sync/rwlock.rs +1121 -0
  1212. data/rust-vendor/tokio/src/sync/semaphore.rs +1206 -0
  1213. data/rust-vendor/tokio/src/sync/set_once.rs +388 -0
  1214. data/rust-vendor/tokio/src/sync/task/atomic_waker.rs +383 -0
  1215. data/rust-vendor/tokio/src/sync/task/mod.rs +4 -0
  1216. data/rust-vendor/tokio/src/sync/tests/atomic_waker.rs +113 -0
  1217. data/rust-vendor/tokio/src/sync/tests/loom_atomic_waker.rs +100 -0
  1218. data/rust-vendor/tokio/src/sync/tests/loom_broadcast.rs +207 -0
  1219. data/rust-vendor/tokio/src/sync/tests/loom_list.rs +48 -0
  1220. data/rust-vendor/tokio/src/sync/tests/loom_mpsc.rs +224 -0
  1221. data/rust-vendor/tokio/src/sync/tests/loom_notify.rs +330 -0
  1222. data/rust-vendor/tokio/src/sync/tests/loom_oneshot.rs +187 -0
  1223. data/rust-vendor/tokio/src/sync/tests/loom_rwlock.rs +105 -0
  1224. data/rust-vendor/tokio/src/sync/tests/loom_semaphore_batch.rs +242 -0
  1225. data/rust-vendor/tokio/src/sync/tests/loom_set_once.rs +72 -0
  1226. data/rust-vendor/tokio/src/sync/tests/loom_watch.rs +110 -0
  1227. data/rust-vendor/tokio/src/sync/tests/mod.rs +18 -0
  1228. data/rust-vendor/tokio/src/sync/tests/notify.rs +121 -0
  1229. data/rust-vendor/tokio/src/sync/tests/semaphore_batch.rs +310 -0
  1230. data/rust-vendor/tokio/src/sync/watch.rs +1556 -0
  1231. data/rust-vendor/tokio/src/task/blocking.rs +212 -0
  1232. data/rust-vendor/tokio/src/task/builder.rs +235 -0
  1233. data/rust-vendor/tokio/src/task/coop/consume_budget.rs +39 -0
  1234. data/rust-vendor/tokio/src/task/coop/mod.rs +573 -0
  1235. data/rust-vendor/tokio/src/task/coop/unconstrained.rs +45 -0
  1236. data/rust-vendor/tokio/src/task/join_set.rs +851 -0
  1237. data/rust-vendor/tokio/src/task/local.rs +1353 -0
  1238. data/rust-vendor/tokio/src/task/mod.rs +335 -0
  1239. data/rust-vendor/tokio/src/task/spawn.rs +210 -0
  1240. data/rust-vendor/tokio/src/task/task_local.rs +488 -0
  1241. data/rust-vendor/tokio/src/task/yield_now.rs +64 -0
  1242. data/rust-vendor/tokio/src/time/clock.rs +320 -0
  1243. data/rust-vendor/tokio/src/time/error.rs +123 -0
  1244. data/rust-vendor/tokio/src/time/instant.rs +223 -0
  1245. data/rust-vendor/tokio/src/time/interval.rs +643 -0
  1246. data/rust-vendor/tokio/src/time/mod.rs +110 -0
  1247. data/rust-vendor/tokio/src/time/sleep.rs +469 -0
  1248. data/rust-vendor/tokio/src/time/timeout.rs +234 -0
  1249. data/rust-vendor/tokio/src/util/as_ref.rs +38 -0
  1250. data/rust-vendor/tokio/src/util/atomic_cell.rs +51 -0
  1251. data/rust-vendor/tokio/src/util/bit.rs +64 -0
  1252. data/rust-vendor/tokio/src/util/blocking_check.rs +29 -0
  1253. data/rust-vendor/tokio/src/util/cacheline.rs +89 -0
  1254. data/rust-vendor/tokio/src/util/error.rs +16 -0
  1255. data/rust-vendor/tokio/src/util/idle_notified_set.rs +512 -0
  1256. data/rust-vendor/tokio/src/util/linked_list.rs +808 -0
  1257. data/rust-vendor/tokio/src/util/markers.rs +9 -0
  1258. data/rust-vendor/tokio/src/util/memchr.rs +74 -0
  1259. data/rust-vendor/tokio/src/util/metric_atomics.rs +81 -0
  1260. data/rust-vendor/tokio/src/util/mod.rs +110 -0
  1261. data/rust-vendor/tokio/src/util/ptr_expose.rs +74 -0
  1262. data/rust-vendor/tokio/src/util/rand/rt.rs +61 -0
  1263. data/rust-vendor/tokio/src/util/rand/rt_unstable.rs +20 -0
  1264. data/rust-vendor/tokio/src/util/rand.rs +95 -0
  1265. data/rust-vendor/tokio/src/util/rc_cell.rs +57 -0
  1266. data/rust-vendor/tokio/src/util/sharded_list.rs +162 -0
  1267. data/rust-vendor/tokio/src/util/sync_wrapper.rs +37 -0
  1268. data/rust-vendor/tokio/src/util/trace.rs +191 -0
  1269. data/rust-vendor/tokio/src/util/try_lock.rs +80 -0
  1270. data/rust-vendor/tokio/src/util/typeid.rs +45 -0
  1271. data/rust-vendor/tokio/src/util/wake.rs +78 -0
  1272. data/rust-vendor/tokio/src/util/wake_list.rs +83 -0
  1273. data/rust-vendor/tokio/tests/_require_full.rs +8 -0
  1274. data/rust-vendor/tokio/tests/async_send_sync.rs +778 -0
  1275. data/rust-vendor/tokio/tests/buffered.rs +51 -0
  1276. data/rust-vendor/tokio/tests/coop_budget.rs +93 -0
  1277. data/rust-vendor/tokio/tests/dump.rs +199 -0
  1278. data/rust-vendor/tokio/tests/duplex_stream.rs +47 -0
  1279. data/rust-vendor/tokio/tests/fs.rs +36 -0
  1280. data/rust-vendor/tokio/tests/fs_canonicalize_dir.rs +22 -0
  1281. data/rust-vendor/tokio/tests/fs_copy.rs +41 -0
  1282. data/rust-vendor/tokio/tests/fs_dir.rs +126 -0
  1283. data/rust-vendor/tokio/tests/fs_file.rs +289 -0
  1284. data/rust-vendor/tokio/tests/fs_link.rs +62 -0
  1285. data/rust-vendor/tokio/tests/fs_open_options.rs +84 -0
  1286. data/rust-vendor/tokio/tests/fs_open_options_windows.rs +51 -0
  1287. data/rust-vendor/tokio/tests/fs_remove_dir_all.rs +31 -0
  1288. data/rust-vendor/tokio/tests/fs_remove_file.rs +24 -0
  1289. data/rust-vendor/tokio/tests/fs_rename.rs +28 -0
  1290. data/rust-vendor/tokio/tests/fs_symlink_dir_windows.rs +31 -0
  1291. data/rust-vendor/tokio/tests/fs_symlink_file_windows.rs +24 -0
  1292. data/rust-vendor/tokio/tests/fs_try_exists.rs +48 -0
  1293. data/rust-vendor/tokio/tests/fs_uring.rs +157 -0
  1294. data/rust-vendor/tokio/tests/fs_uring_read.rs +202 -0
  1295. data/rust-vendor/tokio/tests/fs_write.rs +16 -0
  1296. data/rust-vendor/tokio/tests/io_async_fd.rs +958 -0
  1297. data/rust-vendor/tokio/tests/io_async_read.rs +10 -0
  1298. data/rust-vendor/tokio/tests/io_buf_reader.rs +379 -0
  1299. data/rust-vendor/tokio/tests/io_buf_writer.rs +537 -0
  1300. data/rust-vendor/tokio/tests/io_chain.rs +16 -0
  1301. data/rust-vendor/tokio/tests/io_copy.rs +101 -0
  1302. data/rust-vendor/tokio/tests/io_copy_bidirectional.rs +168 -0
  1303. data/rust-vendor/tokio/tests/io_driver.rs +105 -0
  1304. data/rust-vendor/tokio/tests/io_driver_drop.rs +62 -0
  1305. data/rust-vendor/tokio/tests/io_fill_buf.rs +34 -0
  1306. data/rust-vendor/tokio/tests/io_join.rs +81 -0
  1307. data/rust-vendor/tokio/tests/io_lines.rs +19 -0
  1308. data/rust-vendor/tokio/tests/io_mem_stream.rs +121 -0
  1309. data/rust-vendor/tokio/tests/io_panic.rs +222 -0
  1310. data/rust-vendor/tokio/tests/io_poll_aio.rs +339 -0
  1311. data/rust-vendor/tokio/tests/io_read.rs +75 -0
  1312. data/rust-vendor/tokio/tests/io_read_buf.rs +94 -0
  1313. data/rust-vendor/tokio/tests/io_read_exact.rs +15 -0
  1314. data/rust-vendor/tokio/tests/io_read_line.rs +107 -0
  1315. data/rust-vendor/tokio/tests/io_read_to_end.rs +125 -0
  1316. data/rust-vendor/tokio/tests/io_read_to_string.rs +63 -0
  1317. data/rust-vendor/tokio/tests/io_read_until.rs +74 -0
  1318. data/rust-vendor/tokio/tests/io_repeat.rs +18 -0
  1319. data/rust-vendor/tokio/tests/io_sink.rs +44 -0
  1320. data/rust-vendor/tokio/tests/io_split.rs +114 -0
  1321. data/rust-vendor/tokio/tests/io_take.rs +74 -0
  1322. data/rust-vendor/tokio/tests/io_util_empty.rs +61 -0
  1323. data/rust-vendor/tokio/tests/io_write.rs +58 -0
  1324. data/rust-vendor/tokio/tests/io_write_all.rs +51 -0
  1325. data/rust-vendor/tokio/tests/io_write_all_buf.rs +145 -0
  1326. data/rust-vendor/tokio/tests/io_write_buf.rs +56 -0
  1327. data/rust-vendor/tokio/tests/io_write_int.rs +37 -0
  1328. data/rust-vendor/tokio/tests/join_handle_panic.rs +21 -0
  1329. data/rust-vendor/tokio/tests/macros_join.rs +256 -0
  1330. data/rust-vendor/tokio/tests/macros_pin.rs +21 -0
  1331. data/rust-vendor/tokio/tests/macros_rename_test.rs +35 -0
  1332. data/rust-vendor/tokio/tests/macros_select.rs +760 -0
  1333. data/rust-vendor/tokio/tests/macros_test.rs +117 -0
  1334. data/rust-vendor/tokio/tests/macros_try_join.rs +269 -0
  1335. data/rust-vendor/tokio/tests/net_bind_resource.rs +14 -0
  1336. data/rust-vendor/tokio/tests/net_lookup_host.rs +39 -0
  1337. data/rust-vendor/tokio/tests/net_named_pipe.rs +399 -0
  1338. data/rust-vendor/tokio/tests/net_panic.rs +196 -0
  1339. data/rust-vendor/tokio/tests/net_quickack.rs +71 -0
  1340. data/rust-vendor/tokio/tests/net_unix_pipe.rs +546 -0
  1341. data/rust-vendor/tokio/tests/no_rt.rs +47 -0
  1342. data/rust-vendor/tokio/tests/process_arg0.rs +13 -0
  1343. data/rust-vendor/tokio/tests/process_change_of_runtime.rs +34 -0
  1344. data/rust-vendor/tokio/tests/process_issue_2174.rs +46 -0
  1345. data/rust-vendor/tokio/tests/process_issue_42.rs +39 -0
  1346. data/rust-vendor/tokio/tests/process_issue_7144.rs +28 -0
  1347. data/rust-vendor/tokio/tests/process_kill_after_wait.rs +27 -0
  1348. data/rust-vendor/tokio/tests/process_kill_on_drop.rs +44 -0
  1349. data/rust-vendor/tokio/tests/process_raw_handle.rs +24 -0
  1350. data/rust-vendor/tokio/tests/process_smoke.rs +34 -0
  1351. data/rust-vendor/tokio/tests/rt_basic.rs +458 -0
  1352. data/rust-vendor/tokio/tests/rt_common.rs +1438 -0
  1353. data/rust-vendor/tokio/tests/rt_handle.rs +125 -0
  1354. data/rust-vendor/tokio/tests/rt_handle_block_on.rs +567 -0
  1355. data/rust-vendor/tokio/tests/rt_local.rs +170 -0
  1356. data/rust-vendor/tokio/tests/rt_metrics.rs +233 -0
  1357. data/rust-vendor/tokio/tests/rt_panic.rs +90 -0
  1358. data/rust-vendor/tokio/tests/rt_poll_callbacks.rs +128 -0
  1359. data/rust-vendor/tokio/tests/rt_threaded.rs +884 -0
  1360. data/rust-vendor/tokio/tests/rt_time_start_paused.rs +14 -0
  1361. data/rust-vendor/tokio/tests/rt_unstable_metrics.rs +821 -0
  1362. data/rust-vendor/tokio/tests/signal_ctrl_c.rs +23 -0
  1363. data/rust-vendor/tokio/tests/signal_drop_recv.rs +23 -0
  1364. data/rust-vendor/tokio/tests/signal_drop_rt.rs +45 -0
  1365. data/rust-vendor/tokio/tests/signal_drop_signal.rs +27 -0
  1366. data/rust-vendor/tokio/tests/signal_info.rs +35 -0
  1367. data/rust-vendor/tokio/tests/signal_multi_rt.rs +55 -0
  1368. data/rust-vendor/tokio/tests/signal_no_rt.rs +13 -0
  1369. data/rust-vendor/tokio/tests/signal_notify_both.rs +24 -0
  1370. data/rust-vendor/tokio/tests/signal_panic.rs +31 -0
  1371. data/rust-vendor/tokio/tests/signal_realtime.rs +105 -0
  1372. data/rust-vendor/tokio/tests/signal_twice.rs +23 -0
  1373. data/rust-vendor/tokio/tests/signal_usr1.rs +24 -0
  1374. data/rust-vendor/tokio/tests/support/io_vec.rs +45 -0
  1375. data/rust-vendor/tokio/tests/support/leaked_buffers.rs +26 -0
  1376. data/rust-vendor/tokio/tests/support/mpsc_stream.rs +42 -0
  1377. data/rust-vendor/tokio/tests/support/panic.rs +34 -0
  1378. data/rust-vendor/tokio/tests/support/signal.rs +15 -0
  1379. data/rust-vendor/tokio/tests/sync_barrier.rs +99 -0
  1380. data/rust-vendor/tokio/tests/sync_broadcast.rs +722 -0
  1381. data/rust-vendor/tokio/tests/sync_broadcast_weak.rs +181 -0
  1382. data/rust-vendor/tokio/tests/sync_errors.rs +30 -0
  1383. data/rust-vendor/tokio/tests/sync_mpsc.rs +1512 -0
  1384. data/rust-vendor/tokio/tests/sync_mpsc_weak.rs +688 -0
  1385. data/rust-vendor/tokio/tests/sync_mutex.rs +178 -0
  1386. data/rust-vendor/tokio/tests/sync_mutex_owned.rs +137 -0
  1387. data/rust-vendor/tokio/tests/sync_notify.rs +303 -0
  1388. data/rust-vendor/tokio/tests/sync_notify_owned.rs +304 -0
  1389. data/rust-vendor/tokio/tests/sync_once_cell.rs +250 -0
  1390. data/rust-vendor/tokio/tests/sync_oneshot.rs +440 -0
  1391. data/rust-vendor/tokio/tests/sync_panic.rs +231 -0
  1392. data/rust-vendor/tokio/tests/sync_rwlock.rs +332 -0
  1393. data/rust-vendor/tokio/tests/sync_semaphore.rs +176 -0
  1394. data/rust-vendor/tokio/tests/sync_semaphore_owned.rs +164 -0
  1395. data/rust-vendor/tokio/tests/sync_set_once.rs +180 -0
  1396. data/rust-vendor/tokio/tests/sync_watch.rs +505 -0
  1397. data/rust-vendor/tokio/tests/task_abort.rs +326 -0
  1398. data/rust-vendor/tokio/tests/task_blocking.rs +310 -0
  1399. data/rust-vendor/tokio/tests/task_builder.rs +105 -0
  1400. data/rust-vendor/tokio/tests/task_hooks.rs +194 -0
  1401. data/rust-vendor/tokio/tests/task_id.rs +300 -0
  1402. data/rust-vendor/tokio/tests/task_join_set.rs +662 -0
  1403. data/rust-vendor/tokio/tests/task_local.rs +171 -0
  1404. data/rust-vendor/tokio/tests/task_local_set.rs +808 -0
  1405. data/rust-vendor/tokio/tests/task_panic.rs +123 -0
  1406. data/rust-vendor/tokio/tests/task_trace_self.rs +107 -0
  1407. data/rust-vendor/tokio/tests/task_yield_now.rs +24 -0
  1408. data/rust-vendor/tokio/tests/tcp_accept.rs +157 -0
  1409. data/rust-vendor/tokio/tests/tcp_connect.rs +231 -0
  1410. data/rust-vendor/tokio/tests/tcp_echo.rs +43 -0
  1411. data/rust-vendor/tokio/tests/tcp_into_split.rs +132 -0
  1412. data/rust-vendor/tokio/tests/tcp_into_std.rs +46 -0
  1413. data/rust-vendor/tokio/tests/tcp_peek.rs +37 -0
  1414. data/rust-vendor/tokio/tests/tcp_shutdown.rs +83 -0
  1415. data/rust-vendor/tokio/tests/tcp_socket.rs +185 -0
  1416. data/rust-vendor/tokio/tests/tcp_split.rs +43 -0
  1417. data/rust-vendor/tokio/tests/tcp_stream.rs +407 -0
  1418. data/rust-vendor/tokio/tests/test_clock.rs +50 -0
  1419. data/rust-vendor/tokio/tests/time_alt.rs +108 -0
  1420. data/rust-vendor/tokio/tests/time_interval.rs +477 -0
  1421. data/rust-vendor/tokio/tests/time_panic.rs +139 -0
  1422. data/rust-vendor/tokio/tests/time_pause.rs +333 -0
  1423. data/rust-vendor/tokio/tests/time_rt.rs +166 -0
  1424. data/rust-vendor/tokio/tests/time_sleep.rs +366 -0
  1425. data/rust-vendor/tokio/tests/time_timeout.rs +151 -0
  1426. data/rust-vendor/tokio/tests/time_wasm.rs +40 -0
  1427. data/rust-vendor/tokio/tests/tracing_sync.rs +282 -0
  1428. data/rust-vendor/tokio/tests/tracing_task.rs +186 -0
  1429. data/rust-vendor/tokio/tests/tracing_time.rs +71 -0
  1430. data/rust-vendor/tokio/tests/udp.rs +724 -0
  1431. data/rust-vendor/tokio/tests/uds_cred.rs +26 -0
  1432. data/rust-vendor/tokio/tests/uds_datagram.rs +425 -0
  1433. data/rust-vendor/tokio/tests/uds_socket.rs +121 -0
  1434. data/rust-vendor/tokio/tests/uds_split.rs +44 -0
  1435. data/rust-vendor/tokio/tests/uds_stream.rs +446 -0
  1436. data/rust-vendor/tokio/tests/unwindsafe.rs +42 -0
  1437. data/rust-vendor/wasip2/.cargo-checksum.json +1 -1
  1438. data/rust-vendor/wasip2/.cargo_vcs_info.json +1 -1
  1439. data/rust-vendor/wasip2/Cargo.lock +9 -9
  1440. data/rust-vendor/wasip2/Cargo.toml +3 -3
  1441. data/rust-vendor/wasip2/Cargo.toml.orig +1 -1
  1442. data/rust-vendor/wasip2/src/command.rs +95 -95
  1443. data/rust-vendor/wasip2/src/imports.rs +283 -296
  1444. data/rust-vendor/wasip2/src/proxy.rs +846 -842
  1445. data/rust-vendor/wasip2/wit/deps/cli.wit +233 -0
  1446. data/rust-vendor/wasip2/wit/deps/clocks.wit +162 -0
  1447. data/rust-vendor/wasip2/wit/deps/filesystem.wit +587 -0
  1448. data/rust-vendor/wasip2/wit/deps/http.wit +733 -0
  1449. data/rust-vendor/wasip2/wit/deps/io.wit +299 -0
  1450. data/rust-vendor/wasip2/wit/deps/random.wit +92 -0
  1451. data/rust-vendor/wasip2/wit/deps/sockets.wit +949 -0
  1452. data/rust-vendor/wasm-bindgen/.cargo-checksum.json +1 -1
  1453. data/rust-vendor/wasm-bindgen/.cargo_vcs_info.json +1 -1
  1454. data/rust-vendor/wasm-bindgen/Cargo.lock +21 -21
  1455. data/rust-vendor/wasm-bindgen/Cargo.toml +6 -3
  1456. data/rust-vendor/wasm-bindgen/Cargo.toml.orig +6 -4
  1457. data/rust-vendor/wasm-bindgen/src/cast.rs +5 -1
  1458. data/rust-vendor/wasm-bindgen/src/closure.rs +695 -245
  1459. data/rust-vendor/wasm-bindgen/src/convert/closures.rs +324 -27
  1460. data/rust-vendor/wasm-bindgen/src/convert/impls.rs +203 -5
  1461. data/rust-vendor/wasm-bindgen/src/convert/slices.rs +36 -10
  1462. data/rust-vendor/wasm-bindgen/src/convert/traits.rs +172 -1
  1463. data/rust-vendor/wasm-bindgen/src/describe.rs +2 -2
  1464. data/rust-vendor/wasm-bindgen/src/lib.rs +28 -7
  1465. data/rust-vendor/wasm-bindgen/src/rt/marker.rs +104 -0
  1466. data/rust-vendor/wasm-bindgen/src/rt/mod.rs +48 -47
  1467. data/rust-vendor/wasm-bindgen/src/sys.rs +272 -0
  1468. data/rust-vendor/wasm-bindgen-macro/.cargo-checksum.json +1 -1
  1469. data/rust-vendor/wasm-bindgen-macro/.cargo_vcs_info.json +1 -1
  1470. data/rust-vendor/wasm-bindgen-macro/Cargo.lock +27 -27
  1471. data/rust-vendor/wasm-bindgen-macro/Cargo.toml +5 -2
  1472. data/rust-vendor/wasm-bindgen-macro/Cargo.toml.orig +2 -2
  1473. data/rust-vendor/wasm-bindgen-macro-support/.cargo-checksum.json +1 -1
  1474. data/rust-vendor/wasm-bindgen-macro-support/.cargo_vcs_info.json +1 -1
  1475. data/rust-vendor/wasm-bindgen-macro-support/Cargo.lock +13 -13
  1476. data/rust-vendor/wasm-bindgen-macro-support/Cargo.toml +6 -2
  1477. data/rust-vendor/wasm-bindgen-macro-support/Cargo.toml.orig +3 -3
  1478. data/rust-vendor/wasm-bindgen-macro-support/src/ast.rs +14 -1
  1479. data/rust-vendor/wasm-bindgen-macro-support/src/codegen.rs +789 -98
  1480. data/rust-vendor/wasm-bindgen-macro-support/src/encode.rs +2 -0
  1481. data/rust-vendor/wasm-bindgen-macro-support/src/generics.rs +805 -0
  1482. data/rust-vendor/wasm-bindgen-macro-support/src/lib.rs +1 -0
  1483. data/rust-vendor/wasm-bindgen-macro-support/src/parser.rs +209 -54
  1484. data/rust-vendor/wasm-bindgen-shared/.cargo-checksum.json +1 -1
  1485. data/rust-vendor/wasm-bindgen-shared/.cargo_vcs_info.json +1 -1
  1486. data/rust-vendor/wasm-bindgen-shared/Cargo.lock +3 -3
  1487. data/rust-vendor/wasm-bindgen-shared/Cargo.toml +4 -1
  1488. data/rust-vendor/wasm-bindgen-shared/Cargo.toml.orig +1 -1
  1489. data/rust-vendor/wasm-bindgen-shared/src/lib.rs +39 -1
  1490. data/rust-vendor/wasm-bindgen-shared/src/schema_hash_approval.rs +1 -1
  1491. data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
  1492. data/rust-vendor/zerocopy/.cargo_vcs_info.json +1 -1
  1493. data/rust-vendor/zerocopy/Cargo.lock +3 -188
  1494. data/rust-vendor/zerocopy/Cargo.toml +7 -11
  1495. data/rust-vendor/zerocopy/Cargo.toml.orig +5 -10
  1496. data/rust-vendor/zerocopy/cargo.sh +2 -0
  1497. data/rust-vendor/zerocopy/ci/check_fmt.sh +7 -6
  1498. data/rust-vendor/zerocopy/ci/check_stale_stderr.sh +9 -0
  1499. data/rust-vendor/zerocopy/ci/check_todo.sh +8 -1
  1500. data/rust-vendor/zerocopy/githooks/pre-push +3 -3
  1501. data/rust-vendor/zerocopy/src/macros.rs +4 -0
  1502. data/rust-vendor/zerocopy/src/util/macro_util.rs +26 -11
  1503. data/rust-vendor/zerocopy/tests/ui/diagnostic-not-implemented.msrv.stderr +99 -0
  1504. data/rust-vendor/zerocopy/tests/ui/diagnostic-not-implemented.nightly.stderr +249 -0
  1505. data/rust-vendor/zerocopy/tests/ui/diagnostic-not-implemented.rs +83 -0
  1506. data/rust-vendor/zerocopy/tests/ui/diagnostic-not-implemented.stable.stderr +249 -0
  1507. data/rust-vendor/zerocopy/tests/ui/include_value.msrv.stderr +19 -0
  1508. data/rust-vendor/zerocopy/tests/ui/include_value.nightly.stderr +35 -0
  1509. data/rust-vendor/zerocopy/tests/ui/include_value.rs +18 -0
  1510. data/rust-vendor/zerocopy/tests/ui/include_value.stable.stderr +35 -0
  1511. data/rust-vendor/zerocopy/tests/ui/late-compile-pass.msrv.stderr +135 -0
  1512. data/rust-vendor/zerocopy/tests/ui/late-compile-pass.nightly.stderr +157 -0
  1513. data/rust-vendor/zerocopy/tests/ui/late-compile-pass.rs +79 -0
  1514. data/rust-vendor/zerocopy/tests/ui/late-compile-pass.stable.stderr +157 -0
  1515. data/rust-vendor/zerocopy/tests/ui/max-align.msrv.stderr +9 -0
  1516. data/rust-vendor/zerocopy/tests/ui/max-align.nightly.stderr +9 -0
  1517. data/rust-vendor/zerocopy/tests/ui/max-align.rs +102 -0
  1518. data/rust-vendor/zerocopy/tests/ui/max-align.stable.stderr +9 -0
  1519. data/rust-vendor/zerocopy/tests/ui/ptr-is-invariant-over-v.msrv.stderr +21 -0
  1520. data/rust-vendor/zerocopy/tests/ui/ptr-is-invariant-over-v.nightly.stderr +34 -0
  1521. data/rust-vendor/zerocopy/tests/ui/ptr-is-invariant-over-v.rs +35 -0
  1522. data/rust-vendor/zerocopy/tests/ui/ptr-is-invariant-over-v.stable.stderr +34 -0
  1523. data/rust-vendor/zerocopy/tests/ui/transmute-ptr-to-usize.msrv.stderr +19 -0
  1524. data/rust-vendor/zerocopy/tests/ui/transmute-ptr-to-usize.nightly.stderr +33 -0
  1525. data/rust-vendor/zerocopy/tests/ui/transmute-ptr-to-usize.rs +22 -0
  1526. data/rust-vendor/zerocopy/tests/ui/transmute-ptr-to-usize.stable.stderr +28 -0
  1527. data/rust-vendor/zerocopy/tests/ui/transmute.msrv.stderr +35 -0
  1528. data/rust-vendor/zerocopy/tests/ui/transmute.nightly.stderr +70 -0
  1529. data/rust-vendor/zerocopy/tests/ui/transmute.rs +22 -0
  1530. data/rust-vendor/zerocopy/tests/ui/transmute.stable.stderr +70 -0
  1531. data/rust-vendor/zerocopy/tests/ui/transmute_mut.msrv.stderr +111 -0
  1532. data/rust-vendor/zerocopy/tests/ui/transmute_mut.nightly.stderr +213 -0
  1533. data/rust-vendor/zerocopy/tests/ui/transmute_mut.rs +89 -0
  1534. data/rust-vendor/zerocopy/tests/ui/transmute_mut.stable.stderr +213 -0
  1535. data/rust-vendor/zerocopy/tests/ui/transmute_ref.msrv.stderr +245 -0
  1536. data/rust-vendor/zerocopy/tests/ui/transmute_ref.nightly.stderr +359 -0
  1537. data/rust-vendor/zerocopy/tests/ui/transmute_ref.rs +86 -0
  1538. data/rust-vendor/zerocopy/tests/ui/transmute_ref.stable.stderr +359 -0
  1539. data/rust-vendor/zerocopy/tests/ui/try_transmute.msrv.stderr +54 -0
  1540. data/rust-vendor/zerocopy/tests/ui/try_transmute.nightly.stderr +124 -0
  1541. data/rust-vendor/zerocopy/tests/ui/try_transmute.rs +23 -0
  1542. data/rust-vendor/zerocopy/tests/ui/try_transmute.stable.stderr +124 -0
  1543. data/rust-vendor/zerocopy/tests/ui/try_transmute_mut.msrv.stderr +76 -0
  1544. data/rust-vendor/zerocopy/tests/ui/try_transmute_mut.nightly.stderr +252 -0
  1545. data/rust-vendor/zerocopy/tests/ui/try_transmute_mut.rs +49 -0
  1546. data/rust-vendor/zerocopy/tests/ui/try_transmute_mut.stable.stderr +252 -0
  1547. data/rust-vendor/zerocopy/tests/ui/try_transmute_ref.msrv.stderr +84 -0
  1548. data/rust-vendor/zerocopy/tests/ui/try_transmute_ref.nightly.stderr +206 -0
  1549. data/rust-vendor/zerocopy/tests/ui/try_transmute_ref.rs +36 -0
  1550. data/rust-vendor/zerocopy/tests/ui/try_transmute_ref.stable.stderr +206 -0
  1551. data/rust-vendor/zerocopy/tests/ui.rs +34 -0
  1552. data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
  1553. data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
  1554. data/rust-vendor/zerocopy-derive/Cargo.lock +1 -180
  1555. data/rust-vendor/zerocopy-derive/Cargo.toml +3 -13
  1556. data/rust-vendor/zerocopy-derive/Cargo.toml.orig +1 -8
  1557. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(C).expected.rs +40 -0
  1558. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(i128).expected.rs +40 -0
  1559. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(i16).expected.rs +40 -0
  1560. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(i32).expected.rs +40 -0
  1561. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(i64).expected.rs +40 -0
  1562. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(i8).expected.rs +40 -0
  1563. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(isize).expected.rs +40 -0
  1564. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(u128).expected.rs +40 -0
  1565. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(u16).expected.rs +40 -0
  1566. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(u32).expected.rs +40 -0
  1567. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(u64).expected.rs +40 -0
  1568. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(u8).expected.rs +40 -0
  1569. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.repr(usize).expected.rs +40 -0
  1570. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_basic.expected.rs +10 -1
  1571. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_trailing.expected.rs +10 -1
  1572. data/rust-vendor/zerocopy-derive/src/output_tests/mod.rs +4 -4
  1573. data/rust-vendor/zerocopy-derive/src/util.rs +24 -5
  1574. data/rust-vendor/zerocopy-derive/tests/enum_to_bytes.rs +9 -0
  1575. data/rust-vendor/zerocopy-derive/tests/struct_to_bytes.rs +9 -0
  1576. data/rust-vendor/zerocopy-derive/tests/ui/absence_of_deprecated_warning.msrv.stderr +14 -0
  1577. data/rust-vendor/zerocopy-derive/tests/ui/absence_of_deprecated_warning.nightly.stderr +28 -0
  1578. data/rust-vendor/zerocopy-derive/tests/ui/absence_of_deprecated_warning.rs +35 -0
  1579. data/rust-vendor/zerocopy-derive/tests/ui/absence_of_deprecated_warning.stable.stderr +28 -0
  1580. data/rust-vendor/zerocopy-derive/tests/ui/cfgs/union_into_bytes_cfg.msrv.stderr +15 -0
  1581. data/rust-vendor/zerocopy-derive/tests/ui/derive_transparent.msrv.stderr +93 -0
  1582. data/rust-vendor/zerocopy-derive/tests/ui/derive_transparent.nightly.stderr +198 -0
  1583. data/rust-vendor/zerocopy-derive/tests/ui/derive_transparent.rs +48 -0
  1584. data/rust-vendor/zerocopy-derive/tests/ui/derive_transparent.stable.stderr +173 -0
  1585. data/rust-vendor/zerocopy-derive/tests/ui/enum.msrv.stderr +419 -0
  1586. data/rust-vendor/zerocopy-derive/tests/ui/enum.nightly.stderr +601 -0
  1587. data/rust-vendor/zerocopy-derive/tests/ui/enum.rs +688 -0
  1588. data/rust-vendor/zerocopy-derive/tests/ui/enum.stable.stderr +549 -0
  1589. data/rust-vendor/zerocopy-derive/tests/ui/enum_from_bytes_u8_too_few.msrv.stderr +14 -0
  1590. data/rust-vendor/zerocopy-derive/tests/ui/enum_from_bytes_u8_too_few.nightly.stderr +14 -0
  1591. data/rust-vendor/zerocopy-derive/tests/ui/enum_from_bytes_u8_too_few.rs +274 -0
  1592. data/rust-vendor/zerocopy-derive/tests/ui/enum_from_bytes_u8_too_few.stable.stderr +14 -0
  1593. data/rust-vendor/zerocopy-derive/tests/ui/late_compile_pass.msrv.stderr +101 -0
  1594. data/rust-vendor/zerocopy-derive/tests/ui/late_compile_pass.nightly.stderr +335 -0
  1595. data/rust-vendor/zerocopy-derive/tests/ui/late_compile_pass.rs +108 -0
  1596. data/rust-vendor/zerocopy-derive/tests/ui/late_compile_pass.stable.stderr +295 -0
  1597. data/rust-vendor/zerocopy-derive/tests/ui/mid_compile_pass.msrv.stderr +101 -0
  1598. data/rust-vendor/zerocopy-derive/tests/ui/mid_compile_pass.nightly.stderr +114 -0
  1599. data/rust-vendor/zerocopy-derive/tests/ui/mid_compile_pass.rs +70 -0
  1600. data/rust-vendor/zerocopy-derive/tests/ui/mid_compile_pass.stable.stderr +114 -0
  1601. data/rust-vendor/zerocopy-derive/tests/ui/msrv_specific.msrv.stderr +29 -0
  1602. data/rust-vendor/zerocopy-derive/tests/ui/msrv_specific.nightly.stderr +45 -0
  1603. data/rust-vendor/zerocopy-derive/tests/ui/msrv_specific.rs +40 -0
  1604. data/rust-vendor/zerocopy-derive/tests/ui/msrv_specific.stable.stderr +45 -0
  1605. data/rust-vendor/zerocopy-derive/tests/ui/privacy.msrv.stderr +147 -0
  1606. data/rust-vendor/zerocopy-derive/tests/ui/privacy.nightly.stderr +32 -0
  1607. data/rust-vendor/zerocopy-derive/tests/ui/privacy.rs +160 -0
  1608. data/rust-vendor/zerocopy-derive/tests/ui/privacy.stable.stderr +32 -0
  1609. data/rust-vendor/zerocopy-derive/tests/ui/struct.msrv.stderr +87 -0
  1610. data/rust-vendor/zerocopy-derive/tests/ui/struct.nightly.stderr +554 -0
  1611. data/rust-vendor/zerocopy-derive/tests/ui/struct.rs +339 -0
  1612. data/rust-vendor/zerocopy-derive/tests/ui/struct.stable.stderr +522 -0
  1613. data/rust-vendor/zerocopy-derive/tests/ui/union.msrv.stderr +88 -0
  1614. data/rust-vendor/zerocopy-derive/tests/ui/union.nightly.stderr +130 -0
  1615. data/rust-vendor/zerocopy-derive/tests/ui/union.rs +134 -0
  1616. data/rust-vendor/zerocopy-derive/tests/ui/union.stable.stderr +125 -0
  1617. data/rust-vendor/zerocopy-derive/tests/ui.rs +28 -0
  1618. data/rust-vendor/zerocopy-derive/tests/union_to_bytes.rs +9 -0
  1619. metadata +1263 -458
  1620. data/ext/html-to-markdown-rb/native/Cargo.lock +0 -1591
  1621. data/rust-vendor/futf/.cargo-checksum.json +0 -1
  1622. data/rust-vendor/futf/.cargo_vcs_info.json +0 -6
  1623. data/rust-vendor/futf/.travis.yml +0 -11
  1624. data/rust-vendor/futf/Cargo.toml +0 -24
  1625. data/rust-vendor/futf/Cargo.toml.orig +0 -12
  1626. data/rust-vendor/futf/LICENSE-APACHE +0 -201
  1627. data/rust-vendor/futf/LICENSE-MIT +0 -25
  1628. data/rust-vendor/futf/README.md +0 -18
  1629. data/rust-vendor/futf/src/lib.rs +0 -248
  1630. data/rust-vendor/futf/src/test.rs +0 -270
  1631. data/rust-vendor/html5ever/examples/capi/tokenize.c +0 -74
  1632. data/rust-vendor/mac/.cargo-checksum.json +0 -1
  1633. data/rust-vendor/mac/.travis.yml +0 -19
  1634. data/rust-vendor/mac/Cargo.toml +0 -10
  1635. data/rust-vendor/mac/README.md +0 -27
  1636. data/rust-vendor/mac/src/cfg.rs +0 -90
  1637. data/rust-vendor/mac/src/format.rs +0 -50
  1638. data/rust-vendor/mac/src/inspect.rs +0 -93
  1639. data/rust-vendor/mac/src/lib.rs +0 -71
  1640. data/rust-vendor/mac/src/matches.rs +0 -44
  1641. data/rust-vendor/mac/src/mem.rs +0 -44
  1642. data/rust-vendor/mac/src/syntax_ext.rs +0 -31
  1643. data/rust-vendor/mac/src/test.rs +0 -24
  1644. data/rust-vendor/markup5ever/Cargo.lock +0 -292
  1645. data/rust-vendor/tendril/.github/workflows/main.yml +0 -51
  1646. data/rust-vendor/tendril/src/bench.rs +0 -159
  1647. data/rust-vendor/wasip2/wit/deps/cli/command.wit +0 -10
  1648. data/rust-vendor/wasip2/wit/deps/cli/environment.wit +0 -22
  1649. data/rust-vendor/wasip2/wit/deps/cli/exit.wit +0 -17
  1650. data/rust-vendor/wasip2/wit/deps/cli/imports.wit +0 -36
  1651. data/rust-vendor/wasip2/wit/deps/cli/run.wit +0 -6
  1652. data/rust-vendor/wasip2/wit/deps/cli/stdio.wit +0 -26
  1653. data/rust-vendor/wasip2/wit/deps/cli/terminal.wit +0 -62
  1654. data/rust-vendor/wasip2/wit/deps/clocks/monotonic-clock.wit +0 -50
  1655. data/rust-vendor/wasip2/wit/deps/clocks/timezone.wit +0 -55
  1656. data/rust-vendor/wasip2/wit/deps/clocks/wall-clock.wit +0 -46
  1657. data/rust-vendor/wasip2/wit/deps/clocks/world.wit +0 -11
  1658. data/rust-vendor/wasip2/wit/deps/filesystem/preopens.wit +0 -11
  1659. data/rust-vendor/wasip2/wit/deps/filesystem/types.wit +0 -676
  1660. data/rust-vendor/wasip2/wit/deps/filesystem/world.wit +0 -9
  1661. data/rust-vendor/wasip2/wit/deps/http/handler.wit +0 -49
  1662. data/rust-vendor/wasip2/wit/deps/http/proxy.wit +0 -50
  1663. data/rust-vendor/wasip2/wit/deps/http/types.wit +0 -688
  1664. data/rust-vendor/wasip2/wit/deps/io/error.wit +0 -34
  1665. data/rust-vendor/wasip2/wit/deps/io/poll.wit +0 -47
  1666. data/rust-vendor/wasip2/wit/deps/io/streams.wit +0 -290
  1667. data/rust-vendor/wasip2/wit/deps/io/world.wit +0 -10
  1668. data/rust-vendor/wasip2/wit/deps/random/insecure-seed.wit +0 -27
  1669. data/rust-vendor/wasip2/wit/deps/random/insecure.wit +0 -25
  1670. data/rust-vendor/wasip2/wit/deps/random/random.wit +0 -29
  1671. data/rust-vendor/wasip2/wit/deps/random/world.wit +0 -13
  1672. data/rust-vendor/wasip2/wit/deps/sockets/instance-network.wit +0 -11
  1673. data/rust-vendor/wasip2/wit/deps/sockets/ip-name-lookup.wit +0 -56
  1674. data/rust-vendor/wasip2/wit/deps/sockets/network.wit +0 -169
  1675. data/rust-vendor/wasip2/wit/deps/sockets/tcp-create-socket.wit +0 -30
  1676. data/rust-vendor/wasip2/wit/deps/sockets/tcp.wit +0 -387
  1677. data/rust-vendor/wasip2/wit/deps/sockets/udp-create-socket.wit +0 -30
  1678. data/rust-vendor/wasip2/wit/deps/sockets/udp.wit +0 -288
  1679. data/rust-vendor/wasip2/wit/deps/sockets/world.wit +0 -19
  1680. data/rust-vendor/wit-bindgen-0.46.0/.cargo-checksum.json +0 -1
  1681. data/rust-vendor/wit-bindgen-0.46.0/.cargo_vcs_info.json +0 -6
  1682. data/rust-vendor/wit-bindgen-0.46.0/Cargo.lock +0 -428
  1683. data/rust-vendor/wit-bindgen-0.46.0/Cargo.toml +0 -88
  1684. data/rust-vendor/wit-bindgen-0.46.0/Cargo.toml.orig +0 -37
  1685. data/rust-vendor/wit-bindgen-0.46.0/LICENSE-APACHE +0 -201
  1686. data/rust-vendor/wit-bindgen-0.46.0/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -220
  1687. data/rust-vendor/wit-bindgen-0.46.0/README.md +0 -45
  1688. data/rust-vendor/wit-bindgen-0.46.0/build.rs +0 -32
  1689. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_0_world_imports.rs +0 -17
  1690. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_1_interface_imports.rs +0 -32
  1691. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_2_imported_resources.rs +0 -22
  1692. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_3_world_exports.rs +0 -47
  1693. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_4_exported_resources.rs +0 -26
  1694. data/rust-vendor/wit-bindgen-0.46.0/src/examples.rs +0 -55
  1695. data/rust-vendor/wit-bindgen-0.46.0/src/lib.rs +0 -881
  1696. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/abi_buffer.rs +0 -417
  1697. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/cabi.rs +0 -112
  1698. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/error_context.rs +0 -94
  1699. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/future_support.rs +0 -734
  1700. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/stream_support.rs +0 -604
  1701. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/subtask.rs +0 -289
  1702. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/waitable.rs +0 -466
  1703. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/waitable_set.rs +0 -100
  1704. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support.rs +0 -634
  1705. data/rust-vendor/wit-bindgen-0.46.0/src/rt/mod.rs +0 -230
  1706. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi.c +0 -20
  1707. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi.o +0 -0
  1708. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_realloc.c +0 -10
  1709. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_realloc.o +0 -0
  1710. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_realloc.rs +0 -11
  1711. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_wasip3.c +0 -12
  1712. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_wasip3.o +0 -0
  1713. data/rust-vendor/wit-bindgen-0.46.0/wasi-cli@0.2.0.wasm +0 -0
  1714. data/rust-vendor/zerocopy/tests/trybuild.rs +0 -40
  1715. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-bytes.rs +0 -19
  1716. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-bytes.stderr +0 -11
  1717. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-zeros.rs +0 -19
  1718. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-zeros.stderr +0 -11
  1719. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-immutable.rs +0 -19
  1720. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-immutable.stderr +0 -11
  1721. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-into-bytes.rs +0 -19
  1722. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-into-bytes.stderr +0 -11
  1723. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-issue-1296.rs +0 -57
  1724. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-issue-1296.stderr +0 -11
  1725. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-known-layout.rs +0 -19
  1726. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-known-layout.stderr +0 -11
  1727. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.rs +0 -19
  1728. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.stderr +0 -11
  1729. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-unaligned.rs +0 -19
  1730. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-unaligned.stderr +0 -11
  1731. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_not_from_bytes.rs +0 -17
  1732. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_not_from_bytes.stderr +0 -15
  1733. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_wrong_size.rs +0 -12
  1734. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_wrong_size.stderr +0 -9
  1735. data/rust-vendor/zerocopy/tests/ui-msrv/max-align.rs +0 -99
  1736. data/rust-vendor/zerocopy/tests/ui-msrv/max-align.stderr +0 -5
  1737. data/rust-vendor/zerocopy/tests/ui-msrv/ptr-is-invariant-over-v.rs +0 -29
  1738. data/rust-vendor/zerocopy/tests/ui-msrv/ptr-is-invariant-over-v.stderr +0 -17
  1739. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-dst-not-frombytes.rs +0 -17
  1740. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-dst-not-frombytes.stderr +0 -15
  1741. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.rs +0 -18
  1742. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.stderr +0 -48
  1743. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.rs +0 -15
  1744. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.stderr +0 -19
  1745. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-frombytes.rs +0 -22
  1746. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-frombytes.stderr +0 -7
  1747. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-intobytes.rs +0 -22
  1748. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-intobytes.stderr +0 -7
  1749. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-illegal-lifetime.rs +0 -15
  1750. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-illegal-lifetime.stderr +0 -9
  1751. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-dst-not-references.rs +0 -15
  1752. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-dst-not-references.stderr +0 -12
  1753. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-immutable.rs +0 -16
  1754. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-immutable.stderr +0 -11
  1755. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-a-reference.rs +0 -15
  1756. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-a-reference.stderr +0 -12
  1757. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-frombytes.rs +0 -22
  1758. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-frombytes.stderr +0 -7
  1759. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-intobytes.rs +0 -22
  1760. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-intobytes.stderr +0 -7
  1761. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.rs +0 -15
  1762. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.stderr +0 -16
  1763. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ptr-to-usize.rs +0 -18
  1764. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ptr-to-usize.stderr +0 -15
  1765. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.rs +0 -17
  1766. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.stderr +0 -39
  1767. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.rs +0 -15
  1768. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.stderr +0 -39
  1769. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-frombytes.rs +0 -21
  1770. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-frombytes.stderr +0 -12
  1771. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-nocell.rs +0 -21
  1772. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-nocell.stderr +0 -12
  1773. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-illegal-lifetime.rs +0 -15
  1774. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-illegal-lifetime.stderr +0 -9
  1775. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.rs +0 -15
  1776. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.stderr +0 -52
  1777. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-a-reference.rs +0 -15
  1778. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-a-reference.stderr +0 -12
  1779. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-intobytes.rs +0 -21
  1780. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-intobytes.stderr +0 -25
  1781. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-nocell.rs +0 -21
  1782. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-nocell.stderr +0 -25
  1783. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.rs +0 -14
  1784. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.stderr +0 -16
  1785. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-decrease.rs +0 -18
  1786. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-decrease.stderr +0 -9
  1787. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase-allow-shrink.rs +0 -18
  1788. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase-allow-shrink.stderr +0 -9
  1789. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase.rs +0 -18
  1790. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase.stderr +0 -9
  1791. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-src-not-intobytes.rs +0 -17
  1792. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-src-not-intobytes.stderr +0 -15
  1793. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-dst-not-tryfrombytes.rs +0 -16
  1794. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-dst-not-tryfrombytes.stderr +0 -37
  1795. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-decrease.rs +0 -18
  1796. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-decrease.stderr +0 -9
  1797. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-increase.rs +0 -18
  1798. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-increase.stderr +0 -9
  1799. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-src-not-intobytes.rs +0 -17
  1800. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-src-not-intobytes.stderr +0 -12
  1801. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.rs +0 -19
  1802. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.stderr +0 -40
  1803. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-frombytes.rs +0 -22
  1804. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-frombytes.stderr +0 -23
  1805. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-intobytes.rs +0 -22
  1806. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-intobytes.stderr +0 -23
  1807. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.rs +0 -17
  1808. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.stderr +0 -22
  1809. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +0 -18
  1810. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +0 -40
  1811. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.rs +0 -18
  1812. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.stderr +0 -15
  1813. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-bytes.rs +0 -19
  1814. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-bytes.stderr +0 -27
  1815. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-zeros.rs +0 -19
  1816. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-zeros.stderr +0 -27
  1817. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-immutable.rs +0 -19
  1818. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-immutable.stderr +0 -27
  1819. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-into-bytes.rs +0 -19
  1820. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-into-bytes.stderr +0 -27
  1821. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-issue-1296.rs +0 -57
  1822. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-issue-1296.stderr +0 -49
  1823. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-known-layout.rs +0 -19
  1824. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-known-layout.stderr +0 -27
  1825. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.rs +0 -19
  1826. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.stderr +0 -27
  1827. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-unaligned.rs +0 -19
  1828. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-unaligned.stderr +0 -27
  1829. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_not_from_bytes.rs +0 -17
  1830. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_not_from_bytes.stderr +0 -31
  1831. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_wrong_size.rs +0 -12
  1832. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_wrong_size.stderr +0 -17
  1833. data/rust-vendor/zerocopy/tests/ui-nightly/max-align.rs +0 -99
  1834. data/rust-vendor/zerocopy/tests/ui-nightly/max-align.stderr +0 -5
  1835. data/rust-vendor/zerocopy/tests/ui-nightly/ptr-is-invariant-over-v.rs +0 -29
  1836. data/rust-vendor/zerocopy/tests/ui-nightly/ptr-is-invariant-over-v.stderr +0 -31
  1837. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-dst-not-frombytes.rs +0 -17
  1838. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-dst-not-frombytes.stderr +0 -31
  1839. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.rs +0 -18
  1840. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.stderr +0 -32
  1841. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.rs +0 -15
  1842. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.stderr +0 -19
  1843. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-frombytes.rs +0 -22
  1844. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-frombytes.stderr +0 -31
  1845. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-intobytes.rs +0 -22
  1846. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-intobytes.stderr +0 -31
  1847. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-illegal-lifetime.rs +0 -15
  1848. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-illegal-lifetime.stderr +0 -12
  1849. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-dst-not-references.rs +0 -15
  1850. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-dst-not-references.stderr +0 -15
  1851. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-immutable.rs +0 -16
  1852. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-immutable.stderr +0 -11
  1853. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-a-reference.rs +0 -15
  1854. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-a-reference.stderr +0 -15
  1855. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-frombytes.rs +0 -22
  1856. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-frombytes.stderr +0 -31
  1857. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-intobytes.rs +0 -22
  1858. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-intobytes.stderr +0 -31
  1859. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.rs +0 -15
  1860. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.stderr +0 -16
  1861. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ptr-to-usize.rs +0 -18
  1862. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ptr-to-usize.stderr +0 -29
  1863. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.rs +0 -17
  1864. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.stderr +0 -39
  1865. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.rs +0 -15
  1866. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.stderr +0 -39
  1867. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-frombytes.rs +0 -21
  1868. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-frombytes.stderr +0 -31
  1869. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-nocell.rs +0 -21
  1870. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-nocell.stderr +0 -31
  1871. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-illegal-lifetime.rs +0 -15
  1872. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-illegal-lifetime.stderr +0 -12
  1873. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.rs +0 -15
  1874. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.stderr +0 -55
  1875. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-a-reference.rs +0 -15
  1876. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-a-reference.stderr +0 -15
  1877. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-intobytes.rs +0 -21
  1878. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-intobytes.stderr +0 -60
  1879. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-nocell.rs +0 -21
  1880. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-nocell.stderr +0 -60
  1881. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.rs +0 -14
  1882. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.stderr +0 -16
  1883. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-decrease.rs +0 -18
  1884. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-decrease.stderr +0 -17
  1885. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase-allow-shrink.rs +0 -18
  1886. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase-allow-shrink.stderr +0 -17
  1887. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase.rs +0 -18
  1888. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase.stderr +0 -17
  1889. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-src-not-intobytes.rs +0 -17
  1890. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-src-not-intobytes.stderr +0 -34
  1891. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-dst-not-tryfrombytes.rs +0 -16
  1892. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-dst-not-tryfrombytes.stderr +0 -88
  1893. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-decrease.rs +0 -18
  1894. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-decrease.stderr +0 -9
  1895. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-increase.rs +0 -18
  1896. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-increase.stderr +0 -9
  1897. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-src-not-intobytes.rs +0 -17
  1898. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-src-not-intobytes.stderr +0 -31
  1899. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.rs +0 -19
  1900. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.stderr +0 -120
  1901. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-frombytes.rs +0 -22
  1902. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-frombytes.stderr +0 -95
  1903. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-intobytes.rs +0 -22
  1904. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-intobytes.stderr +0 -95
  1905. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-mutable.rs +0 -17
  1906. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-mutable.stderr +0 -32
  1907. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +0 -18
  1908. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +0 -120
  1909. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.rs +0 -18
  1910. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.stderr +0 -63
  1911. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-bytes.rs +0 -19
  1912. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-bytes.stderr +0 -27
  1913. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-zeros.rs +0 -19
  1914. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-zeros.stderr +0 -27
  1915. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-immutable.rs +0 -19
  1916. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-immutable.stderr +0 -27
  1917. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-into-bytes.rs +0 -19
  1918. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-into-bytes.stderr +0 -27
  1919. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-issue-1296.rs +0 -57
  1920. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-issue-1296.stderr +0 -49
  1921. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-known-layout.rs +0 -19
  1922. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-known-layout.stderr +0 -27
  1923. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-try-from-bytes.rs +0 -19
  1924. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-try-from-bytes.stderr +0 -27
  1925. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-unaligned.rs +0 -19
  1926. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-unaligned.stderr +0 -27
  1927. data/rust-vendor/zerocopy/tests/ui-stable/include_value_not_from_bytes.rs +0 -17
  1928. data/rust-vendor/zerocopy/tests/ui-stable/include_value_not_from_bytes.stderr +0 -31
  1929. data/rust-vendor/zerocopy/tests/ui-stable/include_value_wrong_size.rs +0 -12
  1930. data/rust-vendor/zerocopy/tests/ui-stable/include_value_wrong_size.stderr +0 -17
  1931. data/rust-vendor/zerocopy/tests/ui-stable/max-align.rs +0 -99
  1932. data/rust-vendor/zerocopy/tests/ui-stable/max-align.stderr +0 -5
  1933. data/rust-vendor/zerocopy/tests/ui-stable/ptr-is-invariant-over-v.rs +0 -29
  1934. data/rust-vendor/zerocopy/tests/ui-stable/ptr-is-invariant-over-v.stderr +0 -31
  1935. data/rust-vendor/zerocopy/tests/ui-stable/transmute-dst-not-frombytes.rs +0 -17
  1936. data/rust-vendor/zerocopy/tests/ui-stable/transmute-dst-not-frombytes.stderr +0 -31
  1937. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.rs +0 -18
  1938. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.stderr +0 -32
  1939. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.rs +0 -15
  1940. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.stderr +0 -19
  1941. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-frombytes.rs +0 -22
  1942. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-frombytes.stderr +0 -31
  1943. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-intobytes.rs +0 -22
  1944. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-intobytes.stderr +0 -31
  1945. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-illegal-lifetime.rs +0 -15
  1946. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-illegal-lifetime.stderr +0 -12
  1947. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-not-references.rs +0 -15
  1948. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-not-references.stderr +0 -15
  1949. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-immutable.rs +0 -16
  1950. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-immutable.stderr +0 -11
  1951. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-a-reference.rs +0 -15
  1952. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-a-reference.stderr +0 -15
  1953. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-frombytes.rs +0 -22
  1954. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-frombytes.stderr +0 -31
  1955. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-intobytes.rs +0 -22
  1956. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-intobytes.stderr +0 -31
  1957. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.rs +0 -15
  1958. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.stderr +0 -16
  1959. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ptr-to-usize.rs +0 -18
  1960. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ptr-to-usize.stderr +0 -24
  1961. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.rs +0 -17
  1962. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.stderr +0 -39
  1963. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.rs +0 -15
  1964. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.stderr +0 -39
  1965. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-frombytes.rs +0 -21
  1966. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-frombytes.stderr +0 -31
  1967. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-nocell.rs +0 -21
  1968. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-nocell.stderr +0 -31
  1969. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-illegal-lifetime.rs +0 -15
  1970. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-illegal-lifetime.stderr +0 -12
  1971. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.rs +0 -15
  1972. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.stderr +0 -55
  1973. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-a-reference.rs +0 -15
  1974. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-a-reference.stderr +0 -15
  1975. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-intobytes.rs +0 -21
  1976. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-intobytes.stderr +0 -60
  1977. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-nocell.rs +0 -21
  1978. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-nocell.stderr +0 -60
  1979. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.rs +0 -14
  1980. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.stderr +0 -16
  1981. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-decrease.rs +0 -18
  1982. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-decrease.stderr +0 -17
  1983. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase-allow-shrink.rs +0 -18
  1984. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase-allow-shrink.stderr +0 -17
  1985. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase.rs +0 -18
  1986. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase.stderr +0 -17
  1987. data/rust-vendor/zerocopy/tests/ui-stable/transmute-src-not-intobytes.rs +0 -17
  1988. data/rust-vendor/zerocopy/tests/ui-stable/transmute-src-not-intobytes.stderr +0 -34
  1989. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-dst-not-tryfrombytes.rs +0 -16
  1990. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-dst-not-tryfrombytes.stderr +0 -88
  1991. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-decrease.rs +0 -18
  1992. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-decrease.stderr +0 -9
  1993. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-increase.rs +0 -18
  1994. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-increase.stderr +0 -9
  1995. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-src-not-intobytes.rs +0 -17
  1996. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-src-not-intobytes.stderr +0 -31
  1997. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.rs +0 -19
  1998. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.stderr +0 -120
  1999. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-frombytes.rs +0 -22
  2000. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-frombytes.stderr +0 -95
  2001. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-intobytes.rs +0 -22
  2002. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-intobytes.stderr +0 -95
  2003. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-mutable.rs +0 -17
  2004. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-mutable.stderr +0 -32
  2005. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +0 -18
  2006. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +0 -120
  2007. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs +0 -18
  2008. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.stderr +0 -63
  2009. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.expected.rs +0 -17
  2010. data/rust-vendor/zerocopy-derive/tests/trybuild.rs +0 -62
  2011. data/rust-vendor/zerocopy-derive/tests/ui-msrv/cfgs/union_into_bytes_cfg.stderr +0 -8
  2012. data/rust-vendor/zerocopy-derive/tests/ui-msrv/derive_transparent.rs +0 -39
  2013. data/rust-vendor/zerocopy-derive/tests/ui-msrv/derive_transparent.stderr +0 -89
  2014. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum.rs +0 -624
  2015. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum.stderr +0 -399
  2016. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum_from_bytes_u8_too_few.rs +0 -273
  2017. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum_from_bytes_u8_too_few.stderr +0 -11
  2018. data/rust-vendor/zerocopy-derive/tests/ui-msrv/late_compile_pass.rs +0 -92
  2019. data/rust-vendor/zerocopy-derive/tests/ui-msrv/late_compile_pass.stderr +0 -97
  2020. data/rust-vendor/zerocopy-derive/tests/ui-msrv/mid_compile_pass.rs +0 -65
  2021. data/rust-vendor/zerocopy-derive/tests/ui-msrv/mid_compile_pass.stderr +0 -97
  2022. data/rust-vendor/zerocopy-derive/tests/ui-msrv/msrv_specific.rs +0 -39
  2023. data/rust-vendor/zerocopy-derive/tests/ui-msrv/msrv_specific.stderr +0 -25
  2024. data/rust-vendor/zerocopy-derive/tests/ui-msrv/privacy.rs +0 -139
  2025. data/rust-vendor/zerocopy-derive/tests/ui-msrv/privacy.stderr +0 -143
  2026. data/rust-vendor/zerocopy-derive/tests/ui-msrv/struct.rs +0 -286
  2027. data/rust-vendor/zerocopy-derive/tests/ui-msrv/struct.stderr +0 -281
  2028. data/rust-vendor/zerocopy-derive/tests/ui-msrv/union.rs +0 -120
  2029. data/rust-vendor/zerocopy-derive/tests/ui-msrv/union.stderr +0 -84
  2030. data/rust-vendor/zerocopy-derive/tests/ui-nightly/absence_of_deprecated_warning.rs +0 -34
  2031. data/rust-vendor/zerocopy-derive/tests/ui-nightly/absence_of_deprecated_warning.stderr +0 -11
  2032. data/rust-vendor/zerocopy-derive/tests/ui-nightly/cfgs/on_error.rs +0 -19
  2033. data/rust-vendor/zerocopy-derive/tests/ui-nightly/cfgs/union_into_bytes_cfg.rs +0 -27
  2034. data/rust-vendor/zerocopy-derive/tests/ui-nightly/derive_transparent.rs +0 -39
  2035. data/rust-vendor/zerocopy-derive/tests/ui-nightly/derive_transparent.stderr +0 -194
  2036. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.rs +0 -624
  2037. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.stderr +0 -578
  2038. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum_from_bytes_u8_too_few.rs +0 -273
  2039. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum_from_bytes_u8_too_few.stderr +0 -11
  2040. data/rust-vendor/zerocopy-derive/tests/ui-nightly/late_compile_pass.rs +0 -92
  2041. data/rust-vendor/zerocopy-derive/tests/ui-nightly/late_compile_pass.stderr +0 -331
  2042. data/rust-vendor/zerocopy-derive/tests/ui-nightly/mid_compile_pass.rs +0 -65
  2043. data/rust-vendor/zerocopy-derive/tests/ui-nightly/mid_compile_pass.stderr +0 -109
  2044. data/rust-vendor/zerocopy-derive/tests/ui-nightly/privacy.rs +0 -139
  2045. data/rust-vendor/zerocopy-derive/tests/ui-nightly/privacy.stderr +0 -17
  2046. data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.rs +0 -286
  2047. data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.stderr +0 -555
  2048. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.rs +0 -120
  2049. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.stderr +0 -128
  2050. data/rust-vendor/zerocopy-derive/tests/ui-stable/cfgs/on_error.rs +0 -19
  2051. data/rust-vendor/zerocopy-derive/tests/ui-stable/cfgs/union_into_bytes_cfg.rs +0 -27
  2052. data/rust-vendor/zerocopy-derive/tests/ui-stable/derive_transparent.rs +0 -39
  2053. data/rust-vendor/zerocopy-derive/tests/ui-stable/derive_transparent.stderr +0 -169
  2054. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.rs +0 -624
  2055. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.stderr +0 -523
  2056. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum_from_bytes_u8_too_few.rs +0 -273
  2057. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum_from_bytes_u8_too_few.stderr +0 -11
  2058. data/rust-vendor/zerocopy-derive/tests/ui-stable/late_compile_pass.rs +0 -92
  2059. data/rust-vendor/zerocopy-derive/tests/ui-stable/late_compile_pass.stderr +0 -291
  2060. data/rust-vendor/zerocopy-derive/tests/ui-stable/mid_compile_pass.rs +0 -65
  2061. data/rust-vendor/zerocopy-derive/tests/ui-stable/mid_compile_pass.stderr +0 -109
  2062. data/rust-vendor/zerocopy-derive/tests/ui-stable/privacy.rs +0 -139
  2063. data/rust-vendor/zerocopy-derive/tests/ui-stable/privacy.stderr +0 -17
  2064. data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.rs +0 -286
  2065. data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.stderr +0 -499
  2066. data/rust-vendor/zerocopy-derive/tests/ui-stable/union.rs +0 -120
  2067. data/rust-vendor/zerocopy-derive/tests/ui-stable/union.stderr +0 -120
  2068. /data/rust-vendor/{wit-bindgen-0.46.0 → async-trait}/LICENSE-MIT +0 -0
  2069. /data/rust-vendor/zerocopy-derive/tests/{ui-msrv/cfgs/on_error.stderr → ui/cfgs/on_error.msrv.stderr} +0 -0
  2070. /data/rust-vendor/zerocopy-derive/tests/{ui-nightly/cfgs/on_error.stderr → ui/cfgs/on_error.nightly.stderr} +0 -0
  2071. /data/rust-vendor/zerocopy-derive/tests/{ui-msrv → ui}/cfgs/on_error.rs +0 -0
  2072. /data/rust-vendor/zerocopy-derive/tests/{ui-stable/cfgs/on_error.stderr → ui/cfgs/on_error.stable.stderr} +0 -0
  2073. /data/rust-vendor/zerocopy-derive/tests/{ui-nightly/cfgs/union_into_bytes_cfg.stderr → ui/cfgs/union_into_bytes_cfg.nightly.stderr} +0 -0
  2074. /data/rust-vendor/zerocopy-derive/tests/{ui-msrv → ui}/cfgs/union_into_bytes_cfg.rs +0 -0
  2075. /data/rust-vendor/zerocopy-derive/tests/{ui-stable/cfgs/union_into_bytes_cfg.stderr → ui/cfgs/union_into_bytes_cfg.stable.stderr} +0 -0
@@ -0,0 +1,1206 @@
1
+ use super::batch_semaphore as ll; // low level implementation
2
+ use super::{AcquireError, TryAcquireError};
3
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
4
+ use crate::util::trace;
5
+ use std::sync::Arc;
6
+
7
+ /// Counting semaphore performing asynchronous permit acquisition.
8
+ ///
9
+ /// A semaphore maintains a set of permits. Permits are used to synchronize
10
+ /// access to a shared resource. A semaphore differs from a mutex in that it
11
+ /// can allow more than one concurrent caller to access the shared resource at a
12
+ /// time.
13
+ ///
14
+ /// When `acquire` is called and the semaphore has remaining permits, the
15
+ /// function immediately returns a permit. However, if no remaining permits are
16
+ /// available, `acquire` (asynchronously) waits until an outstanding permit is
17
+ /// dropped. At this point, the freed permit is assigned to the caller.
18
+ ///
19
+ /// This `Semaphore` is fair, which means that permits are given out in the order
20
+ /// they were requested. This fairness is also applied when `acquire_many` gets
21
+ /// involved, so if a call to `acquire_many` at the front of the queue requests
22
+ /// more permits than currently available, this can prevent a call to `acquire`
23
+ /// from completing, even if the semaphore has enough permits complete the call
24
+ /// to `acquire`.
25
+ ///
26
+ /// To use the `Semaphore` in a poll function, you can use the [`PollSemaphore`]
27
+ /// utility.
28
+ ///
29
+ /// # Examples
30
+ ///
31
+ /// Basic usage:
32
+ ///
33
+ /// ```
34
+ /// use tokio::sync::{Semaphore, TryAcquireError};
35
+ ///
36
+ /// # #[tokio::main(flavor = "current_thread")]
37
+ /// # async fn main() {
38
+ /// let semaphore = Semaphore::new(3);
39
+ ///
40
+ /// let a_permit = semaphore.acquire().await.unwrap();
41
+ /// let two_permits = semaphore.acquire_many(2).await.unwrap();
42
+ ///
43
+ /// assert_eq!(semaphore.available_permits(), 0);
44
+ ///
45
+ /// let permit_attempt = semaphore.try_acquire();
46
+ /// assert_eq!(permit_attempt.err(), Some(TryAcquireError::NoPermits));
47
+ /// # }
48
+ /// ```
49
+ ///
50
+ /// ## Limit the number of simultaneously opened files in your program
51
+ ///
52
+ /// Most operating systems have limits on the number of open file
53
+ /// handles. Even in systems without explicit limits, resource constraints
54
+ /// implicitly set an upper bound on the number of open files. If your
55
+ /// program attempts to open a large number of files and exceeds this
56
+ /// limit, it will result in an error.
57
+ ///
58
+ /// This example uses a Semaphore with 100 permits. By acquiring a permit from
59
+ /// the Semaphore before accessing a file, you ensure that your program opens
60
+ /// no more than 100 files at a time. When trying to open the 101st
61
+ /// file, the program will wait until a permit becomes available before
62
+ /// proceeding to open another file.
63
+ /// ```
64
+ /// # #[cfg(not(target_family = "wasm"))]
65
+ /// # {
66
+ /// use std::io::Result;
67
+ /// use tokio::fs::File;
68
+ /// use tokio::sync::Semaphore;
69
+ /// use tokio::io::AsyncWriteExt;
70
+ ///
71
+ /// static PERMITS: Semaphore = Semaphore::const_new(100);
72
+ ///
73
+ /// async fn write_to_file(message: &[u8]) -> Result<()> {
74
+ /// let _permit = PERMITS.acquire().await.unwrap();
75
+ /// let mut buffer = File::create("example.txt").await?;
76
+ /// buffer.write_all(message).await?;
77
+ /// Ok(()) // Permit goes out of scope here, and is available again for acquisition
78
+ /// }
79
+ /// # }
80
+ /// ```
81
+ ///
82
+ /// ## Limit the number of outgoing requests being sent at the same time
83
+ ///
84
+ /// In some scenarios, it might be required to limit the number of outgoing
85
+ /// requests being sent in parallel. This could be due to limits of a consumed
86
+ /// API or the network resources of the system the application is running on.
87
+ ///
88
+ /// This example uses an `Arc<Semaphore>` with 10 permits. Each task spawned is
89
+ /// given a reference to the semaphore by cloning the `Arc<Semaphore>`. Before
90
+ /// a task sends a request, it must acquire a permit from the semaphore by
91
+ /// calling [`Semaphore::acquire`]. This ensures that at most 10 requests are
92
+ /// sent in parallel at any given time. After a task has sent a request, it
93
+ /// drops the permit to allow other tasks to send requests.
94
+ ///
95
+ /// ```
96
+ /// use std::sync::Arc;
97
+ /// use tokio::sync::Semaphore;
98
+ ///
99
+ /// # #[tokio::main(flavor = "current_thread")]
100
+ /// # async fn main() {
101
+ /// // Define maximum number of parallel requests.
102
+ /// let semaphore = Arc::new(Semaphore::new(5));
103
+ /// // Spawn many tasks that will send requests.
104
+ /// let mut jhs = Vec::new();
105
+ /// for task_id in 0..50 {
106
+ /// let semaphore = semaphore.clone();
107
+ /// let jh = tokio::spawn(async move {
108
+ /// // Acquire permit before sending request.
109
+ /// let _permit = semaphore.acquire().await.unwrap();
110
+ /// // Send the request.
111
+ /// let response = send_request(task_id).await;
112
+ /// // Drop the permit after the request has been sent.
113
+ /// drop(_permit);
114
+ /// // Handle response.
115
+ /// // ...
116
+ ///
117
+ /// response
118
+ /// });
119
+ /// jhs.push(jh);
120
+ /// }
121
+ /// // Collect responses from tasks.
122
+ /// let mut responses = Vec::new();
123
+ /// for jh in jhs {
124
+ /// let response = jh.await.unwrap();
125
+ /// responses.push(response);
126
+ /// }
127
+ /// // Process responses.
128
+ /// // ...
129
+ /// # }
130
+ /// # async fn send_request(task_id: usize) {
131
+ /// # // Send request.
132
+ /// # }
133
+ /// ```
134
+ ///
135
+ /// ## Limit the number of incoming requests being handled at the same time
136
+ ///
137
+ /// Similar to limiting the number of simultaneously opened files, network handles
138
+ /// are a limited resource. Allowing an unbounded amount of requests to be processed
139
+ /// could result in a denial-of-service, among many other issues.
140
+ ///
141
+ /// This example uses an `Arc<Semaphore>` instead of a global variable.
142
+ /// To limit the number of requests that can be processed at the time,
143
+ /// we acquire a permit for each task before spawning it. Once acquired,
144
+ /// a new task is spawned; and once finished, the permit is dropped inside
145
+ /// of the task to allow others to spawn. Permits must be acquired via
146
+ /// [`Semaphore::acquire_owned`] to be movable across the task boundary.
147
+ /// (Since our semaphore is not a global variable — if it was, then `acquire` would be enough.)
148
+ ///
149
+ /// ```no_run
150
+ /// # #[cfg(not(target_family = "wasm"))]
151
+ /// # {
152
+ /// use std::sync::Arc;
153
+ /// use tokio::sync::Semaphore;
154
+ /// use tokio::net::TcpListener;
155
+ ///
156
+ /// #[tokio::main]
157
+ /// async fn main() -> std::io::Result<()> {
158
+ /// let semaphore = Arc::new(Semaphore::new(3));
159
+ /// let listener = TcpListener::bind("127.0.0.1:8080").await?;
160
+ ///
161
+ /// loop {
162
+ /// // Acquire permit before accepting the next socket.
163
+ /// //
164
+ /// // We use `acquire_owned` so that we can move `permit` into
165
+ /// // other tasks.
166
+ /// let permit = semaphore.clone().acquire_owned().await.unwrap();
167
+ /// let (mut socket, _) = listener.accept().await?;
168
+ ///
169
+ /// tokio::spawn(async move {
170
+ /// // Do work using the socket.
171
+ /// handle_connection(&mut socket).await;
172
+ /// // Drop socket while the permit is still live.
173
+ /// drop(socket);
174
+ /// // Drop the permit, so more tasks can be created.
175
+ /// drop(permit);
176
+ /// });
177
+ /// }
178
+ /// }
179
+ /// # async fn handle_connection(_socket: &mut tokio::net::TcpStream) {
180
+ /// # // Do work
181
+ /// # }
182
+ /// # }
183
+ /// ```
184
+ ///
185
+ /// ## Prevent tests from running in parallel
186
+ ///
187
+ /// By default, Rust runs tests in the same file in parallel. However, in some
188
+ /// cases, running two tests in parallel may lead to problems. For example, this
189
+ /// can happen when tests use the same database.
190
+ ///
191
+ /// Consider the following scenario:
192
+ /// 1. `test_insert`: Inserts a key-value pair into the database, then retrieves
193
+ /// the value using the same key to verify the insertion.
194
+ /// 2. `test_update`: Inserts a key, then updates the key to a new value and
195
+ /// verifies that the value has been accurately updated.
196
+ /// 3. `test_others`: A third test that doesn't modify the database state. It
197
+ /// can run in parallel with the other tests.
198
+ ///
199
+ /// In this example, `test_insert` and `test_update` need to run in sequence to
200
+ /// work, but it doesn't matter which test runs first. We can leverage a
201
+ /// semaphore with a single permit to address this challenge.
202
+ ///
203
+ /// ```
204
+ /// # use tokio::sync::Mutex;
205
+ /// # use std::collections::BTreeMap;
206
+ /// # struct Database {
207
+ /// # map: Mutex<BTreeMap<String, i32>>,
208
+ /// # }
209
+ /// # impl Database {
210
+ /// # pub const fn setup() -> Database {
211
+ /// # Database {
212
+ /// # map: Mutex::const_new(BTreeMap::new()),
213
+ /// # }
214
+ /// # }
215
+ /// # pub async fn insert(&self, key: &str, value: i32) {
216
+ /// # self.map.lock().await.insert(key.to_string(), value);
217
+ /// # }
218
+ /// # pub async fn update(&self, key: &str, value: i32) {
219
+ /// # self.map.lock().await
220
+ /// # .entry(key.to_string())
221
+ /// # .and_modify(|origin| *origin = value);
222
+ /// # }
223
+ /// # pub async fn delete(&self, key: &str) {
224
+ /// # self.map.lock().await.remove(key);
225
+ /// # }
226
+ /// # pub async fn get(&self, key: &str) -> i32 {
227
+ /// # *self.map.lock().await.get(key).unwrap()
228
+ /// # }
229
+ /// # }
230
+ /// use tokio::sync::Semaphore;
231
+ ///
232
+ /// // Initialize a static semaphore with only one permit, which is used to
233
+ /// // prevent test_insert and test_update from running in parallel.
234
+ /// static PERMIT: Semaphore = Semaphore::const_new(1);
235
+ ///
236
+ /// // Initialize the database that will be used by the subsequent tests.
237
+ /// static DB: Database = Database::setup();
238
+ ///
239
+ /// #[tokio::test]
240
+ /// # async fn fake_test_insert() {}
241
+ /// async fn test_insert() {
242
+ /// // Acquire permit before proceeding. Since the semaphore has only one permit,
243
+ /// // the test will wait if the permit is already acquired by other tests.
244
+ /// let permit = PERMIT.acquire().await.unwrap();
245
+ ///
246
+ /// // Do the actual test stuff with database
247
+ ///
248
+ /// // Insert a key-value pair to database
249
+ /// let (key, value) = ("name", 0);
250
+ /// DB.insert(key, value).await;
251
+ ///
252
+ /// // Verify that the value has been inserted correctly.
253
+ /// assert_eq!(DB.get(key).await, value);
254
+ ///
255
+ /// // Undo the insertion, so the database is empty at the end of the test.
256
+ /// DB.delete(key).await;
257
+ ///
258
+ /// // Drop permit. This allows the other test to start running.
259
+ /// drop(permit);
260
+ /// }
261
+ ///
262
+ /// #[tokio::test]
263
+ /// # async fn fake_test_update() {}
264
+ /// async fn test_update() {
265
+ /// // Acquire permit before proceeding. Since the semaphore has only one permit,
266
+ /// // the test will wait if the permit is already acquired by other tests.
267
+ /// let permit = PERMIT.acquire().await.unwrap();
268
+ ///
269
+ /// // Do the same insert.
270
+ /// let (key, value) = ("name", 0);
271
+ /// DB.insert(key, value).await;
272
+ ///
273
+ /// // Update the existing value with a new one.
274
+ /// let new_value = 1;
275
+ /// DB.update(key, new_value).await;
276
+ ///
277
+ /// // Verify that the value has been updated correctly.
278
+ /// assert_eq!(DB.get(key).await, new_value);
279
+ ///
280
+ /// // Undo any modificattion.
281
+ /// DB.delete(key).await;
282
+ ///
283
+ /// // Drop permit. This allows the other test to start running.
284
+ /// drop(permit);
285
+ /// }
286
+ ///
287
+ /// #[tokio::test]
288
+ /// # async fn fake_test_others() {}
289
+ /// async fn test_others() {
290
+ /// // This test can run in parallel with test_insert and test_update,
291
+ /// // so it does not use PERMIT.
292
+ /// }
293
+ /// # #[tokio::main(flavor = "current_thread")]
294
+ /// # async fn main() {
295
+ /// # test_insert().await;
296
+ /// # test_update().await;
297
+ /// # test_others().await;
298
+ /// # }
299
+ /// ```
300
+ ///
301
+ /// ## Rate limiting using a token bucket
302
+ ///
303
+ /// This example showcases the [`add_permits`] and [`SemaphorePermit::forget`] methods.
304
+ ///
305
+ /// Many applications and systems have constraints on the rate at which certain
306
+ /// operations should occur. Exceeding this rate can result in suboptimal
307
+ /// performance or even errors.
308
+ ///
309
+ /// This example implements rate limiting using a [token bucket]. A token bucket is a form of rate
310
+ /// limiting that doesn't kick in immediately, to allow for short bursts of incoming requests that
311
+ /// arrive at the same time.
312
+ ///
313
+ /// With a token bucket, each incoming request consumes a token, and the tokens are refilled at a
314
+ /// certain rate that defines the rate limit. When a burst of requests arrives, tokens are
315
+ /// immediately given out until the bucket is empty. Once the bucket is empty, requests will have to
316
+ /// wait for new tokens to be added.
317
+ ///
318
+ /// Unlike the example that limits how many requests can be handled at the same time, we do not add
319
+ /// tokens back when we finish handling a request. Instead, tokens are added only by a timer task.
320
+ ///
321
+ /// Note that this implementation is suboptimal when the duration is small, because it consumes a
322
+ /// lot of cpu constantly looping and sleeping.
323
+ ///
324
+ /// [token bucket]: https://en.wikipedia.org/wiki/Token_bucket
325
+ /// [`add_permits`]: crate::sync::Semaphore::add_permits
326
+ /// [`SemaphorePermit::forget`]: crate::sync::SemaphorePermit::forget
327
+ /// ```
328
+ /// use std::sync::Arc;
329
+ /// use tokio::sync::Semaphore;
330
+ /// use tokio::time::{interval, Duration};
331
+ ///
332
+ /// struct TokenBucket {
333
+ /// sem: Arc<Semaphore>,
334
+ /// jh: tokio::task::JoinHandle<()>,
335
+ /// }
336
+ ///
337
+ /// impl TokenBucket {
338
+ /// fn new(duration: Duration, capacity: usize) -> Self {
339
+ /// let sem = Arc::new(Semaphore::new(capacity));
340
+ ///
341
+ /// // refills the tokens at the end of each interval
342
+ /// let jh = tokio::spawn({
343
+ /// let sem = sem.clone();
344
+ /// let mut interval = interval(duration);
345
+ /// interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip);
346
+ ///
347
+ /// async move {
348
+ /// loop {
349
+ /// interval.tick().await;
350
+ ///
351
+ /// if sem.available_permits() < capacity {
352
+ /// sem.add_permits(1);
353
+ /// }
354
+ /// }
355
+ /// }
356
+ /// });
357
+ ///
358
+ /// Self { jh, sem }
359
+ /// }
360
+ ///
361
+ /// async fn acquire(&self) {
362
+ /// // This can return an error if the semaphore is closed, but we
363
+ /// // never close it, so this error can never happen.
364
+ /// let permit = self.sem.acquire().await.unwrap();
365
+ /// // To avoid releasing the permit back to the semaphore, we use
366
+ /// // the `SemaphorePermit::forget` method.
367
+ /// permit.forget();
368
+ /// }
369
+ /// }
370
+ ///
371
+ /// impl Drop for TokenBucket {
372
+ /// fn drop(&mut self) {
373
+ /// // Kill the background task so it stops taking up resources when we
374
+ /// // don't need it anymore.
375
+ /// self.jh.abort();
376
+ /// }
377
+ /// }
378
+ ///
379
+ /// # #[tokio::main(flavor = "current_thread")]
380
+ /// # async fn _hidden() {}
381
+ /// # #[tokio::main(flavor = "current_thread", start_paused = true)]
382
+ /// # async fn main() {
383
+ /// let capacity = 5;
384
+ /// let update_interval = Duration::from_secs_f32(1.0 / capacity as f32);
385
+ /// let bucket = TokenBucket::new(update_interval, capacity);
386
+ ///
387
+ /// for _ in 0..5 {
388
+ /// bucket.acquire().await;
389
+ ///
390
+ /// // do the operation
391
+ /// }
392
+ /// # }
393
+ /// ```
394
+ ///
395
+ /// [`PollSemaphore`]: https://docs.rs/tokio-util/latest/tokio_util/sync/struct.PollSemaphore.html
396
+ /// [`Semaphore::acquire_owned`]: crate::sync::Semaphore::acquire_owned
397
+ #[derive(Debug)]
398
+ pub struct Semaphore {
399
+ /// The low level semaphore
400
+ ll_sem: ll::Semaphore,
401
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
402
+ resource_span: tracing::Span,
403
+ }
404
+
405
+ /// A permit from the semaphore.
406
+ ///
407
+ /// This type is created by the [`acquire`] method.
408
+ ///
409
+ /// [`acquire`]: crate::sync::Semaphore::acquire()
410
+ #[must_use]
411
+ #[clippy::has_significant_drop]
412
+ #[derive(Debug)]
413
+ pub struct SemaphorePermit<'a> {
414
+ sem: &'a Semaphore,
415
+ permits: u32,
416
+ }
417
+
418
+ /// An owned permit from the semaphore.
419
+ ///
420
+ /// This type is created by the [`acquire_owned`] method.
421
+ ///
422
+ /// [`acquire_owned`]: crate::sync::Semaphore::acquire_owned()
423
+ #[must_use]
424
+ #[clippy::has_significant_drop]
425
+ #[derive(Debug)]
426
+ pub struct OwnedSemaphorePermit {
427
+ sem: Arc<Semaphore>,
428
+ permits: u32,
429
+ }
430
+
431
+ #[test]
432
+ #[cfg(not(loom))]
433
+ fn bounds() {
434
+ fn check_unpin<T: Unpin>() {}
435
+ // This has to take a value, since the async fn's return type is unnameable.
436
+ fn check_send_sync_val<T: Send + Sync>(_t: T) {}
437
+ fn check_send_sync<T: Send + Sync>() {}
438
+ check_unpin::<Semaphore>();
439
+ check_unpin::<SemaphorePermit<'_>>();
440
+ check_send_sync::<Semaphore>();
441
+
442
+ let semaphore = Semaphore::new(0);
443
+ check_send_sync_val(semaphore.acquire());
444
+ }
445
+
446
+ impl Semaphore {
447
+ /// The maximum number of permits which a semaphore can hold. It is `usize::MAX >> 3`.
448
+ ///
449
+ /// Exceeding this limit typically results in a panic.
450
+ pub const MAX_PERMITS: usize = super::batch_semaphore::Semaphore::MAX_PERMITS;
451
+
452
+ /// Creates a new semaphore with the initial number of permits.
453
+ ///
454
+ /// Panics if `permits` exceeds [`Semaphore::MAX_PERMITS`].
455
+ #[track_caller]
456
+ pub fn new(permits: usize) -> Self {
457
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
458
+ let resource_span = {
459
+ let location = std::panic::Location::caller();
460
+
461
+ tracing::trace_span!(
462
+ parent: None,
463
+ "runtime.resource",
464
+ concrete_type = "Semaphore",
465
+ kind = "Sync",
466
+ loc.file = location.file(),
467
+ loc.line = location.line(),
468
+ loc.col = location.column(),
469
+ inherits_child_attrs = true,
470
+ )
471
+ };
472
+
473
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
474
+ let ll_sem = resource_span.in_scope(|| ll::Semaphore::new(permits));
475
+
476
+ #[cfg(any(not(tokio_unstable), not(feature = "tracing")))]
477
+ let ll_sem = ll::Semaphore::new(permits);
478
+
479
+ Self {
480
+ ll_sem,
481
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
482
+ resource_span,
483
+ }
484
+ }
485
+
486
+ /// Creates a new semaphore with the initial number of permits.
487
+ ///
488
+ /// When using the `tracing` [unstable feature], a `Semaphore` created with
489
+ /// `const_new` will not be instrumented. As such, it will not be visible
490
+ /// in [`tokio-console`]. Instead, [`Semaphore::new`] should be used to
491
+ /// create an instrumented object if that is needed.
492
+ ///
493
+ /// # Examples
494
+ ///
495
+ /// ```
496
+ /// use tokio::sync::Semaphore;
497
+ ///
498
+ /// static SEM: Semaphore = Semaphore::const_new(10);
499
+ /// ```
500
+ ///
501
+ /// [`tokio-console`]: https://github.com/tokio-rs/console
502
+ /// [unstable feature]: crate#unstable-features
503
+ #[cfg(not(all(loom, test)))]
504
+ pub const fn const_new(permits: usize) -> Self {
505
+ Self {
506
+ ll_sem: ll::Semaphore::const_new(permits),
507
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
508
+ resource_span: tracing::Span::none(),
509
+ }
510
+ }
511
+
512
+ /// Creates a new closed semaphore with 0 permits.
513
+ pub(crate) fn new_closed() -> Self {
514
+ Self {
515
+ ll_sem: ll::Semaphore::new_closed(),
516
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
517
+ resource_span: tracing::Span::none(),
518
+ }
519
+ }
520
+
521
+ /// Creates a new closed semaphore with 0 permits.
522
+ #[cfg(not(all(loom, test)))]
523
+ pub(crate) const fn const_new_closed() -> Self {
524
+ Self {
525
+ ll_sem: ll::Semaphore::const_new_closed(),
526
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
527
+ resource_span: tracing::Span::none(),
528
+ }
529
+ }
530
+
531
+ /// Returns the current number of available permits.
532
+ pub fn available_permits(&self) -> usize {
533
+ self.ll_sem.available_permits()
534
+ }
535
+
536
+ /// Adds `n` new permits to the semaphore.
537
+ ///
538
+ /// The maximum number of permits is [`Semaphore::MAX_PERMITS`], and this function will panic if the limit is exceeded.
539
+ pub fn add_permits(&self, n: usize) {
540
+ self.ll_sem.release(n);
541
+ }
542
+
543
+ /// Decrease a semaphore's permits by a maximum of `n`.
544
+ ///
545
+ /// If there are insufficient permits and it's not possible to reduce by `n`,
546
+ /// return the number of permits that were actually reduced.
547
+ pub fn forget_permits(&self, n: usize) -> usize {
548
+ self.ll_sem.forget_permits(n)
549
+ }
550
+
551
+ /// Acquires a permit from the semaphore.
552
+ ///
553
+ /// If the semaphore has been closed, this returns an [`AcquireError`].
554
+ /// Otherwise, this returns a [`SemaphorePermit`] representing the
555
+ /// acquired permit.
556
+ ///
557
+ /// # Cancel safety
558
+ ///
559
+ /// This method uses a queue to fairly distribute permits in the order they
560
+ /// were requested. Cancelling a call to `acquire` makes you lose your place
561
+ /// in the queue.
562
+ ///
563
+ /// # Examples
564
+ ///
565
+ /// ```
566
+ /// use tokio::sync::Semaphore;
567
+ ///
568
+ /// # #[tokio::main(flavor = "current_thread")]
569
+ /// # async fn main() {
570
+ /// let semaphore = Semaphore::new(2);
571
+ ///
572
+ /// let permit_1 = semaphore.acquire().await.unwrap();
573
+ /// assert_eq!(semaphore.available_permits(), 1);
574
+ ///
575
+ /// let permit_2 = semaphore.acquire().await.unwrap();
576
+ /// assert_eq!(semaphore.available_permits(), 0);
577
+ ///
578
+ /// drop(permit_1);
579
+ /// assert_eq!(semaphore.available_permits(), 1);
580
+ /// # }
581
+ /// ```
582
+ ///
583
+ /// [`AcquireError`]: crate::sync::AcquireError
584
+ /// [`SemaphorePermit`]: crate::sync::SemaphorePermit
585
+ pub async fn acquire(&self) -> Result<SemaphorePermit<'_>, AcquireError> {
586
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
587
+ let inner = trace::async_op(
588
+ || self.ll_sem.acquire(1),
589
+ self.resource_span.clone(),
590
+ "Semaphore::acquire",
591
+ "poll",
592
+ true,
593
+ );
594
+ #[cfg(not(all(tokio_unstable, feature = "tracing")))]
595
+ let inner = self.ll_sem.acquire(1);
596
+
597
+ inner.await?;
598
+ Ok(SemaphorePermit {
599
+ sem: self,
600
+ permits: 1,
601
+ })
602
+ }
603
+
604
+ /// Acquires `n` permits from the semaphore.
605
+ ///
606
+ /// If the semaphore has been closed, this returns an [`AcquireError`].
607
+ /// Otherwise, this returns a [`SemaphorePermit`] representing the
608
+ /// acquired permits.
609
+ ///
610
+ /// # Cancel safety
611
+ ///
612
+ /// This method uses a queue to fairly distribute permits in the order they
613
+ /// were requested. Cancelling a call to `acquire_many` makes you lose your
614
+ /// place in the queue.
615
+ ///
616
+ /// # Examples
617
+ ///
618
+ /// ```
619
+ /// use tokio::sync::Semaphore;
620
+ ///
621
+ /// # #[tokio::main(flavor = "current_thread")]
622
+ /// # async fn main() {
623
+ /// let semaphore = Semaphore::new(5);
624
+ ///
625
+ /// let permit = semaphore.acquire_many(3).await.unwrap();
626
+ /// assert_eq!(semaphore.available_permits(), 2);
627
+ /// # }
628
+ /// ```
629
+ ///
630
+ /// [`AcquireError`]: crate::sync::AcquireError
631
+ /// [`SemaphorePermit`]: crate::sync::SemaphorePermit
632
+ pub async fn acquire_many(&self, n: u32) -> Result<SemaphorePermit<'_>, AcquireError> {
633
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
634
+ trace::async_op(
635
+ || self.ll_sem.acquire(n as usize),
636
+ self.resource_span.clone(),
637
+ "Semaphore::acquire_many",
638
+ "poll",
639
+ true,
640
+ )
641
+ .await?;
642
+
643
+ #[cfg(not(all(tokio_unstable, feature = "tracing")))]
644
+ self.ll_sem.acquire(n as usize).await?;
645
+
646
+ Ok(SemaphorePermit {
647
+ sem: self,
648
+ permits: n,
649
+ })
650
+ }
651
+
652
+ /// Tries to acquire a permit from the semaphore.
653
+ ///
654
+ /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`]
655
+ /// and a [`TryAcquireError::NoPermits`] if there are no permits left. Otherwise,
656
+ /// this returns a [`SemaphorePermit`] representing the acquired permits.
657
+ ///
658
+ /// # Examples
659
+ ///
660
+ /// ```
661
+ /// use tokio::sync::{Semaphore, TryAcquireError};
662
+ ///
663
+ /// # fn main() {
664
+ /// let semaphore = Semaphore::new(2);
665
+ ///
666
+ /// let permit_1 = semaphore.try_acquire().unwrap();
667
+ /// assert_eq!(semaphore.available_permits(), 1);
668
+ ///
669
+ /// let permit_2 = semaphore.try_acquire().unwrap();
670
+ /// assert_eq!(semaphore.available_permits(), 0);
671
+ ///
672
+ /// let permit_3 = semaphore.try_acquire();
673
+ /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits));
674
+ /// # }
675
+ /// ```
676
+ ///
677
+ /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed
678
+ /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits
679
+ /// [`SemaphorePermit`]: crate::sync::SemaphorePermit
680
+ pub fn try_acquire(&self) -> Result<SemaphorePermit<'_>, TryAcquireError> {
681
+ match self.ll_sem.try_acquire(1) {
682
+ Ok(()) => Ok(SemaphorePermit {
683
+ sem: self,
684
+ permits: 1,
685
+ }),
686
+ Err(e) => Err(e),
687
+ }
688
+ }
689
+
690
+ /// Tries to acquire `n` permits from the semaphore.
691
+ ///
692
+ /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`]
693
+ /// and a [`TryAcquireError::NoPermits`] if there are not enough permits left.
694
+ /// Otherwise, this returns a [`SemaphorePermit`] representing the acquired permits.
695
+ ///
696
+ /// # Examples
697
+ ///
698
+ /// ```
699
+ /// use tokio::sync::{Semaphore, TryAcquireError};
700
+ ///
701
+ /// # fn main() {
702
+ /// let semaphore = Semaphore::new(4);
703
+ ///
704
+ /// let permit_1 = semaphore.try_acquire_many(3).unwrap();
705
+ /// assert_eq!(semaphore.available_permits(), 1);
706
+ ///
707
+ /// let permit_2 = semaphore.try_acquire_many(2);
708
+ /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits));
709
+ /// # }
710
+ /// ```
711
+ ///
712
+ /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed
713
+ /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits
714
+ /// [`SemaphorePermit`]: crate::sync::SemaphorePermit
715
+ pub fn try_acquire_many(&self, n: u32) -> Result<SemaphorePermit<'_>, TryAcquireError> {
716
+ match self.ll_sem.try_acquire(n as usize) {
717
+ Ok(()) => Ok(SemaphorePermit {
718
+ sem: self,
719
+ permits: n,
720
+ }),
721
+ Err(e) => Err(e),
722
+ }
723
+ }
724
+
725
+ /// Acquires a permit from the semaphore.
726
+ ///
727
+ /// The semaphore must be wrapped in an [`Arc`] to call this method.
728
+ /// If the semaphore has been closed, this returns an [`AcquireError`].
729
+ /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the
730
+ /// acquired permit.
731
+ ///
732
+ /// # Cancel safety
733
+ ///
734
+ /// This method uses a queue to fairly distribute permits in the order they
735
+ /// were requested. Cancelling a call to `acquire_owned` makes you lose your
736
+ /// place in the queue.
737
+ ///
738
+ /// # Examples
739
+ ///
740
+ /// ```
741
+ /// use std::sync::Arc;
742
+ /// use tokio::sync::Semaphore;
743
+ ///
744
+ /// # #[tokio::main(flavor = "current_thread")]
745
+ /// # async fn main() {
746
+ /// let semaphore = Arc::new(Semaphore::new(3));
747
+ /// let mut join_handles = Vec::new();
748
+ ///
749
+ /// for _ in 0..5 {
750
+ /// let permit = semaphore.clone().acquire_owned().await.unwrap();
751
+ /// join_handles.push(tokio::spawn(async move {
752
+ /// // perform task...
753
+ /// // explicitly own `permit` in the task
754
+ /// drop(permit);
755
+ /// }));
756
+ /// }
757
+ ///
758
+ /// for handle in join_handles {
759
+ /// handle.await.unwrap();
760
+ /// }
761
+ /// # }
762
+ /// ```
763
+ ///
764
+ /// [`Arc`]: std::sync::Arc
765
+ /// [`AcquireError`]: crate::sync::AcquireError
766
+ /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit
767
+ pub async fn acquire_owned(self: Arc<Self>) -> Result<OwnedSemaphorePermit, AcquireError> {
768
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
769
+ let inner = trace::async_op(
770
+ || self.ll_sem.acquire(1),
771
+ self.resource_span.clone(),
772
+ "Semaphore::acquire_owned",
773
+ "poll",
774
+ true,
775
+ );
776
+ #[cfg(not(all(tokio_unstable, feature = "tracing")))]
777
+ let inner = self.ll_sem.acquire(1);
778
+
779
+ inner.await?;
780
+ Ok(OwnedSemaphorePermit {
781
+ sem: self,
782
+ permits: 1,
783
+ })
784
+ }
785
+
786
+ /// Acquires `n` permits from the semaphore.
787
+ ///
788
+ /// The semaphore must be wrapped in an [`Arc`] to call this method.
789
+ /// If the semaphore has been closed, this returns an [`AcquireError`].
790
+ /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the
791
+ /// acquired permit.
792
+ ///
793
+ /// # Cancel safety
794
+ ///
795
+ /// This method uses a queue to fairly distribute permits in the order they
796
+ /// were requested. Cancelling a call to `acquire_many_owned` makes you lose
797
+ /// your place in the queue.
798
+ ///
799
+ /// # Examples
800
+ ///
801
+ /// ```
802
+ /// use std::sync::Arc;
803
+ /// use tokio::sync::Semaphore;
804
+ ///
805
+ /// # #[tokio::main(flavor = "current_thread")]
806
+ /// # async fn main() {
807
+ /// let semaphore = Arc::new(Semaphore::new(10));
808
+ /// let mut join_handles = Vec::new();
809
+ ///
810
+ /// for _ in 0..5 {
811
+ /// let permit = semaphore.clone().acquire_many_owned(2).await.unwrap();
812
+ /// join_handles.push(tokio::spawn(async move {
813
+ /// // perform task...
814
+ /// // explicitly own `permit` in the task
815
+ /// drop(permit);
816
+ /// }));
817
+ /// }
818
+ ///
819
+ /// for handle in join_handles {
820
+ /// handle.await.unwrap();
821
+ /// }
822
+ /// # }
823
+ /// ```
824
+ ///
825
+ /// [`Arc`]: std::sync::Arc
826
+ /// [`AcquireError`]: crate::sync::AcquireError
827
+ /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit
828
+ pub async fn acquire_many_owned(
829
+ self: Arc<Self>,
830
+ n: u32,
831
+ ) -> Result<OwnedSemaphorePermit, AcquireError> {
832
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
833
+ let inner = trace::async_op(
834
+ || self.ll_sem.acquire(n as usize),
835
+ self.resource_span.clone(),
836
+ "Semaphore::acquire_many_owned",
837
+ "poll",
838
+ true,
839
+ );
840
+ #[cfg(not(all(tokio_unstable, feature = "tracing")))]
841
+ let inner = self.ll_sem.acquire(n as usize);
842
+
843
+ inner.await?;
844
+ Ok(OwnedSemaphorePermit {
845
+ sem: self,
846
+ permits: n,
847
+ })
848
+ }
849
+
850
+ /// Tries to acquire a permit from the semaphore.
851
+ ///
852
+ /// The semaphore must be wrapped in an [`Arc`] to call this method. If
853
+ /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`]
854
+ /// and a [`TryAcquireError::NoPermits`] if there are no permits left.
855
+ /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the
856
+ /// acquired permit.
857
+ ///
858
+ /// # Examples
859
+ ///
860
+ /// ```
861
+ /// use std::sync::Arc;
862
+ /// use tokio::sync::{Semaphore, TryAcquireError};
863
+ ///
864
+ /// # fn main() {
865
+ /// let semaphore = Arc::new(Semaphore::new(2));
866
+ ///
867
+ /// let permit_1 = Arc::clone(&semaphore).try_acquire_owned().unwrap();
868
+ /// assert_eq!(semaphore.available_permits(), 1);
869
+ ///
870
+ /// let permit_2 = Arc::clone(&semaphore).try_acquire_owned().unwrap();
871
+ /// assert_eq!(semaphore.available_permits(), 0);
872
+ ///
873
+ /// let permit_3 = semaphore.try_acquire_owned();
874
+ /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits));
875
+ /// # }
876
+ /// ```
877
+ ///
878
+ /// [`Arc`]: std::sync::Arc
879
+ /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed
880
+ /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits
881
+ /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit
882
+ pub fn try_acquire_owned(self: Arc<Self>) -> Result<OwnedSemaphorePermit, TryAcquireError> {
883
+ match self.ll_sem.try_acquire(1) {
884
+ Ok(()) => Ok(OwnedSemaphorePermit {
885
+ sem: self,
886
+ permits: 1,
887
+ }),
888
+ Err(e) => Err(e),
889
+ }
890
+ }
891
+
892
+ /// Tries to acquire `n` permits from the semaphore.
893
+ ///
894
+ /// The semaphore must be wrapped in an [`Arc`] to call this method. If
895
+ /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`]
896
+ /// and a [`TryAcquireError::NoPermits`] if there are no permits left.
897
+ /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the
898
+ /// acquired permit.
899
+ ///
900
+ /// # Examples
901
+ ///
902
+ /// ```
903
+ /// use std::sync::Arc;
904
+ /// use tokio::sync::{Semaphore, TryAcquireError};
905
+ ///
906
+ /// # fn main() {
907
+ /// let semaphore = Arc::new(Semaphore::new(4));
908
+ ///
909
+ /// let permit_1 = Arc::clone(&semaphore).try_acquire_many_owned(3).unwrap();
910
+ /// assert_eq!(semaphore.available_permits(), 1);
911
+ ///
912
+ /// let permit_2 = semaphore.try_acquire_many_owned(2);
913
+ /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits));
914
+ /// # }
915
+ /// ```
916
+ ///
917
+ /// [`Arc`]: std::sync::Arc
918
+ /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed
919
+ /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits
920
+ /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit
921
+ pub fn try_acquire_many_owned(
922
+ self: Arc<Self>,
923
+ n: u32,
924
+ ) -> Result<OwnedSemaphorePermit, TryAcquireError> {
925
+ match self.ll_sem.try_acquire(n as usize) {
926
+ Ok(()) => Ok(OwnedSemaphorePermit {
927
+ sem: self,
928
+ permits: n,
929
+ }),
930
+ Err(e) => Err(e),
931
+ }
932
+ }
933
+
934
+ /// Closes the semaphore.
935
+ ///
936
+ /// This prevents the semaphore from issuing new permits and notifies all pending waiters.
937
+ ///
938
+ /// # Examples
939
+ ///
940
+ /// ```
941
+ /// use tokio::sync::Semaphore;
942
+ /// use std::sync::Arc;
943
+ /// use tokio::sync::TryAcquireError;
944
+ ///
945
+ /// # #[tokio::main(flavor = "current_thread")]
946
+ /// # async fn main() {
947
+ /// let semaphore = Arc::new(Semaphore::new(1));
948
+ /// let semaphore2 = semaphore.clone();
949
+ ///
950
+ /// tokio::spawn(async move {
951
+ /// let permit = semaphore.acquire_many(2).await;
952
+ /// assert!(permit.is_err());
953
+ /// println!("waiter received error");
954
+ /// });
955
+ ///
956
+ /// println!("closing semaphore");
957
+ /// semaphore2.close();
958
+ ///
959
+ /// // Cannot obtain more permits
960
+ /// assert_eq!(semaphore2.try_acquire().err(), Some(TryAcquireError::Closed))
961
+ /// # }
962
+ /// ```
963
+ pub fn close(&self) {
964
+ self.ll_sem.close();
965
+ }
966
+
967
+ /// Returns true if the semaphore is closed
968
+ pub fn is_closed(&self) -> bool {
969
+ self.ll_sem.is_closed()
970
+ }
971
+ }
972
+
973
+ impl<'a> SemaphorePermit<'a> {
974
+ /// Forgets the permit **without** releasing it back to the semaphore.
975
+ /// This can be used to reduce the amount of permits available from a
976
+ /// semaphore.
977
+ ///
978
+ /// # Examples
979
+ ///
980
+ /// ```
981
+ /// use std::sync::Arc;
982
+ /// use tokio::sync::Semaphore;
983
+ ///
984
+ /// let sem = Arc::new(Semaphore::new(10));
985
+ /// {
986
+ /// let permit = sem.try_acquire_many(5).unwrap();
987
+ /// assert_eq!(sem.available_permits(), 5);
988
+ /// permit.forget();
989
+ /// }
990
+ ///
991
+ /// // Since we forgot the permit, available permits won't go back to its initial value
992
+ /// // even after the permit is dropped.
993
+ /// assert_eq!(sem.available_permits(), 5);
994
+ /// ```
995
+ pub fn forget(mut self) {
996
+ self.permits = 0;
997
+ }
998
+
999
+ /// Merge two [`SemaphorePermit`] instances together, consuming `other`
1000
+ /// without releasing the permits it holds.
1001
+ ///
1002
+ /// Permits held by both `self` and `other` are released when `self` drops.
1003
+ ///
1004
+ /// # Panics
1005
+ ///
1006
+ /// This function panics if permits from different [`Semaphore`] instances
1007
+ /// are merged.
1008
+ ///
1009
+ /// # Examples
1010
+ ///
1011
+ /// ```
1012
+ /// use std::sync::Arc;
1013
+ /// use tokio::sync::Semaphore;
1014
+ ///
1015
+ /// let sem = Arc::new(Semaphore::new(10));
1016
+ /// let mut permit = sem.try_acquire().unwrap();
1017
+ ///
1018
+ /// for _ in 0..9 {
1019
+ /// let _permit = sem.try_acquire().unwrap();
1020
+ /// // Merge individual permits into a single one.
1021
+ /// permit.merge(_permit)
1022
+ /// }
1023
+ ///
1024
+ /// assert_eq!(sem.available_permits(), 0);
1025
+ ///
1026
+ /// // Release all permits in a single batch.
1027
+ /// drop(permit);
1028
+ ///
1029
+ /// assert_eq!(sem.available_permits(), 10);
1030
+ /// ```
1031
+ #[track_caller]
1032
+ pub fn merge(&mut self, mut other: Self) {
1033
+ assert!(
1034
+ std::ptr::eq(self.sem, other.sem),
1035
+ "merging permits from different semaphore instances"
1036
+ );
1037
+ self.permits += other.permits;
1038
+ other.permits = 0;
1039
+ }
1040
+
1041
+ /// Splits `n` permits from `self` and returns a new [`SemaphorePermit`] instance that holds `n` permits.
1042
+ ///
1043
+ /// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`.
1044
+ ///
1045
+ /// # Examples
1046
+ ///
1047
+ /// ```
1048
+ /// use std::sync::Arc;
1049
+ /// use tokio::sync::Semaphore;
1050
+ ///
1051
+ /// let sem = Arc::new(Semaphore::new(3));
1052
+ ///
1053
+ /// let mut p1 = sem.try_acquire_many(3).unwrap();
1054
+ /// let p2 = p1.split(1).unwrap();
1055
+ ///
1056
+ /// assert_eq!(p1.num_permits(), 2);
1057
+ /// assert_eq!(p2.num_permits(), 1);
1058
+ /// ```
1059
+ pub fn split(&mut self, n: usize) -> Option<Self> {
1060
+ let n = u32::try_from(n).ok()?;
1061
+
1062
+ if n > self.permits {
1063
+ return None;
1064
+ }
1065
+
1066
+ self.permits -= n;
1067
+
1068
+ Some(Self {
1069
+ sem: self.sem,
1070
+ permits: n,
1071
+ })
1072
+ }
1073
+
1074
+ /// Returns the number of permits held by `self`.
1075
+ pub fn num_permits(&self) -> usize {
1076
+ self.permits as usize
1077
+ }
1078
+ }
1079
+
1080
+ impl OwnedSemaphorePermit {
1081
+ /// Forgets the permit **without** releasing it back to the semaphore.
1082
+ /// This can be used to reduce the amount of permits available from a
1083
+ /// semaphore.
1084
+ ///
1085
+ /// # Examples
1086
+ ///
1087
+ /// ```
1088
+ /// use std::sync::Arc;
1089
+ /// use tokio::sync::Semaphore;
1090
+ ///
1091
+ /// let sem = Arc::new(Semaphore::new(10));
1092
+ /// {
1093
+ /// let permit = sem.clone().try_acquire_many_owned(5).unwrap();
1094
+ /// assert_eq!(sem.available_permits(), 5);
1095
+ /// permit.forget();
1096
+ /// }
1097
+ ///
1098
+ /// // Since we forgot the permit, available permits won't go back to its initial value
1099
+ /// // even after the permit is dropped.
1100
+ /// assert_eq!(sem.available_permits(), 5);
1101
+ /// ```
1102
+ pub fn forget(mut self) {
1103
+ self.permits = 0;
1104
+ }
1105
+
1106
+ /// Merge two [`OwnedSemaphorePermit`] instances together, consuming `other`
1107
+ /// without releasing the permits it holds.
1108
+ ///
1109
+ /// Permits held by both `self` and `other` are released when `self` drops.
1110
+ ///
1111
+ /// # Panics
1112
+ ///
1113
+ /// This function panics if permits from different [`Semaphore`] instances
1114
+ /// are merged.
1115
+ ///
1116
+ /// # Examples
1117
+ ///
1118
+ /// ```
1119
+ /// use std::sync::Arc;
1120
+ /// use tokio::sync::Semaphore;
1121
+ ///
1122
+ /// let sem = Arc::new(Semaphore::new(10));
1123
+ /// let mut permit = sem.clone().try_acquire_owned().unwrap();
1124
+ ///
1125
+ /// for _ in 0..9 {
1126
+ /// let _permit = sem.clone().try_acquire_owned().unwrap();
1127
+ /// // Merge individual permits into a single one.
1128
+ /// permit.merge(_permit)
1129
+ /// }
1130
+ ///
1131
+ /// assert_eq!(sem.available_permits(), 0);
1132
+ ///
1133
+ /// // Release all permits in a single batch.
1134
+ /// drop(permit);
1135
+ ///
1136
+ /// assert_eq!(sem.available_permits(), 10);
1137
+ /// ```
1138
+ #[track_caller]
1139
+ pub fn merge(&mut self, mut other: Self) {
1140
+ assert!(
1141
+ Arc::ptr_eq(&self.sem, &other.sem),
1142
+ "merging permits from different semaphore instances"
1143
+ );
1144
+ self.permits += other.permits;
1145
+ other.permits = 0;
1146
+ }
1147
+
1148
+ /// Splits `n` permits from `self` and returns a new [`OwnedSemaphorePermit`] instance that holds `n` permits.
1149
+ ///
1150
+ /// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`.
1151
+ ///
1152
+ /// # Note
1153
+ ///
1154
+ /// It will clone the owned `Arc<Semaphore>` to construct the new instance.
1155
+ ///
1156
+ /// # Examples
1157
+ ///
1158
+ /// ```
1159
+ /// use std::sync::Arc;
1160
+ /// use tokio::sync::Semaphore;
1161
+ ///
1162
+ /// let sem = Arc::new(Semaphore::new(3));
1163
+ ///
1164
+ /// let mut p1 = sem.try_acquire_many_owned(3).unwrap();
1165
+ /// let p2 = p1.split(1).unwrap();
1166
+ ///
1167
+ /// assert_eq!(p1.num_permits(), 2);
1168
+ /// assert_eq!(p2.num_permits(), 1);
1169
+ /// ```
1170
+ pub fn split(&mut self, n: usize) -> Option<Self> {
1171
+ let n = u32::try_from(n).ok()?;
1172
+
1173
+ if n > self.permits {
1174
+ return None;
1175
+ }
1176
+
1177
+ self.permits -= n;
1178
+
1179
+ Some(Self {
1180
+ sem: self.sem.clone(),
1181
+ permits: n,
1182
+ })
1183
+ }
1184
+
1185
+ /// Returns the [`Semaphore`] from which this permit was acquired.
1186
+ pub fn semaphore(&self) -> &Arc<Semaphore> {
1187
+ &self.sem
1188
+ }
1189
+
1190
+ /// Returns the number of permits held by `self`.
1191
+ pub fn num_permits(&self) -> usize {
1192
+ self.permits as usize
1193
+ }
1194
+ }
1195
+
1196
+ impl Drop for SemaphorePermit<'_> {
1197
+ fn drop(&mut self) {
1198
+ self.sem.add_permits(self.permits as usize);
1199
+ }
1200
+ }
1201
+
1202
+ impl Drop for OwnedSemaphorePermit {
1203
+ fn drop(&mut self) {
1204
+ self.sem.add_permits(self.permits as usize);
1205
+ }
1206
+ }