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
@@ -1,20 +1,61 @@
1
- //! Support for long-lived closures in `wasm-bindgen`
1
+ //! Support for closures in `wasm-bindgen`
2
2
  //!
3
- //! This module defines the `Closure` type which is used to pass "owned
4
- //! closures" from Rust to JS. Some more details can be found on the `Closure`
5
- //! type itself.
3
+ //! This module defines the [`ScopedClosure`] type which is used to pass Rust closures
4
+ //! to JavaScript. All closures are unwind safe by default: panics are caught and converted to
5
+ //! JavaScript exceptions when built with `panic=unwind`.
6
+ //!
7
+ //! # Immutable by Default
8
+ //!
9
+ //! The closure API defaults to **immutable** (`Fn`) closures because they are more
10
+ //! likely to satisfy `UnwindSafe` automatically:
11
+ //!
12
+ //! - `&T` where `T: RefUnwindSafe` is `UnwindSafe`
13
+ //! - `&mut T` is **never** `UnwindSafe` regardless of `T`
14
+ //!
15
+ //! This means:
16
+ //! - [`ScopedClosure::borrow`] creates an immutable `Fn` closure
17
+ //! - [`ScopedClosure::borrow_mut`] creates a mutable `FnMut` closure
18
+ //!
19
+ //! Immutable closures can be upcasted to mutable closures using [`upcast_ref`](crate::Upcast::upcast_ref).
20
+ //!
21
+ //! # Type Aliases
22
+ //!
23
+ //! - [`ScopedClosure<'a, T>`] — The unified closure type with a lifetime parameter
24
+ //! - [`Closure<T>`] — Alias for `ScopedClosure<'static, T>` (for backwards compatibility)
25
+ //!
26
+ //! # Unwind Safety
27
+ //!
28
+ //! For immediate/synchronous callbacks, use `&dyn FnMut` / `&dyn Fn`, when you are
29
+ //! **absolutely sure** the code will support unwind safety.
30
+ //!
31
+ //! For [`ScopedClosure`], the default constructors (`borrow`, `borrow_mut`, `own`) catch
32
+ //! panics, while the `_aborting` variants (`borrow_aborting`, `borrow_mut_aborting`, etc.) do not.
33
+ //!
34
+ //! # Ownership Model
35
+ //!
36
+ //! `ScopedClosure` follows the same ownership model as other wasm-bindgen types:
37
+ //! the JavaScript reference remains valid until the Rust value is dropped. When
38
+ //! dropped, the closure is invalidated and any subsequent calls from JavaScript
39
+ //! will throw an exception.
40
+ //!
41
+ //! For borrowed closures created with `borrow`/`borrow_mut`, Rust's borrow checker
42
+ //! ensures the `ScopedClosure` cannot outlive the closure's captured data.
43
+ //!
44
+ //! See the [`ScopedClosure`] type documentation for detailed examples.
6
45
 
7
46
  #![allow(clippy::fn_to_numeric_cast)]
8
-
9
47
  use alloc::boxed::Box;
10
48
  use alloc::string::String;
11
49
  use core::fmt;
12
50
  use core::mem::{self, ManuallyDrop};
13
51
 
14
- use crate::convert::*;
52
+ use crate::__rt::marker::ErasableGeneric;
53
+ use crate::__rt::marker::MaybeUnwindSafe;
15
54
  use crate::describe::*;
16
55
  use crate::JsValue;
56
+ use crate::{convert::*, JsCast};
17
57
  use core::marker::PhantomData;
58
+ use core::panic::AssertUnwindSafe;
18
59
 
19
60
  #[wasm_bindgen_macro::wasm_bindgen(wasm_bindgen = crate)]
