html-to-markdown 2.25.1 → 2.26.2

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