20
61
  extern "C" {
@@ -24,272 +65,478 @@ extern "C" {
24
65
  fn _wbg_cb_unref(js: &JsClosure);
25
66
  }
26
67
 
27
- /// A handle to both a closure in Rust as well as JS closure which will invoke
28
- /// the Rust closure.
68
+ /// A closure with a lifetime parameter that represents a Rust closure passed to JavaScript.
29
69
  ///
30
- /// A `Closure` is the primary way that a `'static` lifetime closure is
31
- /// transferred from Rust to JS. `Closure` currently requires that the closures
32
- /// it's created with have the `'static` lifetime in Rust for soundness reasons.
70
+ /// `ScopedClosure<'a, T>` is the unified closure type. The lifetime `'a` indicates
71
+ /// how long the closure is valid:
33
72
  ///
34
- /// This type is a "handle" in the sense that whenever it is dropped it will
35
- /// invalidate the JS closure that it refers to. Any usage of the closure in JS
36
- /// after the `Closure` has been dropped will raise an exception. It's then up
37
- /// to you to arrange for `Closure` to be properly deallocate at an appropriate
38
- /// location in your program.
73
+ /// - **`ScopedClosure<'static, T>`** - An owned closure with heap-allocated data. Requires
74
+ /// `'static` captures. Use for long-lived closures like event listeners and timers.
75
+ /// Created with [`Closure::new`] or [`ScopedClosure::own`]. May transfer ownership to the
76
+ /// JS GC using finalizers.
39
77
  ///
40
- /// The type parameter on `Closure` is the type of closure that this represents.
41
- /// Currently this can only be the `Fn` and `FnMut` traits with up to 7
42
- /// arguments (and an optional return value).
78
+ /// - **`ScopedClosure<'a, T>`** (non-`'static`) - A borrowed closure referencing stack data.
79
+ /// Allows non-`'static` captures. Use for immediate/synchronous callbacks. Created with
80
+ /// [`ScopedClosure::borrow`] (for `FnMut`) or [`ScopedClosure::borrow_immutable`] (for `Fn`).
81
+ /// Cannot transfer ownership to JS GC.
43
82
  ///
44
- /// # Examples
83
+ /// [`Closure<T>`] is currently a type alias for `ScopedClosure<'static, T>`. In
84
+ /// a future release, a lifetime argument will be added to this alias.
45
85
  ///
46
- /// Here are a number of examples of using `Closure`.
86
+ /// # Ownership Model
47
87
  ///
48
- /// ## Using the `setInterval` API
88
+ /// `ScopedClosure` follows the same ownership model as other wasm-bindgen types:
89
+ /// the JavaScript reference remains valid until the Rust value is dropped. When
90
+ /// dropped, the closure is invalidated and any subsequent calls from JavaScript
91
+ /// will throw: "closure invoked recursively or after being dropped".
49
92
  ///
50
- /// Sample usage of `Closure` to invoke the `setInterval` API.
93
+ /// For `'static` closures, you can also:
94
+ /// - Pass by value to transfer ownership to JS (implements [`IntoWasmAbi`])
95
+ /// - Call [`forget()`](Self::forget) to leak the closure (JS can use it indefinitely)
96
+ /// - Call [`into_js_value()`](Self::into_js_value) to transfer to JS GC management
51
97
  ///
52
- /// ```rust,no_run
53
- /// use wasm_bindgen::prelude::*;
98
+ /// # Lifetime Safety
54
99
  ///
55
- /// #[wasm_bindgen]
56
- /// extern "C" {
57
- /// fn setInterval(closure: &Closure<dyn FnMut()>, time: u32) -> i32;
58
- /// fn clearInterval(id: i32);
100
+ /// For borrowed closures, Rust's borrow checker ensures that `ScopedClosure` cannot
101
+ /// be held longer than the closure's captured data:
59
102
  ///
60
- /// #[wasm_bindgen(js_namespace = console)]
61
- /// fn log(s: &str);
62
- /// }
63
- ///
64
- /// #[wasm_bindgen]
65
- /// pub struct IntervalHandle {
66
- /// interval_id: i32,
67
- /// _closure: Closure<dyn FnMut()>,
68
- /// }
69
- ///
70
- /// impl Drop for IntervalHandle {
71
- /// fn drop(&mut self) {
72
- /// clearInterval(self.interval_id);
73
- /// }
74
- /// }
75
- ///
76
- /// #[wasm_bindgen]
77
- /// pub fn run() -> IntervalHandle {
78
- /// // First up we use `Closure::new` to wrap up a Rust closure and create
79
- /// // a JS closure.
80
- /// let cb = Closure::new(|| {
81
- /// log("interval elapsed!");
82
- /// });
83
- ///
84
- /// // Next we pass this via reference to the `setInterval` function, and
85
- /// // `setInterval` gets a handle to the corresponding JS closure.
86
- /// let interval_id = setInterval(&cb, 1_000);
87
- ///
88
- /// // If we were to drop `cb` here it would cause an exception to be raised
89
- /// // whenever the interval elapses. Instead we *return* our handle back to JS
90
- /// // so JS can decide when to cancel the interval and deallocate the closure.
91
- /// IntervalHandle {
92
- /// interval_id,
93
- /// _closure: cb,
94
- /// }
95
- /// }
103
+ /// ```ignore
104
+ /// let mut sum = 0;
105
+ /// let mut f = |x: u32| { sum += x; }; // f borrows sum
106
+ /// let closure = ScopedClosure::borrow(&mut f); // closure borrows f
107
+ /// // closure cannot outlive f, and f cannot outlive sum
96
108
  /// ```
97
109
  ///
98
- /// ## Casting a `Closure` to a `js_sys::Function`
99
- ///
100
- /// This is the same `setInterval` example as above, except it is using
101
- /// `web_sys` (which uses `js_sys::Function` for callbacks) instead of manually
102
- /// writing bindings to `setInterval` and other Web APIs.
110
+ /// # Examples
103
111
  ///
104
- /// ```rust,ignore
105
- /// use wasm_bindgen::JsCast;
112
+ /// ## Borrowed closures with `ScopedClosure::borrow`
106
113
  ///
107
- /// #[wasm_bindgen]
108
- /// pub struct IntervalHandle {
109
- /// interval_id: i32,
110
- /// _closure: Closure<dyn FnMut()>,
111
- /// }
114
+ /// Use for immediate/synchronous callbacks where JS calls the closure right away:
112
115
  ///
113
- /// impl Drop for IntervalHandle {
114
- /// fn drop(&mut self) {
115
- /// let window = web_sys::window().unwrap();
116
- /// window.clear_interval_with_handle(self.interval_id);
117
- /// }
118
- /// }
116
+ /// ```ignore
117
+ /// use wasm_bindgen::prelude::*;
119
118
  ///
120
119
  /// #[wasm_bindgen]
121
- /// pub fn run() -> Result<IntervalHandle, JsValue> {
122
- /// let cb = Closure::new(|| {
123
- /// web_sys::console::log_1(&"interval elapsed!".into());
124
- /// });
125
- ///
126
- /// let window = web_sys::window().unwrap();
127
- /// let interval_id = window.set_interval_with_callback_and_timeout_and_arguments_0(
128
- /// // Note this method call, which uses `as_ref()` to get a `JsValue`
129
- /// // from our `Closure` which is then converted to a `&Function`
130
- /// // using the `JsCast::unchecked_ref` function.
131
- /// cb.as_ref().unchecked_ref(),
132
- /// 1_000,
133
- /// )?;
134
- ///
135
- /// // Same as above.
136
- /// Ok(IntervalHandle {
137
- /// interval_id,
138
- /// _closure: cb,
139
- /// })
120
+ /// extern "C" {
121
+ /// fn call_immediately(cb: &ScopedClosure<dyn FnMut(u32)>);
140
122
  /// }
123
+ ///
124
+ /// let mut sum = 0;
125
+ /// {
126
+ /// let mut f = |x: u32| { sum += x; };
127
+ /// let closure = ScopedClosure::borrow(&mut f);
128
+ /// call_immediately(&closure);
129
+ /// } // closure dropped here, JS function invalidated
130
+ /// assert_eq!(sum, 42);
141
131
  /// ```
142
132
  ///
143
- /// ## Using `FnOnce` and `Closure::once` with `requestAnimationFrame`
133
+ /// ## Owned closures with `Closure::new`
144
134
  ///
145
- /// Because `requestAnimationFrame` only calls its callback once, we can use
146
- /// `FnOnce` and `Closure::once` with it.
135
+ /// Use for long-lived callbacks like event listeners and timers:
147
136
  ///
148
- /// ```rust,no_run
137
+ /// ```ignore
149
138
  /// use wasm_bindgen::prelude::*;
150
139
  ///
151
140
  /// #[wasm_bindgen]
152
141
  /// extern "C" {
153
- /// fn requestAnimationFrame(closure: &Closure<dyn FnMut()>) -> u32;
154
- /// fn cancelAnimationFrame(id: u32);
155
- ///
156
- /// #[wasm_bindgen(js_namespace = console)]
157
- /// fn log(s: &str);
158
- /// }
159
- ///
160
- /// #[wasm_bindgen]
161
- /// pub struct AnimationFrameHandle {
162
- /// animation_id: u32,
163
- /// _closure: Closure<dyn FnMut()>,
164
- /// }
165
- ///
166
- /// impl Drop for AnimationFrameHandle {
167
- /// fn drop(&mut self) {
168
- /// cancelAnimationFrame(self.animation_id);
169
- /// }
170
- /// }
171
- ///
172
- /// // A type that will log a message when it is dropped.
173
- /// struct LogOnDrop(&'static str);
174
- /// impl Drop for LogOnDrop {
175
- /// fn drop(&mut self) {
176
- /// log(self.0);
177
- /// }
142
+ /// fn setInterval(closure: &Closure<dyn FnMut()>, time: u32) -> i32;
178
143
  /// }
179
144
  ///
180
- /// #[wasm_bindgen]
181
- /// pub fn run() -> AnimationFrameHandle {
182
- /// // We are using `Closure::once` which takes a `FnOnce`, so the function
183
- /// // can drop and/or move things that it closes over.
184
- /// let fired = LogOnDrop("animation frame fired or canceled");
185
- /// let cb = Closure::once(move || drop(fired));
186
- ///
187
- /// // Schedule the animation frame!
188
- /// let animation_id = requestAnimationFrame(&cb);
189
- ///
190
- /// // Again, return a handle to JS, so that the closure is not dropped
191
- /// // immediately and JS can decide whether to cancel the animation frame.
192
- /// AnimationFrameHandle {
193
- /// animation_id,
194
- /// _closure: cb,
195
- /// }
196
- /// }
145
+ /// // Closure::new requires 'static, so use `move` to capture by value
146
+ /// let cb = Closure::new(move || {
147
+ /// // ...
148
+ /// });
149
+ /// setInterval(&cb, 1000);
150
+ /// // Must keep `cb` alive or call `cb.forget()` to transfer to JS
197
151
  /// ```
198
152
  ///
199
- /// ## Converting `FnOnce`s directly into JavaScript Functions with `Closure::once_into_js`
200
- ///
201
- /// If we don't want to allow a `FnOnce` to be eagerly dropped (maybe because we
202
- /// just want it to drop after it is called and don't care about cancellation)
203
- /// then we can use the `Closure::once_into_js` function.
153
+ /// ## Transferring ownership to JS
204
154
  ///
205
- /// This is the same `requestAnimationFrame` example as above, but without
206
- /// supporting early cancellation.
155
+ /// Pass a `ScopedClosure<'static, T>` by value to transfer ownership:
207
156
  ///
208
- /// ```
157
+ /// ```ignore
209
158
  /// use wasm_bindgen::prelude::*;
210
159
  ///
211
160
  /// #[wasm_bindgen]
212
161
  /// extern "C" {
213
- /// // We modify the binding to take an untyped `JsValue` since that is what
214
- /// // is returned by `Closure::once_into_js`.
215
- /// //
216
- /// // If we were using the `web_sys` binding for `requestAnimationFrame`,
217
- /// // then the call sites would cast the `JsValue` into a `&js_sys::Function`
218
- /// // using `f.unchecked_ref::<js_sys::Function>()`. See the `web_sys`
219
- /// // example above for details.
220
- /// fn requestAnimationFrame(callback: JsValue);
221
- ///
222
- /// #[wasm_bindgen(js_namespace = console)]
223
- /// fn log(s: &str);
224
- /// }
225
- ///
226
- /// // A type that will log a message when it is dropped.
227
- /// struct LogOnDrop(&'static str);
228
- /// impl Drop for LogOnDrop {
229
- /// fn drop(&mut self) {
230
- /// log(self.0);
231
- /// }
162
+ /// fn set_one_shot_callback(cb: ScopedClosure<dyn FnMut()>);
232
163
  /// }
233
164
  ///
234
- /// #[wasm_bindgen]
235
- /// pub fn run() {
236
- /// // We are using `Closure::once_into_js` which takes a `FnOnce` and
237
- /// // converts it into a JavaScript function, which is returned as a
238
- /// // `JsValue`.
239
- /// let fired = LogOnDrop("animation frame fired");
240
- /// let cb = Closure::once_into_js(move || drop(fired));
241
- ///
242
- /// // Schedule the animation frame!
243
- /// requestAnimationFrame(cb);
244
- ///
245
- /// // No need to worry about whether or not we drop a `Closure`
246
- /// // here or return some sort of handle to JS!
247
- /// }
165
+ /// let cb = ScopedClosure::own(|| { /* ... */ });
166
+ /// set_one_shot_callback(cb); // Ownership transferred, no need to store
248
167
  /// ```
249
- pub struct Closure<T: ?Sized> {
168
+ pub struct ScopedClosure<'a, T: ?Sized> {
250
169
  js: JsClosure,
251
170
  // careful: must be Box<T> not just T because unsized PhantomData
252
171
  // seems to have weird interaction with Pin<>
253
172
  _marker: PhantomData<Box<T>>,
173
+ _lifetime: PhantomData<&'a ()>,
254
174
  }
255
175
 
256
- fn _assert_compiles<T>(mut pin: core::pin::Pin<&mut Closure<T>>) {
257
- let _ = &mut *pin;
176
+ /// Alias for [`ScopedClosure<'static, T>`] for backwards compatibility.
177
+ ///
178
+ /// In a future major version, `Closure` will become `ScopedClosure<'a, T>` with a
179
+ /// lifetime parameter.
180
+ pub type Closure<T> = ScopedClosure<'static, T>;
181
+
182
+ // ScopedClosure is Unpin because it only contains a JsValue (which is just a u32)
183
+ // and PhantomData markers. The closure data is either on the heap (owned) or
184
+ // referenced through a raw pointer (borrowed), neither of which is stored inline.
185
+ impl<T: ?Sized> Unpin for ScopedClosure<'_, T> {}
186
+
187
+ fn _assert_compiles<T>(pin: core::pin::Pin<&mut ScopedClosure<'static, T>>) {
188
+ let _ = &mut *pin.get_mut();
258
189
  }
259
190
 
260
- impl<T> Closure<T>
191
+ impl<T: ?Sized> Drop for ScopedClosure<'_, T> {
192
+ fn drop(&mut self) {
193
+ // Invalidate the closure on the JS side.
194
+ //
195
+ // The JS bindings distinguish owned vs borrowed closures via the `dtor_idx`
196
+ // encoded in `WasmDescribe`: owned closures pass a non-zero destructor
197
+ // function pointer, borrowed closures pass `0`.
198
+ //
199
+ // For owned closures (`Closure::new`/`ScopedClosure::own`), this decreases
200
+ // the refcount and frees the Rust heap data when the count reaches zero.
201
+ //
202
+ // For borrowed closures (`ScopedClosure::borrow`/`borrow_mut`), this sets
203
+ // state.a = state.b = 0 to prevent any further calls to the closure.
204
+ self.js._wbg_cb_unref();
205
+ }
206
+ }
207
+
208
+ impl<'a, T> ScopedClosure<'a, T>
209
+ where
210
+ T: ?Sized + WasmClosure,
211
+ {
212
+ /// Obtain a `&JsValue` reference for this closure
213
+ pub fn as_js_value(&self) -> &JsValue {
214
+ self.js.unchecked_ref()
215
+ }
216
+ }
217
+
218
+ /// Methods for creating and managing `'static` closures.
219
+ ///
220
+ /// These methods are only available on `ScopedClosure<'static, T>`
221
+ /// not on borrowed `ScopedClosure<'a, T>` where `'a` is not `'static`.
222
+ impl<T> ScopedClosure<'static, T>
261
223
  where
262
224
  T: ?Sized + WasmClosure,
263
225
  {
264
- /// Creates a new instance of `Closure` from the provided Rust function.
226
+ /// Alias for [`Closure::own`].
265
227
  ///
266
- /// Note that the closure provided here, `F`, has a few requirements
267
- /// associated with it:
228
+ /// Creates a new static owned `ScopedClosure<'static, T>` from the provided
229
+ /// Rust function, with panic unwind support.
268
230
  ///
269
- /// * It must implement `Fn` or `FnMut` (for `FnOnce` functions see
270
- /// `Closure::once` and `Closure::once_into_js`).
231
+ /// The type parameter `T` determines whether the closure is `Fn` or `FnMut`.
271
232
  ///
272
- /// * It must be `'static`, aka no stack references (use the `move`
273
- /// keyword).
233
+ /// Supports unwind via its UnwindSafe bound when building with panic=unwind.
234
+ /// Alternatively, pass `Closure::own(AssertUnwindSafe(...))` to assert unwind
235
+ /// safety, or use [`own_assert_unwind_safe`](Self::own_assert_unwind_safe) or
236
+ /// [`own_aborting`](Self::own_aborting).
274
237
  ///
275
- /// * It can have at most 7 arguments.
238
+ /// When provided to a JS function as an own value, to be managed by the JS GC.
276
239
  ///
277
- /// * Its arguments and return values are all types that can be shared with
278
- /// JS (i.e. have `#[wasm_bindgen]` annotations or are simple numbers,
279
- /// etc.)
280
- pub fn new<F>(t: F) -> Closure<T>
240
+ /// See [`borrow`](Self::borrow) for creating a borrowed `ScopedClosure` with
241
+ /// an associated lifetime (defaults to immutable `Fn`).
242
+ pub fn new<F>(t: F) -> Self
243
+ where
244
+ F: IntoWasmClosure<T> + MaybeUnwindSafe + 'static,
245
+ {
246
+ Self::own(t)
247
+ }
248
+
249
+ /// Creates a new static owned `ScopedClosure<'static, T>` from the provided
250
+ /// Rust function, with panic unwind support.
251
+ ///
252
+ /// The type parameter `T` determines whether the closure is `Fn` or `FnMut`.
253
+ ///
254
+ /// Supports unwind via its UnwindSafe bound when building with panic=unwind.
255
+ /// Alternatively, pass `Closure::own(AssertUnwindSafe(...))` to assert unwind
256
+ /// safety, or use [`own_assert_unwind_safe`](Self::own_assert_unwind_safe) or
257
+ /// [`own_aborting`](Self::own_aborting).
258
+ ///
259
+ /// When provided to a JS function as an own value, to be managed by the JS GC.
260
+ ///
261
+ /// See [`borrow`](Self::borrow) for creating a borrowed `ScopedClosure` with
262
+ /// an associated lifetime (defaults to immutable `Fn`).
263
+ pub fn own<F>(t: F) -> Self
264
+ where
265
+ F: IntoWasmClosure<T> + MaybeUnwindSafe + 'static,
266
+ {
267
+ Self::wrap_maybe_aborting::<true>(Box::new(t))
268
+ }
269
+
270
+ /// Creates a new owned `'static` closure that aborts on panic.
271
+ ///
272
+ /// Unlike [`own`](Self::own), this version does NOT catch panics and does NOT
273
+ /// require `UnwindSafe`. If the closure panics, the process will abort.
274
+ ///
275
+ /// The type parameter `T` determines whether the closure is `Fn` or `FnMut`.
276
+ ///
277
+ /// When provided to a JS function as an own value, to be managed by the JS GC.
278
+ ///
279
+ /// See [`borrow_aborting`](Self::borrow_aborting) for creating a borrowed
280
+ /// `ScopedClosure` with an associated lifetime.
281
+ ///
282
+ /// **Note: Not unwind safe. Prefer [`own`](Self::own) or `own` with
283
+ /// [`AssertUnwindSafe`](core::panic::AssertUnwindSafe) when possible.**
284
+ pub fn own_aborting<F>(t: F) -> Self
285
+ where
286
+ F: IntoWasmClosure<T> + 'static,
287
+ {
288
+ Self::wrap_maybe_aborting::<false>(Box::new(t))
289
+ }
290
+
291
+ /// Creates a new static owned `ScopedClosure<'static, T>` from the provided
292
+ /// Rust function, with panic unwind support.
293
+ ///
294
+ /// The type parameter `T` determines whether the closure is `Fn` or `FnMut`.
295
+ ///
296
+ /// When provided to a JS function as an own value, to be managed by the JS GC.
297
+ ///
298
+ /// **Safety: Unwind safety is assumed when using this function, like using
299
+ /// `AssertUnwindSafe(...)`, this must be verified explicitly.**
300
+ ///
301
+ /// See [`borrow_aborting`](Self::borrow_aborting) for creating a borrowed
302
+ /// `ScopedClosure` with an associated lifetime.
303
+ pub fn own_assert_unwind_safe<F>(t: F) -> Self
281
304
  where
282
305
  F: IntoWasmClosure<T> + 'static,
283
306
  {
284
- Closure::wrap(Box::new(t).unsize())
307
+ Self::wrap_maybe_aborting::<true>(Box::new(t))
285
308
  }
286
309
 
287
310
  /// A more direct version of `Closure::new` which creates a `Closure` from
288
311
  /// a `Box<dyn Fn>`/`Box<dyn FnMut>`, which is how it's kept internally.
289
- pub fn wrap(data: Box<T>) -> Closure<T> {
312
+ ///
313
+ /// Supports unwind via its UnwindSafe bound when building with panic=unwind.
314
+ /// Alternatively, use [`wrap_assert_unwind_safe`](Self::wrap_assert_unwind_safe)
315
+ /// to assert unwind safety, or use [`wrap_aborting`](Self::wrap_aborting).
316
+ ///
317
+ pub fn wrap<F>(data: Box<F>) -> Self
318
+ where
319
+ F: IntoWasmClosure<T> + ?Sized + MaybeUnwindSafe,
320
+ {
321
+ Self::wrap_maybe_aborting::<true>(data)
322
+ }
323
+
324
+ /// A more direct version of `Closure::new` which creates a `Closure` from
325
+ /// a `Box<dyn Fn>`/`Box<dyn FnMut>`, which is how it's kept internally.
326
+ ///
327
+ /// This version aborts on panics.
328
+ pub fn wrap_aborting<F>(data: Box<F>) -> Self
329
+ where
330
+ F: IntoWasmClosure<T> + ?Sized,
331
+ {
332
+ Self::wrap_maybe_aborting::<false>(data)
333
+ }
334
+
335
+ /// A more direct version of `Closure::new` which creates a `Closure` from
336
+ /// a `Box<dyn Fn>`/`Box<dyn FnMut>`, which is how it's kept internally.
337
+ ///
338
+ /// **Safety: Unwind safety is assumed when using this function, like using
339
+ /// `AssertUnwindSafe(...)`, this must be verified explicitly.**
340
+ ///
341
+ /// This version catches panics when unwinding is available.
342
+ pub fn wrap_assert_unwind_safe<F>(data: Box<F>) -> Self
343
+ where
344
+ F: IntoWasmClosure<T> + ?Sized,
345
+ {
346
+ Self::wrap_maybe_aborting::<true>(data)
347
+ }
348
+
349
+ fn wrap_maybe_aborting<const UNWIND_SAFE: bool>(
350
+ data: Box<impl IntoWasmClosure<T> + ?Sized>,
351
+ ) -> Self {
290
352
  Self {
291
- js: crate::__rt::wbg_cast(OwnedClosure(data)),
353
+ js: crate::__rt::wbg_cast(OwnedClosure::<T, UNWIND_SAFE>(data.unsize())),
354
+ _marker: PhantomData,
355
+ _lifetime: PhantomData,
356
+ }
357
+ }
358
+
359
+ /// Creates a scoped closure by borrowing an immutable `Fn` closure with
360
+ /// panic unwind support.
361
+ ///
362
+ /// This is the recommended way to pass closures to JavaScript for immediate/
363
+ /// synchronous use. Unlike [`Closure::own`], this does not require the closure
364
+ /// to be `'static`, allowing you to capture references to local variables.
365
+ ///
366
+ /// Use [`borrow_mut`](Self::borrow_mut) when you need to mutate captured state.
367
+ ///
368
+ /// The returned `ScopedClosure<'a, _>` has lifetime `'a` from the closure
369
+ /// reference, which means it cannot outlive the closure or any data the
370
+ /// closure captures.
371
+ ///
372
+ /// Supports unwind via its UnwindSafe bound when building with panic=unwind.
373
+ /// Wrap with `AssertUnwindSafe` if necessary to achieve this bound, or
374
+ /// use [`borrow_assert_unwind_safe`](Self::borrow_assert_unwind_safe) or
375
+ /// [`borrow_aborting`](Self::borrow_aborting) for non-unwind-safe functions.
376
+ ///
377
+ /// The resulting closure can be upcasted to `FnMut` using [`upcast_ref`](crate::Upcast::upcast_ref).
378
+ ///
379
+ /// # When to use scoped closures
380
+ ///
381
+ /// Use `ScopedClosure::borrow` or `ScopedClosure::borrow_mut` when:
382
+ /// - JavaScript will call the closure immediately and not retain it
383
+ /// - You need to capture non-`'static` references
384
+ /// - You want automatic cleanup when the `ScopedClosure` is dropped
385
+ ///
386
+ /// # Closure lifetime
387
+ ///
388
+ /// The JavaScript function is only valid while the `ScopedClosure` exists.
389
+ /// Once dropped, the JavaScript function is invalidated. If JavaScript retains
390
+ /// a reference and calls it later, it will throw: "closure invoked recursively
391
+ /// or after being dropped".
392
+ ///
393
+ /// Rust's borrow checker ensures `ScopedClosure` cannot outlive the closure's
394
+ /// captured data, preventing use-after-free bugs.
395
+ ///
396
+ /// # Example
397
+ ///
398
+ /// ```ignore
399
+ /// use wasm_bindgen::prelude::*;
400
+ ///
401
+ /// #[wasm_bindgen]
402
+ /// extern "C" {
403
+ /// fn call_with_value(cb: &ScopedClosure<dyn Fn(u32)>, value: u32);
404
+ /// fn call_fnmut(cb: &ScopedClosure<dyn FnMut(u32)>, value: u32);
405
+ /// }
406
+ ///
407
+ /// let data = vec![1, 2, 3];
408
+ /// let f = |x| {
409
+ /// println!("data len: {}, x: {}", data.len(), x);
410
+ /// };
411
+ /// let closure = ScopedClosure::borrow(&f);
412
+ /// call_with_value(&closure, 42);
413
+ /// // Can also upcast to FnMut
414
+ /// call_fnmut(closure.upcast_ref(), 42);
415
+ /// ```
416
+ pub fn borrow<'a, F>(t: &'a F) -> ScopedClosure<'a, T::Static>
417
+ where
418
+ F: IntoWasmClosureRef<T> + MaybeUnwindSafe + ?Sized,
419
+ {
420
+ Self::borrow_assert_unwind_safe(t)
421
+ }
422
+
423
+ /// Like [`borrow`](Self::borrow), but does not catch panics.
424
+ ///
425
+ /// If the closure panics, the process will abort. This variant does not
426
+ /// require `UnwindSafe`.
427
+ ///
428
+ /// **Note: Not unwind safe. Prefer [`borrow`](Self::borrow) or
429
+ /// [`borrow_assert_unwind_safe`](Self::borrow_assert_unwind_safe) when possible.**
430
+ pub fn borrow_aborting<'a, F>(t: &'a F) -> ScopedClosure<'a, T::Static>
431
+ where
432
+ F: IntoWasmClosureRef<T> + ?Sized,
433
+ {
434
+ Self::wrap_borrow::<_, false>(t)
435
+ }
436
+
437
+ /// Like [`borrow`](Self::borrow), but catches panics without requiring `MaybeUnwindSafe`.
438
+ ///
439
+ /// **Safety: Unwind safety is assumed when using this function, like using
440
+ /// `AssertUnwindSafe(...)`, this must be verified explicitly.**
441
+ pub fn borrow_assert_unwind_safe<'a, F>(t: &'a F) -> ScopedClosure<'a, T::Static>
442
+ where
443
+ F: IntoWasmClosureRef<T> + ?Sized,
444
+ {
445
+ Self::wrap_borrow::<_, true>(t)
446
+ }
447
+
448
+ fn wrap_borrow<'a, F, const UNWIND_SAFE: bool>(t: &'a F) -> ScopedClosure<'a, T::Static>
449
+ where
450
+ F: IntoWasmClosureRef<T> + ?Sized,
451
+ {
452
+ let t: &T = t.unsize_closure_ref();
453
+ let (ptr, len): (u32, u32) = unsafe { mem::transmute_copy(&t) };
454
+ ScopedClosure {
455
+ js: crate::__rt::wbg_cast(BorrowedClosure::<T, UNWIND_SAFE> {
456
+ data: WasmSlice { ptr, len },
457
+ _marker: PhantomData,
458
+ }),
292
459
  _marker: PhantomData,
460
+ _lifetime: PhantomData,
461
+ }
462
+ }
463
+
464
+ /// Creates a scoped closure by mutably borrowing a `FnMut` closure.
465
+ ///
466
+ /// Use this for closures that need to mutate captured state. For closures that
467
+ /// don't need mutation, prefer [`borrow`](Self::borrow) which creates an immutable
468
+ /// `Fn` closure that is more likely to satisfy `UnwindSafe` automatically.
469
+ ///
470
+ /// Supports unwind via its UnwindSafe bound when building with panic=unwind.
471
+ /// Wrap with `AssertUnwindSafe` if necessary to achieve this bound, or
472
+ /// use [`borrow_mut_assert_unwind_safe`](Self::borrow_mut_assert_unwind_safe) or
473
+ /// [`borrow_mut_aborting`](Self::borrow_mut_aborting) for non-unwind-safe functions.
474
+ ///
475
+ /// See [`borrow`](Self::borrow) for full documentation on scoped closures.
476
+ ///
477
+ /// # Example
478
+ ///
479
+ /// ```ignore
480
+ /// use wasm_bindgen::prelude::*;
481
+ ///
482
+ /// #[wasm_bindgen]
483
+ /// extern "C" {
484
+ /// fn call_three_times(cb: &ScopedClosure<dyn FnMut(u32)>);
485
+ /// }
486
+ ///
487
+ /// let mut sum = 0;
488
+ /// let closure = ScopedClosure::borrow_mut(&mut |x: u32| {
489
+ /// sum += x;
490
+ /// });
491
+ /// call_three_times(&closure);
492
+ /// // closure dropped, `sum` is accessible again
493
+ /// assert_eq!(sum, 6); // 1 + 2 + 3
494
+ /// ```
495
+ pub fn borrow_mut<'a, F>(t: &'a mut F) -> ScopedClosure<'a, T::Static>
496
+ where
497
+ F: IntoWasmClosureRefMut<T> + MaybeUnwindSafe + ?Sized,
498
+ {
499
+ Self::borrow_mut_assert_unwind_safe(t)
500
+ }
501
+
502
+ /// Like [`borrow_mut`](Self::borrow_mut), but does not catch panics.
503
+ ///
504
+ /// If the closure panics, the process will abort. This variant does not
505
+ /// require `UnwindSafe`.
506
+ ///
507
+ /// **Note: Not unwind safe. Prefer [`borrow_mut`](Self::borrow_mut) or
508
+ /// [`borrow_mut_assert_unwind_safe`](Self::borrow_mut_assert_unwind_safe) when possible.**
509
+ pub fn borrow_mut_aborting<'a, F>(t: &'a mut F) -> ScopedClosure<'a, T::Static>
510
+ where
511
+ F: IntoWasmClosureRefMut<T> + ?Sized,
512
+ {
513
+ Self::wrap_borrow_mut::<_, false>(t)
514
+ }
515
+
516
+ /// Like [`borrow_mut`](Self::borrow_mut), but catches panics without requiring `MaybeUnwindSafe`.
517
+ ///
518
+ /// **Safety: Unwind safety is assumed when using this function, like using
519
+ /// `AssertUnwindSafe(...)`, this must be verified explicitly.**
520
+ pub fn borrow_mut_assert_unwind_safe<'a, F>(t: &'a mut F) -> ScopedClosure<'a, T::Static>
521
+ where
522
+ F: IntoWasmClosureRefMut<T> + ?Sized,
523
+ {
524
+ Self::wrap_borrow_mut::<_, true>(t)
525
+ }
526
+
527
+ fn wrap_borrow_mut<'a, F, const UNWIND_SAFE: bool>(t: &'a mut F) -> ScopedClosure<'a, T::Static>
528
+ where
529
+ F: IntoWasmClosureRefMut<T> + ?Sized,
530
+ {
531
+ let t: &mut T = t.unsize_closure_ref();
532
+ let (ptr, len): (u32, u32) = unsafe { mem::transmute_copy(&t) };
533
+ ScopedClosure {
534
+ js: crate::__rt::wbg_cast(BorrowedClosure::<T, UNWIND_SAFE> {
535
+ data: WasmSlice { ptr, len },
536
+ _marker: PhantomData,
537
+ }),
538
+ _marker: PhantomData,
539
+ _lifetime: PhantomData,
293
540
  }
294
541
  }
295
542
 
@@ -307,6 +554,12 @@ where
307
554
  /// supported, this can be dangerous if this function is called many times
308
555
  /// in an application because the memory leak will overwhelm the page
309
556
  /// quickly and crash the wasm.
557
+ ///
558
+ /// # Safety Note
559
+ ///
560
+ /// This method is only available on `'static` closures. Calling it on a
561
+ /// borrowed `ScopedClosure` would be unsound because the closure data
562
+ /// would become invalid when the borrow ends.
310
563
  pub fn into_js_value(self) -> JsValue {
311
564
  let idx = self.js.idx;
312
565
  mem::forget(self);
@@ -316,6 +569,12 @@ where
316
569
  /// Same as `mem::forget(self)`.
317
570
  ///
318
571
  /// This can be used to fully relinquish closure ownership to the JS.
572
+ ///
573
+ /// # Safety Note
574
+ ///
575
+ /// This method is only available on `'static` closures. Calling it on a borrowed
576
+ /// `ScopedClosure` would be unsound because the closure data would become invalid
577
+ /// when the borrow ends.
319
578
  pub fn forget(self) {
320
579
  mem::forget(self);
321
580
  }
@@ -352,11 +611,65 @@ where
352
611
  /// and will be removed in the future.
353
612
  pub fn once<F, A, R>(fn_once: F) -> Self
354
613
  where
355
- F: WasmClosureFnOnce<T, A, R>,
614
+ F: WasmClosureFnOnce<T, A, R> + MaybeUnwindSafe,
356
615
  {
357
- Closure::wrap(fn_once.into_fn_mut())
616
+ Closure::wrap_maybe_aborting::<true>(fn_once.into_fn_mut())
358
617
  }
359
618
 
619
+ /// Create a `Closure` from a function that can only be called once.
620
+ ///
621
+ /// Unlike `once`, this version does NOT catch panics and does NOT require `UnwindSafe`.
622
+ /// If the closure panics, the process will abort.
623
+ ///
624
+ /// Use this when:
625
+ /// - Your closure captures types that aren't `UnwindSafe` (like `Rc<Cell<T>>`)
626
+ /// - You don't need panic catching across the JS boundary
627
+ /// - You prefer abort-on-panic behavior
628
+ ///
629
+ /// Since we have no way of enforcing that JS cannot attempt to call this
630
+ /// `FnOnce(A...) -> R` more than once, this produces a `Closure<dyn FnMut(A...)
631
+ /// -> R>` that will dynamically throw a JavaScript error if called more
632
+ /// than once.
633
+ ///
634
+ /// **Note: Not unwind safe. Prefer [`once`](Self::once) or `once` with
635
+ /// [`AssertUnwindSafe`](core::panic::AssertUnwindSafe) when possible.**
636
+ ///
637
+ /// Note: the `A` and `R` type parameters are here just for backward compat
638
+ /// and will be removed in the future.
639
+ pub fn once_aborting<F, A, R>(fn_once: F) -> Self
640
+ where
641
+ F: WasmClosureFnOnceAbort<T, A, R>,
642
+ {
643
+ Closure::wrap_maybe_aborting::<false>(fn_once.into_fn_mut())
644
+ }
645
+
646
+ /// Create a `Closure` from a function that can only be called once,
647
+ /// with panic unwind support.
648
+ ///
649
+ /// **Safety: Unwind safety is assumed when using this function, like using
650
+ /// `AssertUnwindSafe(...)`, this must be verified explicitly.**
651
+ ///
652
+ /// Use this when:
653
+ /// - Your closure captures types that aren't `UnwindSafe` (like `Rc<Cell<T>>`)
654
+ /// - You still want panics to be caught and converted to JS exceptions
655
+ ///
656
+ /// Since we have no way of enforcing that JS cannot attempt to call this
657
+ /// `FnOnce(A...) -> R` more than once, this produces a `Closure<dyn FnMut(A...)
658
+ /// -> R>` that will dynamically throw a JavaScript error if called more
659
+ /// than once.
660
+ ///
661
+ /// Note: the `A` and `R` type parameters are here just for backward compat
662
+ /// and will be removed in the future.
663
+ pub fn once_assert_unwind_safe<F, A, R>(fn_once: F) -> Self
664
+ where
665
+ F: WasmClosureFnOnceAbort<T, A, R>,
666
+ {
667
+ Closure::wrap_maybe_aborting::<true>(fn_once.into_fn_mut())
668
+ }
669
+
670
+ // TODO: Update once closures to be generated on construction as once
671
+ // closures instead of using wrap(). Then we can share the same into_js()
672
+ // function between all closures, and deprecate this method.
360
673
  /// Convert a `FnOnce(A...) -> R` into a JavaScript `Function` object.
361
674
  ///
362
675
  /// If the JavaScript function is invoked more than once, it will throw an
@@ -382,7 +695,7 @@ where
382
695
  /// and will be removed in the future.
383
696
  pub fn once_into_js<F, A, R>(fn_once: F) -> JsValue
384
697
  where
385
- F: WasmClosureFnOnce<T, A, R>,
698
+ F: WasmClosureFnOnce<T, A, R> + MaybeUnwindSafe,
386
699
  {
387
700
  fn_once.into_js_function()
388
701
  }
@@ -397,30 +710,41 @@ pub trait WasmClosureFnOnce<FnMut: ?Sized, A, R>: 'static {
397
710
  fn into_js_function(self) -> JsValue;
398
711
  }
399
712
 
400
- impl<T: ?Sized> AsRef<JsValue> for Closure<T> {
713
+ /// A trait for converting an `FnOnce(A...) -> R` into a `FnMut(A...) -> R` that
714
+ /// will throw if ever called more than once. This variant does not require UnwindSafe.
715
+ #[doc(hidden)]
716
+ pub trait WasmClosureFnOnceAbort<FnMut: ?Sized, A, R>: 'static {
717
+ fn into_fn_mut(self) -> Box<FnMut>;
718
+
719
+ fn into_js_function(self) -> JsValue;
720
+ }
721
+
722
+ impl<T: ?Sized> AsRef<JsValue> for ScopedClosure<'_, T> {
401
723
  fn as_ref(&self) -> &JsValue {
402
724
  &self.js
403
725
  }
404
726
  }
405
727
 
406
- /// Internal representation of the actual owned closure which we send to the JS
407
- /// in the constructor to convert it into a JavaScript value.
728
+ /// Internal representation of an owned closure sent to JS.
729
+ /// `UNWIND_SAFE` selects the invoke shim: `true` catches panics, `false` does not.
408
730
  #[repr(transparent)]
409
- struct OwnedClosure<T: ?Sized>(Box<T>);
731
+ struct OwnedClosure<T: ?Sized, const UNWIND_SAFE: bool>(Box<T>);
732
+
733
+ /// Internal representation of a borrowed closure sent to JS.
734
+ /// `UNWIND_SAFE` selects the invoke shim: `true` catches panics, `false` does not.
735
+ struct BorrowedClosure<T: ?Sized, const UNWIND_SAFE: bool> {
736
+ data: WasmSlice,
737
+ _marker: PhantomData<T>,
738
+ }
410
739
 
411
740
  unsafe extern "C" fn destroy<T: ?Sized>(a: usize, b: usize) {
412
- // This can be called by the JS glue in erroneous situations
413
- // such as when the closure has already been destroyed. If
414
- // that's the case let's not make things worse by
415
- // segfaulting and/or asserting, so just ignore null
416
- // pointers.
417
741
  if a == 0 {
418
742
  return;
419
743
  }
420
744
  drop(mem::transmute_copy::<_, Box<T>>(&(a, b)));
421
745
  }
422
746
 
423
- impl<T> WasmDescribe for OwnedClosure<T>
747
+ impl<T, const UNWIND_SAFE: bool> WasmDescribe for OwnedClosure<T, UNWIND_SAFE>
424
748
  where
425
749
  T: WasmClosure + ?Sized,
426
750
  {
@@ -429,11 +753,24 @@ where
429
753
  inform(CLOSURE);
430
754
  inform(destroy::<T> as *const () as usize as u32);
431
755
  inform(T::IS_MUT as u32);
432
- T::describe();
756
+ T::describe_invoke::<UNWIND_SAFE>();
757
+ }
758
+ }
759
+
760
+ impl<T, const UNWIND_SAFE: bool> WasmDescribe for BorrowedClosure<T, UNWIND_SAFE>
761
+ where
762
+ T: WasmClosure + ?Sized,
763
+ {
764
+ #[cfg_attr(wasm_bindgen_unstable_test_coverage, coverage(off))]
765
+ fn describe() {
766
+ inform(CLOSURE);
767
+ inform(0);
768
+ inform(T::IS_MUT as u32);
769
+ T::describe_invoke::<UNWIND_SAFE>();
433
770
  }
434
771
  }
435
772
 
436
- impl<T> IntoWasmAbi for OwnedClosure<T>
773
+ impl<T, const UNWIND_SAFE: bool> IntoWasmAbi for OwnedClosure<T, UNWIND_SAFE>
437
774
  where
438
775
  T: WasmClosure + ?Sized,
439
776
  {
@@ -448,7 +785,17 @@ where
448
785
  }
449
786
  }
450
787
 
451
- impl<T> WasmDescribe for Closure<T>
788
+ impl<T, const UNWIND_SAFE: bool> IntoWasmAbi for BorrowedClosure<T, UNWIND_SAFE>
789
+ where
790
+ T: WasmClosure + ?Sized,
791
+ {
792
+ type Abi = WasmSlice;
793
+ fn into_abi(self) -> WasmSlice {
794
+ self.data
795
+ }
796
+ }
797
+
798
+ impl<T> WasmDescribe for ScopedClosure<'_, T>
452
799
  where
453
800
  T: WasmClosure + ?Sized,
454
801
  {
@@ -458,19 +805,19 @@ where
458
805
  }
459
806
  }
460
807
 
461
- // `Closure` can only be passed by reference to imports.
462
- impl<T> IntoWasmAbi for &Closure<T>
808
+ // `ScopedClosure` can be passed by reference to imports (for any lifetime).
809
+ impl<T> IntoWasmAbi for &ScopedClosure<'_, T>
463
810
  where
464
811
  T: WasmClosure + ?Sized,
465
812
  {
466
813
  type Abi = u32;
467
814
 
468
815
  fn into_abi(self) -> u32 {
469
- (&*self.js).into_abi()
816
+ (&self.js).into_abi()
470
817
  }
471
818
  }
472
819
 
473
- impl<T> OptionIntoWasmAbi for &Closure<T>
820
+ impl<T> OptionIntoWasmAbi for &ScopedClosure<'_, T>
474
821
  where
475
822
  T: WasmClosure + ?Sized,
476
823
  {
@@ -479,33 +826,68 @@ where
479
826
  }
480
827
  }
481
828
 
482
- fn _check() {
483
- fn _assert<T: IntoWasmAbi>() {}
484
- _assert::<&Closure<dyn Fn()>>();
485
- _assert::<&Closure<dyn Fn(String)>>();
486
- _assert::<&Closure<dyn Fn() -> String>>();
487
- _assert::<&Closure<dyn FnMut()>>();
488
- _assert::<&Closure<dyn FnMut(String)>>();
489
- _assert::<&Closure<dyn FnMut() -> String>>();
829
+ /// `'static` closures can be passed by value to JS, transferring ownership.
830
+ ///
831
+ /// This is useful for one-shot callbacks where you want JS to own the closure.
832
+ /// The closure will be cleaned up by JS GC (if weak references are supported)
833
+ /// or will leak (if weak references are not supported).
834
+ ///
835
+ /// # Example
836
+ ///
837
+ /// ```ignore
838
+ /// #[wasm_bindgen]
839
+ /// extern "C" {
840
+ /// fn set_one_shot_callback(cb: Closure<dyn FnMut()>);
841
+ /// }
842
+ ///
843
+ /// let cb = Closure::new(|| { /* ... */ });
844
+ /// set_one_shot_callback(cb); // Ownership transferred to JS
845
+ /// // No need to store or forget the closure
846
+ /// ```
847
+ impl<T> IntoWasmAbi for ScopedClosure<'static, T>
848
+ where
849
+ T: WasmClosure + ?Sized,
850
+ {
851
+ type Abi = u32;
852
+
853
+ fn into_abi(self) -> u32 {
854
+ let idx = self.js.idx;
855
+ mem::forget(self);
856
+ idx
857
+ }
490
858
  }
491
859
 
492
- impl<T> fmt::Debug for Closure<T>
860
+ impl<T> OptionIntoWasmAbi for ScopedClosure<'static, T>
493
861
  where
494
- T: ?Sized,
862
+ T: WasmClosure + ?Sized,
495
863
  {
496
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
497
- write!(f, "Closure {{ ... }}")
864
+ fn none() -> Self::Abi {
865
+ 0
498
866
  }
499
867
  }
500
868
 
501
- impl<T> Drop for Closure<T>
869
+ fn _check() {
870
+ fn _assert<T: IntoWasmAbi>() {}
871
+ // ScopedClosure by reference (any lifetime)
872
+ _assert::<&ScopedClosure<dyn Fn()>>();
873
+ _assert::<&ScopedClosure<dyn Fn(String)>>();
874
+ _assert::<&ScopedClosure<dyn Fn() -> String>>();
875
+ _assert::<&ScopedClosure<dyn FnMut()>>();
876
+ _assert::<&ScopedClosure<dyn FnMut(String)>>();
877
+ _assert::<&ScopedClosure<dyn FnMut() -> String>>();
878
+ // ScopedClosure by value (only 'static)
879
+ _assert::<ScopedClosure<'static, dyn Fn()>>();
880
+ _assert::<ScopedClosure<'static, dyn FnMut()>>();
881
+ _assert::<Closure<dyn Fn()>>();
882
+ _assert::<Closure<dyn FnMut()>>();
883
+ }
884
+
885
+ impl<T> fmt::Debug for ScopedClosure<'_, T>
502
886
  where
503
887
  T: ?Sized,
504
888
  {
505
- fn drop(&mut self) {
506
- // Decrease refcount on the JS side, this will automatically free
507
- // the Rust data if we're the last owner.
508
- self.js._wbg_cb_unref();
889
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
890
+ write!(f, "Closure {{ ... }}")
509
891
  }
510
892
  }
511
893
 
@@ -516,6 +898,26 @@ where
516
898
  #[doc(hidden)]
517
899
  pub unsafe trait WasmClosure: WasmDescribe {
518
900
  const IS_MUT: bool;
901
+ /// The `'static` version of `Self`. For example, if `Self` is `dyn Fn() + 'a`,
902
+ /// then `Static` is `dyn Fn()` (implicitly `'static`).
903
+ type Static: ?Sized + WasmClosure;
904
+ /// The mutable version of this closure type.
905
+ /// For `dyn Fn(...) -> R` this is `dyn FnMut(...) -> R`.
906
+ /// For `dyn FnMut(...) -> R` this is itself.
907
+ type AsMut: ?Sized;
908
+ /// Emit the FUNCTION descriptor with the invoke shim selected by
909
+ /// `UNWIND_SAFE`: `true` picks the panic-catching shim, `false`
910
+ /// picks the non-catching shim.
911
+ fn describe_invoke<const UNWIND_SAFE: bool>();
912
+ }
913
+
914
+ unsafe impl<T: WasmClosure> WasmClosure for AssertUnwindSafe<T> {
915
+ type Static = T::Static;
916
+ const IS_MUT: bool = T::IS_MUT;
917
+ type AsMut = T::AsMut;
918
+ fn describe_invoke<const UNWIND_SAFE: bool>() {
919
+ T::describe_invoke::<UNWIND_SAFE>();
920
+ }
519
921
  }
520
922
 
521
923
  /// An internal trait for the `Closure` type.
@@ -526,3 +928,51 @@ pub unsafe trait WasmClosure: WasmDescribe {
526
928
  pub trait IntoWasmClosure<T: ?Sized> {
527
929
  fn unsize(self: Box<Self>) -> Box<T>;
528
930
  }
931
+
932
+ impl<T: ?Sized + WasmClosure> IntoWasmClosure<T> for T {
933
+ fn unsize(self: Box<Self>) -> Box<T> {
934
+ self
935
+ }
936
+ }
937
+
938
+ /// Trait for converting a reference to a closure into a trait object reference.
939
+ ///
940
+ /// This trait is not stable and it's not recommended to use this in bounds or
941
+ /// implement yourself.
942
+ #[doc(hidden)]
943
+ pub trait IntoWasmClosureRef<T: ?Sized> {
944
+ fn unsize_closure_ref(&self) -> &T;
945
+ }
946
+
947
+ /// Trait for converting a mutable reference to a closure into a trait object reference.
948
+ ///
949
+ /// This trait is not stable and it's not recommended to use this in bounds or
950
+ /// implement yourself.
951
+ #[doc(hidden)]
952
+ pub trait IntoWasmClosureRefMut<T: ?Sized> {
953
+ fn unsize_closure_ref(&mut self) -> &mut T;
954
+ }
955
+
956
+ // Blanket impl for AssertUnwindSafe - delegates to inner type
957
+ impl<T: ?Sized, F> IntoWasmClosureRef<T> for AssertUnwindSafe<F>
958
+ where
959
+ F: IntoWasmClosureRef<T>,
960
+ {
961
+ fn unsize_closure_ref(&self) -> &T {
962
+ self.0.unsize_closure_ref()
963
+ }
964
+ }
965
+
966
+ impl<T: ?Sized, F> IntoWasmClosureRefMut<T> for AssertUnwindSafe<F>
967
+ where
968
+ F: IntoWasmClosureRefMut<T>,
969
+ {
970
+ fn unsize_closure_ref(&mut self) -> &mut T {
971
+ self.0.unsize_closure_ref()
972
+ }
973
+ }
974
+
975
+ // In ScopedClosure, the Rust closure type is the phantom type that erases.
976
+ unsafe impl<T: ?Sized + WasmClosure> ErasableGeneric for ScopedClosure<'_, T> {
977
+ type Repr = ScopedClosure<'static, dyn FnMut()>;
978
+ }