wasmtime 17.0.1 → 18.0.3

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 (2563) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +114 -142
  3. data/ext/Cargo.toml +8 -9
  4. data/ext/cargo-vendor/cranelift-bforest-0.105.3/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.105.3/Cargo.toml +40 -0
  6. data/ext/cargo-vendor/cranelift-codegen-0.105.3/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.105.3/Cargo.toml +175 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.105.3/build.rs +395 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/egraph/domtree.rs +74 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/egraph.rs +705 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/isa/x64/inst/emit.rs +4395 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/isa/x64/inst/emit_tests.rs +5525 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/isa/x64/inst.isle +5215 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/isa/x64/lower.isle +4742 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/isa/x64/mod.rs +233 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/lib.rs +106 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/machinst/reg.rs +562 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/opts/README.md +81 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/opts/extends.isle +91 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/opts/icmp.isle +197 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/prelude_opt.isle +122 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.105.3/src/verifier/mod.rs +2033 -0
  23. data/ext/cargo-vendor/cranelift-codegen-meta-0.105.3/.cargo-checksum.json +1 -0
  24. data/ext/cargo-vendor/cranelift-codegen-meta-0.105.3/Cargo.toml +35 -0
  25. data/ext/cargo-vendor/cranelift-codegen-shared-0.105.3/.cargo-checksum.json +1 -0
  26. data/ext/cargo-vendor/cranelift-codegen-shared-0.105.3/Cargo.toml +22 -0
  27. data/ext/cargo-vendor/cranelift-control-0.105.3/.cargo-checksum.json +1 -0
  28. data/ext/cargo-vendor/cranelift-control-0.105.3/Cargo.toml +30 -0
  29. data/ext/cargo-vendor/cranelift-entity-0.105.3/.cargo-checksum.json +1 -0
  30. data/ext/cargo-vendor/cranelift-entity-0.105.3/Cargo.toml +50 -0
  31. data/ext/cargo-vendor/cranelift-frontend-0.105.3/.cargo-checksum.json +1 -0
  32. data/ext/cargo-vendor/cranelift-frontend-0.105.3/Cargo.toml +68 -0
  33. data/ext/cargo-vendor/cranelift-isle-0.105.3/.cargo-checksum.json +1 -0
  34. data/ext/cargo-vendor/cranelift-isle-0.105.3/Cargo.toml +46 -0
  35. data/ext/cargo-vendor/cranelift-native-0.105.3/.cargo-checksum.json +1 -0
  36. data/ext/cargo-vendor/cranelift-native-0.105.3/Cargo.toml +43 -0
  37. data/ext/cargo-vendor/cranelift-native-0.105.3/src/lib.rs +188 -0
  38. data/ext/cargo-vendor/cranelift-wasm-0.105.3/.cargo-checksum.json +1 -0
  39. data/ext/cargo-vendor/cranelift-wasm-0.105.3/Cargo.toml +106 -0
  40. data/ext/cargo-vendor/cranelift-wasm-0.105.3/src/code_translator.rs +3681 -0
  41. data/ext/cargo-vendor/cranelift-wasm-0.105.3/src/environ/dummy.rs +953 -0
  42. data/ext/cargo-vendor/cranelift-wasm-0.105.3/src/environ/spec.rs +953 -0
  43. data/ext/cargo-vendor/cranelift-wasm-0.105.3/src/sections_translator.rs +409 -0
  44. data/ext/cargo-vendor/cranelift-wasm-0.105.3/src/translation_utils.rs +91 -0
  45. data/ext/cargo-vendor/cranelift-wasm-0.105.3/wasmtests/icall-simd.wat +7 -0
  46. data/ext/cargo-vendor/cranelift-wasm-0.105.3/wasmtests/icall.wat +7 -0
  47. data/ext/cargo-vendor/cranelift-wasm-0.105.3/wasmtests/unreachable_code.wat +77 -0
  48. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.19/.cargo-checksum.json +1 -0
  49. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.19/Cargo.toml +49 -0
  50. data/ext/cargo-vendor/rb-sys-0.9.89/.cargo-checksum.json +1 -0
  51. data/ext/cargo-vendor/rb-sys-0.9.89/Cargo.toml +54 -0
  52. data/ext/cargo-vendor/rb-sys-0.9.89/src/lib.rs +37 -0
  53. data/ext/cargo-vendor/rb-sys-0.9.89/src/symbol.rs +31 -0
  54. data/ext/cargo-vendor/rb-sys-build-0.9.89/.cargo-checksum.json +1 -0
  55. data/ext/cargo-vendor/rb-sys-build-0.9.89/Cargo.toml +62 -0
  56. data/ext/cargo-vendor/rb-sys-build-0.9.89/src/bindings.rs +250 -0
  57. data/ext/cargo-vendor/rb-sys-build-0.9.89/src/rb_config.rs +810 -0
  58. data/ext/cargo-vendor/tokio-1.36.0/.cargo-checksum.json +1 -0
  59. data/ext/cargo-vendor/tokio-1.36.0/CHANGELOG.md +3250 -0
  60. data/ext/cargo-vendor/tokio-1.36.0/Cargo.toml +237 -0
  61. data/ext/cargo-vendor/tokio-1.36.0/README.md +249 -0
  62. data/ext/cargo-vendor/tokio-1.36.0/src/doc/os.rs +68 -0
  63. data/ext/cargo-vendor/tokio-1.36.0/src/fs/open_options/mock_open_options.rs +39 -0
  64. data/ext/cargo-vendor/tokio-1.36.0/src/future/mod.rs +32 -0
  65. data/ext/cargo-vendor/tokio-1.36.0/src/io/async_fd.rs +1259 -0
  66. data/ext/cargo-vendor/tokio-1.36.0/src/io/bsd/poll_aio.rs +197 -0
  67. data/ext/cargo-vendor/tokio-1.36.0/src/io/interest.rs +345 -0
  68. data/ext/cargo-vendor/tokio-1.36.0/src/io/join.rs +117 -0
  69. data/ext/cargo-vendor/tokio-1.36.0/src/io/mod.rs +292 -0
  70. data/ext/cargo-vendor/tokio-1.36.0/src/io/poll_evented.rs +277 -0
  71. data/ext/cargo-vendor/tokio-1.36.0/src/io/stdio_common.rs +221 -0
  72. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/async_buf_read_ext.rs +351 -0
  73. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/buf_reader.rs +311 -0
  74. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/buf_writer.rs +310 -0
  75. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/chain.rs +144 -0
  76. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/copy.rs +290 -0
  77. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/empty.rs +150 -0
  78. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/flush.rs +47 -0
  79. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/mod.rs +111 -0
  80. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/read_exact.rs +69 -0
  81. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/read_line.rs +119 -0
  82. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/repeat.rs +75 -0
  83. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/shutdown.rs +46 -0
  84. data/ext/cargo-vendor/tokio-1.36.0/src/io/util/sink.rs +94 -0
  85. data/ext/cargo-vendor/tokio-1.36.0/src/lib.rs +694 -0
  86. data/ext/cargo-vendor/tokio-1.36.0/src/loom/std/atomic_u64.rs +19 -0
  87. data/ext/cargo-vendor/tokio-1.36.0/src/macros/cfg.rs +587 -0
  88. data/ext/cargo-vendor/tokio-1.36.0/src/macros/try_join.rs +218 -0
  89. data/ext/cargo-vendor/tokio-1.36.0/src/net/mod.rs +57 -0
  90. data/ext/cargo-vendor/tokio-1.36.0/src/net/tcp/listener.rs +451 -0
  91. data/ext/cargo-vendor/tokio-1.36.0/src/net/tcp/socket.rs +854 -0
  92. data/ext/cargo-vendor/tokio-1.36.0/src/net/tcp/stream.rs +1424 -0
  93. data/ext/cargo-vendor/tokio-1.36.0/src/net/udp.rs +2046 -0
  94. data/ext/cargo-vendor/tokio-1.36.0/src/net/unix/datagram/socket.rs +1593 -0
  95. data/ext/cargo-vendor/tokio-1.36.0/src/net/unix/listener.rs +221 -0
  96. data/ext/cargo-vendor/tokio-1.36.0/src/net/unix/mod.rs +39 -0
  97. data/ext/cargo-vendor/tokio-1.36.0/src/net/unix/pipe.rs +1442 -0
  98. data/ext/cargo-vendor/tokio-1.36.0/src/net/unix/socket.rs +271 -0
  99. data/ext/cargo-vendor/tokio-1.36.0/src/net/unix/stream.rs +1062 -0
  100. data/ext/cargo-vendor/tokio-1.36.0/src/net/windows/named_pipe.rs +2690 -0
  101. data/ext/cargo-vendor/tokio-1.36.0/src/process/mod.rs +1678 -0
  102. data/ext/cargo-vendor/tokio-1.36.0/src/process/unix/mod.rs +375 -0
  103. data/ext/cargo-vendor/tokio-1.36.0/src/process/unix/pidfd_reaper.rs +317 -0
  104. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/blocking/pool.rs +603 -0
  105. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/builder.rs +1335 -0
  106. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/context.rs +193 -0
  107. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/handle.rs +632 -0
  108. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/io/driver.rs +273 -0
  109. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/io/scheduled_io.rs +598 -0
  110. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/park.rs +339 -0
  111. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/current_thread/mod.rs +758 -0
  112. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread/park.rs +232 -0
  113. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread/queue.rs +608 -0
  114. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread/stats.rs +140 -0
  115. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs +1234 -0
  116. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread_alt/queue.rs +595 -0
  117. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread_alt/stats.rs +171 -0
  118. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/scheduler/multi_thread_alt/worker.rs +1597 -0
  119. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/core.rs +494 -0
  120. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/harness.rs +517 -0
  121. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/join.rs +370 -0
  122. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/list.rs +338 -0
  123. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/mod.rs +526 -0
  124. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/state.rs +616 -0
  125. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/task/trace/mod.rs +358 -0
  126. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/tests/loom_local.rs +47 -0
  127. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/tests/task_combinations.rs +488 -0
  128. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/time/entry.rs +646 -0
  129. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/time/source.rs +39 -0
  130. data/ext/cargo-vendor/tokio-1.36.0/src/runtime/time/wheel/level.rs +274 -0
  131. data/ext/cargo-vendor/tokio-1.36.0/src/signal/ctrl_c.rs +62 -0
  132. data/ext/cargo-vendor/tokio-1.36.0/src/signal/mod.rs +98 -0
  133. data/ext/cargo-vendor/tokio-1.36.0/src/signal/registry.rs +281 -0
  134. data/ext/cargo-vendor/tokio-1.36.0/src/signal/unix.rs +530 -0
  135. data/ext/cargo-vendor/tokio-1.36.0/src/signal/windows.rs +524 -0
  136. data/ext/cargo-vendor/tokio-1.36.0/src/sync/batch_semaphore.rs +752 -0
  137. data/ext/cargo-vendor/tokio-1.36.0/src/sync/broadcast.rs +1542 -0
  138. data/ext/cargo-vendor/tokio-1.36.0/src/sync/mpsc/bounded.rs +1692 -0
  139. data/ext/cargo-vendor/tokio-1.36.0/src/sync/mpsc/error.rs +149 -0
  140. data/ext/cargo-vendor/tokio-1.36.0/src/sync/mpsc/mod.rs +124 -0
  141. data/ext/cargo-vendor/tokio-1.36.0/src/sync/mpsc/unbounded.rs +603 -0
  142. data/ext/cargo-vendor/tokio-1.36.0/src/sync/mutex.rs +1395 -0
  143. data/ext/cargo-vendor/tokio-1.36.0/src/sync/oneshot.rs +1390 -0
  144. data/ext/cargo-vendor/tokio-1.36.0/src/sync/rwlock.rs +1119 -0
  145. data/ext/cargo-vendor/tokio-1.36.0/src/sync/semaphore.rs +977 -0
  146. data/ext/cargo-vendor/tokio-1.36.0/src/sync/watch.rs +1399 -0
  147. data/ext/cargo-vendor/tokio-1.36.0/src/task/join_set.rs +637 -0
  148. data/ext/cargo-vendor/tokio-1.36.0/src/task/local.rs +1233 -0
  149. data/ext/cargo-vendor/tokio-1.36.0/src/task/mod.rs +373 -0
  150. data/ext/cargo-vendor/tokio-1.36.0/src/util/idle_notified_set.rs +509 -0
  151. data/ext/cargo-vendor/tokio-1.36.0/src/util/rand.rs +95 -0
  152. data/ext/cargo-vendor/tokio-1.36.0/src/util/sharded_list.rs +149 -0
  153. data/ext/cargo-vendor/tokio-1.36.0/tests/io_async_fd.rs +836 -0
  154. data/ext/cargo-vendor/tokio-1.36.0/tests/io_copy.rs +102 -0
  155. data/ext/cargo-vendor/tokio-1.36.0/tests/io_copy_bidirectional.rs +165 -0
  156. data/ext/cargo-vendor/tokio-1.36.0/tests/io_join.rs +83 -0
  157. data/ext/cargo-vendor/tokio-1.36.0/tests/io_panic.rs +177 -0
  158. data/ext/cargo-vendor/tokio-1.36.0/tests/io_poll_aio.rs +338 -0
  159. data/ext/cargo-vendor/tokio-1.36.0/tests/io_repeat.rs +18 -0
  160. data/ext/cargo-vendor/tokio-1.36.0/tests/io_sink.rs +44 -0
  161. data/ext/cargo-vendor/tokio-1.36.0/tests/join_handle_panic.rs +21 -0
  162. data/ext/cargo-vendor/tokio-1.36.0/tests/macros_test.rs +94 -0
  163. data/ext/cargo-vendor/tokio-1.36.0/tests/macros_try_join.rs +185 -0
  164. data/ext/cargo-vendor/tokio-1.36.0/tests/net_named_pipe.rs +399 -0
  165. data/ext/cargo-vendor/tokio-1.36.0/tests/net_panic.rs +189 -0
  166. data/ext/cargo-vendor/tokio-1.36.0/tests/net_unix_pipe.rs +534 -0
  167. data/ext/cargo-vendor/tokio-1.36.0/tests/process_change_of_runtime.rs +34 -0
  168. data/ext/cargo-vendor/tokio-1.36.0/tests/process_issue_2174.rs +46 -0
  169. data/ext/cargo-vendor/tokio-1.36.0/tests/rt_basic.rs +458 -0
  170. data/ext/cargo-vendor/tokio-1.36.0/tests/rt_handle.rs +94 -0
  171. data/ext/cargo-vendor/tokio-1.36.0/tests/rt_panic.rs +78 -0
  172. data/ext/cargo-vendor/tokio-1.36.0/tests/rt_time_start_paused.rs +14 -0
  173. data/ext/cargo-vendor/tokio-1.36.0/tests/signal_panic.rs +30 -0
  174. data/ext/cargo-vendor/tokio-1.36.0/tests/sync_mpsc.rs +1020 -0
  175. data/ext/cargo-vendor/tokio-1.36.0/tests/sync_panic.rs +198 -0
  176. data/ext/cargo-vendor/tokio-1.36.0/tests/sync_watch.rs +334 -0
  177. data/ext/cargo-vendor/tokio-1.36.0/tests/task_id.rs +302 -0
  178. data/ext/cargo-vendor/tokio-1.36.0/tests/task_join_set.rs +306 -0
  179. data/ext/cargo-vendor/tokio-1.36.0/tests/task_local.rs +119 -0
  180. data/ext/cargo-vendor/tokio-1.36.0/tests/task_panic.rs +123 -0
  181. data/ext/cargo-vendor/tokio-1.36.0/tests/tcp_into_split.rs +131 -0
  182. data/ext/cargo-vendor/tokio-1.36.0/tests/time_panic.rs +94 -0
  183. data/ext/cargo-vendor/tokio-1.36.0/tests/time_pause.rs +332 -0
  184. data/ext/cargo-vendor/tokio-1.36.0/tests/uds_socket.rs +118 -0
  185. data/ext/cargo-vendor/wasi-common-18.0.3/.cargo-checksum.json +1 -0
  186. data/ext/cargo-vendor/wasi-common-18.0.3/Cargo.toml +223 -0
  187. data/ext/cargo-vendor/wasi-common-18.0.3/src/lib.rs +193 -0
  188. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/clocks.rs +41 -0
  189. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/dir.rs +462 -0
  190. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/file.rs +248 -0
  191. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/mod.rs +140 -0
  192. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/net.rs +400 -0
  193. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/sched/unix.rs +82 -0
  194. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/sched/windows.rs +221 -0
  195. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/sched.rs +40 -0
  196. data/ext/cargo-vendor/wasi-common-18.0.3/src/sync/stdio.rs +197 -0
  197. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/dir.rs +221 -0
  198. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/file.rs +244 -0
  199. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/mod.rs +137 -0
  200. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/net.rs +6 -0
  201. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/sched/unix.rs +96 -0
  202. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/sched/windows.rs +15 -0
  203. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/sched.rs +35 -0
  204. data/ext/cargo-vendor/wasi-common-18.0.3/src/tokio/stdio.rs +1 -0
  205. data/ext/cargo-vendor/wasi-common-18.0.3/tests/all/async_.rs +289 -0
  206. data/ext/cargo-vendor/wasi-common-18.0.3/tests/all/main.rs +21 -0
  207. data/ext/cargo-vendor/wasi-common-18.0.3/tests/all/sync.rs +275 -0
  208. data/ext/cargo-vendor/wasm-encoder-0.201.0/.cargo-checksum.json +1 -0
  209. data/ext/cargo-vendor/wasm-encoder-0.201.0/Cargo.toml +43 -0
  210. data/ext/cargo-vendor/wasm-encoder-0.201.0/src/component/names.rs +149 -0
  211. data/ext/cargo-vendor/wasm-encoder-0.201.0/src/component/types.rs +792 -0
  212. data/ext/cargo-vendor/wasm-encoder-0.201.0/src/core/code.rs +3444 -0
  213. data/ext/cargo-vendor/wasm-encoder-0.201.0/src/core/names.rs +298 -0
  214. data/ext/cargo-vendor/wasm-encoder-0.201.0/src/core/types.rs +673 -0
  215. data/ext/cargo-vendor/wasm-encoder-0.41.2/.cargo-checksum.json +1 -0
  216. data/ext/cargo-vendor/wasm-encoder-0.41.2/Cargo.toml +43 -0
  217. data/ext/cargo-vendor/wasm-encoder-0.41.2/README.md +80 -0
  218. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/aliases.rs +160 -0
  219. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/builder.rs +455 -0
  220. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/canonicals.rs +159 -0
  221. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/components.rs +29 -0
  222. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/exports.rs +124 -0
  223. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/imports.rs +175 -0
  224. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/instances.rs +200 -0
  225. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/modules.rs +29 -0
  226. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/start.rs +52 -0
  227. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component/types.rs +792 -0
  228. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/component.rs +168 -0
  229. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/code.rs +3430 -0
  230. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/custom.rs +73 -0
  231. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/data.rs +185 -0
  232. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/dump.rs +627 -0
  233. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/elements.rs +220 -0
  234. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/exports.rs +98 -0
  235. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/functions.rs +63 -0
  236. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/globals.rs +101 -0
  237. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/imports.rs +156 -0
  238. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/linking.rs +263 -0
  239. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/memories.rs +111 -0
  240. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/names.rs +298 -0
  241. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/producers.rs +180 -0
  242. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/start.rs +39 -0
  243. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/tables.rs +116 -0
  244. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/tags.rs +104 -0
  245. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core/types.rs +673 -0
  246. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/core.rs +168 -0
  247. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/lib.rs +215 -0
  248. data/ext/cargo-vendor/wasm-encoder-0.41.2/src/raw.rs +30 -0
  249. data/ext/cargo-vendor/wasmparser-0.121.2/.cargo-checksum.json +1 -0
  250. data/ext/cargo-vendor/wasmparser-0.121.2/Cargo.lock +633 -0
  251. data/ext/cargo-vendor/wasmparser-0.121.2/Cargo.toml +69 -0
  252. data/ext/cargo-vendor/wasmparser-0.121.2/README.md +28 -0
  253. data/ext/cargo-vendor/wasmparser-0.121.2/benches/benchmark.rs +349 -0
  254. data/ext/cargo-vendor/wasmparser-0.121.2/src/binary_reader.rs +1850 -0
  255. data/ext/cargo-vendor/wasmparser-0.121.2/src/lib.rs +766 -0
  256. data/ext/cargo-vendor/wasmparser-0.121.2/src/limits.rs +64 -0
  257. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core/branch_hinting.rs +59 -0
  258. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core/dylink0.rs +109 -0
  259. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core/linking.rs +449 -0
  260. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core/names.rs +156 -0
  261. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core/operators.rs +411 -0
  262. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core/types.rs +1680 -0
  263. data/ext/cargo-vendor/wasmparser-0.121.2/src/readers/core.rs +41 -0
  264. data/ext/cargo-vendor/wasmparser-0.121.2/src/resources.rs +235 -0
  265. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/component.rs +3238 -0
  266. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/core/canonical.rs +233 -0
  267. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/core.rs +1400 -0
  268. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/func.rs +338 -0
  269. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/names.rs +929 -0
  270. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/operators.rs +4074 -0
  271. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator/types.rs +4449 -0
  272. data/ext/cargo-vendor/wasmparser-0.121.2/src/validator.rs +1619 -0
  273. data/ext/cargo-vendor/wasmprinter-0.2.80/.cargo-checksum.json +1 -0
  274. data/ext/cargo-vendor/wasmprinter-0.2.80/Cargo.toml +45 -0
  275. data/ext/cargo-vendor/wasmprinter-0.2.80/src/lib.rs +3139 -0
  276. data/ext/cargo-vendor/wasmprinter-0.2.80/src/operator.rs +1110 -0
  277. data/ext/cargo-vendor/wasmprinter-0.2.80/tests/all.rs +278 -0
  278. data/ext/cargo-vendor/wasmtime-18.0.3/.cargo-checksum.json +1 -0
  279. data/ext/cargo-vendor/wasmtime-18.0.3/Cargo.toml +249 -0
  280. data/ext/cargo-vendor/wasmtime-18.0.3/src/compile.rs +835 -0
  281. data/ext/cargo-vendor/wasmtime-18.0.3/src/config.rs +2513 -0
  282. data/ext/cargo-vendor/wasmtime-18.0.3/src/engine/serialization.rs +778 -0
  283. data/ext/cargo-vendor/wasmtime-18.0.3/src/engine.rs +728 -0
  284. data/ext/cargo-vendor/wasmtime-18.0.3/src/lib.rs +444 -0
  285. data/ext/cargo-vendor/wasmtime-18.0.3/src/profiling_agent/jitdump.rs +66 -0
  286. data/ext/cargo-vendor/wasmtime-18.0.3/src/profiling_agent/perfmap.rs +47 -0
  287. data/ext/cargo-vendor/wasmtime-18.0.3/src/profiling_agent/vtune.rs +80 -0
  288. data/ext/cargo-vendor/wasmtime-18.0.3/src/profiling_agent.rs +105 -0
  289. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/code.rs +102 -0
  290. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/code_memory.rs +335 -0
  291. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/component.rs +458 -0
  292. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/func/host.rs +456 -0
  293. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/func.rs +721 -0
  294. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/instance.rs +815 -0
  295. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/linker.rs +600 -0
  296. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/resource_table.rs +350 -0
  297. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/types.rs +928 -0
  298. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/component/values.rs +1274 -0
  299. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/debug.rs +165 -0
  300. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/func/typed.rs +638 -0
  301. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/func.rs +2391 -0
  302. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/instance.rs +985 -0
  303. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/instantiate.rs +433 -0
  304. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/linker.rs +1479 -0
  305. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/memory.rs +998 -0
  306. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/module/registry.rs +360 -0
  307. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/module.rs +1335 -0
  308. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/profiling.rs +218 -0
  309. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/store.rs +2389 -0
  310. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/trampoline/func.rs +135 -0
  311. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/trampoline/memory.rs +269 -0
  312. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/trampoline/table.rs +20 -0
  313. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/trampoline.rs +77 -0
  314. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/trap.rs +644 -0
  315. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/type_registry.rs +236 -0
  316. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/types/matching.rs +312 -0
  317. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime/types.rs +581 -0
  318. data/ext/cargo-vendor/wasmtime-18.0.3/src/runtime.rs +109 -0
  319. data/ext/cargo-vendor/wasmtime-asm-macros-18.0.3/.cargo-checksum.json +1 -0
  320. data/ext/cargo-vendor/wasmtime-asm-macros-18.0.3/Cargo.toml +22 -0
  321. data/ext/cargo-vendor/wasmtime-cache-18.0.3/.cargo-checksum.json +1 -0
  322. data/ext/cargo-vendor/wasmtime-cache-18.0.3/Cargo.toml +81 -0
  323. data/ext/cargo-vendor/wasmtime-component-macro-18.0.3/.cargo-checksum.json +1 -0
  324. data/ext/cargo-vendor/wasmtime-component-macro-18.0.3/Cargo.toml +67 -0
  325. data/ext/cargo-vendor/wasmtime-component-macro-18.0.3/build.rs +5 -0
  326. data/ext/cargo-vendor/wasmtime-component-macro-18.0.3/src/bindgen.rs +396 -0
  327. data/ext/cargo-vendor/wasmtime-component-macro-18.0.3/tests/codegen/wat.wit +10 -0
  328. data/ext/cargo-vendor/wasmtime-component-util-18.0.3/.cargo-checksum.json +1 -0
  329. data/ext/cargo-vendor/wasmtime-component-util-18.0.3/Cargo.toml +25 -0
  330. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/.cargo-checksum.json +1 -0
  331. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/Cargo.toml +113 -0
  332. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/src/builder.rs +127 -0
  333. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/src/compiler/component.rs +960 -0
  334. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/src/compiler.rs +1317 -0
  335. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/src/debug/transform/simulate.rs +411 -0
  336. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/src/func_environ.rs +2756 -0
  337. data/ext/cargo-vendor/wasmtime-cranelift-18.0.3/src/lib.rs +186 -0
  338. data/ext/cargo-vendor/wasmtime-cranelift-shared-18.0.3/.cargo-checksum.json +1 -0
  339. data/ext/cargo-vendor/wasmtime-cranelift-shared-18.0.3/Cargo.toml +71 -0
  340. data/ext/cargo-vendor/wasmtime-cranelift-shared-18.0.3/src/isa_builder.rs +104 -0
  341. data/ext/cargo-vendor/wasmtime-environ-18.0.3/.cargo-checksum.json +1 -0
  342. data/ext/cargo-vendor/wasmtime-environ-18.0.3/Cargo.lock +761 -0
  343. data/ext/cargo-vendor/wasmtime-environ-18.0.3/Cargo.toml +140 -0
  344. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component/artifacts.rs +45 -0
  345. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component/dfg.rs +690 -0
  346. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component/info.rs +594 -0
  347. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component/translate/inline.rs +1334 -0
  348. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component/translate.rs +953 -0
  349. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component/types.rs +1933 -0
  350. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/component.rs +97 -0
  351. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/lib.rs +66 -0
  352. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/module.rs +1075 -0
  353. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/module_artifacts.rs +378 -0
  354. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/module_environ.rs +894 -0
  355. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/module_types.rs +120 -0
  356. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/tunables.rs +140 -0
  357. data/ext/cargo-vendor/wasmtime-environ-18.0.3/src/vmoffsets.rs +919 -0
  358. data/ext/cargo-vendor/wasmtime-fiber-18.0.3/.cargo-checksum.json +1 -0
  359. data/ext/cargo-vendor/wasmtime-fiber-18.0.3/Cargo.toml +63 -0
  360. data/ext/cargo-vendor/wasmtime-jit-debug-18.0.3/.cargo-checksum.json +1 -0
  361. data/ext/cargo-vendor/wasmtime-jit-debug-18.0.3/Cargo.toml +67 -0
  362. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-18.0.3/.cargo-checksum.json +1 -0
  363. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-18.0.3/Cargo.toml +46 -0
  364. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/.cargo-checksum.json +1 -0
  365. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/Cargo.toml +139 -0
  366. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/component.rs +855 -0
  367. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/instance/allocator/pooling/memory_pool.rs +997 -0
  368. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/instance/allocator/pooling.rs +658 -0
  369. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/instance/allocator.rs +712 -0
  370. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/instance.rs +1485 -0
  371. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/lib.rs +264 -0
  372. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/mpk/enabled.rs +208 -0
  373. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/mpk/pkru.rs +104 -0
  374. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/sys/unix/signals.rs +402 -0
  375. data/ext/cargo-vendor/wasmtime-runtime-18.0.3/src/vmcontext.rs +1202 -0
  376. data/ext/cargo-vendor/wasmtime-types-18.0.3/.cargo-checksum.json +1 -0
  377. data/ext/cargo-vendor/wasmtime-types-18.0.3/Cargo.toml +36 -0
  378. data/ext/cargo-vendor/wasmtime-types-18.0.3/src/lib.rs +509 -0
  379. data/ext/cargo-vendor/wasmtime-versioned-export-macros-18.0.3/.cargo-checksum.json +1 -0
  380. data/ext/cargo-vendor/wasmtime-versioned-export-macros-18.0.3/Cargo.toml +32 -0
  381. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/.cargo-checksum.json +1 -0
  382. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/Cargo.toml +254 -0
  383. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/lib.rs +103 -0
  384. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/clocks/host.rs +73 -0
  385. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/clocks.rs +12 -0
  386. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/ctx.rs +337 -0
  387. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/error.rs +111 -0
  388. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/filesystem.rs +369 -0
  389. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/clocks.rs +103 -0
  390. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/filesystem.rs +1081 -0
  391. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/instance_network.rs +15 -0
  392. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/io.rs +366 -0
  393. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/network.rs +625 -0
  394. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/random.rs +36 -0
  395. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/tcp.rs +605 -0
  396. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/tcp_create_socket.rs +15 -0
  397. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/udp.rs +530 -0
  398. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/host/udp_create_socket.rs +15 -0
  399. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/ip_name_lookup.rs +125 -0
  400. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/pipe.rs +826 -0
  401. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/poll.rs +175 -0
  402. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/preview0.rs +870 -0
  403. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/preview1.rs +2361 -0
  404. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/random.rs +58 -0
  405. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/stdio.rs +259 -0
  406. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/src/preview2/write_stream.rs +203 -0
  407. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/tests/all/api.rs +211 -0
  408. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/tests/all/main.rs +106 -0
  409. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/wit/deps/io/poll.wit +41 -0
  410. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/wit/deps/io/streams.wit +262 -0
  411. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/wit/deps/sockets/tcp.wit +353 -0
  412. data/ext/cargo-vendor/wasmtime-wasi-18.0.3/wit/deps/sockets/udp.wit +266 -0
  413. data/ext/cargo-vendor/wasmtime-winch-18.0.3/.cargo-checksum.json +1 -0
  414. data/ext/cargo-vendor/wasmtime-winch-18.0.3/Cargo.toml +77 -0
  415. data/ext/cargo-vendor/wasmtime-winch-18.0.3/src/builder.rs +65 -0
  416. data/ext/cargo-vendor/wasmtime-winch-18.0.3/src/compiler.rs +283 -0
  417. data/ext/cargo-vendor/wasmtime-wit-bindgen-18.0.3/.cargo-checksum.json +1 -0
  418. data/ext/cargo-vendor/wasmtime-wit-bindgen-18.0.3/Cargo.toml +41 -0
  419. data/ext/cargo-vendor/wasmtime-wit-bindgen-18.0.3/src/lib.rs +2095 -0
  420. data/ext/cargo-vendor/wasmtime-wmemcheck-18.0.3/.cargo-checksum.json +1 -0
  421. data/ext/cargo-vendor/wasmtime-wmemcheck-18.0.3/Cargo.toml +29 -0
  422. data/ext/cargo-vendor/wast-201.0.0/.cargo-checksum.json +1 -0
  423. data/ext/cargo-vendor/wast-201.0.0/Cargo.toml +59 -0
  424. data/ext/cargo-vendor/wast-201.0.0/src/component/component.rs +321 -0
  425. data/ext/cargo-vendor/wast-201.0.0/src/core/binary.rs +1365 -0
  426. data/ext/cargo-vendor/wast-201.0.0/src/core/custom.rs +393 -0
  427. data/ext/cargo-vendor/wast-201.0.0/src/core/expr.rs +1993 -0
  428. data/ext/cargo-vendor/wast-201.0.0/src/core/memory.rs +281 -0
  429. data/ext/cargo-vendor/wast-201.0.0/src/core/module.rs +218 -0
  430. data/ext/cargo-vendor/wast-201.0.0/src/core/resolve/deinline_import_export.rs +233 -0
  431. data/ext/cargo-vendor/wast-201.0.0/src/core/resolve/names.rs +763 -0
  432. data/ext/cargo-vendor/wast-201.0.0/src/core/table.rs +289 -0
  433. data/ext/cargo-vendor/wast-201.0.0/src/core/types.rs +861 -0
  434. data/ext/cargo-vendor/wast-201.0.0/src/lexer.rs +1442 -0
  435. data/ext/cargo-vendor/wast-201.0.0/src/lib.rs +542 -0
  436. data/ext/cargo-vendor/wast-201.0.0/src/names.rs +89 -0
  437. data/ext/cargo-vendor/wast-201.0.0/src/parser.rs +1374 -0
  438. data/ext/cargo-vendor/wast-201.0.0/src/token.rs +718 -0
  439. data/ext/cargo-vendor/wast-201.0.0/src/wat.rs +63 -0
  440. data/ext/cargo-vendor/wat-1.201.0/.cargo-checksum.json +1 -0
  441. data/ext/cargo-vendor/wat-1.201.0/Cargo.toml +33 -0
  442. data/ext/cargo-vendor/wat-1.201.0/src/lib.rs +401 -0
  443. data/ext/cargo-vendor/wiggle-18.0.3/.cargo-checksum.json +1 -0
  444. data/ext/cargo-vendor/wiggle-18.0.3/Cargo.toml +122 -0
  445. data/ext/cargo-vendor/wiggle-18.0.3/src/lib.rs +1199 -0
  446. data/ext/cargo-vendor/wiggle-generate-18.0.3/.cargo-checksum.json +1 -0
  447. data/ext/cargo-vendor/wiggle-generate-18.0.3/Cargo.toml +65 -0
  448. data/ext/cargo-vendor/wiggle-macro-18.0.3/.cargo-checksum.json +1 -0
  449. data/ext/cargo-vendor/wiggle-macro-18.0.3/Cargo.toml +55 -0
  450. data/ext/cargo-vendor/winch-codegen-0.16.3/.cargo-checksum.json +1 -0
  451. data/ext/cargo-vendor/winch-codegen-0.16.3/Cargo.toml +77 -0
  452. data/ext/cargo-vendor/winch-codegen-0.16.3/src/abi/local.rs +81 -0
  453. data/ext/cargo-vendor/winch-codegen-0.16.3/src/abi/mod.rs +645 -0
  454. data/ext/cargo-vendor/winch-codegen-0.16.3/src/codegen/builtin.rs +268 -0
  455. data/ext/cargo-vendor/winch-codegen-0.16.3/src/codegen/call.rs +361 -0
  456. data/ext/cargo-vendor/winch-codegen-0.16.3/src/codegen/context.rs +530 -0
  457. data/ext/cargo-vendor/winch-codegen-0.16.3/src/codegen/control.rs +972 -0
  458. data/ext/cargo-vendor/winch-codegen-0.16.3/src/codegen/env.rs +257 -0
  459. data/ext/cargo-vendor/winch-codegen-0.16.3/src/codegen/mod.rs +441 -0
  460. data/ext/cargo-vendor/winch-codegen-0.16.3/src/frame/mod.rs +221 -0
  461. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/aarch64/abi.rs +313 -0
  462. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/aarch64/masm.rs +519 -0
  463. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/aarch64/mod.rs +145 -0
  464. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/mod.rs +232 -0
  465. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/reg.rs +86 -0
  466. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/x64/abi.rs +531 -0
  467. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/x64/asm.rs +1277 -0
  468. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/x64/masm.rs +1168 -0
  469. data/ext/cargo-vendor/winch-codegen-0.16.3/src/isa/x64/mod.rs +184 -0
  470. data/ext/cargo-vendor/winch-codegen-0.16.3/src/masm.rs +776 -0
  471. data/ext/cargo-vendor/winch-codegen-0.16.3/src/stack.rs +439 -0
  472. data/ext/cargo-vendor/winch-codegen-0.16.3/src/trampoline.rs +733 -0
  473. data/ext/cargo-vendor/winch-codegen-0.16.3/src/visitor.rs +1848 -0
  474. data/ext/cargo-vendor/wit-parser-0.13.2/.cargo-checksum.json +1 -0
  475. data/ext/cargo-vendor/wit-parser-0.13.2/Cargo.toml +71 -0
  476. data/ext/cargo-vendor/wit-parser-0.13.2/src/ast/lex.rs +748 -0
  477. data/ext/cargo-vendor/wit-parser-0.13.2/src/ast/resolve.rs +1428 -0
  478. data/ext/cargo-vendor/wit-parser-0.13.2/src/ast.rs +1349 -0
  479. data/ext/cargo-vendor/wit-parser-0.13.2/src/resolve.rs +2104 -0
  480. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/comments.wit.json +49 -0
  481. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/import-export-overlap1.wit.json +39 -0
  482. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/import-export-overlap2.wit.json +41 -0
  483. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/same-name-import-export.wit +6 -0
  484. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/same-name-import-export.wit.json +47 -0
  485. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/types.wit +60 -0
  486. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/types.wit.json +774 -0
  487. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/union-fuzz-2.wit.json +72 -0
  488. data/ext/cargo-vendor/wit-parser-0.13.2/tests/ui/wasi.wit.json +539 -0
  489. data/ext/src/ruby_api/config/tracked_memory_creator.rs +1 -1
  490. data/ext/src/ruby_api/store.rs +1 -1
  491. data/ext/src/ruby_api/wasi_ctx.rs +1 -1
  492. data/ext/src/ruby_api/wasi_ctx_builder.rs +2 -2
  493. data/lib/wasmtime/version.rb +1 -1
  494. metadata +2127 -2071
  495. data/ext/cargo-vendor/cranelift-bforest-0.104.1/.cargo-checksum.json +0 -1
  496. data/ext/cargo-vendor/cranelift-bforest-0.104.1/Cargo.toml +0 -40
  497. data/ext/cargo-vendor/cranelift-codegen-0.104.1/.cargo-checksum.json +0 -1
  498. data/ext/cargo-vendor/cranelift-codegen-0.104.1/Cargo.toml +0 -175
  499. data/ext/cargo-vendor/cranelift-codegen-0.104.1/build.rs +0 -392
  500. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/egraph/domtree.rs +0 -69
  501. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/egraph.rs +0 -704
  502. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/isa/x64/inst/emit.rs +0 -4410
  503. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/isa/x64/inst/emit_tests.rs +0 -5525
  504. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/isa/x64/inst.isle +0 -5202
  505. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/isa/x64/lower.isle +0 -4744
  506. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/isa/x64/mod.rs +0 -223
  507. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/lib.rs +0 -106
  508. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/machinst/reg.rs +0 -561
  509. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/opts/README.md +0 -87
  510. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/opts/extends.isle +0 -124
  511. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/opts/icmp.isle +0 -197
  512. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/prelude_opt.isle +0 -134
  513. data/ext/cargo-vendor/cranelift-codegen-0.104.1/src/verifier/mod.rs +0 -2041
  514. data/ext/cargo-vendor/cranelift-codegen-meta-0.104.1/.cargo-checksum.json +0 -1
  515. data/ext/cargo-vendor/cranelift-codegen-meta-0.104.1/Cargo.toml +0 -35
  516. data/ext/cargo-vendor/cranelift-codegen-shared-0.104.1/.cargo-checksum.json +0 -1
  517. data/ext/cargo-vendor/cranelift-codegen-shared-0.104.1/Cargo.toml +0 -22
  518. data/ext/cargo-vendor/cranelift-control-0.104.1/.cargo-checksum.json +0 -1
  519. data/ext/cargo-vendor/cranelift-control-0.104.1/Cargo.toml +0 -30
  520. data/ext/cargo-vendor/cranelift-entity-0.104.1/.cargo-checksum.json +0 -1
  521. data/ext/cargo-vendor/cranelift-entity-0.104.1/Cargo.toml +0 -50
  522. data/ext/cargo-vendor/cranelift-frontend-0.104.1/.cargo-checksum.json +0 -1
  523. data/ext/cargo-vendor/cranelift-frontend-0.104.1/Cargo.toml +0 -68
  524. data/ext/cargo-vendor/cranelift-isle-0.104.1/.cargo-checksum.json +0 -1
  525. data/ext/cargo-vendor/cranelift-isle-0.104.1/Cargo.toml +0 -46
  526. data/ext/cargo-vendor/cranelift-native-0.104.1/.cargo-checksum.json +0 -1
  527. data/ext/cargo-vendor/cranelift-native-0.104.1/Cargo.toml +0 -43
  528. data/ext/cargo-vendor/cranelift-native-0.104.1/src/lib.rs +0 -184
  529. data/ext/cargo-vendor/cranelift-wasm-0.104.1/.cargo-checksum.json +0 -1
  530. data/ext/cargo-vendor/cranelift-wasm-0.104.1/Cargo.toml +0 -106
  531. data/ext/cargo-vendor/cranelift-wasm-0.104.1/src/code_translator.rs +0 -3646
  532. data/ext/cargo-vendor/cranelift-wasm-0.104.1/src/environ/dummy.rs +0 -953
  533. data/ext/cargo-vendor/cranelift-wasm-0.104.1/src/environ/spec.rs +0 -952
  534. data/ext/cargo-vendor/cranelift-wasm-0.104.1/src/sections_translator.rs +0 -408
  535. data/ext/cargo-vendor/cranelift-wasm-0.104.1/src/translation_utils.rs +0 -89
  536. data/ext/cargo-vendor/cranelift-wasm-0.104.1/wasmtests/icall-simd.wat +0 -7
  537. data/ext/cargo-vendor/cranelift-wasm-0.104.1/wasmtests/icall.wat +0 -7
  538. data/ext/cargo-vendor/cranelift-wasm-0.104.1/wasmtests/unreachable_code.wat +0 -77
  539. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/.cargo-checksum.json +0 -1
  540. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/Cargo.toml +0 -49
  541. data/ext/cargo-vendor/rb-sys-0.9.86/.cargo-checksum.json +0 -1
  542. data/ext/cargo-vendor/rb-sys-0.9.86/Cargo.toml +0 -54
  543. data/ext/cargo-vendor/rb-sys-0.9.86/src/lib.rs +0 -37
  544. data/ext/cargo-vendor/rb-sys-build-0.9.86/.cargo-checksum.json +0 -1
  545. data/ext/cargo-vendor/rb-sys-build-0.9.86/Cargo.toml +0 -62
  546. data/ext/cargo-vendor/rb-sys-build-0.9.86/src/bindings.rs +0 -250
  547. data/ext/cargo-vendor/rb-sys-build-0.9.86/src/rb_config.rs +0 -807
  548. data/ext/cargo-vendor/tokio-1.35.1/.cargo-checksum.json +0 -1
  549. data/ext/cargo-vendor/tokio-1.35.1/CHANGELOG.md +0 -3191
  550. data/ext/cargo-vendor/tokio-1.35.1/Cargo.toml +0 -230
  551. data/ext/cargo-vendor/tokio-1.35.1/README.md +0 -249
  552. data/ext/cargo-vendor/tokio-1.35.1/external-types.toml +0 -11
  553. data/ext/cargo-vendor/tokio-1.35.1/src/doc/os.rs +0 -68
  554. data/ext/cargo-vendor/tokio-1.35.1/src/fs/open_options/mock_open_options.rs +0 -39
  555. data/ext/cargo-vendor/tokio-1.35.1/src/future/mod.rs +0 -31
  556. data/ext/cargo-vendor/tokio-1.35.1/src/io/async_fd.rs +0 -1243
  557. data/ext/cargo-vendor/tokio-1.35.1/src/io/bsd/poll_aio.rs +0 -197
  558. data/ext/cargo-vendor/tokio-1.35.1/src/io/interest.rs +0 -345
  559. data/ext/cargo-vendor/tokio-1.35.1/src/io/mod.rs +0 -290
  560. data/ext/cargo-vendor/tokio-1.35.1/src/io/poll_evented.rs +0 -258
  561. data/ext/cargo-vendor/tokio-1.35.1/src/io/stdio_common.rs +0 -221
  562. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/async_buf_read_ext.rs +0 -351
  563. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/buf_reader.rs +0 -311
  564. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/buf_writer.rs +0 -310
  565. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/chain.rs +0 -144
  566. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/copy.rs +0 -219
  567. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/empty.rs +0 -102
  568. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/flush.rs +0 -46
  569. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/mod.rs +0 -97
  570. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/read_exact.rs +0 -69
  571. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/read_line.rs +0 -119
  572. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/repeat.rs +0 -72
  573. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/shutdown.rs +0 -46
  574. data/ext/cargo-vendor/tokio-1.35.1/src/io/util/sink.rs +0 -87
  575. data/ext/cargo-vendor/tokio-1.35.1/src/lib.rs +0 -695
  576. data/ext/cargo-vendor/tokio-1.35.1/src/loom/std/atomic_u64.rs +0 -19
  577. data/ext/cargo-vendor/tokio-1.35.1/src/macros/cfg.rs +0 -575
  578. data/ext/cargo-vendor/tokio-1.35.1/src/macros/try_join.rs +0 -218
  579. data/ext/cargo-vendor/tokio-1.35.1/src/net/mod.rs +0 -56
  580. data/ext/cargo-vendor/tokio-1.35.1/src/net/tcp/listener.rs +0 -451
  581. data/ext/cargo-vendor/tokio-1.35.1/src/net/tcp/socket.rs +0 -846
  582. data/ext/cargo-vendor/tokio-1.35.1/src/net/tcp/stream.rs +0 -1424
  583. data/ext/cargo-vendor/tokio-1.35.1/src/net/udp.rs +0 -2046
  584. data/ext/cargo-vendor/tokio-1.35.1/src/net/unix/datagram/socket.rs +0 -1583
  585. data/ext/cargo-vendor/tokio-1.35.1/src/net/unix/listener.rs +0 -216
  586. data/ext/cargo-vendor/tokio-1.35.1/src/net/unix/mod.rs +0 -37
  587. data/ext/cargo-vendor/tokio-1.35.1/src/net/unix/pipe.rs +0 -1217
  588. data/ext/cargo-vendor/tokio-1.35.1/src/net/unix/stream.rs +0 -1044
  589. data/ext/cargo-vendor/tokio-1.35.1/src/net/windows/named_pipe.rs +0 -2690
  590. data/ext/cargo-vendor/tokio-1.35.1/src/process/mod.rs +0 -1678
  591. data/ext/cargo-vendor/tokio-1.35.1/src/process/unix/mod.rs +0 -344
  592. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/blocking/pool.rs +0 -603
  593. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/builder.rs +0 -1335
  594. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/context.rs +0 -193
  595. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/handle.rs +0 -632
  596. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/io/driver.rs +0 -273
  597. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/io/scheduled_io.rs +0 -598
  598. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/park.rs +0 -340
  599. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs +0 -764
  600. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread/park.rs +0 -232
  601. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread/queue.rs +0 -608
  602. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread/stats.rs +0 -140
  603. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread/worker.rs +0 -1234
  604. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread_alt/queue.rs +0 -595
  605. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread_alt/stats.rs +0 -171
  606. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/scheduler/multi_thread_alt/worker.rs +0 -1597
  607. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/core.rs +0 -494
  608. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/harness.rs +0 -517
  609. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/join.rs +0 -370
  610. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/list.rs +0 -338
  611. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/mod.rs +0 -526
  612. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/state.rs +0 -619
  613. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/task/trace/mod.rs +0 -358
  614. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/tests/loom_local.rs +0 -47
  615. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/tests/task_combinations.rs +0 -488
  616. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/time/entry.rs +0 -646
  617. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/time/source.rs +0 -39
  618. data/ext/cargo-vendor/tokio-1.35.1/src/runtime/time/wheel/level.rs +0 -274
  619. data/ext/cargo-vendor/tokio-1.35.1/src/signal/ctrl_c.rs +0 -62
  620. data/ext/cargo-vendor/tokio-1.35.1/src/signal/mod.rs +0 -98
  621. data/ext/cargo-vendor/tokio-1.35.1/src/signal/registry.rs +0 -283
  622. data/ext/cargo-vendor/tokio-1.35.1/src/signal/unix.rs +0 -530
  623. data/ext/cargo-vendor/tokio-1.35.1/src/signal/windows.rs +0 -524
  624. data/ext/cargo-vendor/tokio-1.35.1/src/sync/batch_semaphore.rs +0 -752
  625. data/ext/cargo-vendor/tokio-1.35.1/src/sync/broadcast.rs +0 -1515
  626. data/ext/cargo-vendor/tokio-1.35.1/src/sync/mpsc/bounded.rs +0 -1399
  627. data/ext/cargo-vendor/tokio-1.35.1/src/sync/mpsc/error.rs +0 -149
  628. data/ext/cargo-vendor/tokio-1.35.1/src/sync/mpsc/mod.rs +0 -122
  629. data/ext/cargo-vendor/tokio-1.35.1/src/sync/mpsc/unbounded.rs +0 -526
  630. data/ext/cargo-vendor/tokio-1.35.1/src/sync/mutex.rs +0 -1391
  631. data/ext/cargo-vendor/tokio-1.35.1/src/sync/oneshot.rs +0 -1390
  632. data/ext/cargo-vendor/tokio-1.35.1/src/sync/rwlock.rs +0 -1119
  633. data/ext/cargo-vendor/tokio-1.35.1/src/sync/semaphore.rs +0 -977
  634. data/ext/cargo-vendor/tokio-1.35.1/src/sync/watch.rs +0 -1388
  635. data/ext/cargo-vendor/tokio-1.35.1/src/task/join_set.rs +0 -584
  636. data/ext/cargo-vendor/tokio-1.35.1/src/task/local.rs +0 -1233
  637. data/ext/cargo-vendor/tokio-1.35.1/src/task/mod.rs +0 -373
  638. data/ext/cargo-vendor/tokio-1.35.1/src/util/idle_notified_set.rs +0 -481
  639. data/ext/cargo-vendor/tokio-1.35.1/src/util/rand.rs +0 -95
  640. data/ext/cargo-vendor/tokio-1.35.1/src/util/sharded_list.rs +0 -149
  641. data/ext/cargo-vendor/tokio-1.35.1/tests/io_async_fd.rs +0 -836
  642. data/ext/cargo-vendor/tokio-1.35.1/tests/io_copy.rs +0 -87
  643. data/ext/cargo-vendor/tokio-1.35.1/tests/io_copy_bidirectional.rs +0 -140
  644. data/ext/cargo-vendor/tokio-1.35.1/tests/io_panic.rs +0 -181
  645. data/ext/cargo-vendor/tokio-1.35.1/tests/io_poll_aio.rs +0 -375
  646. data/ext/cargo-vendor/tokio-1.35.1/tests/join_handle_panic.rs +0 -21
  647. data/ext/cargo-vendor/tokio-1.35.1/tests/macros_test.rs +0 -88
  648. data/ext/cargo-vendor/tokio-1.35.1/tests/macros_try_join.rs +0 -190
  649. data/ext/cargo-vendor/tokio-1.35.1/tests/net_named_pipe.rs +0 -399
  650. data/ext/cargo-vendor/tokio-1.35.1/tests/net_panic.rs +0 -192
  651. data/ext/cargo-vendor/tokio-1.35.1/tests/net_unix_pipe.rs +0 -429
  652. data/ext/cargo-vendor/tokio-1.35.1/tests/process_issue_2174.rs +0 -45
  653. data/ext/cargo-vendor/tokio-1.35.1/tests/rt_basic.rs +0 -448
  654. data/ext/cargo-vendor/tokio-1.35.1/tests/rt_handle.rs +0 -94
  655. data/ext/cargo-vendor/tokio-1.35.1/tests/rt_panic.rs +0 -81
  656. data/ext/cargo-vendor/tokio-1.35.1/tests/rt_time_start_paused.rs +0 -14
  657. data/ext/cargo-vendor/tokio-1.35.1/tests/signal_panic.rs +0 -29
  658. data/ext/cargo-vendor/tokio-1.35.1/tests/sync_mpsc.rs +0 -841
  659. data/ext/cargo-vendor/tokio-1.35.1/tests/sync_panic.rs +0 -209
  660. data/ext/cargo-vendor/tokio-1.35.1/tests/sync_watch.rs +0 -301
  661. data/ext/cargo-vendor/tokio-1.35.1/tests/task_id.rs +0 -303
  662. data/ext/cargo-vendor/tokio-1.35.1/tests/task_join_set.rs +0 -229
  663. data/ext/cargo-vendor/tokio-1.35.1/tests/task_local.rs +0 -119
  664. data/ext/cargo-vendor/tokio-1.35.1/tests/task_panic.rs +0 -130
  665. data/ext/cargo-vendor/tokio-1.35.1/tests/tcp_into_split.rs +0 -131
  666. data/ext/cargo-vendor/tokio-1.35.1/tests/time_panic.rs +0 -98
  667. data/ext/cargo-vendor/tokio-1.35.1/tests/time_pause.rs +0 -332
  668. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/.cargo-checksum.json +0 -1
  669. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/Cargo.toml +0 -102
  670. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/README.md +0 -1
  671. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/clocks.rs +0 -41
  672. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/dir.rs +0 -464
  673. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/file.rs +0 -254
  674. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/lib.rs +0 -161
  675. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/net.rs +0 -402
  676. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/sched/unix.rs +0 -82
  677. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/sched/windows.rs +0 -221
  678. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/sched.rs +0 -40
  679. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/stdio.rs +0 -197
  680. data/ext/cargo-vendor/wasi-common-17.0.1/.cargo-checksum.json +0 -1
  681. data/ext/cargo-vendor/wasi-common-17.0.1/Cargo.toml +0 -131
  682. data/ext/cargo-vendor/wasi-common-17.0.1/src/lib.rs +0 -76
  683. data/ext/cargo-vendor/wasm-encoder-0.38.1/.cargo-checksum.json +0 -1
  684. data/ext/cargo-vendor/wasm-encoder-0.38.1/Cargo.toml +0 -37
  685. data/ext/cargo-vendor/wasm-encoder-0.38.1/src/component/types.rs +0 -771
  686. data/ext/cargo-vendor/wasm-encoder-0.38.1/src/core/code.rs +0 -3179
  687. data/ext/cargo-vendor/wasm-encoder-0.38.1/src/core/names.rs +0 -290
  688. data/ext/cargo-vendor/wasm-encoder-0.38.1/src/core/types.rs +0 -611
  689. data/ext/cargo-vendor/wasmparser-0.118.1/.cargo-checksum.json +0 -1
  690. data/ext/cargo-vendor/wasmparser-0.118.1/Cargo.lock +0 -649
  691. data/ext/cargo-vendor/wasmparser-0.118.1/Cargo.toml +0 -60
  692. data/ext/cargo-vendor/wasmparser-0.118.1/README.md +0 -36
  693. data/ext/cargo-vendor/wasmparser-0.118.1/benches/benchmark.rs +0 -370
  694. data/ext/cargo-vendor/wasmparser-0.118.1/src/binary_reader.rs +0 -1706
  695. data/ext/cargo-vendor/wasmparser-0.118.1/src/lib.rs +0 -726
  696. data/ext/cargo-vendor/wasmparser-0.118.1/src/limits.rs +0 -58
  697. data/ext/cargo-vendor/wasmparser-0.118.1/src/readers/core/dylink0.rs +0 -132
  698. data/ext/cargo-vendor/wasmparser-0.118.1/src/readers/core/names.rs +0 -153
  699. data/ext/cargo-vendor/wasmparser-0.118.1/src/readers/core/operators.rs +0 -354
  700. data/ext/cargo-vendor/wasmparser-0.118.1/src/readers/core/types.rs +0 -1520
  701. data/ext/cargo-vendor/wasmparser-0.118.1/src/readers/core.rs +0 -37
  702. data/ext/cargo-vendor/wasmparser-0.118.1/src/resources.rs +0 -408
  703. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/component.rs +0 -3211
  704. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/core/canonical.rs +0 -233
  705. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/core.rs +0 -1381
  706. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/func.rs +0 -345
  707. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/names.rs +0 -859
  708. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/operators.rs +0 -3515
  709. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator/types.rs +0 -4416
  710. data/ext/cargo-vendor/wasmparser-0.118.1/src/validator.rs +0 -1606
  711. data/ext/cargo-vendor/wasmprinter-0.2.75/.cargo-checksum.json +0 -1
  712. data/ext/cargo-vendor/wasmprinter-0.2.75/Cargo.toml +0 -39
  713. data/ext/cargo-vendor/wasmprinter-0.2.75/src/lib.rs +0 -2969
  714. data/ext/cargo-vendor/wasmprinter-0.2.75/src/operator.rs +0 -873
  715. data/ext/cargo-vendor/wasmprinter-0.2.75/tests/all.rs +0 -278
  716. data/ext/cargo-vendor/wasmtime-17.0.1/.cargo-checksum.json +0 -1
  717. data/ext/cargo-vendor/wasmtime-17.0.1/Cargo.toml +0 -211
  718. data/ext/cargo-vendor/wasmtime-17.0.1/src/code.rs +0 -103
  719. data/ext/cargo-vendor/wasmtime-17.0.1/src/compiler.rs +0 -682
  720. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/component.rs +0 -545
  721. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/func/host.rs +0 -456
  722. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/func.rs +0 -720
  723. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/instance.rs +0 -815
  724. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/linker.rs +0 -580
  725. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/resource_table.rs +0 -350
  726. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/types.rs +0 -752
  727. data/ext/cargo-vendor/wasmtime-17.0.1/src/component/values.rs +0 -1272
  728. data/ext/cargo-vendor/wasmtime-17.0.1/src/config.rs +0 -2428
  729. data/ext/cargo-vendor/wasmtime-17.0.1/src/engine/serialization.rs +0 -657
  730. data/ext/cargo-vendor/wasmtime-17.0.1/src/engine.rs +0 -792
  731. data/ext/cargo-vendor/wasmtime-17.0.1/src/func/typed.rs +0 -638
  732. data/ext/cargo-vendor/wasmtime-17.0.1/src/func.rs +0 -2391
  733. data/ext/cargo-vendor/wasmtime-17.0.1/src/instance.rs +0 -941
  734. data/ext/cargo-vendor/wasmtime-17.0.1/src/lib.rs +0 -526
  735. data/ext/cargo-vendor/wasmtime-17.0.1/src/linker.rs +0 -1479
  736. data/ext/cargo-vendor/wasmtime-17.0.1/src/memory.rs +0 -998
  737. data/ext/cargo-vendor/wasmtime-17.0.1/src/module/registry.rs +0 -361
  738. data/ext/cargo-vendor/wasmtime-17.0.1/src/module.rs +0 -1370
  739. data/ext/cargo-vendor/wasmtime-17.0.1/src/profiling.rs +0 -212
  740. data/ext/cargo-vendor/wasmtime-17.0.1/src/store.rs +0 -2389
  741. data/ext/cargo-vendor/wasmtime-17.0.1/src/trampoline/func.rs +0 -133
  742. data/ext/cargo-vendor/wasmtime-17.0.1/src/trampoline/memory.rs +0 -269
  743. data/ext/cargo-vendor/wasmtime-17.0.1/src/trampoline/table.rs +0 -20
  744. data/ext/cargo-vendor/wasmtime-17.0.1/src/trampoline.rs +0 -77
  745. data/ext/cargo-vendor/wasmtime-17.0.1/src/trap.rs +0 -643
  746. data/ext/cargo-vendor/wasmtime-17.0.1/src/types/matching.rs +0 -312
  747. data/ext/cargo-vendor/wasmtime-17.0.1/src/types.rs +0 -581
  748. data/ext/cargo-vendor/wasmtime-asm-macros-17.0.1/.cargo-checksum.json +0 -1
  749. data/ext/cargo-vendor/wasmtime-asm-macros-17.0.1/Cargo.toml +0 -22
  750. data/ext/cargo-vendor/wasmtime-cache-17.0.1/.cargo-checksum.json +0 -1
  751. data/ext/cargo-vendor/wasmtime-cache-17.0.1/Cargo.toml +0 -81
  752. data/ext/cargo-vendor/wasmtime-component-macro-17.0.1/.cargo-checksum.json +0 -1
  753. data/ext/cargo-vendor/wasmtime-component-macro-17.0.1/Cargo.toml +0 -67
  754. data/ext/cargo-vendor/wasmtime-component-macro-17.0.1/src/bindgen.rs +0 -371
  755. data/ext/cargo-vendor/wasmtime-component-util-17.0.1/.cargo-checksum.json +0 -1
  756. data/ext/cargo-vendor/wasmtime-component-util-17.0.1/Cargo.toml +0 -25
  757. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/.cargo-checksum.json +0 -1
  758. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/Cargo.toml +0 -112
  759. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/src/builder.rs +0 -123
  760. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/src/compiler/component.rs +0 -959
  761. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/src/compiler.rs +0 -1317
  762. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/src/debug/transform/simulate.rs +0 -410
  763. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/src/func_environ.rs +0 -2750
  764. data/ext/cargo-vendor/wasmtime-cranelift-17.0.1/src/lib.rs +0 -186
  765. data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.1/.cargo-checksum.json +0 -1
  766. data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.1/Cargo.toml +0 -71
  767. data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.1/src/isa_builder.rs +0 -100
  768. data/ext/cargo-vendor/wasmtime-environ-17.0.1/.cargo-checksum.json +0 -1
  769. data/ext/cargo-vendor/wasmtime-environ-17.0.1/Cargo.lock +0 -726
  770. data/ext/cargo-vendor/wasmtime-environ-17.0.1/Cargo.toml +0 -125
  771. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/component/dfg.rs +0 -678
  772. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/component/info.rs +0 -583
  773. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/component/translate/inline.rs +0 -1322
  774. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/component/translate.rs +0 -951
  775. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/component/types.rs +0 -1876
  776. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/component.rs +0 -95
  777. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/lib.rs +0 -59
  778. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/module.rs +0 -1075
  779. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/module_environ.rs +0 -892
  780. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/module_types.rs +0 -120
  781. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/tunables.rs +0 -117
  782. data/ext/cargo-vendor/wasmtime-environ-17.0.1/src/vmoffsets.rs +0 -919
  783. data/ext/cargo-vendor/wasmtime-fiber-17.0.1/.cargo-checksum.json +0 -1
  784. data/ext/cargo-vendor/wasmtime-fiber-17.0.1/Cargo.toml +0 -63
  785. data/ext/cargo-vendor/wasmtime-jit-17.0.1/.cargo-checksum.json +0 -1
  786. data/ext/cargo-vendor/wasmtime-jit-17.0.1/Cargo.toml +0 -125
  787. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/code_memory.rs +0 -319
  788. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/debug.rs +0 -165
  789. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/instantiate.rs +0 -772
  790. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/lib.rs +0 -21
  791. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/profiling/jitdump.rs +0 -66
  792. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/profiling/perfmap.rs +0 -47
  793. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/profiling/vtune.rs +0 -80
  794. data/ext/cargo-vendor/wasmtime-jit-17.0.1/src/profiling.rs +0 -108
  795. data/ext/cargo-vendor/wasmtime-jit-debug-17.0.1/.cargo-checksum.json +0 -1
  796. data/ext/cargo-vendor/wasmtime-jit-debug-17.0.1/Cargo.toml +0 -67
  797. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-17.0.1/.cargo-checksum.json +0 -1
  798. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-17.0.1/Cargo.toml +0 -46
  799. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/.cargo-checksum.json +0 -1
  800. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/Cargo.toml +0 -139
  801. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/component.rs +0 -855
  802. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/instance/allocator/pooling/memory_pool.rs +0 -997
  803. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/instance/allocator/pooling.rs +0 -658
  804. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/instance/allocator.rs +0 -712
  805. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/instance.rs +0 -1479
  806. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/lib.rs +0 -264
  807. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/mpk/enabled.rs +0 -204
  808. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/mpk/pkru.rs +0 -102
  809. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/sys/unix/signals.rs +0 -402
  810. data/ext/cargo-vendor/wasmtime-runtime-17.0.1/src/vmcontext.rs +0 -1197
  811. data/ext/cargo-vendor/wasmtime-types-17.0.1/.cargo-checksum.json +0 -1
  812. data/ext/cargo-vendor/wasmtime-types-17.0.1/Cargo.toml +0 -36
  813. data/ext/cargo-vendor/wasmtime-types-17.0.1/src/lib.rs +0 -504
  814. data/ext/cargo-vendor/wasmtime-versioned-export-macros-17.0.1/.cargo-checksum.json +0 -1
  815. data/ext/cargo-vendor/wasmtime-versioned-export-macros-17.0.1/Cargo.toml +0 -32
  816. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/.cargo-checksum.json +0 -1
  817. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/Cargo.toml +0 -261
  818. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/build.rs +0 -6
  819. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/lib.rs +0 -137
  820. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/clocks/host.rs +0 -73
  821. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/clocks.rs +0 -12
  822. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/ctx.rs +0 -333
  823. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/error.rs +0 -97
  824. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/filesystem.rs +0 -325
  825. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/clocks.rs +0 -103
  826. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/filesystem.rs +0 -1069
  827. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/instance_network.rs +0 -15
  828. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/io.rs +0 -368
  829. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/network.rs +0 -625
  830. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/random.rs +0 -36
  831. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/tcp.rs +0 -605
  832. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/tcp_create_socket.rs +0 -15
  833. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/udp.rs +0 -530
  834. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/host/udp_create_socket.rs +0 -15
  835. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/ip_name_lookup.rs +0 -125
  836. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/pipe.rs +0 -826
  837. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/poll.rs +0 -175
  838. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/preview0.rs +0 -870
  839. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/preview1.rs +0 -2362
  840. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/random.rs +0 -58
  841. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/stdio.rs +0 -259
  842. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/src/preview2/write_stream.rs +0 -203
  843. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/tests/all/api.rs +0 -217
  844. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/tests/all/main.rs +0 -112
  845. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/wit/deps/io/poll.wit +0 -41
  846. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/wit/deps/io/streams.wit +0 -251
  847. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/wit/deps/sockets/tcp.wit +0 -309
  848. data/ext/cargo-vendor/wasmtime-wasi-17.0.1/wit/deps/sockets/udp.wit +0 -264
  849. data/ext/cargo-vendor/wasmtime-winch-17.0.1/.cargo-checksum.json +0 -1
  850. data/ext/cargo-vendor/wasmtime-winch-17.0.1/Cargo.toml +0 -77
  851. data/ext/cargo-vendor/wasmtime-winch-17.0.1/src/builder.rs +0 -64
  852. data/ext/cargo-vendor/wasmtime-winch-17.0.1/src/compiler.rs +0 -243
  853. data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.1/.cargo-checksum.json +0 -1
  854. data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.1/Cargo.toml +0 -41
  855. data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.1/src/lib.rs +0 -2097
  856. data/ext/cargo-vendor/wasmtime-wmemcheck-17.0.1/.cargo-checksum.json +0 -1
  857. data/ext/cargo-vendor/wasmtime-wmemcheck-17.0.1/Cargo.toml +0 -29
  858. data/ext/cargo-vendor/wast-69.0.1/.cargo-checksum.json +0 -1
  859. data/ext/cargo-vendor/wast-69.0.1/Cargo.toml +0 -50
  860. data/ext/cargo-vendor/wast-69.0.1/src/component/component.rs +0 -320
  861. data/ext/cargo-vendor/wast-69.0.1/src/core/binary.rs +0 -1273
  862. data/ext/cargo-vendor/wast-69.0.1/src/core/custom.rs +0 -390
  863. data/ext/cargo-vendor/wast-69.0.1/src/core/expr.rs +0 -2072
  864. data/ext/cargo-vendor/wast-69.0.1/src/core/memory.rs +0 -279
  865. data/ext/cargo-vendor/wast-69.0.1/src/core/module.rs +0 -217
  866. data/ext/cargo-vendor/wast-69.0.1/src/core/resolve/deinline_import_export.rs +0 -231
  867. data/ext/cargo-vendor/wast-69.0.1/src/core/resolve/names.rs +0 -764
  868. data/ext/cargo-vendor/wast-69.0.1/src/core/table.rs +0 -288
  869. data/ext/cargo-vendor/wast-69.0.1/src/core/types.rs +0 -865
  870. data/ext/cargo-vendor/wast-69.0.1/src/lexer.rs +0 -1443
  871. data/ext/cargo-vendor/wast-69.0.1/src/lib.rs +0 -542
  872. data/ext/cargo-vendor/wast-69.0.1/src/names.rs +0 -86
  873. data/ext/cargo-vendor/wast-69.0.1/src/parser.rs +0 -1382
  874. data/ext/cargo-vendor/wast-69.0.1/src/token.rs +0 -698
  875. data/ext/cargo-vendor/wast-69.0.1/src/wat.rs +0 -62
  876. data/ext/cargo-vendor/wat-1.0.82/.cargo-checksum.json +0 -1
  877. data/ext/cargo-vendor/wat-1.0.82/Cargo.toml +0 -27
  878. data/ext/cargo-vendor/wat-1.0.82/src/lib.rs +0 -333
  879. data/ext/cargo-vendor/wiggle-17.0.1/.cargo-checksum.json +0 -1
  880. data/ext/cargo-vendor/wiggle-17.0.1/Cargo.toml +0 -115
  881. data/ext/cargo-vendor/wiggle-17.0.1/src/lib.rs +0 -1198
  882. data/ext/cargo-vendor/wiggle-generate-17.0.1/.cargo-checksum.json +0 -1
  883. data/ext/cargo-vendor/wiggle-generate-17.0.1/Cargo.toml +0 -65
  884. data/ext/cargo-vendor/wiggle-macro-17.0.1/.cargo-checksum.json +0 -1
  885. data/ext/cargo-vendor/wiggle-macro-17.0.1/Cargo.toml +0 -55
  886. data/ext/cargo-vendor/wiggle-macro-17.0.1/LICENSE +0 -220
  887. data/ext/cargo-vendor/winch-codegen-0.15.1/.cargo-checksum.json +0 -1
  888. data/ext/cargo-vendor/winch-codegen-0.15.1/Cargo.toml +0 -76
  889. data/ext/cargo-vendor/winch-codegen-0.15.1/src/abi/local.rs +0 -81
  890. data/ext/cargo-vendor/winch-codegen-0.15.1/src/abi/mod.rs +0 -614
  891. data/ext/cargo-vendor/winch-codegen-0.15.1/src/codegen/builtin.rs +0 -268
  892. data/ext/cargo-vendor/winch-codegen-0.15.1/src/codegen/call.rs +0 -345
  893. data/ext/cargo-vendor/winch-codegen-0.15.1/src/codegen/context.rs +0 -553
  894. data/ext/cargo-vendor/winch-codegen-0.15.1/src/codegen/control.rs +0 -497
  895. data/ext/cargo-vendor/winch-codegen-0.15.1/src/codegen/env.rs +0 -309
  896. data/ext/cargo-vendor/winch-codegen-0.15.1/src/codegen/mod.rs +0 -428
  897. data/ext/cargo-vendor/winch-codegen-0.15.1/src/frame/mod.rs +0 -221
  898. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/aarch64/abi.rs +0 -313
  899. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/aarch64/masm.rs +0 -457
  900. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/aarch64/mod.rs +0 -137
  901. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/mod.rs +0 -225
  902. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/reg.rs +0 -73
  903. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/x64/abi.rs +0 -524
  904. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/x64/asm.rs +0 -1149
  905. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/x64/masm.rs +0 -1044
  906. data/ext/cargo-vendor/winch-codegen-0.15.1/src/isa/x64/mod.rs +0 -172
  907. data/ext/cargo-vendor/winch-codegen-0.15.1/src/masm.rs +0 -708
  908. data/ext/cargo-vendor/winch-codegen-0.15.1/src/stack.rs +0 -452
  909. data/ext/cargo-vendor/winch-codegen-0.15.1/src/trampoline.rs +0 -734
  910. data/ext/cargo-vendor/winch-codegen-0.15.1/src/visitor.rs +0 -1617
  911. data/ext/cargo-vendor/wit-parser-0.13.0/.cargo-checksum.json +0 -1
  912. data/ext/cargo-vendor/wit-parser-0.13.0/Cargo.toml +0 -65
  913. data/ext/cargo-vendor/wit-parser-0.13.0/src/ast/lex.rs +0 -737
  914. data/ext/cargo-vendor/wit-parser-0.13.0/src/ast/resolve.rs +0 -1425
  915. data/ext/cargo-vendor/wit-parser-0.13.0/src/ast.rs +0 -1340
  916. data/ext/cargo-vendor/wit-parser-0.13.0/src/resolve.rs +0 -1872
  917. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/comments.wit.json +0 -46
  918. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/parse-fail/import-export-overlap1.wit.result +0 -5
  919. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/parse-fail/import-export-overlap2.wit.result +0 -5
  920. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/parse-fail/union-fuzz-2.wit.result +0 -5
  921. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/types.wit +0 -58
  922. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/types.wit.json +0 -751
  923. data/ext/cargo-vendor/wit-parser-0.13.0/tests/ui/wasi.wit.json +0 -296
  924. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/LICENSE +0 -0
  925. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/README.md +0 -0
  926. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/src/lib.rs +0 -0
  927. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/src/map.rs +0 -0
  928. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/src/node.rs +0 -0
  929. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/src/path.rs +0 -0
  930. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/src/pool.rs +0 -0
  931. /data/ext/cargo-vendor/{cranelift-bforest-0.104.1 → cranelift-bforest-0.105.3}/src/set.rs +0 -0
  932. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/LICENSE +0 -0
  933. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/README.md +0 -0
  934. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/benches/x64-evex-encoding.rs +0 -0
  935. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/alias_analysis.rs +0 -0
  936. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/binemit/mod.rs +0 -0
  937. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/binemit/stack_map.rs +0 -0
  938. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/bitset.rs +0 -0
  939. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/cfg_printer.rs +0 -0
  940. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/constant_hash.rs +0 -0
  941. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/context.rs +0 -0
  942. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ctxhash.rs +0 -0
  943. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/cursor.rs +0 -0
  944. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/data_value.rs +0 -0
  945. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/dbg.rs +0 -0
  946. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/dce.rs +0 -0
  947. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/dominator_tree.rs +0 -0
  948. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/egraph/cost.rs +0 -0
  949. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/egraph/elaborate.rs +0 -0
  950. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/flowgraph.rs +0 -0
  951. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/fx.rs +0 -0
  952. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/incremental_cache.rs +0 -0
  953. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/inst_predicates.rs +0 -0
  954. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/atomic_rmw_op.rs +0 -0
  955. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/builder.rs +0 -0
  956. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/condcodes.rs +0 -0
  957. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/constant.rs +0 -0
  958. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/dfg.rs +0 -0
  959. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/dynamic_type.rs +0 -0
  960. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/entities.rs +0 -0
  961. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/extfunc.rs +0 -0
  962. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/extname.rs +0 -0
  963. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/function.rs +0 -0
  964. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/globalvalue.rs +0 -0
  965. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/immediates.rs +0 -0
  966. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/instructions.rs +0 -0
  967. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/jumptable.rs +0 -0
  968. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/known_symbol.rs +0 -0
  969. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/layout.rs +0 -0
  970. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/libcall.rs +0 -0
  971. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/memflags.rs +0 -0
  972. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/memtype.rs +0 -0
  973. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/mod.rs +0 -0
  974. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/pcc.rs +0 -0
  975. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/progpoint.rs +0 -0
  976. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/sourceloc.rs +0 -0
  977. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/stackslot.rs +0 -0
  978. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/table.rs +0 -0
  979. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/trapcode.rs +0 -0
  980. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/ir/types.rs +0 -0
  981. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/abi.rs +0 -0
  982. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/args.rs +0 -0
  983. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/emit.rs +0 -0
  984. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/emit_tests.rs +0 -0
  985. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/imms.rs +0 -0
  986. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/mod.rs +0 -0
  987. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/regs.rs +0 -0
  988. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  989. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst/unwind.rs +0 -0
  990. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst.isle +0 -0
  991. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/inst_neon.isle +0 -0
  992. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  993. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/lower/isle.rs +0 -0
  994. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/lower.isle +0 -0
  995. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/lower.rs +0 -0
  996. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  997. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/mod.rs +0 -0
  998. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/pcc.rs +0 -0
  999. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/aarch64/settings.rs +0 -0
  1000. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/call_conv.rs +0 -0
  1001. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/mod.rs +0 -0
  1002. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/abi.rs +0 -0
  1003. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/args.rs +0 -0
  1004. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/emit.rs +0 -0
  1005. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/emit_tests.rs +0 -0
  1006. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/encode.rs +0 -0
  1007. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/imms.rs +0 -0
  1008. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/mod.rs +0 -0
  1009. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/regs.rs +0 -0
  1010. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1011. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/unwind.rs +0 -0
  1012. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst/vector.rs +0 -0
  1013. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst.isle +0 -0
  1014. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/inst_vector.isle +0 -0
  1015. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1016. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/lower/isle.rs +0 -0
  1017. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/lower.isle +0 -0
  1018. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/lower.rs +0 -0
  1019. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/mod.rs +0 -0
  1020. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/riscv64/settings.rs +0 -0
  1021. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/abi.rs +0 -0
  1022. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/args.rs +0 -0
  1023. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/emit.rs +0 -0
  1024. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1025. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/imms.rs +0 -0
  1026. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/mod.rs +0 -0
  1027. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/regs.rs +0 -0
  1028. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1029. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst/unwind.rs +0 -0
  1030. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/inst.isle +0 -0
  1031. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1032. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/lower/isle.rs +0 -0
  1033. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/lower.isle +0 -0
  1034. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/lower.rs +0 -0
  1035. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/mod.rs +0 -0
  1036. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/s390x/settings.rs +0 -0
  1037. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/unwind/systemv.rs +0 -0
  1038. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/unwind/winx64.rs +0 -0
  1039. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/unwind.rs +0 -0
  1040. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/abi.rs +0 -0
  1041. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/encoding/evex.rs +0 -0
  1042. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/encoding/mod.rs +0 -0
  1043. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/encoding/rex.rs +0 -0
  1044. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/encoding/vex.rs +0 -0
  1045. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/args.rs +0 -0
  1046. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/emit_state.rs +0 -0
  1047. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/mod.rs +0 -0
  1048. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/regs.rs +0 -0
  1049. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1050. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1051. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/inst/unwind.rs +0 -0
  1052. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1053. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/lower/isle.rs +0 -0
  1054. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/lower.rs +0 -0
  1055. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/pcc.rs +0 -0
  1056. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isa/x64/settings.rs +0 -0
  1057. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/isle_prelude.rs +0 -0
  1058. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/iterators.rs +0 -0
  1059. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/legalizer/globalvalue.rs +0 -0
  1060. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/legalizer/mod.rs +0 -0
  1061. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/legalizer/table.rs +0 -0
  1062. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/loop_analysis.rs +0 -0
  1063. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/abi.rs +0 -0
  1064. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/blockorder.rs +0 -0
  1065. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/buffer.rs +0 -0
  1066. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/compile.rs +0 -0
  1067. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/helpers.rs +0 -0
  1068. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/inst_common.rs +0 -0
  1069. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/isle.rs +0 -0
  1070. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/lower.rs +0 -0
  1071. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/mod.rs +0 -0
  1072. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/pcc.rs +0 -0
  1073. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/valueregs.rs +0 -0
  1074. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/machinst/vcode.rs +0 -0
  1075. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/nan_canonicalization.rs +0 -0
  1076. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/arithmetic.isle +0 -0
  1077. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/bitops.isle +0 -0
  1078. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/cprop.isle +0 -0
  1079. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/generated_code.rs +0 -0
  1080. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/remat.isle +0 -0
  1081. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/selects.isle +0 -0
  1082. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/shifts.isle +0 -0
  1083. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/spaceship.isle +0 -0
  1084. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts/vector.isle +0 -0
  1085. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/opts.rs +0 -0
  1086. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/prelude.isle +0 -0
  1087. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/prelude_lower.isle +0 -0
  1088. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/print_errors.rs +0 -0
  1089. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/remove_constant_phis.rs +0 -0
  1090. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/result.rs +0 -0
  1091. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/scoped_hash_map.rs +0 -0
  1092. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/settings.rs +0 -0
  1093. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/souper_harvest.rs +0 -0
  1094. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/timing.rs +0 -0
  1095. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/unionfind.rs +0 -0
  1096. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/unreachable_code.rs +0 -0
  1097. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/value_label.rs +0 -0
  1098. /data/ext/cargo-vendor/{cranelift-codegen-0.104.1 → cranelift-codegen-0.105.3}/src/write.rs +0 -0
  1099. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/LICENSE +0 -0
  1100. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/README.md +0 -0
  1101. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/formats.rs +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/instructions.rs +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/isa.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/mod.rs +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/operands.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/settings.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/types.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/cdsl/typevar.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/constant_hash.rs +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/error.rs +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/gen_inst.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/gen_settings.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/gen_types.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/isa/arm64.rs +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/isa/mod.rs +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/isa/riscv64.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/isa/s390x.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/isa/x86.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/lib.rs +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/entities.rs +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/formats.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/immediates.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/instructions.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/mod.rs +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/settings.rs +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/shared/types.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/srcgen.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.104.1 → cranelift-codegen-meta-0.105.3}/src/unique_table.rs +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.104.1 → cranelift-codegen-shared-0.105.3}/LICENSE +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.104.1 → cranelift-codegen-shared-0.105.3}/README.md +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.104.1 → cranelift-codegen-shared-0.105.3}/src/constant_hash.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.104.1 → cranelift-codegen-shared-0.105.3}/src/constants.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.104.1 → cranelift-codegen-shared-0.105.3}/src/lib.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-control-0.104.1 → cranelift-control-0.105.3}/LICENSE +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-control-0.104.1 → cranelift-control-0.105.3}/README.md +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-control-0.104.1 → cranelift-control-0.105.3}/src/chaos.rs +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-control-0.104.1 → cranelift-control-0.105.3}/src/lib.rs +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-control-0.104.1 → cranelift-control-0.105.3}/src/zero_sized.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/LICENSE +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/README.md +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/boxed_slice.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/iter.rs +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/keys.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/lib.rs +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/list.rs +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/map.rs +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/packed_option.rs +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/primary.rs +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/set.rs +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/sparse.rs +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-entity-0.104.1 → cranelift-entity-0.105.3}/src/unsigned.rs +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/LICENSE +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/README.md +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/src/frontend.rs +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/src/lib.rs +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/src/ssa.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/src/switch.rs +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-frontend-0.104.1 → cranelift-frontend-0.105.3}/src/variable.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/README.md +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/build.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/bad_converters.isle +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/error1.isle +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/extra_parens.isle +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/impure_expression.isle +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/impure_rhs.isle +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/fail/multi_prio.isle +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/borrows.isle +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/borrows_main.rs +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/iflets.isle +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/iflets_main.rs +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/multi_constructor.isle +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/multi_constructor_main.rs +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/multi_extractor.isle +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/multi_extractor_main.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/test.isle +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/link/test_main.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/bound_var.isle +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/construct_and_extract.isle +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/conversions.isle +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/conversions_extern.isle +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/let.isle +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/nodebug.isle +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/test2.isle +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/test3.isle +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/test4.isle +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/pass/tutorial.isle +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/run/iconst.isle +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/run/iconst_main.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/run/let_shadowing.isle +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/isle_examples/run/let_shadowing_main.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/ast.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/codegen.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/compile.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/error.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/lexer.rs +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/lib.rs +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/log.rs +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/overlap.rs +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/parser.rs +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/sema.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/serialize.rs +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/src/trie_again.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-isle-0.104.1 → cranelift-isle-0.105.3}/tests/run_tests.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-native-0.104.1 → cranelift-native-0.105.3}/LICENSE +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-native-0.104.1 → cranelift-native-0.105.3}/README.md +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-native-0.104.1 → cranelift-native-0.105.3}/src/riscv.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/LICENSE +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/README.md +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/code_translator/bounds_checks.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/environ/mod.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/func_translator.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/heap.rs +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/lib.rs +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/module_translator.rs +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/src/state.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/tests/wasm_testsuite.rs +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/arith.wat +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/br_table.wat +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/call-simd.wat +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/call.wat +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/embenchen_fannkuch.wat +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/embenchen_fasta.wat +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/embenchen_ifs.wat +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/embenchen_primes.wat +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/fac-multi-value.wat +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/fibonacci.wat +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/globals.wat +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-0.wat +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-1.wat +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-2.wat +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-3.wat +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-4.wat +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-5.wat +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-reachability-translation-6.wat +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-unreachable-else-params-2.wat +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/if-unreachable-else-params.wat +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/issue-1306-name-section-with-u32-max-function-index.wasm +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/memory.wat +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-0.wat +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-1.wat +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-10.wat +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-11.wat +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-12.wat +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-13.wat +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-14.wat +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-15.wat +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-16.wat +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-17.wat +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-2.wat +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-3.wat +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-4.wat +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-5.wat +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-6.wat +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-7.wat +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-8.wat +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/multi-9.wat +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/nullref.wat +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/passive-data.wat +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/pr2303.wat +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/pr2559.wat +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/ref-func-0.wat +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/rust_fannkuch.wat +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/select.wat +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/simd-store.wat +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/simd.wat +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-wasm-0.104.1 → cranelift-wasm-0.105.3}/wasmtests/table-copy.wat +0 -0
  1271. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/README.md +0 -0
  1272. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/src/clocks.rs +0 -0
  1273. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/src/lib.rs +0 -0
  1274. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/src/noop_scheduler.rs +0 -0
  1275. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/tests/clocks.rs +0 -0
  1276. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/tests/common/mod.rs +0 -0
  1277. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/tests/random.rs +0 -0
  1278. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.18 → deterministic-wasi-ctx-0.1.19}/tests/scheduler.rs +0 -0
  1279. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/LICENSE-APACHE +0 -0
  1280. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/LICENSE-MIT +0 -0
  1281. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/bin/release.sh +0 -0
  1282. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/build/features.rs +0 -0
  1283. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/build/main.rs +0 -0
  1284. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/build/stable_api_config.rs +0 -0
  1285. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/build/version.rs +0 -0
  1286. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/readme.md +0 -0
  1287. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/bindings.rs +0 -0
  1288. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/hidden.rs +0 -0
  1289. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/macros.rs +0 -0
  1290. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/memory.rs +0 -0
  1291. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/ruby_abi_version.rs +0 -0
  1292. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/special_consts.rs +0 -0
  1293. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/compiled.c +0 -0
  1294. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/compiled.rs +0 -0
  1295. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/ruby_2_6.rs +0 -0
  1296. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/ruby_2_7.rs +0 -0
  1297. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/ruby_3_0.rs +0 -0
  1298. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/ruby_3_1.rs +0 -0
  1299. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/ruby_3_2.rs +0 -0
  1300. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api/ruby_3_3.rs +0 -0
  1301. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/stable_api.rs +0 -0
  1302. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/tracking_allocator.rs +0 -0
  1303. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/utils.rs +0 -0
  1304. /data/ext/cargo-vendor/{rb-sys-0.9.86 → rb-sys-0.9.89}/src/value_type.rs +0 -0
  1305. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/LICENSE-APACHE +0 -0
  1306. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/LICENSE-MIT +0 -0
  1307. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/bindings/sanitizer.rs +0 -0
  1308. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/bindings/stable_api.rs +0 -0
  1309. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/bindings/wrapper.h +0 -0
  1310. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/cc.rs +0 -0
  1311. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/lib.rs +0 -0
  1312. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/rb_config/flags.rs +0 -0
  1313. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/rb_config/library.rs +0 -0
  1314. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/rb_config/search_path.rs +0 -0
  1315. /data/ext/cargo-vendor/{rb-sys-build-0.9.86 → rb-sys-build-0.9.89}/src/utils.rs +0 -0
  1316. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/LICENSE +0 -0
  1317. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/docs/reactor-refactor.md +0 -0
  1318. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/blocking.rs +0 -0
  1319. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/doc/mod.rs +0 -0
  1320. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/canonicalize.rs +0 -0
  1321. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/copy.rs +0 -0
  1322. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/create_dir.rs +0 -0
  1323. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/create_dir_all.rs +0 -0
  1324. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/dir_builder.rs +0 -0
  1325. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/file/tests.rs +0 -0
  1326. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/file.rs +0 -0
  1327. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/hard_link.rs +0 -0
  1328. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/metadata.rs +0 -0
  1329. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/mocks.rs +0 -0
  1330. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/mod.rs +0 -0
  1331. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/open_options.rs +0 -0
  1332. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/read.rs +0 -0
  1333. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/read_dir.rs +0 -0
  1334. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/read_link.rs +0 -0
  1335. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/read_to_string.rs +0 -0
  1336. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/remove_dir.rs +0 -0
  1337. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/remove_dir_all.rs +0 -0
  1338. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/remove_file.rs +0 -0
  1339. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/rename.rs +0 -0
  1340. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/set_permissions.rs +0 -0
  1341. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/symlink.rs +0 -0
  1342. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/symlink_dir.rs +0 -0
  1343. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/symlink_file.rs +0 -0
  1344. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/symlink_metadata.rs +0 -0
  1345. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/try_exists.rs +0 -0
  1346. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fs/write.rs +0 -0
  1347. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/future/block_on.rs +0 -0
  1348. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/future/maybe_done.rs +0 -0
  1349. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/future/poll_fn.rs +0 -0
  1350. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/future/trace.rs +0 -0
  1351. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/future/try_join.rs +0 -0
  1352. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/fuzz.rs +0 -0
  1353. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/async_buf_read.rs +0 -0
  1354. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/async_read.rs +0 -0
  1355. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/async_seek.rs +0 -0
  1356. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/async_write.rs +0 -0
  1357. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/blocking.rs +0 -0
  1358. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/read_buf.rs +0 -0
  1359. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/ready.rs +0 -0
  1360. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/seek.rs +0 -0
  1361. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/split.rs +0 -0
  1362. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/stderr.rs +0 -0
  1363. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/stdin.rs +0 -0
  1364. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/stdout.rs +0 -0
  1365. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/async_read_ext.rs +0 -0
  1366. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/async_seek_ext.rs +0 -0
  1367. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/async_write_ext.rs +0 -0
  1368. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/buf_stream.rs +0 -0
  1369. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/copy_bidirectional.rs +0 -0
  1370. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/copy_buf.rs +0 -0
  1371. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/fill_buf.rs +0 -0
  1372. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/lines.rs +0 -0
  1373. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/mem.rs +0 -0
  1374. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/read.rs +0 -0
  1375. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/read_buf.rs +0 -0
  1376. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/read_int.rs +0 -0
  1377. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/read_to_end.rs +0 -0
  1378. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/read_to_string.rs +0 -0
  1379. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/read_until.rs +0 -0
  1380. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/split.rs +0 -0
  1381. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/take.rs +0 -0
  1382. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/vec_with_initialized.rs +0 -0
  1383. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/write.rs +0 -0
  1384. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/write_all.rs +0 -0
  1385. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/write_all_buf.rs +0 -0
  1386. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/write_buf.rs +0 -0
  1387. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/write_int.rs +0 -0
  1388. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/io/util/write_vectored.rs +0 -0
  1389. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/mocked.rs +0 -0
  1390. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/mod.rs +0 -0
  1391. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_u16.rs +0 -0
  1392. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_u32.rs +0 -0
  1393. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_u64_as_mutex.rs +0 -0
  1394. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_u64_native.rs +0 -0
  1395. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_u64_static_const_new.rs +0 -0
  1396. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_u64_static_once_cell.rs +0 -0
  1397. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/atomic_usize.rs +0 -0
  1398. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/barrier.rs +0 -0
  1399. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/mod.rs +0 -0
  1400. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/mutex.rs +0 -0
  1401. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/parking_lot.rs +0 -0
  1402. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/loom/std/unsafe_cell.rs +0 -0
  1403. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/addr_of.rs +0 -0
  1404. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/join.rs +0 -0
  1405. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/loom.rs +0 -0
  1406. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/mod.rs +0 -0
  1407. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/pin.rs +0 -0
  1408. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/ready.rs +0 -0
  1409. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/select.rs +0 -0
  1410. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/support.rs +0 -0
  1411. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/thread_local.rs +0 -0
  1412. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/macros/trace.rs +0 -0
  1413. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/addr.rs +0 -0
  1414. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/lookup_host.rs +0 -0
  1415. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/tcp/mod.rs +0 -0
  1416. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/tcp/split.rs +0 -0
  1417. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/tcp/split_owned.rs +0 -0
  1418. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/unix/datagram/mod.rs +0 -0
  1419. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/unix/socketaddr.rs +0 -0
  1420. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/unix/split.rs +0 -0
  1421. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/unix/split_owned.rs +0 -0
  1422. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/unix/ucred.rs +0 -0
  1423. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/net/windows/mod.rs +0 -0
  1424. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/process/kill.rs +0 -0
  1425. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/process/unix/orphan.rs +0 -0
  1426. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/process/unix/reap.rs +0 -0
  1427. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/process/windows.rs +0 -0
  1428. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/blocking/mod.rs +0 -0
  1429. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/blocking/schedule.rs +0 -0
  1430. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/blocking/shutdown.rs +0 -0
  1431. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/blocking/task.rs +0 -0
  1432. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/config.rs +0 -0
  1433. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/context/blocking.rs +0 -0
  1434. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/context/current.rs +0 -0
  1435. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/context/runtime.rs +0 -0
  1436. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/context/runtime_mt.rs +0 -0
  1437. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/context/scoped.rs +0 -0
  1438. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/coop.rs +0 -0
  1439. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/driver.rs +0 -0
  1440. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/dump.rs +0 -0
  1441. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/id.rs +0 -0
  1442. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/io/driver/signal.rs +0 -0
  1443. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/io/metrics.rs +0 -0
  1444. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/io/mod.rs +0 -0
  1445. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/io/registration.rs +0 -0
  1446. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/io/registration_set.rs +0 -0
  1447. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/batch.rs +0 -0
  1448. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/histogram.rs +0 -0
  1449. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/io.rs +0 -0
  1450. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/mock.rs +0 -0
  1451. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/mod.rs +0 -0
  1452. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/runtime.rs +0 -0
  1453. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/scheduler.rs +0 -0
  1454. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/metrics/worker.rs +0 -0
  1455. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/mod.rs +0 -0
  1456. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/process.rs +0 -0
  1457. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/runtime.rs +0 -0
  1458. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/block_in_place.rs +0 -0
  1459. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/defer.rs +0 -0
  1460. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/inject/metrics.rs +0 -0
  1461. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/inject/pop.rs +0 -0
  1462. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/inject/rt_multi_thread.rs +0 -0
  1463. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/inject/shared.rs +0 -0
  1464. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/inject/synced.rs +0 -0
  1465. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/inject.rs +0 -0
  1466. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/lock.rs +0 -0
  1467. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/mod.rs +0 -0
  1468. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/counters.rs +0 -0
  1469. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/handle/metrics.rs +0 -0
  1470. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/handle/taskdump.rs +0 -0
  1471. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/handle.rs +0 -0
  1472. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/idle.rs +0 -0
  1473. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/mod.rs +0 -0
  1474. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/overflow.rs +0 -0
  1475. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/trace.rs +0 -0
  1476. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/trace_mock.rs +0 -0
  1477. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/worker/metrics.rs +0 -0
  1478. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/worker/taskdump.rs +0 -0
  1479. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread/worker/taskdump_mock.rs +0 -0
  1480. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/counters.rs +0 -0
  1481. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/handle/metrics.rs +0 -0
  1482. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/handle/taskdump.rs +0 -0
  1483. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/handle.rs +0 -0
  1484. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/idle.rs +0 -0
  1485. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/mod.rs +0 -0
  1486. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/overflow.rs +0 -0
  1487. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/park.rs +0 -0
  1488. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/trace.rs +0 -0
  1489. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/trace_mock.rs +0 -0
  1490. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/worker/metrics.rs +0 -0
  1491. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/worker/taskdump.rs +0 -0
  1492. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/scheduler/multi_thread_alt/worker/taskdump_mock.rs +0 -0
  1493. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/signal/mod.rs +0 -0
  1494. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/abort.rs +0 -0
  1495. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/error.rs +0 -0
  1496. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/id.rs +0 -0
  1497. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/raw.rs +0 -0
  1498. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/trace/symbol.rs +0 -0
  1499. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/trace/tree.rs +0 -0
  1500. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/task/waker.rs +0 -0
  1501. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/inject.rs +0 -0
  1502. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_blocking.rs +0 -0
  1503. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_current_thread/yield_now.rs +0 -0
  1504. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_current_thread.rs +0 -0
  1505. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_join_set.rs +0 -0
  1506. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread/queue.rs +0 -0
  1507. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread/shutdown.rs +0 -0
  1508. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread/yield_now.rs +0 -0
  1509. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread.rs +0 -0
  1510. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread_alt/queue.rs +0 -0
  1511. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread_alt/shutdown.rs +0 -0
  1512. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread_alt/yield_now.rs +0 -0
  1513. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_multi_thread_alt.rs +0 -0
  1514. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/loom_oneshot.rs +0 -0
  1515. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/mod.rs +0 -0
  1516. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/queue.rs +0 -0
  1517. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/tests/task.rs +0 -0
  1518. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/thread_id.rs +0 -0
  1519. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/time/handle.rs +0 -0
  1520. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/time/mod.rs +0 -0
  1521. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/time/tests/mod.rs +0 -0
  1522. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/runtime/time/wheel/mod.rs +0 -0
  1523. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/signal/reusable_box.rs +0 -0
  1524. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/signal/windows/stub.rs +0 -0
  1525. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/signal/windows/sys.rs +0 -0
  1526. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/barrier.rs +0 -0
  1527. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/mod.rs +0 -0
  1528. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/mpsc/block.rs +0 -0
  1529. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/mpsc/chan.rs +0 -0
  1530. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/mpsc/list.rs +0 -0
  1531. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/notify.rs +0 -0
  1532. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/once_cell.rs +0 -0
  1533. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/rwlock/owned_read_guard.rs +0 -0
  1534. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/rwlock/owned_write_guard.rs +0 -0
  1535. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/rwlock/owned_write_guard_mapped.rs +0 -0
  1536. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/rwlock/read_guard.rs +0 -0
  1537. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/rwlock/write_guard.rs +0 -0
  1538. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/rwlock/write_guard_mapped.rs +0 -0
  1539. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/task/atomic_waker.rs +0 -0
  1540. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/task/mod.rs +0 -0
  1541. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/atomic_waker.rs +0 -0
  1542. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_atomic_waker.rs +0 -0
  1543. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_broadcast.rs +0 -0
  1544. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_list.rs +0 -0
  1545. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_mpsc.rs +0 -0
  1546. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_notify.rs +0 -0
  1547. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_oneshot.rs +0 -0
  1548. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_rwlock.rs +0 -0
  1549. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_semaphore_batch.rs +0 -0
  1550. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/loom_watch.rs +0 -0
  1551. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/mod.rs +0 -0
  1552. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/notify.rs +0 -0
  1553. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/sync/tests/semaphore_batch.rs +0 -0
  1554. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/blocking.rs +0 -0
  1555. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/builder.rs +0 -0
  1556. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/consume_budget.rs +0 -0
  1557. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/spawn.rs +0 -0
  1558. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/task_local.rs +0 -0
  1559. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/unconstrained.rs +0 -0
  1560. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/task/yield_now.rs +0 -0
  1561. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/clock.rs +0 -0
  1562. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/error.rs +0 -0
  1563. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/instant.rs +0 -0
  1564. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/interval.rs +0 -0
  1565. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/mod.rs +0 -0
  1566. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/sleep.rs +0 -0
  1567. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/time/timeout.rs +0 -0
  1568. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/atomic_cell.rs +0 -0
  1569. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/bit.rs +0 -0
  1570. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/cacheline.rs +0 -0
  1571. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/error.rs +0 -0
  1572. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/linked_list.rs +0 -0
  1573. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/markers.rs +0 -0
  1574. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/memchr.rs +0 -0
  1575. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/mod.rs +0 -0
  1576. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/once_cell.rs +0 -0
  1577. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/rand/rt.rs +0 -0
  1578. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/rand/rt_unstable.rs +0 -0
  1579. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/rc_cell.rs +0 -0
  1580. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/sync_wrapper.rs +0 -0
  1581. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/trace.rs +0 -0
  1582. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/try_lock.rs +0 -0
  1583. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/wake.rs +0 -0
  1584. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/src/util/wake_list.rs +0 -0
  1585. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/_require_full.rs +0 -0
  1586. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/async_send_sync.rs +0 -0
  1587. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/buffered.rs +0 -0
  1588. /data/ext/cargo-vendor/{tokio-1.35.1/tests/coop_budger.rs → tokio-1.36.0/tests/coop_budget.rs} +0 -0
  1589. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/dump.rs +0 -0
  1590. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/duplex_stream.rs +0 -0
  1591. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs.rs +0 -0
  1592. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_canonicalize_dir.rs +0 -0
  1593. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_copy.rs +0 -0
  1594. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_dir.rs +0 -0
  1595. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_file.rs +0 -0
  1596. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_link.rs +0 -0
  1597. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_open_options.rs +0 -0
  1598. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_open_options_windows.rs +0 -0
  1599. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_remove_dir_all.rs +0 -0
  1600. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_remove_file.rs +0 -0
  1601. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_rename.rs +0 -0
  1602. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_symlink_dir_windows.rs +0 -0
  1603. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_symlink_file_windows.rs +0 -0
  1604. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/fs_try_exists.rs +0 -0
  1605. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_async_read.rs +0 -0
  1606. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_buf_reader.rs +0 -0
  1607. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_buf_writer.rs +0 -0
  1608. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_chain.rs +0 -0
  1609. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_driver.rs +0 -0
  1610. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_driver_drop.rs +0 -0
  1611. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_fill_buf.rs +0 -0
  1612. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_lines.rs +0 -0
  1613. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_mem_stream.rs +0 -0
  1614. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read.rs +0 -0
  1615. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read_buf.rs +0 -0
  1616. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read_exact.rs +0 -0
  1617. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read_line.rs +0 -0
  1618. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read_to_end.rs +0 -0
  1619. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read_to_string.rs +0 -0
  1620. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_read_until.rs +0 -0
  1621. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_split.rs +0 -0
  1622. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_take.rs +0 -0
  1623. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_util_empty.rs +0 -0
  1624. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_write.rs +0 -0
  1625. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_write_all.rs +0 -0
  1626. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_write_all_buf.rs +0 -0
  1627. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_write_buf.rs +0 -0
  1628. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/io_write_int.rs +0 -0
  1629. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/macros_join.rs +0 -0
  1630. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/macros_pin.rs +0 -0
  1631. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/macros_rename_test.rs +0 -0
  1632. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/macros_select.rs +0 -0
  1633. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/net_bind_resource.rs +0 -0
  1634. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/net_lookup_host.rs +0 -0
  1635. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/no_rt.rs +0 -0
  1636. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/process_arg0.rs +0 -0
  1637. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/process_issue_42.rs +0 -0
  1638. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/process_kill_on_drop.rs +0 -0
  1639. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/process_raw_handle.rs +0 -0
  1640. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/process_smoke.rs +0 -0
  1641. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/rt_common.rs +0 -0
  1642. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/rt_handle_block_on.rs +0 -0
  1643. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/rt_metrics.rs +0 -0
  1644. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/rt_threaded.rs +0 -0
  1645. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/rt_threaded_alt.rs +0 -0
  1646. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_ctrl_c.rs +0 -0
  1647. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_drop_recv.rs +0 -0
  1648. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_drop_rt.rs +0 -0
  1649. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_drop_signal.rs +0 -0
  1650. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_multi_rt.rs +0 -0
  1651. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_no_rt.rs +0 -0
  1652. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_notify_both.rs +0 -0
  1653. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_twice.rs +0 -0
  1654. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/signal_usr1.rs +0 -0
  1655. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/support/io_vec.rs +0 -0
  1656. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/support/leaked_buffers.rs +0 -0
  1657. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/support/mpsc_stream.rs +0 -0
  1658. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/support/panic.rs +0 -0
  1659. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/support/signal.rs +0 -0
  1660. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_barrier.rs +0 -0
  1661. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_broadcast.rs +0 -0
  1662. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_errors.rs +0 -0
  1663. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_mpsc_weak.rs +0 -0
  1664. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_mutex.rs +0 -0
  1665. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_mutex_owned.rs +0 -0
  1666. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_notify.rs +0 -0
  1667. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_once_cell.rs +0 -0
  1668. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_oneshot.rs +0 -0
  1669. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_rwlock.rs +0 -0
  1670. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_semaphore.rs +0 -0
  1671. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/sync_semaphore_owned.rs +0 -0
  1672. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/task_abort.rs +0 -0
  1673. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/task_blocking.rs +0 -0
  1674. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/task_builder.rs +0 -0
  1675. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/task_local_set.rs +0 -0
  1676. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/task_yield_now.rs +0 -0
  1677. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_accept.rs +0 -0
  1678. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_connect.rs +0 -0
  1679. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_echo.rs +0 -0
  1680. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_into_std.rs +0 -0
  1681. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_peek.rs +0 -0
  1682. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_shutdown.rs +0 -0
  1683. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_socket.rs +0 -0
  1684. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_split.rs +0 -0
  1685. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/tcp_stream.rs +0 -0
  1686. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/test_clock.rs +0 -0
  1687. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/time_interval.rs +0 -0
  1688. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/time_rt.rs +0 -0
  1689. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/time_sleep.rs +0 -0
  1690. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/time_timeout.rs +0 -0
  1691. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/udp.rs +0 -0
  1692. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/uds_cred.rs +0 -0
  1693. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/uds_datagram.rs +0 -0
  1694. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/uds_split.rs +0 -0
  1695. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/uds_stream.rs +0 -0
  1696. /data/ext/cargo-vendor/{tokio-1.35.1 → tokio-1.36.0}/tests/unwindsafe.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasi-cap-std-sync-17.0.1 → wasi-common-18.0.3}/LICENSE +0 -0
  1698. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/README.md +0 -0
  1699. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/README.md +0 -0
  1700. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/docs/README.md +0 -0
  1701. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/README.md +0 -0
  1702. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/docs.md +0 -0
  1703. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/typenames.witx +0 -0
  1704. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_args.witx +0 -0
  1705. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_clock.witx +0 -0
  1706. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_environ.witx +0 -0
  1707. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_fd.witx +0 -0
  1708. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_path.witx +0 -0
  1709. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_poll.witx +0 -0
  1710. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_proc.witx +0 -0
  1711. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_random.witx +0 -0
  1712. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_sched.witx +0 -0
  1713. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/ephemeral/witx/wasi_ephemeral_sock.witx +0 -0
  1714. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/old/snapshot_0/docs.md +0 -0
  1715. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/old/snapshot_0/witx/typenames.witx +0 -0
  1716. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/old/snapshot_0/witx/wasi_unstable.witx +0 -0
  1717. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/snapshot/docs.html +0 -0
  1718. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/snapshot/docs.md +0 -0
  1719. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/snapshot/witx/typenames.witx +0 -0
  1720. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx +0 -0
  1721. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/proposal-template/README.md +0 -0
  1722. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/proposals/README.md +0 -0
  1723. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/snapshots/README.md +0 -0
  1724. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/WASI/standard/README.md +0 -0
  1725. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/build.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/clocks.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/ctx.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/dir.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/error.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/file.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/pipe.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/random.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/sched/subscription.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/sched.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/snapshots/mod.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/snapshots/preview_0.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/snapshots/preview_1/error.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/snapshots/preview_1.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/string_array.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasi-common-18.0.3}/src/table.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasi-common-17.0.1 → wasm-encoder-0.201.0}/LICENSE +0 -0
  1742. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/README.md +0 -0
  1743. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/aliases.rs +0 -0
  1744. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/builder.rs +0 -0
  1745. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/canonicals.rs +0 -0
  1746. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/components.rs +0 -0
  1747. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/exports.rs +0 -0
  1748. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/imports.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/instances.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/modules.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component/start.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/component.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/custom.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/data.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/dump.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/elements.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/exports.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/functions.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/globals.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/imports.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/linking.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/memories.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/producers.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/start.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/tables.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core/tags.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/core.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/lib.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.201.0}/src/raw.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.41.2}/LICENSE +0 -0
  1771. /data/ext/cargo-vendor/{wasm-encoder-0.38.1 → wasm-encoder-0.41.2}/src/component/names.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/LICENSE +0 -0
  1773. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/examples/simple.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/parser.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/aliases.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/canonicals.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/exports.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/imports.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/instances.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/names.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/start.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component/types.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/component.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/code.rs +0 -0
  1785. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/coredumps.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/custom.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/data.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/elements.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/exports.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/functions.rs +0 -0
  1791. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/globals.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/imports.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/init.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/memories.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/producers.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/tables.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/tags.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers/core/types/matches.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/src/readers.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmparser-0.118.1 → wasmparser-0.121.2}/tests/big-module.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmprinter-0.2.75 → wasmprinter-0.2.80}/LICENSE +0 -0
  1802. /data/ext/cargo-vendor/{wasmprinter-0.2.75 → wasmprinter-0.2.80}/README.md +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-17.0.1 → wasmtime-18.0.3}/LICENSE +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-17.0.1 → wasmtime-18.0.3}/README.md +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/func/options.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/func/typed.rs +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/matching.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/mod.rs +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/resources.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/storage.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/component/store.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/coredump.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/externals/global.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/externals/table.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/externals.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/limits.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/ref.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/resources.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/signatures.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/stack.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/store/context.rs +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/store/data.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/store/func_refs.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/trampoline/global.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/unix.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/v128.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/values.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-17.0.1/src → wasmtime-18.0.3/src/runtime}/windows.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-asm-macros-17.0.1 → wasmtime-asm-macros-18.0.3}/src/lib.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/LICENSE +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/build.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/config/tests.rs +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/config.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/lib.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/tests.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/worker/tests/system_time_stub.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/worker/tests.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/src/worker.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-cache-17.0.1 → wasmtime-cache-18.0.3}/tests/cache_write_default_config.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/src/component.rs +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/src/lib.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/char.wit +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/conventions.wit +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/direct-import.wit +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/empty.wit +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/flags.wit +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/floats.wit +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/function-new.wit +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/integers.wit +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/lists.wit +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/many-arguments.wit +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/multi-return.wit +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/multiversion/root.wit +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/records.wit +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/rename.wit +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/resources-export.wit +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/resources-import.wit +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/share-types.wit +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/simple-functions.wit +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/simple-lists.wit +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/simple-wasi.wit +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/small-anonymous.wit +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/smoke-default.wit +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/smoke-export.wit +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/smoke.wit +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/strings.wit +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/use-paths.wit +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/variants.wit +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen/worlds-with-types.wit +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-component-macro-17.0.1 → wasmtime-component-macro-18.0.3}/tests/codegen.rs +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-component-util-17.0.1 → wasmtime-component-util-18.0.3}/src/lib.rs +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/LICENSE +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/SECURITY.md +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/gc.rs +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/address_transform.rs +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/attr.rs +0 -0
  1879. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/expression.rs +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/line_program.rs +0 -0
  1881. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/mod.rs +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/range_info_builder.rs +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/refs.rs +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/unit.rs +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/transform/utils.rs +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug/write_debuginfo.rs +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-cranelift-17.0.1 → wasmtime-cranelift-18.0.3}/src/debug.rs +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-17.0.1 → wasmtime-cranelift-shared-18.0.3}/src/compiled_function.rs +0 -0
  1889. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-17.0.1 → wasmtime-cranelift-shared-18.0.3}/src/lib.rs +0 -0
  1890. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-17.0.1 → wasmtime-cranelift-shared-18.0.3}/src/obj.rs +0 -0
  1891. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/LICENSE +0 -0
  1892. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/examples/factc.rs +0 -0
  1893. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/address_map.rs +0 -0
  1894. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/builtin.rs +0 -0
  1895. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/compilation.rs +0 -0
  1896. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/component/compiler.rs +0 -0
  1897. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/component/translate/adapt.rs +0 -0
  1898. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/component/types/resources.rs +0 -0
  1899. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/component/vmcomponent_offsets.rs +0 -0
  1900. /data/ext/cargo-vendor/{wasmtime-jit-17.0.1 → wasmtime-environ-18.0.3}/src/demangling.rs +0 -0
  1901. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/fact/core_types.rs +0 -0
  1902. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/fact/signature.rs +0 -0
  1903. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/fact/trampoline.rs +0 -0
  1904. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/fact/transcode.rs +0 -0
  1905. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/fact/traps.rs +0 -0
  1906. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/fact.rs +0 -0
  1907. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/obj.rs +0 -0
  1908. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/ref_bits.rs +0 -0
  1909. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/scopevec.rs +0 -0
  1910. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/stack_map.rs +0 -0
  1911. /data/ext/cargo-vendor/{wasmtime-environ-17.0.1 → wasmtime-environ-18.0.3}/src/trap_encoding.rs +0 -0
  1912. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/LICENSE +0 -0
  1913. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/build.rs +0 -0
  1914. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/lib.rs +0 -0
  1915. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix/aarch64.rs +0 -0
  1916. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix/arm.rs +0 -0
  1917. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix/riscv64.rs +0 -0
  1918. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix/s390x.S +0 -0
  1919. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix/x86.rs +0 -0
  1920. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix/x86_64.rs +0 -0
  1921. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/unix.rs +0 -0
  1922. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/windows.c +0 -0
  1923. /data/ext/cargo-vendor/{wasmtime-fiber-17.0.1 → wasmtime-fiber-18.0.3}/src/windows.rs +0 -0
  1924. /data/ext/cargo-vendor/{wasmtime-jit-debug-17.0.1 → wasmtime-jit-debug-18.0.3}/README.md +0 -0
  1925. /data/ext/cargo-vendor/{wasmtime-jit-debug-17.0.1 → wasmtime-jit-debug-18.0.3}/src/gdb_jit_int.rs +0 -0
  1926. /data/ext/cargo-vendor/{wasmtime-jit-debug-17.0.1 → wasmtime-jit-debug-18.0.3}/src/lib.rs +0 -0
  1927. /data/ext/cargo-vendor/{wasmtime-jit-debug-17.0.1 → wasmtime-jit-debug-18.0.3}/src/perf_jitdump.rs +0 -0
  1928. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-17.0.1 → wasmtime-jit-icache-coherence-18.0.3}/src/lib.rs +0 -0
  1929. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-17.0.1 → wasmtime-jit-icache-coherence-18.0.3}/src/libc.rs +0 -0
  1930. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-17.0.1 → wasmtime-jit-icache-coherence-18.0.3}/src/miri.rs +0 -0
  1931. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-17.0.1 → wasmtime-jit-icache-coherence-18.0.3}/src/win.rs +0 -0
  1932. /data/ext/cargo-vendor/{wasmtime-jit-17.0.1 → wasmtime-runtime-18.0.3}/LICENSE +0 -0
  1933. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/build.rs +0 -0
  1934. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/proptest-regressions/instance/allocator/pooling/memory_pool.txt +0 -0
  1935. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/arch/aarch64.rs +0 -0
  1936. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/arch/mod.rs +0 -0
  1937. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/arch/riscv64.rs +0 -0
  1938. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/arch/s390x.S +0 -0
  1939. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/arch/s390x.rs +0 -0
  1940. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/arch/x86_64.rs +0 -0
  1941. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/component/libcalls.rs +0 -0
  1942. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/component/resources.rs +0 -0
  1943. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/cow.rs +0 -0
  1944. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/debug_builtins.rs +0 -0
  1945. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/export.rs +0 -0
  1946. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/externref.rs +0 -0
  1947. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/helpers.c +0 -0
  1948. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/imports.rs +0 -0
  1949. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/instance/allocator/on_demand.rs +0 -0
  1950. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/instance/allocator/pooling/index_allocator.rs +0 -0
  1951. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/instance/allocator/pooling/stack_pool.rs +0 -0
  1952. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/instance/allocator/pooling/table_pool.rs +0 -0
  1953. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/libcalls.rs +0 -0
  1954. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/memory.rs +0 -0
  1955. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/mmap.rs +0 -0
  1956. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/mmap_vec.rs +0 -0
  1957. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/module_id.rs +0 -0
  1958. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/mpk/disabled.rs +0 -0
  1959. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/mpk/mod.rs +0 -0
  1960. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/mpk/sys.rs +0 -0
  1961. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/parking_spot.rs +0 -0
  1962. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/send_sync_ptr.rs +0 -0
  1963. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/store_box.rs +0 -0
  1964. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/miri/mmap.rs +0 -0
  1965. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/miri/mod.rs +0 -0
  1966. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/miri/traphandlers.rs +0 -0
  1967. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/miri/unwind.rs +0 -0
  1968. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/miri/vm.rs +0 -0
  1969. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/mod.rs +0 -0
  1970. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/unix/machports.rs +0 -0
  1971. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/unix/macos_traphandlers.rs +0 -0
  1972. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/unix/mmap.rs +0 -0
  1973. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/unix/mod.rs +0 -0
  1974. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/unix/unwind.rs +0 -0
  1975. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/unix/vm.rs +0 -0
  1976. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/windows/mmap.rs +0 -0
  1977. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/windows/mod.rs +0 -0
  1978. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/windows/traphandlers.rs +0 -0
  1979. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/windows/unwind.rs +0 -0
  1980. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/sys/windows/vm.rs +0 -0
  1981. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/table.rs +0 -0
  1982. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/traphandlers/backtrace.rs +0 -0
  1983. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/traphandlers/coredump.rs +0 -0
  1984. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/traphandlers.rs +0 -0
  1985. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-runtime-18.0.3}/src/vmcontext/vm_host_func_context.rs +0 -0
  1986. /data/ext/cargo-vendor/{wasmtime-runtime-17.0.1 → wasmtime-types-18.0.3}/LICENSE +0 -0
  1987. /data/ext/cargo-vendor/{wasmtime-types-17.0.1 → wasmtime-types-18.0.3}/src/error.rs +0 -0
  1988. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-17.0.1 → wasmtime-versioned-export-macros-18.0.3}/src/lib.rs +0 -0
  1989. /data/ext/cargo-vendor/{wasmtime-types-17.0.1 → wasmtime-wasi-18.0.3}/LICENSE +0 -0
  1990. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/README.md +0 -0
  1991. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/command.rs +0 -0
  1992. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/host/env.rs +0 -0
  1993. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/host/exit.rs +0 -0
  1994. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/host/filesystem/sync.rs +0 -0
  1995. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/host/mod.rs +0 -0
  1996. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/mod.rs +0 -0
  1997. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/network.rs +0 -0
  1998. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/stdio/worker_thread_stdin.rs +0 -0
  1999. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/stream.rs +0 -0
  2000. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/tcp.rs +0 -0
  2001. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/src/preview2/udp.rs +0 -0
  2002. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/tests/all/async_.rs +0 -0
  2003. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/tests/all/preview1.rs +0 -0
  2004. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/tests/all/sync.rs +0 -0
  2005. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/tests/process_stdin.rs +0 -0
  2006. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/command-extended.wit +0 -0
  2007. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/command.wit +0 -0
  2008. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/environment.wit +0 -0
  2009. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/exit.wit +0 -0
  2010. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/imports.wit +0 -0
  2011. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/run.wit +0 -0
  2012. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/stdio.wit +0 -0
  2013. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/cli/terminal.wit +0 -0
  2014. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/clocks/monotonic-clock.wit +0 -0
  2015. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/clocks/wall-clock.wit +0 -0
  2016. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/clocks/world.wit +0 -0
  2017. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/filesystem/preopens.wit +0 -0
  2018. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/filesystem/types.wit +0 -0
  2019. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/filesystem/world.wit +0 -0
  2020. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/http/handler.wit +0 -0
  2021. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/http/proxy.wit +0 -0
  2022. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/http/types.wit +0 -0
  2023. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/io/error.wit +0 -0
  2024. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/io/world.wit +0 -0
  2025. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/random/insecure-seed.wit +0 -0
  2026. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/random/insecure.wit +0 -0
  2027. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/random/random.wit +0 -0
  2028. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/random/world.wit +0 -0
  2029. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/sockets/instance-network.wit +0 -0
  2030. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  2031. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/sockets/network.wit +0 -0
  2032. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  2033. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/sockets/udp-create-socket.wit +0 -0
  2034. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/deps/sockets/world.wit +0 -0
  2035. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/wit/test.wit +0 -0
  2036. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/witx/preview0/typenames.witx +0 -0
  2037. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/witx/preview0/wasi_unstable.witx +0 -0
  2038. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/witx/preview1/typenames.witx +0 -0
  2039. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wasmtime-wasi-18.0.3}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  2040. /data/ext/cargo-vendor/{wasmtime-winch-17.0.1 → wasmtime-winch-18.0.3}/LICENSE +0 -0
  2041. /data/ext/cargo-vendor/{wasmtime-winch-17.0.1 → wasmtime-winch-18.0.3}/src/lib.rs +0 -0
  2042. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-17.0.1 → wasmtime-wit-bindgen-18.0.3}/src/rust.rs +0 -0
  2043. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-17.0.1 → wasmtime-wit-bindgen-18.0.3}/src/source.rs +0 -0
  2044. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-17.0.1 → wasmtime-wit-bindgen-18.0.3}/src/types.rs +0 -0
  2045. /data/ext/cargo-vendor/{wasmtime-wmemcheck-17.0.1 → wasmtime-wmemcheck-18.0.3}/src/lib.rs +0 -0
  2046. /data/ext/cargo-vendor/{wasmtime-wasi-17.0.1 → wast-201.0.0}/LICENSE +0 -0
  2047. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/README.md +0 -0
  2048. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/alias.rs +0 -0
  2049. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/binary.rs +0 -0
  2050. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/custom.rs +0 -0
  2051. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/expand.rs +0 -0
  2052. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/export.rs +0 -0
  2053. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/func.rs +0 -0
  2054. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/import.rs +0 -0
  2055. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/instance.rs +0 -0
  2056. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/item_ref.rs +0 -0
  2057. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/module.rs +0 -0
  2058. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/resolve.rs +0 -0
  2059. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/types.rs +0 -0
  2060. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component/wast.rs +0 -0
  2061. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/component.rs +0 -0
  2062. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/export.rs +0 -0
  2063. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/func.rs +0 -0
  2064. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/global.rs +0 -0
  2065. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/import.rs +0 -0
  2066. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/resolve/mod.rs +0 -0
  2067. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/resolve/types.rs +0 -0
  2068. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/tag.rs +0 -0
  2069. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core/wast.rs +0 -0
  2070. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/core.rs +0 -0
  2071. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/encode.rs +0 -0
  2072. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/error.rs +0 -0
  2073. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/gensym.rs +0 -0
  2074. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/src/wast.rs +0 -0
  2075. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/annotations.rs +0 -0
  2076. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/comments.rs +0 -0
  2077. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
  2078. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
  2079. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
  2080. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
  2081. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-index.wat +0 -0
  2082. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
  2083. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-name.wat +0 -0
  2084. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
  2085. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-name2.wat +0 -0
  2086. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
  2087. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-name3.wat +0 -0
  2088. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
  2089. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/block1.wat +0 -0
  2090. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/block1.wat.err +0 -0
  2091. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/block2.wat +0 -0
  2092. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/block2.wat.err +0 -0
  2093. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/block3.wat +0 -0
  2094. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/block3.wat.err +0 -0
  2095. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
  2096. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
  2097. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
  2098. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
  2099. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
  2100. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
  2101. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
  2102. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
  2103. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
  2104. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
  2105. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
  2106. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
  2107. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
  2108. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
  2109. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
  2110. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
  2111. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
  2112. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
  2113. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
  2114. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
  2115. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
  2116. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
  2117. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
  2118. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
  2119. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
  2120. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
  2121. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
  2122. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
  2123. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
  2124. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
  2125. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
  2126. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
  2127. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
  2128. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
  2129. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
  2130. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
  2131. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
  2132. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
  2133. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
  2134. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
  2135. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
  2136. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
  2137. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
  2138. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
  2139. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
  2140. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
  2141. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
  2142. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
  2143. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
  2144. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
  2145. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
  2146. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
  2147. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
  2148. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
  2149. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/inline1.wat +0 -0
  2150. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/inline1.wat.err +0 -0
  2151. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
  2152. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
  2153. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string1.wat +0 -0
  2154. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string1.wat.err +0 -0
  2155. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string10.wat +0 -0
  2156. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string10.wat.err +0 -0
  2157. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string11.wat +0 -0
  2158. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string11.wat.err +0 -0
  2159. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string12.wat +0 -0
  2160. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string12.wat.err +0 -0
  2161. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string13.wat +0 -0
  2162. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string13.wat.err +0 -0
  2163. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string14.wat +0 -0
  2164. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string14.wat.err +0 -0
  2165. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string15.wat +0 -0
  2166. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string15.wat.err +0 -0
  2167. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string16.wat +0 -0
  2168. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string16.wat.err +0 -0
  2169. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string2.wat +0 -0
  2170. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string2.wat.err +0 -0
  2171. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string3.wat +0 -0
  2172. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string3.wat.err +0 -0
  2173. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string4.wat +0 -0
  2174. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string4.wat.err +0 -0
  2175. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string5.wat +0 -0
  2176. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string5.wat.err +0 -0
  2177. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string6.wat +0 -0
  2178. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string6.wat.err +0 -0
  2179. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string7.wat +0 -0
  2180. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string7.wat.err +0 -0
  2181. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string8.wat +0 -0
  2182. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string8.wat.err +0 -0
  2183. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string9.wat +0 -0
  2184. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/string9.wat.err +0 -0
  2185. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/unbalanced.wat +0 -0
  2186. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
  2187. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/parse-fail.rs +0 -0
  2188. /data/ext/cargo-vendor/{wast-69.0.1 → wast-201.0.0}/tests/recursive.rs +0 -0
  2189. /data/ext/cargo-vendor/{wast-69.0.1 → wat-1.201.0}/LICENSE +0 -0
  2190. /data/ext/cargo-vendor/{wat-1.0.82 → wat-1.201.0}/README.md +0 -0
  2191. /data/ext/cargo-vendor/{wat-1.0.82 → wiggle-18.0.3}/LICENSE +0 -0
  2192. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-18.0.3}/README.md +0 -0
  2193. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-18.0.3}/src/borrow.rs +0 -0
  2194. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-18.0.3}/src/error.rs +0 -0
  2195. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-18.0.3}/src/guest_type.rs +0 -0
  2196. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-18.0.3}/src/region.rs +0 -0
  2197. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-18.0.3}/src/wasmtime.rs +0 -0
  2198. /data/ext/cargo-vendor/{wiggle-17.0.1 → wiggle-generate-18.0.3}/LICENSE +0 -0
  2199. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/README.md +0 -0
  2200. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/codegen_settings.rs +0 -0
  2201. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/config.rs +0 -0
  2202. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/funcs.rs +0 -0
  2203. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/lib.rs +0 -0
  2204. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/lifetimes.rs +0 -0
  2205. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/module_trait.rs +0 -0
  2206. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/names.rs +0 -0
  2207. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/types/error.rs +0 -0
  2208. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/types/flags.rs +0 -0
  2209. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/types/handle.rs +0 -0
  2210. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/types/mod.rs +0 -0
  2211. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/types/record.rs +0 -0
  2212. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/types/variant.rs +0 -0
  2213. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-generate-18.0.3}/src/wasmtime.rs +0 -0
  2214. /data/ext/cargo-vendor/{wiggle-generate-17.0.1 → wiggle-macro-18.0.3}/LICENSE +0 -0
  2215. /data/ext/cargo-vendor/{wiggle-macro-17.0.1 → wiggle-macro-18.0.3}/src/lib.rs +0 -0
  2216. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/LICENSE +0 -0
  2217. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/build.rs +0 -0
  2218. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/isa/aarch64/address.rs +0 -0
  2219. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/isa/aarch64/asm.rs +0 -0
  2220. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/isa/aarch64/regs.rs +0 -0
  2221. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/isa/x64/address.rs +0 -0
  2222. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/isa/x64/regs.rs +0 -0
  2223. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/lib.rs +0 -0
  2224. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/regalloc.rs +0 -0
  2225. /data/ext/cargo-vendor/{winch-codegen-0.15.1 → winch-codegen-0.16.3}/src/regset.rs +0 -0
  2226. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/README.md +0 -0
  2227. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/src/abi.rs +0 -0
  2228. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/src/ast/toposort.rs +0 -0
  2229. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/src/lib.rs +0 -0
  2230. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/src/live.rs +0 -0
  2231. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/src/serde_.rs +0 -0
  2232. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/src/sizealign.rs +0 -0
  2233. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/all.rs +0 -0
  2234. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/comments.wit +0 -0
  2235. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  2236. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  2237. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/complex-include/root.wit +0 -0
  2238. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/complex-include.wit.json +0 -0
  2239. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  2240. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/cross-package-resource/foo.wit +0 -0
  2241. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/cross-package-resource.wit.json +0 -0
  2242. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  2243. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  2244. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/diamond1/join.wit +0 -0
  2245. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/diamond1.wit.json +0 -0
  2246. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  2247. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  2248. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/disambiguate-diamond/world.wit +0 -0
  2249. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/disambiguate-diamond.wit.json +0 -0
  2250. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/empty.wit +0 -0
  2251. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/empty.wit.json +0 -0
  2252. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  2253. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  2254. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  2255. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  2256. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  2257. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  2258. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  2259. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps/root.wit +0 -0
  2260. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  2261. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  2262. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  2263. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  2264. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  2265. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  2266. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  2267. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  2268. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union/root.wit +0 -0
  2269. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps-union.wit.json +0 -0
  2270. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/foreign-deps.wit.json +0 -0
  2271. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/functions.wit +0 -0
  2272. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/functions.wit.json +0 -0
  2273. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  2274. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  2275. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/ignore-files-deps/world.wit +0 -0
  2276. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/ignore-files-deps.wit.json +0 -0
  2277. /data/ext/cargo-vendor/{wit-parser-0.13.0/tests/ui/parse-fail → wit-parser-0.13.2/tests/ui}/import-export-overlap1.wit +0 -0
  2278. /data/ext/cargo-vendor/{wit-parser-0.13.0/tests/ui/parse-fail → wit-parser-0.13.2/tests/ui}/import-export-overlap2.wit +0 -0
  2279. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/include-reps.wit +0 -0
  2280. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/include-reps.wit.json +0 -0
  2281. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/kebab-name-include-with.wit +0 -0
  2282. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/kebab-name-include-with.wit.json +0 -0
  2283. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/many-names/a.wit +0 -0
  2284. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/many-names/b.wit +0 -0
  2285. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/many-names.wit.json +0 -0
  2286. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/multi-file/bar.wit +0 -0
  2287. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/multi-file/cycle-a.wit +0 -0
  2288. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/multi-file/cycle-b.wit +0 -0
  2289. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/multi-file/foo.wit +0 -0
  2290. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/multi-file.wit.json +0 -0
  2291. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  2292. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  2293. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  2294. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/package-syntax1.wit +0 -0
  2295. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/package-syntax1.wit.json +0 -0
  2296. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/package-syntax3.wit +0 -0
  2297. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/package-syntax3.wit.json +0 -0
  2298. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/package-syntax4.wit +0 -0
  2299. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/package-syntax4.wit.json +0 -0
  2300. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  2301. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  2302. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/async.wit.result +0 -0
  2303. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/async1.wit.result +0 -0
  2304. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-function.wit +0 -0
  2305. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  2306. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-function2.wit +0 -0
  2307. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  2308. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-include1.wit +0 -0
  2309. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  2310. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-include2.wit +0 -0
  2311. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  2312. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-include3.wit +0 -0
  2313. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  2314. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-list.wit +0 -0
  2315. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  2316. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  2317. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  2318. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  2319. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  2320. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  2321. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  2322. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  2323. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  2324. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  2325. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  2326. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  2327. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  2328. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  2329. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  2330. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  2331. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  2332. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  2333. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  2334. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  2335. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  2336. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  2337. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  2338. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  2339. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  2340. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  2341. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  2342. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  2343. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  2344. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  2345. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  2346. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  2347. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  2348. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  2349. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  2350. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  2351. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  2352. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  2353. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  2354. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  2355. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  2356. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  2357. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  2358. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  2359. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  2360. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  2361. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  2362. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  2363. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  2364. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  2365. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  2366. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  2367. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  2368. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/conflicting-package.wit.result +0 -0
  2369. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle.wit +0 -0
  2370. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle.wit.result +0 -0
  2371. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle2.wit +0 -0
  2372. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  2373. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle3.wit +0 -0
  2374. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  2375. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle4.wit +0 -0
  2376. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  2377. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle5.wit +0 -0
  2378. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  2379. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/dangling-type.wit +0 -0
  2380. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  2381. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  2382. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  2383. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  2384. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  2385. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  2386. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  2387. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  2388. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  2389. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  2390. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  2391. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  2392. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/empty-enum.wit +0 -0
  2393. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  2394. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  2395. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  2396. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/export-twice.wit +0 -0
  2397. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  2398. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  2399. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  2400. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  2401. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  2402. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  2403. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  2404. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  2405. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  2406. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  2407. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  2408. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-twice.wit +0 -0
  2409. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  2410. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-cycle.wit +0 -0
  2411. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  2412. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  2413. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  2414. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  2415. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-with-id.wit +0 -0
  2416. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  2417. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  2418. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  2419. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  2420. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  2421. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  2422. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  2423. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  2424. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  2425. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  2426. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  2427. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2428. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  2429. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/keyword.wit +0 -0
  2430. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2431. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/missing-package.wit +0 -0
  2432. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2433. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  2434. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  2435. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -0
  2436. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  2437. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  2438. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  2439. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  2440. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  2441. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  2442. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  2443. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2444. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  2445. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  2446. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  2447. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2448. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  2449. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  2450. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  2451. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  2452. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2453. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2454. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2455. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2456. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2457. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2458. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2459. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2460. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2461. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2462. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2463. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2464. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2465. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2466. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2467. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2468. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  2469. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2470. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2471. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2472. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2473. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2474. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2475. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2476. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2477. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2478. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2479. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2480. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2481. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2482. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  2483. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2484. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2485. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2486. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2487. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2488. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2489. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2490. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2491. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2492. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2493. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2494. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2495. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2496. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2497. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2498. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2499. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2500. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2501. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2502. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2503. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2504. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2505. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2506. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2507. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2508. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/random.wit +0 -0
  2509. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/random.wit.json +0 -0
  2510. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-empty.wit +0 -0
  2511. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-empty.wit.json +0 -0
  2512. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-multiple-returns-borrow.wit +0 -0
  2513. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-multiple-returns-borrow.wit.json +0 -0
  2514. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2515. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2516. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-multiple.wit +0 -0
  2517. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-multiple.wit.json +0 -0
  2518. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-return-borrow.wit +0 -0
  2519. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-return-borrow.wit.json +0 -0
  2520. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-return-own.wit +0 -0
  2521. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources-return-own.wit.json +0 -0
  2522. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources.wit +0 -0
  2523. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources.wit.json +0 -0
  2524. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources1.wit +0 -0
  2525. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/resources1.wit.json +0 -0
  2526. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/shared-types.wit +0 -0
  2527. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/shared-types.wit.json +0 -0
  2528. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/stress-export-elaborate.wit +0 -0
  2529. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/stress-export-elaborate.wit.json +0 -0
  2530. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/type-then-eof.wit +0 -0
  2531. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/type-then-eof.wit.json +0 -0
  2532. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/union-fuzz-1.wit +0 -0
  2533. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/union-fuzz-1.wit.json +0 -0
  2534. /data/ext/cargo-vendor/{wit-parser-0.13.0/tests/ui/parse-fail → wit-parser-0.13.2/tests/ui}/union-fuzz-2.wit +0 -0
  2535. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/use-chain.wit +0 -0
  2536. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/use-chain.wit.json +0 -0
  2537. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/use.wit +0 -0
  2538. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/use.wit.json +0 -0
  2539. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2540. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2541. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/versions/foo.wit +0 -0
  2542. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/versions.wit.json +0 -0
  2543. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/wasi.wit +0 -0
  2544. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-diamond.wit +0 -0
  2545. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-diamond.wit.json +0 -0
  2546. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-iface-no-collide.wit +0 -0
  2547. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-iface-no-collide.wit.json +0 -0
  2548. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-implicit-import1.wit +0 -0
  2549. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-implicit-import1.wit.json +0 -0
  2550. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-implicit-import2.wit +0 -0
  2551. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-implicit-import2.wit.json +0 -0
  2552. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-implicit-import3.wit +0 -0
  2553. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-implicit-import3.wit.json +0 -0
  2554. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-same-fields4.wit +0 -0
  2555. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-same-fields4.wit.json +0 -0
  2556. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-top-level-funcs.wit +0 -0
  2557. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2558. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-top-level-resources.wit +0 -0
  2559. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/world-top-level-resources.wit.json +0 -0
  2560. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/worlds-union-dedup.wit +0 -0
  2561. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/worlds-union-dedup.wit.json +0 -0
  2562. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/worlds-with-types.wit +0 -0
  2563. /data/ext/cargo-vendor/{wit-parser-0.13.0 → wit-parser-0.13.2}/tests/ui/worlds-with-types.wit.json +0 -0
@@ -1,4416 +0,0 @@
1
- //! Types relating to type information provided by validation.
2
-
3
- use super::{
4
- component::{ComponentState, ExternKind},
5
- core::Module,
6
- };
7
- use crate::{validator::names::KebabString, HeapType};
8
- use crate::{
9
- BinaryReaderError, CompositeType, Export, ExternalKind, FuncType, GlobalType, Import, Matches,
10
- MemoryType, PackedIndex, PrimitiveValType, RecGroup, RefType, Result, SubType, TableType,
11
- TypeRef, UnpackedIndex, ValType, WithRecGroup,
12
- };
13
- use indexmap::{IndexMap, IndexSet};
14
- use std::collections::hash_map::Entry;
15
- use std::collections::{HashMap, HashSet};
16
- use std::ops::{Index, Range};
17
- use std::sync::atomic::{AtomicU64, Ordering};
18
- use std::{
19
- borrow::Borrow,
20
- hash::{Hash, Hasher},
21
- mem,
22
- ops::{Deref, DerefMut},
23
- sync::Arc,
24
- };
25
-
26
- /// The maximum number of parameters in the canonical ABI that can be passed by value.
27
- ///
28
- /// Functions that exceed this limit will instead pass parameters indirectly from
29
- /// linear memory via a single pointer parameter.
30
- const MAX_FLAT_FUNC_PARAMS: usize = 16;
31
- /// The maximum number of results in the canonical ABI that can be returned by a function.
32
- ///
33
- /// Functions that exceed this limit have their results written to linear memory via an
34
- /// additional pointer parameter (imports) or return a single pointer value (exports).
35
- const MAX_FLAT_FUNC_RESULTS: usize = 1;
36
-
37
- /// The maximum lowered types, including a possible type for a return pointer parameter.
38
- const MAX_LOWERED_TYPES: usize = MAX_FLAT_FUNC_PARAMS + 1;
39
-
40
- /// A simple alloc-free list of types used for calculating lowered function signatures.
41
- pub(crate) struct LoweredTypes {
42
- types: [ValType; MAX_LOWERED_TYPES],
43
- len: usize,
44
- max: usize,
45
- }
46
-
47
- impl LoweredTypes {
48
- fn new(max: usize) -> Self {
49
- assert!(max <= MAX_LOWERED_TYPES);
50
- Self {
51
- types: [ValType::I32; MAX_LOWERED_TYPES],
52
- len: 0,
53
- max,
54
- }
55
- }
56
-
57
- fn len(&self) -> usize {
58
- self.len
59
- }
60
-
61
- fn maxed(&self) -> bool {
62
- self.len == self.max
63
- }
64
-
65
- fn get_mut(&mut self, index: usize) -> Option<&mut ValType> {
66
- if index < self.len {
67
- Some(&mut self.types[index])
68
- } else {
69
- None
70
- }
71
- }
72
-
73
- fn push(&mut self, ty: ValType) -> bool {
74
- if self.maxed() {
75
- return false;
76
- }
77
-
78
- self.types[self.len] = ty;
79
- self.len += 1;
80
- true
81
- }
82
-
83
- fn clear(&mut self) {
84
- self.len = 0;
85
- }
86
-
87
- pub fn as_slice(&self) -> &[ValType] {
88
- &self.types[..self.len]
89
- }
90
-
91
- pub fn iter(&self) -> impl Iterator<Item = ValType> + '_ {
92
- self.as_slice().iter().copied()
93
- }
94
- }
95
-
96
- /// Represents information about a component function type lowering.
97
- pub(crate) struct LoweringInfo {
98
- pub(crate) params: LoweredTypes,
99
- pub(crate) results: LoweredTypes,
100
- pub(crate) requires_memory: bool,
101
- pub(crate) requires_realloc: bool,
102
- }
103
-
104
- impl LoweringInfo {
105
- pub(crate) fn into_func_type(self) -> FuncType {
106
- FuncType::new(
107
- self.params.as_slice().iter().copied(),
108
- self.results.as_slice().iter().copied(),
109
- )
110
- }
111
- }
112
-
113
- impl Default for LoweringInfo {
114
- fn default() -> Self {
115
- Self {
116
- params: LoweredTypes::new(MAX_FLAT_FUNC_PARAMS),
117
- results: LoweredTypes::new(MAX_FLAT_FUNC_RESULTS),
118
- requires_memory: false,
119
- requires_realloc: false,
120
- }
121
- }
122
- }
123
-
124
- fn push_primitive_wasm_types(ty: &PrimitiveValType, lowered_types: &mut LoweredTypes) -> bool {
125
- match ty {
126
- PrimitiveValType::Bool
127
- | PrimitiveValType::S8
128
- | PrimitiveValType::U8
129
- | PrimitiveValType::S16
130
- | PrimitiveValType::U16
131
- | PrimitiveValType::S32
132
- | PrimitiveValType::U32
133
- | PrimitiveValType::Char => lowered_types.push(ValType::I32),
134
- PrimitiveValType::S64 | PrimitiveValType::U64 => lowered_types.push(ValType::I64),
135
- PrimitiveValType::Float32 => lowered_types.push(ValType::F32),
136
- PrimitiveValType::Float64 => lowered_types.push(ValType::F64),
137
- PrimitiveValType::String => {
138
- lowered_types.push(ValType::I32) && lowered_types.push(ValType::I32)
139
- }
140
- }
141
- }
142
-
143
- /// A trait shared by all type identifiers.
144
- ///
145
- /// Any id that can be used to get a type from a `Types`.
146
- //
147
- // Or, internally, from a `TypeList`.
148
- pub trait TypeIdentifier: std::fmt::Debug + Copy + Eq + Sized + 'static {
149
- /// The data pointed to by this type of id.
150
- type Data: TypeData<Id = Self>;
151
-
152
- /// Create a type id from an index.
153
- #[doc(hidden)]
154
- fn from_index(index: u32) -> Self;
155
-
156
- /// Get a shared reference to the list where this id's type data is stored
157
- /// within.
158
- #[doc(hidden)]
159
- fn list(types: &TypeList) -> &SnapshotList<Self::Data>;
160
-
161
- /// Get an exclusive reference to the list where this id's type data is
162
- /// stored within.
163
- #[doc(hidden)]
164
- fn list_mut(types: &mut TypeList) -> &mut SnapshotList<Self::Data>;
165
-
166
- /// The raw index of this id.
167
- #[doc(hidden)]
168
- fn index(&self) -> usize;
169
- }
170
-
171
- /// A trait shared by all types within a `Types`.
172
- ///
173
- /// This is the data that can be retreived by indexing with the associated
174
- /// [`TypeIdentifier`].
175
- pub trait TypeData: std::fmt::Debug {
176
- /// The identifier for this type data.
177
- type Id: TypeIdentifier<Data = Self>;
178
-
179
- /// Get the info for this type.
180
- #[doc(hidden)]
181
- fn type_info(&self, types: &TypeList) -> TypeInfo;
182
- }
183
-
184
- /// A type that can be aliased in the component model.
185
- pub trait Aliasable {
186
- #[doc(hidden)]
187
- fn alias_id(&self) -> u32;
188
-
189
- #[doc(hidden)]
190
- fn set_alias_id(&mut self, alias_id: u32);
191
- }
192
-
193
- /// A fresh alias id that means the entity is not an alias of anything.
194
- ///
195
- /// Note that the `TypeList::alias_counter` starts at zero, so we can't use that
196
- /// as this sentinel. The implementation limits are such that we can't ever
197
- /// generate `u32::MAX` aliases, so we don't need to worryabout running into
198
- /// this value in practice either.
199
- const NO_ALIAS: u32 = u32::MAX;
200
-
201
- macro_rules! define_type_id {
202
- ($name:ident, $data:ty, $list:ident, $type_str:expr) => {
203
- #[doc = "Represents a unique identifier for a "]
204
- #[doc = $type_str]
205
- #[doc = " type known to a [`crate::Validator`]."]
206
- #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
207
- #[repr(C)] // Use fixed field layout to ensure minimal size.
208
- pub struct $name {
209
- /// The index into the associated list of types.
210
- index: u32,
211
- }
212
-
213
- impl TypeIdentifier for $name {
214
- type Data = $data;
215
-
216
- fn from_index(index: u32) -> Self {
217
- $name { index }
218
- }
219
-
220
- fn list(types: &TypeList) -> &SnapshotList<Self::Data> {
221
- &types.$list
222
- }
223
-
224
- fn list_mut(types: &mut TypeList) -> &mut SnapshotList<Self::Data> {
225
- &mut types.$list
226
- }
227
-
228
- fn index(&self) -> usize {
229
- usize::try_from(self.index).unwrap()
230
- }
231
- }
232
-
233
- impl Aliasable for $name {
234
- fn alias_id(&self) -> u32 {
235
- NO_ALIAS
236
- }
237
-
238
- fn set_alias_id(&mut self, _: u32) {}
239
- }
240
-
241
- // The size of type IDs was seen to have a large-ish impact in #844, so
242
- // this assert ensures that it stays relatively small.
243
- const _: () = {
244
- assert!(std::mem::size_of::<$name>() <= 4);
245
- };
246
- };
247
- }
248
-
249
- /// A core WebAssembly type, in the core WebAssembly types index space.
250
- pub enum CoreType {
251
- /// A sub type.
252
- Sub(SubType),
253
-
254
- /// A module type.
255
- ///
256
- /// Does not actually appear in core Wasm at the moment. Only used for the
257
- /// core types index space within components.
258
- Module(ModuleType),
259
- }
260
-
261
- /// Represents a unique identifier for a core type type known to a
262
- /// [`crate::Validator`]
263
- #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
264
- #[repr(C)]
265
- pub struct CoreTypeId {
266
- index: u32,
267
- }
268
-
269
- const _: () = {
270
- assert!(std::mem::size_of::<CoreTypeId>() <= 4);
271
- };
272
-
273
- impl TypeIdentifier for CoreTypeId {
274
- type Data = SubType;
275
-
276
- fn from_index(index: u32) -> Self {
277
- CoreTypeId { index }
278
- }
279
-
280
- fn list(types: &TypeList) -> &SnapshotList<Self::Data> {
281
- &types.core_types
282
- }
283
-
284
- fn list_mut(types: &mut TypeList) -> &mut SnapshotList<Self::Data> {
285
- &mut types.core_types
286
- }
287
-
288
- fn index(&self) -> usize {
289
- usize::try_from(self.index).unwrap()
290
- }
291
- }
292
-
293
- impl TypeData for SubType {
294
- type Id = CoreTypeId;
295
-
296
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
297
- // TODO(#1036): calculate actual size for func, array, struct.
298
- let size = 1 + match &self.composite_type {
299
- CompositeType::Func(ty) => 1 + (ty.params().len() + ty.results().len()) as u32,
300
- CompositeType::Array(_) => 2,
301
- CompositeType::Struct(ty) => 1 + 2 * ty.fields.len() as u32,
302
- };
303
- TypeInfo::core(size)
304
- }
305
- }
306
-
307
- impl CoreType {
308
- /// Get the underlying `SubType` or panic.
309
- pub fn unwrap_sub(&self) -> &SubType {
310
- match self {
311
- CoreType::Sub(s) => s,
312
- CoreType::Module(_) => panic!("`unwrap_sub` on module type"),
313
- }
314
- }
315
-
316
- /// Get the underlying `FuncType` within this `SubType` or panic.
317
- pub fn unwrap_func(&self) -> &FuncType {
318
- match &self.unwrap_sub().composite_type {
319
- CompositeType::Func(f) => f,
320
- CompositeType::Array(_) | CompositeType::Struct(_) => {
321
- panic!("`unwrap_func` on non-func composite type")
322
- }
323
- }
324
- }
325
-
326
- /// Get the underlying `ModuleType` or panic.
327
- pub fn unwrap_module(&self) -> &ModuleType {
328
- match self {
329
- CoreType::Module(m) => m,
330
- CoreType::Sub(_) => panic!("`unwrap_module` on a subtype"),
331
- }
332
- }
333
- }
334
-
335
- macro_rules! define_wrapper_id {
336
- (
337
- $(#[$outer_attrs:meta])*
338
- pub enum $name:ident {
339
- $(
340
- #[unwrap = $unwrap:ident]
341
- $(#[$inner_attrs:meta])*
342
- $variant:ident ( $inner:ty ) ,
343
- )*
344
- }
345
- ) => {
346
- $(#[$outer_attrs])*
347
- pub enum $name {
348
- $(
349
- $(#[$inner_attrs])*
350
- $variant ( $inner ) ,
351
- )*
352
- }
353
-
354
- $(
355
- impl From<$inner> for $name {
356
- #[inline]
357
- fn from(x: $inner) -> Self {
358
- Self::$variant(x)
359
- }
360
- }
361
-
362
- impl TryFrom<$name> for $inner {
363
- type Error = ();
364
-
365
- #[inline]
366
- fn try_from(x: $name) -> Result<Self, Self::Error> {
367
- match x {
368
- $name::$variant(x) => Ok(x),
369
- _ => Err(())
370
- }
371
- }
372
- }
373
- )*
374
-
375
- impl $name {
376
- $(
377
- #[doc = "Unwrap a `"]
378
- #[doc = stringify!($inner)]
379
- #[doc = "` or panic."]
380
- #[inline]
381
- pub fn $unwrap(self) -> $inner {
382
- <$inner>::try_from(self).unwrap()
383
- }
384
- )*
385
- }
386
- };
387
- }
388
-
389
- macro_rules! define_transitive_conversions {
390
- (
391
- $(
392
- $outer:ty,
393
- $middle:ty,
394
- $inner:ty,
395
- $unwrap:ident;
396
- )*
397
- ) => {
398
- $(
399
- impl From<$inner> for $outer {
400
- #[inline]
401
- fn from(x: $inner) -> Self {
402
- <$middle>::from(x).into()
403
- }
404
- }
405
-
406
- impl TryFrom<$outer> for $inner {
407
- type Error = ();
408
-
409
- #[inline]
410
- fn try_from(x: $outer) -> Result<Self, Self::Error> {
411
- let middle = <$middle>::try_from(x)?;
412
- <$inner>::try_from(middle)
413
- }
414
- }
415
-
416
- impl $outer {
417
- #[doc = "Unwrap a `"]
418
- #[doc = stringify!($inner)]
419
- #[doc = "` or panic."]
420
- #[inline]
421
- pub fn $unwrap(self) -> $inner {
422
- <$inner>::try_from(self).unwrap()
423
- }
424
- }
425
- )*
426
- };
427
- }
428
-
429
- define_wrapper_id! {
430
- /// An identifier pointing to any kind of type, component or core.
431
- #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
432
- pub enum AnyTypeId {
433
- #[unwrap = unwrap_component_core_type]
434
- /// A core type.
435
- Core(ComponentCoreTypeId),
436
-
437
- #[unwrap = unwrap_component_any_type]
438
- /// A component type.
439
- Component(ComponentAnyTypeId),
440
- }
441
- }
442
-
443
- define_transitive_conversions! {
444
- AnyTypeId, ComponentCoreTypeId, CoreTypeId, unwrap_core_type;
445
- AnyTypeId, ComponentCoreTypeId, ComponentCoreModuleTypeId, unwrap_component_core_module_type;
446
- AnyTypeId, ComponentAnyTypeId, AliasableResourceId, unwrap_aliasable_resource;
447
- AnyTypeId, ComponentAnyTypeId, ComponentDefinedTypeId, unwrap_component_defined_type;
448
- AnyTypeId, ComponentAnyTypeId, ComponentFuncTypeId, unwrap_component_func_type;
449
- AnyTypeId, ComponentAnyTypeId, ComponentInstanceTypeId, unwrap_component_instance_type;
450
- AnyTypeId, ComponentAnyTypeId, ComponentTypeId, unwrap_component_type;
451
- }
452
-
453
- impl AnyTypeId {
454
- /// Peel off one layer of aliasing from this type and return the aliased
455
- /// inner type, or `None` if this type is not aliasing anything.
456
- pub fn peel_alias(&self, types: &Types) -> Option<Self> {
457
- match *self {
458
- Self::Core(id) => id.peel_alias(types).map(Self::Core),
459
- Self::Component(id) => types.peel_alias(id).map(Self::Component),
460
- }
461
- }
462
- }
463
-
464
- define_wrapper_id! {
465
- /// An identifier for a core type or a core module's type.
466
- #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
467
- pub enum ComponentCoreTypeId {
468
- #[unwrap = unwrap_sub]
469
- /// A core type.
470
- Sub(CoreTypeId),
471
-
472
- #[unwrap = unwrap_module]
473
- /// A core module's type.
474
- Module(ComponentCoreModuleTypeId),
475
- }
476
- }
477
-
478
- impl ComponentCoreTypeId {
479
- /// Peel off one layer of aliasing from this type and return the aliased
480
- /// inner type, or `None` if this type is not aliasing anything.
481
- pub fn peel_alias(&self, types: &Types) -> Option<Self> {
482
- match *self {
483
- Self::Sub(_) => None,
484
- Self::Module(id) => types.peel_alias(id).map(Self::Module),
485
- }
486
- }
487
- }
488
-
489
- /// An aliasable resource identifier.
490
- #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
491
- pub struct AliasableResourceId {
492
- id: ResourceId,
493
- alias_id: u32,
494
- }
495
-
496
- impl Aliasable for AliasableResourceId {
497
- fn alias_id(&self) -> u32 {
498
- self.alias_id
499
- }
500
-
501
- fn set_alias_id(&mut self, alias_id: u32) {
502
- self.alias_id = alias_id;
503
- }
504
- }
505
-
506
- impl AliasableResourceId {
507
- /// Create a new instance with the specified resource ID and `self`'s alias
508
- /// ID.
509
- pub fn with_resource_id(&self, id: ResourceId) -> Self {
510
- Self {
511
- id,
512
- alias_id: self.alias_id,
513
- }
514
- }
515
-
516
- /// Get the underlying resource.
517
- pub fn resource(&self) -> ResourceId {
518
- self.id
519
- }
520
-
521
- pub(crate) fn resource_mut(&mut self) -> &mut ResourceId {
522
- &mut self.id
523
- }
524
- }
525
-
526
- define_wrapper_id! {
527
- /// An identifier for any kind of component type.
528
- #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
529
- pub enum ComponentAnyTypeId {
530
- #[unwrap = unwrap_resource]
531
- /// The type is a resource with the specified id.
532
- Resource(AliasableResourceId),
533
-
534
- #[unwrap = unwrap_defined]
535
- /// The type is a defined type with the specified id.
536
- Defined(ComponentDefinedTypeId),
537
-
538
- #[unwrap = unwrap_func]
539
- /// The type is a function type with the specified id.
540
- Func(ComponentFuncTypeId),
541
-
542
- #[unwrap = unwrap_instance]
543
- /// The type is an instance type with the specified id.
544
- Instance(ComponentInstanceTypeId),
545
-
546
- #[unwrap = unwrap_component]
547
- /// The type is a component type with the specified id.
548
- Component(ComponentTypeId),
549
- }
550
- }
551
-
552
- impl Aliasable for ComponentAnyTypeId {
553
- fn alias_id(&self) -> u32 {
554
- match self {
555
- ComponentAnyTypeId::Resource(x) => x.alias_id(),
556
- ComponentAnyTypeId::Defined(x) => x.alias_id(),
557
- ComponentAnyTypeId::Func(x) => x.alias_id(),
558
- ComponentAnyTypeId::Instance(x) => x.alias_id(),
559
- ComponentAnyTypeId::Component(x) => x.alias_id(),
560
- }
561
- }
562
-
563
- fn set_alias_id(&mut self, alias_id: u32) {
564
- match self {
565
- ComponentAnyTypeId::Resource(x) => x.set_alias_id(alias_id),
566
- ComponentAnyTypeId::Defined(x) => x.set_alias_id(alias_id),
567
- ComponentAnyTypeId::Func(x) => x.set_alias_id(alias_id),
568
- ComponentAnyTypeId::Instance(x) => x.set_alias_id(alias_id),
569
- ComponentAnyTypeId::Component(x) => x.set_alias_id(alias_id),
570
- }
571
- }
572
- }
573
-
574
- impl ComponentAnyTypeId {
575
- pub(crate) fn info(&self, types: &TypeList) -> TypeInfo {
576
- match *self {
577
- Self::Resource(_) => TypeInfo::new(),
578
- Self::Defined(id) => types[id].type_info(types),
579
- Self::Func(id) => types[id].type_info(types),
580
- Self::Instance(id) => types[id].type_info(types),
581
- Self::Component(id) => types[id].type_info(types),
582
- }
583
- }
584
-
585
- pub(crate) fn desc(&self) -> &'static str {
586
- match self {
587
- Self::Resource(_) => "resource",
588
- Self::Defined(_) => "defined type",
589
- Self::Func(_) => "func",
590
- Self::Instance(_) => "instance",
591
- Self::Component(_) => "component",
592
- }
593
- }
594
- }
595
-
596
- define_type_id!(
597
- RecGroupId,
598
- Range<CoreTypeId>,
599
- rec_group_elements,
600
- "recursion group"
601
- );
602
-
603
- impl TypeData for Range<CoreTypeId> {
604
- type Id = RecGroupId;
605
-
606
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
607
- let size = self.end.index() - self.start.index();
608
- TypeInfo::core(u32::try_from(size).unwrap())
609
- }
610
- }
611
-
612
- define_type_id!(ComponentTypeId, ComponentType, components, "component");
613
-
614
- define_type_id!(
615
- ComponentValueTypeId,
616
- ComponentValType,
617
- component_values,
618
- "component value"
619
- );
620
-
621
- define_type_id!(
622
- ComponentInstanceTypeId,
623
- ComponentInstanceType,
624
- component_instances,
625
- "component instance"
626
- );
627
-
628
- define_type_id!(
629
- ComponentFuncTypeId,
630
- ComponentFuncType,
631
- component_funcs,
632
- "component function"
633
- );
634
-
635
- define_type_id!(
636
- ComponentCoreInstanceTypeId,
637
- InstanceType,
638
- core_instances,
639
- "component's core instance"
640
- );
641
-
642
- define_type_id!(
643
- ComponentCoreModuleTypeId,
644
- ModuleType,
645
- core_modules,
646
- "component's core module"
647
- );
648
-
649
- /// Represents a unique identifier for a component type type known to a
650
- /// [`crate::Validator`].
651
- #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
652
- #[repr(C)]
653
- pub struct ComponentDefinedTypeId {
654
- index: u32,
655
- alias_id: u32,
656
- }
657
-
658
- const _: () = {
659
- assert!(std::mem::size_of::<ComponentDefinedTypeId>() <= 8);
660
- };
661
-
662
- impl TypeIdentifier for ComponentDefinedTypeId {
663
- type Data = ComponentDefinedType;
664
-
665
- fn from_index(index: u32) -> Self {
666
- ComponentDefinedTypeId {
667
- index,
668
- alias_id: NO_ALIAS,
669
- }
670
- }
671
-
672
- fn list(types: &TypeList) -> &SnapshotList<Self::Data> {
673
- &types.component_defined_types
674
- }
675
-
676
- fn list_mut(types: &mut TypeList) -> &mut SnapshotList<Self::Data> {
677
- &mut types.component_defined_types
678
- }
679
-
680
- fn index(&self) -> usize {
681
- usize::try_from(self.index).unwrap()
682
- }
683
- }
684
-
685
- impl Aliasable for ComponentDefinedTypeId {
686
- fn alias_id(&self) -> u32 {
687
- self.alias_id
688
- }
689
-
690
- fn set_alias_id(&mut self, alias_id: u32) {
691
- self.alias_id = alias_id;
692
- }
693
- }
694
-
695
- /// Metadata about a type and its transitive structure.
696
- ///
697
- /// Currently contains two properties:
698
- ///
699
- /// * The "size" of a type - a proxy to the recursive size of a type if
700
- /// everything in the type were unique (e.g. no shared references). Not an
701
- /// approximation of runtime size, but instead of type-complexity size if
702
- /// someone were to visit each element of the type individually. For example
703
- /// `u32` has size 1 and `(list u32)` has size 2 (roughly). Used to prevent
704
- /// massive trees of types.
705
- ///
706
- /// * Whether or not a type contains a "borrow" transitively inside of it. For
707
- /// example `(borrow $t)` and `(list (borrow $t))` both contain borrows, but
708
- /// `(list u32)` does not. Used to validate that component function results do
709
- /// not contain borrows.
710
- ///
711
- /// Currently this is represented as a compact 32-bit integer to ensure that
712
- /// `TypeId`, which this is stored in, remains relatively small. The maximum
713
- /// type size allowed in wasmparser is 1M at this time which is 20 bits of
714
- /// information, and then one more bit is used for whether or not a borrow is
715
- /// used. Currently this uses the low 24 bits for the type size and the MSB for
716
- /// the borrow bit.
717
- #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
718
- // Only public because it shows up in a public trait's `doc(hidden)` method.
719
- #[doc(hidden)]
720
- pub struct TypeInfo(u32);
721
-
722
- impl TypeInfo {
723
- /// Creates a new blank set of type information.
724
- ///
725
- /// Defaults to size 1 to ensure that this consumes space in the final type
726
- /// structure.
727
- pub(crate) fn new() -> TypeInfo {
728
- TypeInfo::_new(1, false)
729
- }
730
-
731
- /// Creates a new blank set of information about a leaf "borrow" type which
732
- /// has size 1.
733
- pub(crate) fn borrow() -> TypeInfo {
734
- TypeInfo::_new(1, true)
735
- }
736
-
737
- /// Creates type information corresponding to a core type of the `size`
738
- /// specified, meaning no borrows are contained within.
739
- pub(crate) fn core(size: u32) -> TypeInfo {
740
- TypeInfo::_new(size, false)
741
- }
742
-
743
- fn _new(size: u32, contains_borrow: bool) -> TypeInfo {
744
- assert!(size < (1 << 24));
745
- TypeInfo(size | ((contains_borrow as u32) << 31))
746
- }
747
-
748
- /// Combines another set of type information into this one, for example if
749
- /// this is a record which has `other` as a field.
750
- ///
751
- /// Updates the size of `self` and whether or not this type contains a
752
- /// borrow based on whether `other` contains a borrow.
753
- ///
754
- /// Returns an error if the type size would exceed this crate's static limit
755
- /// of a type size.
756
- pub(crate) fn combine(&mut self, other: TypeInfo, offset: usize) -> Result<()> {
757
- *self = TypeInfo::_new(
758
- super::combine_type_sizes(self.size(), other.size(), offset)?,
759
- self.contains_borrow() || other.contains_borrow(),
760
- );
761
- Ok(())
762
- }
763
-
764
- pub(crate) fn size(&self) -> u32 {
765
- self.0 & 0xffffff
766
- }
767
-
768
- pub(crate) fn contains_borrow(&self) -> bool {
769
- (self.0 >> 31) != 0
770
- }
771
- }
772
-
773
- /// A component value type.
774
- #[derive(Debug, Clone, Copy)]
775
- pub enum ComponentValType {
776
- /// The value type is one of the primitive types.
777
- Primitive(PrimitiveValType),
778
- /// The type is represented with the given type identifier.
779
- Type(ComponentDefinedTypeId),
780
- }
781
-
782
- impl TypeData for ComponentValType {
783
- type Id = ComponentValueTypeId;
784
-
785
- fn type_info(&self, types: &TypeList) -> TypeInfo {
786
- match self {
787
- ComponentValType::Primitive(_) => TypeInfo::new(),
788
- ComponentValType::Type(id) => types[*id].type_info(types),
789
- }
790
- }
791
- }
792
-
793
- impl ComponentValType {
794
- pub(crate) fn contains_ptr(&self, types: &TypeList) -> bool {
795
- match self {
796
- ComponentValType::Primitive(ty) => ty.contains_ptr(),
797
- ComponentValType::Type(ty) => types[*ty].contains_ptr(types),
798
- }
799
- }
800
-
801
- fn push_wasm_types(&self, types: &TypeList, lowered_types: &mut LoweredTypes) -> bool {
802
- match self {
803
- Self::Primitive(ty) => push_primitive_wasm_types(ty, lowered_types),
804
- Self::Type(id) => types[*id].push_wasm_types(types, lowered_types),
805
- }
806
- }
807
-
808
- pub(crate) fn info(&self, types: &TypeList) -> TypeInfo {
809
- match self {
810
- Self::Primitive(_) => TypeInfo::new(),
811
- Self::Type(id) => types[*id].type_info(types),
812
- }
813
- }
814
- }
815
-
816
- /// The entity type for imports and exports of a module.
817
- #[derive(Debug, Clone, Copy)]
818
- pub enum EntityType {
819
- /// The entity is a function.
820
- Func(CoreTypeId),
821
- /// The entity is a table.
822
- Table(TableType),
823
- /// The entity is a memory.
824
- Memory(MemoryType),
825
- /// The entity is a global.
826
- Global(GlobalType),
827
- /// The entity is a tag.
828
- Tag(CoreTypeId),
829
- }
830
-
831
- impl EntityType {
832
- pub(crate) fn desc(&self) -> &'static str {
833
- match self {
834
- Self::Func(_) => "func",
835
- Self::Table(_) => "table",
836
- Self::Memory(_) => "memory",
837
- Self::Global(_) => "global",
838
- Self::Tag(_) => "tag",
839
- }
840
- }
841
-
842
- pub(crate) fn info(&self, types: &TypeList) -> TypeInfo {
843
- match self {
844
- Self::Func(id) | Self::Tag(id) => types[*id].type_info(types),
845
- Self::Table(_) | Self::Memory(_) | Self::Global(_) => TypeInfo::new(),
846
- }
847
- }
848
- }
849
-
850
- trait ModuleImportKey {
851
- fn module(&self) -> &str;
852
- fn name(&self) -> &str;
853
- }
854
-
855
- impl<'a> Borrow<dyn ModuleImportKey + 'a> for (String, String) {
856
- fn borrow(&self) -> &(dyn ModuleImportKey + 'a) {
857
- self
858
- }
859
- }
860
-
861
- impl Hash for (dyn ModuleImportKey + '_) {
862
- fn hash<H: Hasher>(&self, state: &mut H) {
863
- self.module().hash(state);
864
- self.name().hash(state);
865
- }
866
- }
867
-
868
- impl PartialEq for (dyn ModuleImportKey + '_) {
869
- fn eq(&self, other: &Self) -> bool {
870
- self.module() == other.module() && self.name() == other.name()
871
- }
872
- }
873
-
874
- impl Eq for (dyn ModuleImportKey + '_) {}
875
-
876
- impl ModuleImportKey for (String, String) {
877
- fn module(&self) -> &str {
878
- &self.0
879
- }
880
-
881
- fn name(&self) -> &str {
882
- &self.1
883
- }
884
- }
885
-
886
- impl ModuleImportKey for (&str, &str) {
887
- fn module(&self) -> &str {
888
- self.0
889
- }
890
-
891
- fn name(&self) -> &str {
892
- self.1
893
- }
894
- }
895
-
896
- /// Represents a core module type.
897
- #[derive(Debug, Clone)]
898
- pub struct ModuleType {
899
- /// Metadata about this module type
900
- pub(crate) info: TypeInfo,
901
- /// The imports of the module type.
902
- pub imports: IndexMap<(String, String), EntityType>,
903
- /// The exports of the module type.
904
- pub exports: IndexMap<String, EntityType>,
905
- }
906
-
907
- impl TypeData for ModuleType {
908
- type Id = ComponentCoreModuleTypeId;
909
-
910
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
911
- self.info
912
- }
913
- }
914
-
915
- impl ModuleType {
916
- /// Looks up an import by its module and name.
917
- ///
918
- /// Returns `None` if the import was not found.
919
- pub fn lookup_import(&self, module: &str, name: &str) -> Option<&EntityType> {
920
- self.imports.get(&(module, name) as &dyn ModuleImportKey)
921
- }
922
- }
923
-
924
- /// Represents the kind of module instance type.
925
- #[derive(Debug, Clone)]
926
- pub enum CoreInstanceTypeKind {
927
- /// The instance type is the result of instantiating a module type.
928
- Instantiated(ComponentCoreModuleTypeId),
929
-
930
- /// The instance type is the result of instantiating from exported items.
931
- Exports(IndexMap<String, EntityType>),
932
- }
933
-
934
- /// Represents a module instance type.
935
- #[derive(Debug, Clone)]
936
- pub struct InstanceType {
937
- /// Metadata about this instance type
938
- pub(crate) info: TypeInfo,
939
- /// The kind of module instance type.
940
- pub kind: CoreInstanceTypeKind,
941
- }
942
-
943
- impl TypeData for InstanceType {
944
- type Id = ComponentCoreInstanceTypeId;
945
-
946
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
947
- self.info
948
- }
949
- }
950
-
951
- impl InstanceType {
952
- /// Gets the exports of the instance type.
953
- pub fn exports<'a>(&'a self, types: TypesRef<'a>) -> &'a IndexMap<String, EntityType> {
954
- self.internal_exports(types.list)
955
- }
956
-
957
- pub(crate) fn internal_exports<'a>(
958
- &'a self,
959
- types: &'a TypeList,
960
- ) -> &'a IndexMap<String, EntityType> {
961
- match &self.kind {
962
- CoreInstanceTypeKind::Instantiated(id) => &types[*id].exports,
963
- CoreInstanceTypeKind::Exports(exports) => exports,
964
- }
965
- }
966
- }
967
-
968
- /// The entity type for imports and exports of a component.
969
- #[derive(Debug, Clone, Copy)]
970
- pub enum ComponentEntityType {
971
- /// The entity is a core module.
972
- Module(ComponentCoreModuleTypeId),
973
- /// The entity is a function.
974
- Func(ComponentFuncTypeId),
975
- /// The entity is a value.
976
- Value(ComponentValType),
977
- /// The entity is a type.
978
- Type {
979
- /// This is the identifier of the type that was referenced when this
980
- /// entity was created.
981
- referenced: ComponentAnyTypeId,
982
- /// This is the identifier of the type that was created when this type
983
- /// was imported or exported from the component.
984
- ///
985
- /// Note that the underlying type information for the `referenced`
986
- /// field and for this `created` field is the same, but these two types
987
- /// will hash to different values.
988
- created: ComponentAnyTypeId,
989
- },
990
- /// The entity is a component instance.
991
- Instance(ComponentInstanceTypeId),
992
- /// The entity is a component.
993
- Component(ComponentTypeId),
994
- }
995
-
996
- impl ComponentEntityType {
997
- /// Determines if component entity type `a` is a subtype of `b`.
998
- pub fn is_subtype_of(a: &Self, at: TypesRef, b: &Self, bt: TypesRef) -> bool {
999
- SubtypeCx::new(at.list, bt.list)
1000
- .component_entity_type(a, b, 0)
1001
- .is_ok()
1002
- }
1003
-
1004
- pub(crate) fn desc(&self) -> &'static str {
1005
- match self {
1006
- Self::Module(_) => "module",
1007
- Self::Func(_) => "func",
1008
- Self::Value(_) => "value",
1009
- Self::Type { .. } => "type",
1010
- Self::Instance(_) => "instance",
1011
- Self::Component(_) => "component",
1012
- }
1013
- }
1014
-
1015
- pub(crate) fn info(&self, types: &TypeList) -> TypeInfo {
1016
- match self {
1017
- Self::Module(ty) => types[*ty].type_info(types),
1018
- Self::Func(ty) => types[*ty].type_info(types),
1019
- Self::Type { referenced: ty, .. } => ty.info(types),
1020
- Self::Instance(ty) => types[*ty].type_info(types),
1021
- Self::Component(ty) => types[*ty].type_info(types),
1022
- Self::Value(ty) => ty.info(types),
1023
- }
1024
- }
1025
- }
1026
-
1027
- /// Represents a type of a component.
1028
- #[derive(Debug, Clone)]
1029
- pub struct ComponentType {
1030
- /// Metadata about this component type
1031
- pub(crate) info: TypeInfo,
1032
-
1033
- /// The imports of the component type.
1034
- ///
1035
- /// Each import has its own kebab-name and an optional URL listed. Note that
1036
- /// the set of import names is disjoint with the set of export names.
1037
- pub imports: IndexMap<String, ComponentEntityType>,
1038
-
1039
- /// The exports of the component type.
1040
- ///
1041
- /// Each export has its own kebab-name and an optional URL listed. Note that
1042
- /// the set of export names is disjoint with the set of import names.
1043
- pub exports: IndexMap<String, ComponentEntityType>,
1044
-
1045
- /// Universally quantified resources required to be provided when
1046
- /// instantiating this component type.
1047
- ///
1048
- /// Each resource in this map is explicitly imported somewhere in the
1049
- /// `imports` map. The "path" to where it's imported is specified by the
1050
- /// `Vec<usize>` payload here. For more information about the indexes see
1051
- /// the documentation on `ComponentState::imported_resources`.
1052
- ///
1053
- /// This should technically be inferrable from the structure of `imports`,
1054
- /// but it's stored as an auxiliary set for subtype checking and
1055
- /// instantiation.
1056
- ///
1057
- /// Note that this is not a set of all resources referred to by the
1058
- /// `imports`. Instead it's only those created, relative to the internals of
1059
- /// this component, by the imports.
1060
- pub imported_resources: Vec<(ResourceId, Vec<usize>)>,
1061
-
1062
- /// The dual of the `imported_resources`, or the set of defined
1063
- /// resources -- those created through the instantiation process which are
1064
- /// unique to this component.
1065
- ///
1066
- /// This set is similar to the `imported_resources` set but it's those
1067
- /// contained within the `exports`. Instantiating this component will
1068
- /// create fresh new versions of all of these resources. The path here is
1069
- /// within the `exports` array.
1070
- pub defined_resources: Vec<(ResourceId, Vec<usize>)>,
1071
-
1072
- /// The set of all resources which are explicitly exported by this
1073
- /// component, and where they're exported.
1074
- ///
1075
- /// This mapping is stored separately from `defined_resources` to ensure
1076
- /// that it contains all exported resources, not just those which are
1077
- /// defined. That means that this can cover reexports of imported
1078
- /// resources, exports of local resources, or exports of closed-over
1079
- /// resources for example.
1080
- pub explicit_resources: IndexMap<ResourceId, Vec<usize>>,
1081
- }
1082
-
1083
- impl TypeData for ComponentType {
1084
- type Id = ComponentTypeId;
1085
-
1086
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
1087
- self.info
1088
- }
1089
- }
1090
-
1091
- /// Represents a type of a component instance.
1092
- #[derive(Debug, Clone)]
1093
- pub struct ComponentInstanceType {
1094
- /// Metadata about this instance type
1095
- pub(crate) info: TypeInfo,
1096
-
1097
- /// The list of exports, keyed by name, that this instance has.
1098
- ///
1099
- /// An optional URL and type of each export is provided as well.
1100
- pub exports: IndexMap<String, ComponentEntityType>,
1101
-
1102
- /// The list of "defined resources" or those which are closed over in
1103
- /// this instance type.
1104
- ///
1105
- /// This list is populated, for example, when the type of an instance is
1106
- /// declared and it contains its own resource type exports defined
1107
- /// internally. For example:
1108
- ///
1109
- /// ```wasm
1110
- /// (component
1111
- /// (type (instance
1112
- /// (export "x" (type sub resource)) ;; one `defined_resources` entry
1113
- /// ))
1114
- /// )
1115
- /// ```
1116
- ///
1117
- /// This list is also a bit of an oddity, however, because the type of a
1118
- /// concrete instance will always have this as empty. For example:
1119
- ///
1120
- /// ```wasm
1121
- /// (component
1122
- /// (type $t (instance (export "x" (type sub resource))))
1123
- ///
1124
- /// ;; the type of this instance has no defined resources
1125
- /// (import "i" (instance (type $t)))
1126
- /// )
1127
- /// ```
1128
- ///
1129
- /// This list ends up only being populated for instance types declared in a
1130
- /// module which aren't yet "attached" to anything. Once something is
1131
- /// instantiated, imported, exported, or otherwise refers to a concrete
1132
- /// instance then this list is always empty. For concrete instances
1133
- /// defined resources are tracked in the component state or component type.
1134
- pub defined_resources: Vec<ResourceId>,
1135
-
1136
- /// The list of all resources that are explicitly exported from this
1137
- /// instance type along with the path they're exported at.
1138
- pub explicit_resources: IndexMap<ResourceId, Vec<usize>>,
1139
- }
1140
-
1141
- impl TypeData for ComponentInstanceType {
1142
- type Id = ComponentInstanceTypeId;
1143
-
1144
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
1145
- self.info
1146
- }
1147
- }
1148
-
1149
- /// Represents a type of a component function.
1150
- #[derive(Debug, Clone)]
1151
- pub struct ComponentFuncType {
1152
- /// Metadata about this function type.
1153
- pub(crate) info: TypeInfo,
1154
- /// The function parameters.
1155
- pub params: Box<[(KebabString, ComponentValType)]>,
1156
- /// The function's results.
1157
- pub results: Box<[(Option<KebabString>, ComponentValType)]>,
1158
- }
1159
-
1160
- impl TypeData for ComponentFuncType {
1161
- type Id = ComponentFuncTypeId;
1162
-
1163
- fn type_info(&self, _types: &TypeList) -> TypeInfo {
1164
- self.info
1165
- }
1166
- }
1167
-
1168
- impl ComponentFuncType {
1169
- /// Lowers the component function type to core parameter and result types for the
1170
- /// canonical ABI.
1171
- pub(crate) fn lower(&self, types: &TypeList, is_lower: bool) -> LoweringInfo {
1172
- let mut info = LoweringInfo::default();
1173
-
1174
- for (_, ty) in self.params.iter() {
1175
- // Check to see if `ty` has a pointer somewhere in it, needed for
1176
- // any type that transitively contains either a string or a list.
1177
- // In this situation lowered functions must specify `memory`, and
1178
- // lifted functions must specify `realloc` as well. Lifted functions
1179
- // gain their memory requirement through the final clause of this
1180
- // function.
1181
- if is_lower {
1182
- if !info.requires_memory {
1183
- info.requires_memory = ty.contains_ptr(types);
1184
- }
1185
- } else {
1186
- if !info.requires_realloc {
1187
- info.requires_realloc = ty.contains_ptr(types);
1188
- }
1189
- }
1190
-
1191
- if !ty.push_wasm_types(types, &mut info.params) {
1192
- // Too many parameters to pass directly
1193
- // Function will have a single pointer parameter to pass the arguments
1194
- // via linear memory
1195
- info.params.clear();
1196
- assert!(info.params.push(ValType::I32));
1197
- info.requires_memory = true;
1198
-
1199
- // We need realloc as well when lifting a function
1200
- if !is_lower {
1201
- info.requires_realloc = true;
1202
- }
1203
- break;
1204
- }
1205
- }
1206
-
1207
- for (_, ty) in self.results.iter() {
1208
- // Results of lowered functions that contains pointers must be
1209
- // allocated by the callee meaning that realloc is required.
1210
- // Results of lifted function are allocated by the guest which
1211
- // means that no realloc option is necessary.
1212
- if is_lower && !info.requires_realloc {
1213
- info.requires_realloc = ty.contains_ptr(types);
1214
- }
1215
-
1216
- if !ty.push_wasm_types(types, &mut info.results) {
1217
- // Too many results to return directly, either a retptr parameter will be used (import)
1218
- // or a single pointer will be returned (export)
1219
- info.results.clear();
1220
- if is_lower {
1221
- info.params.max = MAX_LOWERED_TYPES;
1222
- assert!(info.params.push(ValType::I32));
1223
- } else {
1224
- assert!(info.results.push(ValType::I32));
1225
- }
1226
- info.requires_memory = true;
1227
- break;
1228
- }
1229
- }
1230
-
1231
- // Memory is always required when realloc is required
1232
- info.requires_memory |= info.requires_realloc;
1233
-
1234
- info
1235
- }
1236
- }
1237
-
1238
- /// Represents a variant case.
1239
- #[derive(Debug, Clone)]
1240
- pub struct VariantCase {
1241
- /// The variant case type.
1242
- pub ty: Option<ComponentValType>,
1243
- /// The name of the variant case refined by this one.
1244
- pub refines: Option<KebabString>,
1245
- }
1246
-
1247
- /// Represents a record type.
1248
- #[derive(Debug, Clone)]
1249
- pub struct RecordType {
1250
- /// Metadata about this record type.
1251
- pub(crate) info: TypeInfo,
1252
- /// The map of record fields.
1253
- pub fields: IndexMap<KebabString, ComponentValType>,
1254
- }
1255
-
1256
- /// Represents a variant type.
1257
- #[derive(Debug, Clone)]
1258
- pub struct VariantType {
1259
- /// Metadata about this variant type.
1260
- pub(crate) info: TypeInfo,
1261
- /// The map of variant cases.
1262
- pub cases: IndexMap<KebabString, VariantCase>,
1263
- }
1264
-
1265
- /// Represents a tuple type.
1266
- #[derive(Debug, Clone)]
1267
- pub struct TupleType {
1268
- /// Metadata about this tuple type.
1269
- pub(crate) info: TypeInfo,
1270
- /// The types of the tuple.
1271
- pub types: Box<[ComponentValType]>,
1272
- }
1273
-
1274
- /// Represents a component defined type.
1275
- #[derive(Debug, Clone)]
1276
- pub enum ComponentDefinedType {
1277
- /// The type is a primitive value type.
1278
- Primitive(PrimitiveValType),
1279
- /// The type is a record.
1280
- Record(RecordType),
1281
- /// The type is a variant.
1282
- Variant(VariantType),
1283
- /// The type is a list.
1284
- List(ComponentValType),
1285
- /// The type is a tuple.
1286
- Tuple(TupleType),
1287
- /// The type is a set of flags.
1288
- Flags(IndexSet<KebabString>),
1289
- /// The type is an enumeration.
1290
- Enum(IndexSet<KebabString>),
1291
- /// The type is an `option`.
1292
- Option(ComponentValType),
1293
- /// The type is a `result`.
1294
- Result {
1295
- /// The `ok` type.
1296
- ok: Option<ComponentValType>,
1297
- /// The `error` type.
1298
- err: Option<ComponentValType>,
1299
- },
1300
- /// The type is an owned handle to the specified resource.
1301
- Own(AliasableResourceId),
1302
- /// The type is a borrowed handle to the specified resource.
1303
- Borrow(AliasableResourceId),
1304
- }
1305
-
1306
- impl TypeData for ComponentDefinedType {
1307
- type Id = ComponentDefinedTypeId;
1308
-
1309
- fn type_info(&self, types: &TypeList) -> TypeInfo {
1310
- match self {
1311
- Self::Primitive(_) | Self::Flags(_) | Self::Enum(_) | Self::Own(_) => TypeInfo::new(),
1312
- Self::Borrow(_) => TypeInfo::borrow(),
1313
- Self::Record(r) => r.info,
1314
- Self::Variant(v) => v.info,
1315
- Self::Tuple(t) => t.info,
1316
- Self::List(ty) | Self::Option(ty) => ty.info(types),
1317
- Self::Result { ok, err } => {
1318
- let default = TypeInfo::new();
1319
- let mut info = ok.map(|ty| ty.type_info(types)).unwrap_or(default);
1320
- info.combine(err.map(|ty| ty.type_info(types)).unwrap_or(default), 0)
1321
- .unwrap();
1322
- info
1323
- }
1324
- }
1325
- }
1326
- }
1327
-
1328
- impl ComponentDefinedType {
1329
- pub(crate) fn contains_ptr(&self, types: &TypeList) -> bool {
1330
- match self {
1331
- Self::Primitive(ty) => ty.contains_ptr(),
1332
- Self::Record(r) => r.fields.values().any(|ty| ty.contains_ptr(types)),
1333
- Self::Variant(v) => v
1334
- .cases
1335
- .values()
1336
- .any(|case| case.ty.map(|ty| ty.contains_ptr(types)).unwrap_or(false)),
1337
- Self::List(_) => true,
1338
- Self::Tuple(t) => t.types.iter().any(|ty| ty.contains_ptr(types)),
1339
- Self::Flags(_) | Self::Enum(_) | Self::Own(_) | Self::Borrow(_) => false,
1340
- Self::Option(ty) => ty.contains_ptr(types),
1341
- Self::Result { ok, err } => {
1342
- ok.map(|ty| ty.contains_ptr(types)).unwrap_or(false)
1343
- || err.map(|ty| ty.contains_ptr(types)).unwrap_or(false)
1344
- }
1345
- }
1346
- }
1347
-
1348
- fn push_wasm_types(&self, types: &TypeList, lowered_types: &mut LoweredTypes) -> bool {
1349
- match self {
1350
- Self::Primitive(ty) => push_primitive_wasm_types(ty, lowered_types),
1351
- Self::Record(r) => r
1352
- .fields
1353
- .iter()
1354
- .all(|(_, ty)| ty.push_wasm_types(types, lowered_types)),
1355
- Self::Variant(v) => Self::push_variant_wasm_types(
1356
- v.cases.iter().filter_map(|(_, case)| case.ty.as_ref()),
1357
- types,
1358
- lowered_types,
1359
- ),
1360
- Self::List(_) => lowered_types.push(ValType::I32) && lowered_types.push(ValType::I32),
1361
- Self::Tuple(t) => t
1362
- .types
1363
- .iter()
1364
- .all(|ty| ty.push_wasm_types(types, lowered_types)),
1365
- Self::Flags(names) => {
1366
- (0..(names.len() + 31) / 32).all(|_| lowered_types.push(ValType::I32))
1367
- }
1368
- Self::Enum(_) | Self::Own(_) | Self::Borrow(_) => lowered_types.push(ValType::I32),
1369
- Self::Option(ty) => {
1370
- Self::push_variant_wasm_types([ty].into_iter(), types, lowered_types)
1371
- }
1372
- Self::Result { ok, err } => {
1373
- Self::push_variant_wasm_types(ok.iter().chain(err.iter()), types, lowered_types)
1374
- }
1375
- }
1376
- }
1377
-
1378
- fn push_variant_wasm_types<'a>(
1379
- cases: impl Iterator<Item = &'a ComponentValType>,
1380
- types: &TypeList,
1381
- lowered_types: &mut LoweredTypes,
1382
- ) -> bool {
1383
- // Push the discriminant
1384
- if !lowered_types.push(ValType::I32) {
1385
- return false;
1386
- }
1387
-
1388
- let start = lowered_types.len();
1389
-
1390
- for ty in cases {
1391
- let mut temp = LoweredTypes::new(lowered_types.max);
1392
-
1393
- if !ty.push_wasm_types(types, &mut temp) {
1394
- return false;
1395
- }
1396
-
1397
- for (i, ty) in temp.iter().enumerate() {
1398
- match lowered_types.get_mut(start + i) {
1399
- Some(prev) => *prev = Self::join_types(*prev, ty),
1400
- None => {
1401
- if !lowered_types.push(ty) {
1402
- return false;
1403
- }
1404
- }
1405
- }
1406
- }
1407
- }
1408
-
1409
- true
1410
- }
1411
-
1412
- fn join_types(a: ValType, b: ValType) -> ValType {
1413
- use ValType::*;
1414
-
1415
- match (a, b) {
1416
- (I32, I32) | (I64, I64) | (F32, F32) | (F64, F64) => a,
1417
- (I32, F32) | (F32, I32) => I32,
1418
- (_, I64 | F64) | (I64 | F64, _) => I64,
1419
- _ => panic!("unexpected wasm type for canonical ABI"),
1420
- }
1421
- }
1422
-
1423
- fn desc(&self) -> &'static str {
1424
- match self {
1425
- ComponentDefinedType::Record(_) => "record",
1426
- ComponentDefinedType::Primitive(_) => "primitive",
1427
- ComponentDefinedType::Variant(_) => "variant",
1428
- ComponentDefinedType::Tuple(_) => "tuple",
1429
- ComponentDefinedType::Enum(_) => "enum",
1430
- ComponentDefinedType::Flags(_) => "flags",
1431
- ComponentDefinedType::Option(_) => "option",
1432
- ComponentDefinedType::List(_) => "list",
1433
- ComponentDefinedType::Result { .. } => "result",
1434
- ComponentDefinedType::Own(_) => "own",
1435
- ComponentDefinedType::Borrow(_) => "borrow",
1436
- }
1437
- }
1438
- }
1439
-
1440
- /// An opaque identifier intended to be used to distinguish whether two
1441
- /// resource types are equivalent or not.
1442
- #[derive(Debug, Clone, PartialEq, Eq, Hash, Ord, PartialOrd, Copy)]
1443
- #[repr(packed(4))] // try to not waste 4 bytes in padding
1444
- pub struct ResourceId {
1445
- // This is a globally unique identifier which is assigned once per
1446
- // `TypeAlloc`. This ensures that resource identifiers from different
1447
- // instances of `Types`, for example, are considered unique.
1448
- //
1449
- // Technically 64-bits should be enough for all resource ids ever, but
1450
- // they're allocated so often it's predicted that an atomic increment
1451
- // per resource id is probably too expensive. To amortize that cost each
1452
- // top-level wasm component gets a single globally unique identifier, and
1453
- // then within a component contextually unique identifiers are handed out.
1454
- globally_unique_id: u64,
1455
-
1456
- // A contextually unique id within the globally unique id above. This is
1457
- // allocated within a `TypeAlloc` with its own counter, and allocations of
1458
- // this are cheap as nothing atomic is required.
1459
- //
1460
- // The 32-bit storage here should ideally be enough for any component
1461
- // containing resources. If memory usage becomes an issue (this struct is
1462
- // 12 bytes instead of 8 or 4) then this could get folded into the globally
1463
- // unique id with everything using an atomic increment perhaps.
1464
- contextually_unique_id: u32,
1465
- }
1466
-
1467
- #[allow(clippy::large_enum_variant)]
1468
- enum TypesKind {
1469
- Module(Arc<Module>),
1470
- Component(ComponentState),
1471
- }
1472
-
1473
- /// Represents the types known to a [`crate::Validator`] once validation has completed.
1474
- ///
1475
- /// The type information is returned via the [`crate::Validator::end`] method.
1476
- pub struct Types {
1477
- list: TypeList,
1478
- kind: TypesKind,
1479
- }
1480
-
1481
- #[derive(Clone, Copy)]
1482
- enum TypesRefKind<'a> {
1483
- Module(&'a Module),
1484
- Component(&'a ComponentState),
1485
- }
1486
-
1487
- /// Represents the types known to a [`crate::Validator`] during validation.
1488
- ///
1489
- /// Retrieved via the [`crate::Validator::types`] method.
1490
- #[derive(Clone, Copy)]
1491
- pub struct TypesRef<'a> {
1492
- list: &'a TypeList,
1493
- kind: TypesRefKind<'a>,
1494
- }
1495
-
1496
- impl<'a> TypesRef<'a> {
1497
- pub(crate) fn from_module(types: &'a TypeList, module: &'a Module) -> Self {
1498
- Self {
1499
- list: types,
1500
- kind: TypesRefKind::Module(module),
1501
- }
1502
- }
1503
-
1504
- pub(crate) fn from_component(types: &'a TypeList, component: &'a ComponentState) -> Self {
1505
- Self {
1506
- list: types,
1507
- kind: TypesRefKind::Component(component),
1508
- }
1509
- }
1510
-
1511
- /// Gets a type based on its type id.
1512
- ///
1513
- /// Returns `None` if the type id is unknown.
1514
- pub fn get<T>(&self, id: T) -> Option<&'a T::Data>
1515
- where
1516
- T: TypeIdentifier,
1517
- {
1518
- self.list.get(id)
1519
- }
1520
-
1521
- /// Gets a core WebAssembly type id from a type index.
1522
- ///
1523
- /// Note that this is in contrast to [`TypesRef::component_type_at`] which
1524
- /// gets a component type from its index.
1525
- ///
1526
- /// # Panics
1527
- ///
1528
- /// This will panic if the `index` provided is out of bounds.
1529
- pub fn core_type_at(&self, index: u32) -> ComponentCoreTypeId {
1530
- match &self.kind {
1531
- TypesRefKind::Module(module) => ComponentCoreTypeId::Sub(module.types[index as usize]),
1532
- TypesRefKind::Component(component) => component.core_types[index as usize],
1533
- }
1534
- }
1535
-
1536
- /// Gets a type id from a type index.
1537
- ///
1538
- /// # Panics
1539
- ///
1540
- /// Panics if `index` is not a valid type index or if this type information
1541
- /// represents a core module.
1542
- pub fn component_any_type_at(&self, index: u32) -> ComponentAnyTypeId {
1543
- match &self.kind {
1544
- TypesRefKind::Module(_) => panic!("not a component"),
1545
- TypesRefKind::Component(component) => component.types[index as usize],
1546
- }
1547
- }
1548
-
1549
- /// Gets a component type id from a type index.
1550
- ///
1551
- /// # Panics
1552
- ///
1553
- /// Panics if `index` is not a valid component type index or if this type
1554
- /// information represents a core module.
1555
- pub fn component_type_at(&self, index: u32) -> ComponentTypeId {
1556
- match self.component_any_type_at(index) {
1557
- ComponentAnyTypeId::Component(id) => id,
1558
- _ => panic!("not a component type"),
1559
- }
1560
- }
1561
-
1562
- /// Gets a type id from a type index.
1563
- ///
1564
- /// # Panics
1565
- ///
1566
- /// Panics if `index` is not a valid function index or if this type
1567
- /// information represents a core module.
1568
- pub fn component_defined_type_at(&self, index: u32) -> ComponentDefinedTypeId {
1569
- match self.component_any_type_at(index) {
1570
- ComponentAnyTypeId::Defined(id) => id,
1571
- _ => panic!("not a defined type"),
1572
- }
1573
- }
1574
-
1575
- /// Returns the number of core types defined so far.
1576
- pub fn core_type_count(&self) -> u32 {
1577
- match &self.kind {
1578
- TypesRefKind::Module(module) => module.types.len() as u32,
1579
- TypesRefKind::Component(component) => component.core_types.len() as u32,
1580
- }
1581
- }
1582
-
1583
- /// Returns the number of component types defined so far.
1584
- pub fn component_type_count(&self) -> u32 {
1585
- match &self.kind {
1586
- TypesRefKind::Module(_module) => 0,
1587
- TypesRefKind::Component(component) => component.types.len() as u32,
1588
- }
1589
- }
1590
-
1591
- /// Gets the type of a table at the given table index.
1592
- ///
1593
- /// # Panics
1594
- ///
1595
- /// This will panic if the `index` provided is out of bounds.
1596
- pub fn table_at(&self, index: u32) -> TableType {
1597
- let tables = match &self.kind {
1598
- TypesRefKind::Module(module) => &module.tables,
1599
- TypesRefKind::Component(component) => &component.core_tables,
1600
- };
1601
- tables[index as usize]
1602
- }
1603
-
1604
- /// Returns the number of tables defined so far.
1605
- pub fn table_count(&self) -> u32 {
1606
- match &self.kind {
1607
- TypesRefKind::Module(module) => module.tables.len() as u32,
1608
- TypesRefKind::Component(component) => component.core_tables.len() as u32,
1609
- }
1610
- }
1611
-
1612
- /// Gets the type of a memory at the given memory index.
1613
- ///
1614
- /// # Panics
1615
- ///
1616
- /// This will panic if the `index` provided is out of bounds.
1617
- pub fn memory_at(&self, index: u32) -> MemoryType {
1618
- let memories = match &self.kind {
1619
- TypesRefKind::Module(module) => &module.memories,
1620
- TypesRefKind::Component(component) => &component.core_memories,
1621
- };
1622
-
1623
- memories[index as usize]
1624
- }
1625
-
1626
- /// Returns the number of memories defined so far.
1627
- pub fn memory_count(&self) -> u32 {
1628
- match &self.kind {
1629
- TypesRefKind::Module(module) => module.memories.len() as u32,
1630
- TypesRefKind::Component(component) => component.core_memories.len() as u32,
1631
- }
1632
- }
1633
-
1634
- /// Gets the type of a global at the given global index.
1635
- ///
1636
- /// # Panics
1637
- ///
1638
- /// This will panic if the `index` provided is out of bounds.
1639
- pub fn global_at(&self, index: u32) -> GlobalType {
1640
- let globals = match &self.kind {
1641
- TypesRefKind::Module(module) => &module.globals,
1642
- TypesRefKind::Component(component) => &component.core_globals,
1643
- };
1644
-
1645
- globals[index as usize]
1646
- }
1647
-
1648
- /// Returns the number of globals defined so far.
1649
- pub fn global_count(&self) -> u32 {
1650
- match &self.kind {
1651
- TypesRefKind::Module(module) => module.globals.len() as u32,
1652
- TypesRefKind::Component(component) => component.core_globals.len() as u32,
1653
- }
1654
- }
1655
-
1656
- /// Gets the type of a tag at the given tag index.
1657
- ///
1658
- /// # Panics
1659
- ///
1660
- /// This will panic if the `index` provided is out of bounds.
1661
- pub fn tag_at(&self, index: u32) -> CoreTypeId {
1662
- let tags = match &self.kind {
1663
- TypesRefKind::Module(module) => &module.tags,
1664
- TypesRefKind::Component(component) => &component.core_tags,
1665
- };
1666
- tags[index as usize]
1667
- }
1668
-
1669
- /// Returns the number of tags defined so far.
1670
- pub fn tag_count(&self) -> u32 {
1671
- match &self.kind {
1672
- TypesRefKind::Module(module) => module.tags.len() as u32,
1673
- TypesRefKind::Component(component) => component.core_tags.len() as u32,
1674
- }
1675
- }
1676
-
1677
- /// Gets the type of a core function at the given function index.
1678
- ///
1679
- /// # Panics
1680
- ///
1681
- /// This will panic if the `index` provided is out of bounds.
1682
- pub fn core_function_at(&self, index: u32) -> CoreTypeId {
1683
- match &self.kind {
1684
- TypesRefKind::Module(module) => module.types[module.functions[index as usize] as usize],
1685
- TypesRefKind::Component(component) => component.core_funcs[index as usize],
1686
- }
1687
- }
1688
-
1689
- /// Gets the count of core functions defined so far.
1690
- ///
1691
- /// Note that this includes imported functions, defined functions, and for
1692
- /// components lowered/aliased functions.
1693
- pub fn function_count(&self) -> u32 {
1694
- match &self.kind {
1695
- TypesRefKind::Module(module) => module.functions.len() as u32,
1696
- TypesRefKind::Component(component) => component.core_funcs.len() as u32,
1697
- }
1698
- }
1699
-
1700
- /// Gets the type of an element segment at the given element segment index.
1701
- ///
1702
- /// # Panics
1703
- ///
1704
- /// This will panic if the `index` provided is out of bounds.
1705
- pub fn element_at(&self, index: u32) -> RefType {
1706
- match &self.kind {
1707
- TypesRefKind::Module(module) => module.element_types[index as usize],
1708
- TypesRefKind::Component(_) => {
1709
- panic!("no elements on a component")
1710
- }
1711
- }
1712
- }
1713
-
1714
- /// Returns the number of elements defined so far.
1715
- pub fn element_count(&self) -> u32 {
1716
- match &self.kind {
1717
- TypesRefKind::Module(module) => module.element_types.len() as u32,
1718
- TypesRefKind::Component(_) => 0,
1719
- }
1720
- }
1721
-
1722
- /// Gets the type of a component function at the given function index.
1723
- ///
1724
- /// # Panics
1725
- ///
1726
- /// This will panic if the `index` provided is out of bounds or if this type
1727
- /// information represents a core module.
1728
- pub fn component_function_at(&self, index: u32) -> ComponentFuncTypeId {
1729
- match &self.kind {
1730
- TypesRefKind::Module(_) => panic!("not a component"),
1731
- TypesRefKind::Component(component) => component.funcs[index as usize],
1732
- }
1733
- }
1734
-
1735
- /// Returns the number of component functions defined so far.
1736
- pub fn component_function_count(&self) -> u32 {
1737
- match &self.kind {
1738
- TypesRefKind::Module(_module) => 0,
1739
- TypesRefKind::Component(component) => component.funcs.len() as u32,
1740
- }
1741
- }
1742
-
1743
- /// Gets the type of a module at the given module index.
1744
- ///
1745
- /// # Panics
1746
- ///
1747
- /// This will panic if the `index` provided is out of bounds or if this type
1748
- /// information represents a core module.
1749
- pub fn module_at(&self, index: u32) -> ComponentCoreModuleTypeId {
1750
- match &self.kind {
1751
- TypesRefKind::Module(_) => panic!("not a component"),
1752
- TypesRefKind::Component(component) => component.core_modules[index as usize],
1753
- }
1754
- }
1755
-
1756
- /// Returns the number of core wasm modules defined so far.
1757
- pub fn module_count(&self) -> u32 {
1758
- match &self.kind {
1759
- TypesRefKind::Module(_module) => 0,
1760
- TypesRefKind::Component(component) => component.core_modules.len() as u32,
1761
- }
1762
- }
1763
-
1764
- /// Gets the type of a module instance at the given module instance index.
1765
- ///
1766
- /// # Panics
1767
- ///
1768
- /// This will panic if the `index` provided is out of bounds or if this type
1769
- /// information represents a core module.
1770
- pub fn core_instance_at(&self, index: u32) -> ComponentCoreInstanceTypeId {
1771
- match &self.kind {
1772
- TypesRefKind::Module(_) => panic!("not a component"),
1773
- TypesRefKind::Component(component) => component.core_instances[index as usize],
1774
- }
1775
- }
1776
-
1777
- /// Returns the number of core wasm instances defined so far.
1778
- pub fn core_instance_count(&self) -> u32 {
1779
- match &self.kind {
1780
- TypesRefKind::Module(_module) => 0,
1781
- TypesRefKind::Component(component) => component.core_instances.len() as u32,
1782
- }
1783
- }
1784
-
1785
- /// Gets the type of a component at the given component index.
1786
- ///
1787
- /// # Panics
1788
- ///
1789
- /// This will panic if the `index` provided is out of bounds or if this type
1790
- /// information represents a core module.
1791
- pub fn component_at(&self, index: u32) -> ComponentTypeId {
1792
- match &self.kind {
1793
- TypesRefKind::Module(_) => panic!("not a component"),
1794
- TypesRefKind::Component(component) => component.components[index as usize],
1795
- }
1796
- }
1797
-
1798
- /// Returns the number of components defined so far.
1799
- pub fn component_count(&self) -> u32 {
1800
- match &self.kind {
1801
- TypesRefKind::Module(_module) => 0,
1802
- TypesRefKind::Component(component) => component.components.len() as u32,
1803
- }
1804
- }
1805
-
1806
- /// Gets the type of an component instance at the given component instance index.
1807
- ///
1808
- /// # Panics
1809
- ///
1810
- /// This will panic if the `index` provided is out of bounds or if this type
1811
- /// information represents a core module.
1812
- pub fn component_instance_at(&self, index: u32) -> ComponentInstanceTypeId {
1813
- match &self.kind {
1814
- TypesRefKind::Module(_) => panic!("not a component"),
1815
- TypesRefKind::Component(component) => component.instances[index as usize],
1816
- }
1817
- }
1818
-
1819
- /// Returns the number of component instances defined so far.
1820
- pub fn component_instance_count(&self) -> u32 {
1821
- match &self.kind {
1822
- TypesRefKind::Module(_module) => 0,
1823
- TypesRefKind::Component(component) => component.instances.len() as u32,
1824
- }
1825
- }
1826
-
1827
- /// Gets the type of a value at the given value index.
1828
- ///
1829
- /// # Panics
1830
- ///
1831
- /// This will panic if the `index` provided is out of bounds or if this type
1832
- /// information represents a core module.
1833
- pub fn value_at(&self, index: u32) -> ComponentValType {
1834
- match &self.kind {
1835
- TypesRefKind::Module(_) => panic!("not a component"),
1836
- TypesRefKind::Component(component) => component.values[index as usize].0,
1837
- }
1838
- }
1839
-
1840
- /// Gets the entity type for the given import.
1841
- pub fn entity_type_from_import(&self, import: &Import) -> Option<EntityType> {
1842
- match &self.kind {
1843
- TypesRefKind::Module(module) => Some(match import.ty {
1844
- TypeRef::Func(idx) => EntityType::Func(*module.types.get(idx as usize)?),
1845
- TypeRef::Table(ty) => EntityType::Table(ty),
1846
- TypeRef::Memory(ty) => EntityType::Memory(ty),
1847
- TypeRef::Global(ty) => EntityType::Global(ty),
1848
- TypeRef::Tag(ty) => EntityType::Tag(*module.types.get(ty.func_type_idx as usize)?),
1849
- }),
1850
- TypesRefKind::Component(_) => None,
1851
- }
1852
- }
1853
-
1854
- /// Gets the entity type from the given export.
1855
- pub fn entity_type_from_export(&self, export: &Export) -> Option<EntityType> {
1856
- match &self.kind {
1857
- TypesRefKind::Module(module) => Some(match export.kind {
1858
- ExternalKind::Func => EntityType::Func(
1859
- module.types[*module.functions.get(export.index as usize)? as usize],
1860
- ),
1861
- ExternalKind::Table => {
1862
- EntityType::Table(*module.tables.get(export.index as usize)?)
1863
- }
1864
- ExternalKind::Memory => {
1865
- EntityType::Memory(*module.memories.get(export.index as usize)?)
1866
- }
1867
- ExternalKind::Global => {
1868
- EntityType::Global(*module.globals.get(export.index as usize)?)
1869
- }
1870
- ExternalKind::Tag => EntityType::Tag(
1871
- module.types[*module.functions.get(export.index as usize)? as usize],
1872
- ),
1873
- }),
1874
- TypesRefKind::Component(_) => None,
1875
- }
1876
- }
1877
-
1878
- /// Gets the component entity type for the given component import.
1879
- pub fn component_entity_type_of_import(&self, name: &str) -> Option<ComponentEntityType> {
1880
- match &self.kind {
1881
- TypesRefKind::Module(_) => None,
1882
- TypesRefKind::Component(component) => Some(*component.imports.get(name)?),
1883
- }
1884
- }
1885
-
1886
- /// Gets the component entity type for the given component export.
1887
- pub fn component_entity_type_of_export(&self, name: &str) -> Option<ComponentEntityType> {
1888
- match &self.kind {
1889
- TypesRefKind::Module(_) => None,
1890
- TypesRefKind::Component(component) => Some(*component.exports.get(name)?),
1891
- }
1892
- }
1893
-
1894
- /// Attempts to lookup the type id that `ty` is an alias of.
1895
- ///
1896
- /// Returns `None` if `ty` wasn't listed as aliasing a prior type.
1897
- pub fn peel_alias<T>(&self, ty: T) -> Option<T>
1898
- where
1899
- T: Aliasable,
1900
- {
1901
- self.list.peel_alias(ty)
1902
- }
1903
- }
1904
-
1905
- impl<T> Index<T> for TypesRef<'_>
1906
- where
1907
- T: TypeIdentifier,
1908
- {
1909
- type Output = T::Data;
1910
-
1911
- fn index(&self, index: T) -> &Self::Output {
1912
- &self.list[index]
1913
- }
1914
- }
1915
-
1916
- impl Types {
1917
- pub(crate) fn from_module(types: TypeList, module: Arc<Module>) -> Self {
1918
- Self {
1919
- list: types,
1920
- kind: TypesKind::Module(module),
1921
- }
1922
- }
1923
-
1924
- pub(crate) fn from_component(types: TypeList, component: ComponentState) -> Self {
1925
- Self {
1926
- list: types,
1927
- kind: TypesKind::Component(component),
1928
- }
1929
- }
1930
-
1931
- /// Gets a reference to this validation type information.
1932
- pub fn as_ref(&self) -> TypesRef {
1933
- TypesRef {
1934
- list: &self.list,
1935
- kind: match &self.kind {
1936
- TypesKind::Module(module) => TypesRefKind::Module(module),
1937
- TypesKind::Component(component) => TypesRefKind::Component(component),
1938
- },
1939
- }
1940
- }
1941
-
1942
- /// Gets a type based on its type id.
1943
- ///
1944
- /// Returns `None` if the type id is unknown.
1945
- pub fn get<T>(&self, id: T) -> Option<&T::Data>
1946
- where
1947
- T: TypeIdentifier,
1948
- {
1949
- self.as_ref().get(id)
1950
- }
1951
-
1952
- /// Gets a core WebAssembly type at the given type index.
1953
- ///
1954
- /// Note that this is in contrast to [`TypesRef::component_type_at`] which
1955
- /// gets a component type from its index.
1956
- ///
1957
- /// # Panics
1958
- ///
1959
- /// Panics if `index` is not a valid function index.
1960
- pub fn core_type_at(&self, index: u32) -> ComponentCoreTypeId {
1961
- self.as_ref().core_type_at(index)
1962
- }
1963
-
1964
- /// Gets a component WebAssembly type at the given type index.
1965
- ///
1966
- /// Note that this is in contrast to [`TypesRef::core_type_at`] which gets a
1967
- /// core type from its index.
1968
- ///
1969
- /// # Panics
1970
- ///
1971
- /// Panics if `index` is not a valid type index.
1972
- pub fn component_any_type_at(&self, index: u32) -> ComponentAnyTypeId {
1973
- self.as_ref().component_any_type_at(index)
1974
- }
1975
-
1976
- /// Gets a component type at the given type index.
1977
- ///
1978
- /// # Panics
1979
- ///
1980
- /// Panics if `index` is not a valid component type index.
1981
- pub fn component_type_at(&self, index: u32) -> ComponentTypeId {
1982
- self.as_ref().component_type_at(index)
1983
- }
1984
-
1985
- /// Gets a component type from the given component type index.
1986
- ///
1987
- /// # Panics
1988
- ///
1989
- /// Panics if `index` is not a valid defined type index or if this type
1990
- /// information represents a core module.
1991
- pub fn component_defined_type_at(&self, index: u32) -> ComponentDefinedTypeId {
1992
- self.as_ref().component_defined_type_at(index)
1993
- }
1994
-
1995
- /// Gets the count of core types.
1996
- pub fn type_count(&self) -> usize {
1997
- match &self.kind {
1998
- TypesKind::Module(module) => module.types.len(),
1999
- TypesKind::Component(component) => component.core_types.len(),
2000
- }
2001
- }
2002
-
2003
- /// Gets the type of a table at the given table index.
2004
- ///
2005
- /// # Panics
2006
- ///
2007
- /// Panics if `index` is not a valid function index.
2008
- pub fn table_at(&self, index: u32) -> TableType {
2009
- self.as_ref().table_at(index)
2010
- }
2011
-
2012
- /// Gets the count of imported and defined tables.
2013
- pub fn table_count(&self) -> usize {
2014
- match &self.kind {
2015
- TypesKind::Module(module) => module.tables.len(),
2016
- TypesKind::Component(component) => component.core_tables.len(),
2017
- }
2018
- }
2019
-
2020
- /// Gets the type of a memory at the given memory index.
2021
- ///
2022
- /// # Panics
2023
- ///
2024
- /// Panics if `index` is not a valid function index.
2025
- pub fn memory_at(&self, index: u32) -> MemoryType {
2026
- self.as_ref().memory_at(index)
2027
- }
2028
-
2029
- /// Gets the count of imported and defined memories.
2030
- pub fn memory_count(&self) -> u32 {
2031
- self.as_ref().memory_count()
2032
- }
2033
-
2034
- /// Gets the type of a global at the given global index.
2035
- ///
2036
- /// # Panics
2037
- ///
2038
- /// Panics if `index` is not a valid function index.
2039
- pub fn global_at(&self, index: u32) -> GlobalType {
2040
- self.as_ref().global_at(index)
2041
- }
2042
-
2043
- /// Gets the count of imported and defined globals.
2044
- pub fn global_count(&self) -> u32 {
2045
- self.as_ref().global_count()
2046
- }
2047
-
2048
- /// Gets the type of a tag at the given tag index.
2049
- ///
2050
- /// # Panics
2051
- ///
2052
- /// Panics if `index` is not a valid function index.
2053
- pub fn tag_at(&self, index: u32) -> CoreTypeId {
2054
- self.as_ref().tag_at(index)
2055
- }
2056
-
2057
- /// Gets the count of imported and defined tags.
2058
- pub fn tag_count(&self) -> u32 {
2059
- self.as_ref().tag_count()
2060
- }
2061
-
2062
- /// Gets the type of a core function at the given function index.
2063
- ///
2064
- /// # Panics
2065
- ///
2066
- /// Panics if `index` is not a valid function index.
2067
- pub fn core_function_at(&self, index: u32) -> CoreTypeId {
2068
- self.as_ref().core_function_at(index)
2069
- }
2070
-
2071
- /// Gets the count of core functions defined so far.
2072
- ///
2073
- /// Note that this includes imported functions, defined functions, and for
2074
- /// components lowered/aliased functions.
2075
- pub fn core_function_count(&self) -> u32 {
2076
- self.as_ref().function_count()
2077
- }
2078
-
2079
- /// Gets the type of an element segment at the given element segment index.
2080
- ///
2081
- /// # Panics
2082
- ///
2083
- /// This will panic if the `index` provided is out of bounds.
2084
- pub fn element_at(&self, index: u32) -> RefType {
2085
- self.as_ref().element_at(index)
2086
- }
2087
-
2088
- /// Gets the count of element segments.
2089
- pub fn element_count(&self) -> u32 {
2090
- self.as_ref().element_count()
2091
- }
2092
-
2093
- /// Gets the type of a component function at the given function index.
2094
- ///
2095
- /// # Panics
2096
- ///
2097
- /// This will panic if the `index` provided is out of bounds or if this type
2098
- /// information represents a core module.
2099
- pub fn component_function_at(&self, index: u32) -> ComponentFuncTypeId {
2100
- self.as_ref().component_function_at(index)
2101
- }
2102
-
2103
- /// Gets the count of imported, exported, or aliased component functions.
2104
- pub fn component_function_count(&self) -> u32 {
2105
- self.as_ref().component_function_count()
2106
- }
2107
-
2108
- /// Gets the type of a module at the given module index.
2109
- ///
2110
- /// # Panics
2111
- ///
2112
- /// This will panic if the `index` provided is out of bounds or if this type
2113
- /// information represents a core module.
2114
- pub fn module_at(&self, index: u32) -> ComponentCoreModuleTypeId {
2115
- self.as_ref().module_at(index)
2116
- }
2117
-
2118
- /// Gets the count of imported, exported, or aliased modules.
2119
- pub fn module_count(&self) -> usize {
2120
- match &self.kind {
2121
- TypesKind::Module(_) => 0,
2122
- TypesKind::Component(component) => component.core_modules.len(),
2123
- }
2124
- }
2125
-
2126
- /// Gets the type of a module instance at the given module instance index.
2127
- ///
2128
- /// # Panics
2129
- ///
2130
- /// This will panic if the `index` provided is out of bounds or if this type
2131
- /// information represents a core module.
2132
- pub fn core_instance_at(&self, index: u32) -> ComponentCoreInstanceTypeId {
2133
- self.as_ref().core_instance_at(index)
2134
- }
2135
-
2136
- /// Gets the count of imported, exported, or aliased core module instances.
2137
- pub fn core_instance_count(&self) -> usize {
2138
- match &self.kind {
2139
- TypesKind::Module(_) => 0,
2140
- TypesKind::Component(component) => component.core_instances.len(),
2141
- }
2142
- }
2143
-
2144
- /// Gets the type of a component at the given component index.
2145
- ///
2146
- /// # Panics
2147
- ///
2148
- /// This will panic if the `index` provided is out of bounds or if this type
2149
- /// information represents a core module.
2150
- pub fn component_at(&self, index: u32) -> ComponentTypeId {
2151
- self.as_ref().component_at(index)
2152
- }
2153
-
2154
- /// Gets the count of imported, exported, or aliased components.
2155
- pub fn component_count(&self) -> usize {
2156
- match &self.kind {
2157
- TypesKind::Module(_) => 0,
2158
- TypesKind::Component(component) => component.components.len(),
2159
- }
2160
- }
2161
-
2162
- /// Gets the type of an component instance at the given component instance index.
2163
- ///
2164
- /// # Panics
2165
- ///
2166
- /// This will panic if the `index` provided is out of bounds or if this type
2167
- /// information represents a core module.
2168
- pub fn component_instance_at(&self, index: u32) -> ComponentInstanceTypeId {
2169
- self.as_ref().component_instance_at(index)
2170
- }
2171
-
2172
- /// Gets the count of imported, exported, or aliased component instances.
2173
- pub fn component_instance_count(&self) -> usize {
2174
- match &self.kind {
2175
- TypesKind::Module(_) => 0,
2176
- TypesKind::Component(component) => component.instances.len(),
2177
- }
2178
- }
2179
-
2180
- /// Gets the type of a value at the given value index.
2181
- ///
2182
- /// # Panics
2183
- ///
2184
- /// This will panic if the `index` provided is out of bounds or if this type
2185
- /// information represents a core module.
2186
- pub fn value_at(&self, index: u32) -> ComponentValType {
2187
- self.as_ref().value_at(index)
2188
- }
2189
-
2190
- /// Gets the count of imported, exported, or aliased values.
2191
- pub fn value_count(&self) -> usize {
2192
- match &self.kind {
2193
- TypesKind::Module(_) => 0,
2194
- TypesKind::Component(component) => component.values.len(),
2195
- }
2196
- }
2197
-
2198
- /// Gets the entity type from the given import.
2199
- pub fn entity_type_from_import(&self, import: &Import) -> Option<EntityType> {
2200
- self.as_ref().entity_type_from_import(import)
2201
- }
2202
-
2203
- /// Gets the entity type from the given export.
2204
- pub fn entity_type_from_export(&self, export: &Export) -> Option<EntityType> {
2205
- self.as_ref().entity_type_from_export(export)
2206
- }
2207
-
2208
- /// Gets the component entity type for the given component import name.
2209
- pub fn component_entity_type_of_import(&self, name: &str) -> Option<ComponentEntityType> {
2210
- self.as_ref().component_entity_type_of_import(name)
2211
- }
2212
-
2213
- /// Gets the component entity type for the given component export name.
2214
- pub fn component_entity_type_of_export(&self, name: &str) -> Option<ComponentEntityType> {
2215
- self.as_ref().component_entity_type_of_export(name)
2216
- }
2217
-
2218
- /// Attempts to lookup the type id that `ty` is an alias of.
2219
- ///
2220
- /// Returns `None` if `ty` wasn't listed as aliasing a prior type.
2221
- pub fn peel_alias<T>(&self, ty: T) -> Option<T>
2222
- where
2223
- T: Aliasable,
2224
- {
2225
- self.list.peel_alias(ty)
2226
- }
2227
- }
2228
-
2229
- impl<T> Index<T> for Types
2230
- where
2231
- T: TypeIdentifier,
2232
- {
2233
- type Output = T::Data;
2234
-
2235
- fn index(&self, id: T) -> &Self::Output {
2236
- &self.list[id]
2237
- }
2238
- }
2239
-
2240
- /// This is a type which mirrors a subset of the `Vec<T>` API, but is intended
2241
- /// to be able to be cheaply snapshotted and cloned.
2242
- ///
2243
- /// When each module's code sections start we "commit" the current list of types
2244
- /// in the global list of types. This means that the temporary `cur` vec here is
2245
- /// pushed onto `snapshots` and wrapped up in an `Arc`. At that point we clone
2246
- /// this entire list (which is then O(modules), not O(types in all modules)) and
2247
- /// pass out as a context to each function validator.
2248
- ///
2249
- /// Otherwise, though, this type behaves as if it were a large `Vec<T>`, but
2250
- /// it's represented by lists of contiguous chunks.
2251
- //
2252
- // Only public because it shows up in a public trait's `doc(hidden)` method.
2253
- #[doc(hidden)]
2254
- pub struct SnapshotList<T> {
2255
- // All previous snapshots, the "head" of the list that this type represents.
2256
- // The first entry in this pair is the starting index for all elements
2257
- // contained in the list, and the second element is the list itself. Note
2258
- // the `Arc` wrapper around sub-lists, which makes cloning time for this
2259
- // `SnapshotList` O(snapshots) rather than O(snapshots_total), which for
2260
- // us in this context means the number of modules, not types.
2261
- //
2262
- // Note that this list is sorted least-to-greatest in order of the index for
2263
- // binary searching.
2264
- snapshots: Vec<Arc<Snapshot<T>>>,
2265
-
2266
- // This is the total length of all lists in the `snapshots` array.
2267
- snapshots_total: usize,
2268
-
2269
- // The current list of types for the current snapshot that are being built.
2270
- cur: Vec<T>,
2271
- }
2272
-
2273
- struct Snapshot<T> {
2274
- prior_types: usize,
2275
- items: Vec<T>,
2276
- }
2277
-
2278
- impl<T> SnapshotList<T> {
2279
- /// Same as `<&[T]>::get`
2280
- pub(crate) fn get(&self, index: usize) -> Option<&T> {
2281
- // Check to see if this index falls on our local list
2282
- if index >= self.snapshots_total {
2283
- return self.cur.get(index - self.snapshots_total);
2284
- }
2285
- // ... and failing that we do a binary search to figure out which bucket
2286
- // it's in. Note the `i-1` in the `Err` case because if we don't find an
2287
- // exact match the type is located in the previous bucket.
2288
- let i = match self
2289
- .snapshots
2290
- .binary_search_by_key(&index, |snapshot| snapshot.prior_types)
2291
- {
2292
- Ok(i) => i,
2293
- Err(i) => i - 1,
2294
- };
2295
- let snapshot = &self.snapshots[i];
2296
- Some(&snapshot.items[index - snapshot.prior_types])
2297
- }
2298
-
2299
- /// Same as `Vec::push`
2300
- pub(crate) fn push(&mut self, val: T) {
2301
- self.cur.push(val);
2302
- }
2303
-
2304
- /// Same as `<[T]>::len`
2305
- pub(crate) fn len(&self) -> usize {
2306
- self.cur.len() + self.snapshots_total
2307
- }
2308
-
2309
- /// Same as `Vec::truncate` but can only truncate uncommitted elements.
2310
- pub(crate) fn truncate(&mut self, len: usize) {
2311
- assert!(len >= self.snapshots_total);
2312
- self.cur.truncate(len - self.snapshots_total);
2313
- }
2314
-
2315
- /// Commits previously pushed types into this snapshot vector, and returns a
2316
- /// clone of this list.
2317
- ///
2318
- /// The returned `SnapshotList` can be used to access all the same types as
2319
- /// this list itself. This list also is not changed (from an external
2320
- /// perspective) and can continue to access all the same types.
2321
- pub(crate) fn commit(&mut self) -> SnapshotList<T> {
2322
- // If the current chunk has new elements, commit them in to an
2323
- // `Arc`-wrapped vector in the snapshots list. Note the `shrink_to_fit`
2324
- // ahead of time to hopefully keep memory usage lower than it would
2325
- // otherwise be.
2326
- let len = self.cur.len();
2327
- if len > 0 {
2328
- self.cur.shrink_to_fit();
2329
- self.snapshots.push(Arc::new(Snapshot {
2330
- prior_types: self.snapshots_total,
2331
- items: mem::take(&mut self.cur),
2332
- }));
2333
- self.snapshots_total += len;
2334
- }
2335
- SnapshotList {
2336
- snapshots: self.snapshots.clone(),
2337
- snapshots_total: self.snapshots_total,
2338
- cur: Vec::new(),
2339
- }
2340
- }
2341
- }
2342
-
2343
- impl<T> Index<usize> for SnapshotList<T> {
2344
- type Output = T;
2345
-
2346
- #[inline]
2347
- fn index(&self, index: usize) -> &T {
2348
- self.get(index).unwrap()
2349
- }
2350
- }
2351
-
2352
- impl<T, U> Index<U> for SnapshotList<T>
2353
- where
2354
- U: TypeIdentifier<Data = T>,
2355
- {
2356
- type Output = T;
2357
-
2358
- #[inline]
2359
- fn index(&self, id: U) -> &T {
2360
- self.get(id.index()).unwrap()
2361
- }
2362
- }
2363
-
2364
- impl<T> Default for SnapshotList<T> {
2365
- fn default() -> SnapshotList<T> {
2366
- SnapshotList {
2367
- snapshots: Vec::new(),
2368
- snapshots_total: 0,
2369
- cur: Vec::new(),
2370
- }
2371
- }
2372
- }
2373
-
2374
- /// A snapshot list of types.
2375
- ///
2376
- /// Note that the snapshot lists below do not correspond with index spaces. Many
2377
- /// different kinds of types are in the same index space (e.g. all of the
2378
- /// component model's {component, instance, defined, func} types are in the same
2379
- /// index space). However, we store each of them in their own type-specific
2380
- /// snapshot list and give each of them their own identifier type.
2381
- #[derive(Default)]
2382
- // Only public because it shows up in a public trait's `doc(hidden)` method.
2383
- #[doc(hidden)]
2384
- pub struct TypeList {
2385
- // Keeps track of which `alias_id` is an alias of which other `alias_id`.
2386
- alias_mappings: HashMap<u32, u32>,
2387
- // Counter for generating new `alias_id`s.
2388
- alias_counter: u32,
2389
- // Snapshots of previously committed `TypeList`s' aliases.
2390
- alias_snapshots: Vec<TypeListAliasSnapshot>,
2391
-
2392
- // Core Wasm types.
2393
- //
2394
- // A primary map from `CoreTypeId` to `SubType`.
2395
- core_types: SnapshotList<SubType>,
2396
- // The id of each core Wasm type's rec group.
2397
- //
2398
- // A secondary map from `CoreTypeId` to `RecGroupId`.
2399
- core_type_to_rec_group: SnapshotList<RecGroupId>,
2400
- // The supertype of each core type.
2401
- //
2402
- // A secondary map from `coreTypeId` to `Option<CoreTypeId>`.
2403
- core_type_to_supertype: SnapshotList<Option<CoreTypeId>>,
2404
- // A primary map from `RecGroupId` to the range of the rec group's elements
2405
- // within `core_types`.
2406
- rec_group_elements: SnapshotList<Range<CoreTypeId>>,
2407
- // A hash map from rec group elements to their canonical `RecGroupId`.
2408
- //
2409
- // This is `None` when a list is "committed" meaning that no more insertions
2410
- // can happen.
2411
- canonical_rec_groups: Option<HashMap<RecGroup, RecGroupId>>,
2412
-
2413
- // Component model types.
2414
- components: SnapshotList<ComponentType>,
2415
- component_defined_types: SnapshotList<ComponentDefinedType>,
2416
- component_values: SnapshotList<ComponentValType>,
2417
- component_instances: SnapshotList<ComponentInstanceType>,
2418
- component_funcs: SnapshotList<ComponentFuncType>,
2419
- core_modules: SnapshotList<ModuleType>,
2420
- core_instances: SnapshotList<InstanceType>,
2421
- }
2422
-
2423
- #[derive(Clone, Debug)]
2424
- struct TypeListAliasSnapshot {
2425
- // The `alias_counter` at the time that this snapshot was taken.
2426
- alias_counter: u32,
2427
-
2428
- // The alias mappings in this snapshot.
2429
- alias_mappings: HashMap<u32, u32>,
2430
- }
2431
-
2432
- struct TypeListCheckpoint {
2433
- core_types: usize,
2434
- components: usize,
2435
- component_defined_types: usize,
2436
- component_values: usize,
2437
- component_instances: usize,
2438
- component_funcs: usize,
2439
- core_modules: usize,
2440
- core_instances: usize,
2441
- core_type_to_rec_group: usize,
2442
- core_type_to_supertype: usize,
2443
- rec_group_elements: usize,
2444
- canonical_rec_groups: usize,
2445
- }
2446
-
2447
- impl TypeList {
2448
- pub fn get<T>(&self, id: T) -> Option<&T::Data>
2449
- where
2450
- T: TypeIdentifier,
2451
- {
2452
- T::list(self).get(id.index())
2453
- }
2454
-
2455
- pub fn push<T>(&mut self, ty: T) -> T::Id
2456
- where
2457
- T: TypeData,
2458
- {
2459
- let index = u32::try_from(T::Id::list(self).len()).unwrap();
2460
- let id = T::Id::from_index(index);
2461
- T::Id::list_mut(self).push(ty);
2462
- id
2463
- }
2464
-
2465
- /// Intern the given recursion group (that has already been canonicalized)
2466
- /// and return its associated id and whether this was a new recursion group
2467
- /// or not.
2468
- pub fn intern_canonical_rec_group(&mut self, rec_group: RecGroup) -> (bool, RecGroupId) {
2469
- let canonical_rec_groups = self
2470
- .canonical_rec_groups
2471
- .as_mut()
2472
- .expect("cannot intern into a committed list");
2473
- let entry = match canonical_rec_groups.entry(rec_group) {
2474
- Entry::Occupied(e) => return (false, *e.get()),
2475
- Entry::Vacant(e) => e,
2476
- };
2477
-
2478
- let rec_group_id = self.rec_group_elements.len();
2479
- let rec_group_id = u32::try_from(rec_group_id).unwrap();
2480
- let rec_group_id = RecGroupId::from_index(rec_group_id);
2481
-
2482
- let start = self.core_types.len();
2483
- let start = u32::try_from(start).unwrap();
2484
- let start = CoreTypeId::from_index(start);
2485
-
2486
- for ty in entry.key().types() {
2487
- debug_assert_eq!(self.core_types.len(), self.core_type_to_supertype.len());
2488
- debug_assert_eq!(self.core_types.len(), self.core_type_to_rec_group.len());
2489
-
2490
- self.core_type_to_supertype
2491
- .push(ty.supertype_idx.map(|idx| match idx.unpack() {
2492
- UnpackedIndex::RecGroup(offset) => CoreTypeId::from_index(start.index + offset),
2493
- UnpackedIndex::Id(id) => id,
2494
- UnpackedIndex::Module(_) => unreachable!("in canonical form"),
2495
- }));
2496
- let mut ty = ty.clone();
2497
- ty.remap_indices(&mut |index| {
2498
- match index.unpack() {
2499
- UnpackedIndex::Id(_) => {}
2500
- UnpackedIndex::Module(_) => unreachable!(),
2501
- UnpackedIndex::RecGroup(offset) => {
2502
- *index = UnpackedIndex::Id(CoreTypeId::from_index(start.index + offset))
2503
- .pack()
2504
- .unwrap();
2505
- }
2506
- };
2507
- Ok(())
2508
- })
2509
- .expect("cannot fail");
2510
- self.core_types.push(ty);
2511
- self.core_type_to_rec_group.push(rec_group_id);
2512
- }
2513
-
2514
- let end = self.core_types.len();
2515
- let end = u32::try_from(end).unwrap();
2516
- let end = CoreTypeId::from_index(end);
2517
-
2518
- let range = start..end;
2519
-
2520
- self.rec_group_elements.push(range.clone());
2521
-
2522
- entry.insert(rec_group_id);
2523
- return (true, rec_group_id);
2524
- }
2525
-
2526
- /// Get the `CoreTypeId` for a local index into a rec group.
2527
- pub fn rec_group_local_id(
2528
- &self,
2529
- rec_group: RecGroupId,
2530
- index: u32,
2531
- offset: usize,
2532
- ) -> Result<CoreTypeId> {
2533
- let elems = &self[rec_group];
2534
- let len = elems.end.index() - elems.start.index();
2535
- let len = u32::try_from(len).unwrap();
2536
- if index < len {
2537
- let id = u32::try_from(elems.start.index()).unwrap() + index;
2538
- let id = CoreTypeId::from_index(id);
2539
- Ok(id)
2540
- } else {
2541
- bail!(
2542
- offset,
2543
- "unknown type {index}: type index out of rec group bounds"
2544
- )
2545
- }
2546
- }
2547
-
2548
- /// Get the id of the rec group that the given type id was defined within.
2549
- pub fn rec_group_id_of(&self, id: CoreTypeId) -> RecGroupId {
2550
- self.core_type_to_rec_group[id.index()]
2551
- }
2552
-
2553
- /// Get the super type of the given type id, if any.
2554
- pub fn supertype_of(&self, id: CoreTypeId) -> Option<CoreTypeId> {
2555
- self.core_type_to_supertype[id.index()]
2556
- }
2557
-
2558
- /// Get the `CoreTypeId` for a canonicalized `PackedIndex`.
2559
- ///
2560
- /// Panics when given a non-canonicalized `PackedIndex`.
2561
- pub fn at_canonicalized_packed_index(
2562
- &self,
2563
- rec_group: RecGroupId,
2564
- index: PackedIndex,
2565
- offset: usize,
2566
- ) -> Result<CoreTypeId> {
2567
- self.at_canonicalized_unpacked_index(rec_group, index.unpack(), offset)
2568
- }
2569
-
2570
- /// Get the `CoreTypeId` for a canonicalized `UnpackedIndex`.
2571
- ///
2572
- /// Panics when given a non-canonicalized `PackedIndex`.
2573
- pub fn at_canonicalized_unpacked_index(
2574
- &self,
2575
- rec_group: RecGroupId,
2576
- index: UnpackedIndex,
2577
- offset: usize,
2578
- ) -> Result<CoreTypeId> {
2579
- match index {
2580
- UnpackedIndex::Module(_) => panic!("not canonicalized"),
2581
- UnpackedIndex::Id(id) => Ok(id),
2582
- UnpackedIndex::RecGroup(idx) => self.rec_group_local_id(rec_group, idx, offset),
2583
- }
2584
- }
2585
-
2586
- /// Does `a` structurally match `b`?
2587
- pub fn matches(&self, a: CoreTypeId, b: CoreTypeId) -> bool {
2588
- let a = WithRecGroup::new(self, a);
2589
- let a = WithRecGroup::map(a, |a| &self[a]);
2590
-
2591
- let b = WithRecGroup::new(self, b);
2592
- let b = WithRecGroup::map(b, |b| &self[b]);
2593
-
2594
- Matches::matches(self, a, b)
2595
- }
2596
-
2597
- /// Is `a == b` or was `a` declared (potentially transitively) to be a
2598
- /// subtype of `b`?
2599
- pub fn id_is_subtype(&self, mut a: CoreTypeId, b: CoreTypeId) -> bool {
2600
- loop {
2601
- if a == b {
2602
- return true;
2603
- }
2604
-
2605
- // TODO: maintain supertype vectors and implement this check in O(1)
2606
- // instead of O(n) time.
2607
- a = match self.supertype_of(a) {
2608
- Some(a) => a,
2609
- None => return false,
2610
- };
2611
- }
2612
- }
2613
-
2614
- /// Like `id_is_subtype` but for `RefType`s.
2615
- ///
2616
- /// Both `a` and `b` must be canonicalized already.
2617
- pub fn reftype_is_subtype(&self, a: RefType, b: RefType) -> bool {
2618
- // NB: Don't need `RecGroupId`s since we are calling from outside of the
2619
- // rec group, and so any `PackedIndex`es we encounter have already been
2620
- // canonicalized to `CoreTypeId`s directly.
2621
- self.reftype_is_subtype_impl(a, None, b, None)
2622
- }
2623
-
2624
- /// Implementation of `RefType` and `HeapType` subtyping.
2625
- ///
2626
- /// Panics if we need rec groups but aren't given them. Rec groups only need
2627
- /// to be passed in when checking subtyping of `RefType`s that we encounter
2628
- /// while validating a rec group itself.
2629
- pub(crate) fn reftype_is_subtype_impl(
2630
- &self,
2631
- a: RefType,
2632
- a_group: Option<RecGroupId>,
2633
- b: RefType,
2634
- b_group: Option<RecGroupId>,
2635
- ) -> bool {
2636
- if a == b && a_group == b_group {
2637
- return true;
2638
- }
2639
-
2640
- if a.is_nullable() && !b.is_nullable() {
2641
- return false;
2642
- }
2643
-
2644
- let core_type_id = |group: Option<RecGroupId>, index: UnpackedIndex| -> CoreTypeId {
2645
- if let Some(id) = index.as_core_type_id() {
2646
- id
2647
- } else {
2648
- self.at_canonicalized_unpacked_index(group.unwrap(), index, usize::MAX)
2649
- .expect("type references are checked during canonicalization")
2650
- }
2651
- };
2652
-
2653
- let subtype = |group, index| -> &SubType {
2654
- let id = core_type_id(group, index);
2655
- &self[id]
2656
- };
2657
-
2658
- use HeapType as HT;
2659
- match (a.heap_type(), b.heap_type()) {
2660
- (a, b) if a == b => true,
2661
-
2662
- (HT::Eq | HT::I31 | HT::Struct | HT::Array | HT::None, HT::Any) => true,
2663
- (HT::I31 | HT::Struct | HT::Array | HT::None, HT::Eq) => true,
2664
- (HT::NoExtern, HT::Extern) => true,
2665
- (HT::NoFunc, HT::Func) => true,
2666
- (HT::None, HT::I31 | HT::Array | HT::Struct) => true,
2667
-
2668
- (HT::Concrete(a), HT::Eq | HT::Any) => matches!(
2669
- subtype(a_group, a).composite_type,
2670
- CompositeType::Array(_) | CompositeType::Struct(_)
2671
- ),
2672
-
2673
- (HT::Concrete(a), HT::Struct) => {
2674
- matches!(subtype(a_group, a).composite_type, CompositeType::Struct(_))
2675
- }
2676
-
2677
- (HT::Concrete(a), HT::Array) => {
2678
- matches!(subtype(a_group, a).composite_type, CompositeType::Array(_))
2679
- }
2680
-
2681
- (HT::Concrete(a), HT::Func) => {
2682
- matches!(subtype(a_group, a).composite_type, CompositeType::Func(_))
2683
- }
2684
-
2685
- (HT::Concrete(a), HT::Concrete(b)) => {
2686
- self.id_is_subtype(core_type_id(a_group, a), core_type_id(b_group, b))
2687
- }
2688
-
2689
- (HT::None, HT::Concrete(b)) => matches!(
2690
- subtype(b_group, b).composite_type,
2691
- CompositeType::Array(_) | CompositeType::Struct(_)
2692
- ),
2693
-
2694
- (HT::NoFunc, HT::Concrete(b)) => {
2695
- matches!(subtype(b_group, b).composite_type, CompositeType::Func(_))
2696
- }
2697
-
2698
- // Nothing else matches. (Avoid full wildcard matches so that
2699
- // adding/modifying variants is easier in the future.)
2700
- (HT::Concrete(_), _)
2701
- | (HT::Func, _)
2702
- | (HT::Extern, _)
2703
- | (HT::Any, _)
2704
- | (HT::None, _)
2705
- | (HT::NoExtern, _)
2706
- | (HT::NoFunc, _)
2707
- | (HT::Eq, _)
2708
- | (HT::Struct, _)
2709
- | (HT::Array, _)
2710
- | (HT::I31, _) => false,
2711
- }
2712
- }
2713
-
2714
- /// Like `id_is_subtype` but for `RefType`s.
2715
- ///
2716
- /// Both `a` and `b` must be canonicalized already.
2717
- pub fn valtype_is_subtype(&self, a: ValType, b: ValType) -> bool {
2718
- match (a, b) {
2719
- (a, b) if a == b => true,
2720
- (ValType::Ref(a), ValType::Ref(b)) => self.reftype_is_subtype(a, b),
2721
- (ValType::Ref(_), _)
2722
- | (ValType::I32, _)
2723
- | (ValType::I64, _)
2724
- | (ValType::F32, _)
2725
- | (ValType::F64, _)
2726
- | (ValType::V128, _) => false,
2727
- }
2728
- }
2729
-
2730
- fn checkpoint(&self) -> TypeListCheckpoint {
2731
- let TypeList {
2732
- alias_mappings: _,
2733
- alias_counter: _,
2734
- alias_snapshots: _,
2735
- core_types,
2736
- components,
2737
- component_defined_types,
2738
- component_values,
2739
- component_instances,
2740
- component_funcs,
2741
- core_modules,
2742
- core_instances,
2743
- core_type_to_rec_group,
2744
- core_type_to_supertype,
2745
- rec_group_elements,
2746
- canonical_rec_groups,
2747
- } = self;
2748
-
2749
- TypeListCheckpoint {
2750
- core_types: core_types.len(),
2751
- components: components.len(),
2752
- component_defined_types: component_defined_types.len(),
2753
- component_values: component_values.len(),
2754
- component_instances: component_instances.len(),
2755
- component_funcs: component_funcs.len(),
2756
- core_modules: core_modules.len(),
2757
- core_instances: core_instances.len(),
2758
- core_type_to_rec_group: core_type_to_rec_group.len(),
2759
- core_type_to_supertype: core_type_to_supertype.len(),
2760
- rec_group_elements: rec_group_elements.len(),
2761
- canonical_rec_groups: canonical_rec_groups.as_ref().map(|m| m.len()).unwrap_or(0),
2762
- }
2763
- }
2764
-
2765
- fn reset_to_checkpoint(&mut self, checkpoint: TypeListCheckpoint) {
2766
- let TypeList {
2767
- alias_mappings: _,
2768
- alias_counter: _,
2769
- alias_snapshots: _,
2770
- core_types,
2771
- components,
2772
- component_defined_types,
2773
- component_values,
2774
- component_instances,
2775
- component_funcs,
2776
- core_modules,
2777
- core_instances,
2778
- core_type_to_rec_group,
2779
- core_type_to_supertype,
2780
- rec_group_elements,
2781
- canonical_rec_groups,
2782
- } = self;
2783
-
2784
- core_types.truncate(checkpoint.core_types);
2785
- components.truncate(checkpoint.components);
2786
- component_defined_types.truncate(checkpoint.component_defined_types);
2787
- component_values.truncate(checkpoint.component_values);
2788
- component_instances.truncate(checkpoint.component_instances);
2789
- component_funcs.truncate(checkpoint.component_funcs);
2790
- core_modules.truncate(checkpoint.core_modules);
2791
- core_instances.truncate(checkpoint.core_instances);
2792
- core_type_to_rec_group.truncate(checkpoint.core_type_to_rec_group);
2793
- core_type_to_supertype.truncate(checkpoint.core_type_to_supertype);
2794
- rec_group_elements.truncate(checkpoint.rec_group_elements);
2795
-
2796
- if let Some(canonical_rec_groups) = canonical_rec_groups {
2797
- assert_eq!(
2798
- canonical_rec_groups.len(),
2799
- checkpoint.canonical_rec_groups,
2800
- "checkpointing does not support resetting `canonical_rec_groups` (it would require a \
2801
- proper immutable and persistent hash map) so adding new groups is disallowed"
2802
- );
2803
- }
2804
- }
2805
-
2806
- pub fn commit(&mut self) -> TypeList {
2807
- // Note that the `alias_counter` is bumped here to ensure that the
2808
- // previous value of the unique counter is never used for an actual type
2809
- // so it's suitable for lookup via a binary search.
2810
- let alias_counter = self.alias_counter;
2811
- self.alias_counter += 1;
2812
-
2813
- self.alias_snapshots.push(TypeListAliasSnapshot {
2814
- alias_counter,
2815
- alias_mappings: mem::take(&mut self.alias_mappings),
2816
- });
2817
-
2818
- TypeList {
2819
- alias_mappings: HashMap::new(),
2820
- alias_counter: self.alias_counter,
2821
- alias_snapshots: self.alias_snapshots.clone(),
2822
- core_types: self.core_types.commit(),
2823
- components: self.components.commit(),
2824
- component_defined_types: self.component_defined_types.commit(),
2825
- component_values: self.component_values.commit(),
2826
- component_instances: self.component_instances.commit(),
2827
- component_funcs: self.component_funcs.commit(),
2828
- core_modules: self.core_modules.commit(),
2829
- core_instances: self.core_instances.commit(),
2830
- core_type_to_rec_group: self.core_type_to_rec_group.commit(),
2831
- core_type_to_supertype: self.core_type_to_supertype.commit(),
2832
- rec_group_elements: self.rec_group_elements.commit(),
2833
- canonical_rec_groups: None,
2834
- }
2835
- }
2836
-
2837
- /// See `SnapshotList::with_unique`.
2838
- pub fn with_unique<T>(&mut self, mut ty: T) -> T
2839
- where
2840
- T: Aliasable,
2841
- {
2842
- self.alias_mappings
2843
- .insert(self.alias_counter, ty.alias_id());
2844
- ty.set_alias_id(self.alias_counter);
2845
- self.alias_counter += 1;
2846
- ty
2847
- }
2848
-
2849
- /// Attempts to lookup the type id that `ty` is an alias of.
2850
- ///
2851
- /// Returns `None` if `ty` wasn't listed as aliasing a prior type.
2852
- pub fn peel_alias<T>(&self, mut ty: T) -> Option<T>
2853
- where
2854
- T: Aliasable,
2855
- {
2856
- let alias_id = ty.alias_id();
2857
-
2858
- // The unique counter in each snapshot is the unique counter at the
2859
- // time of the snapshot so it's guaranteed to never be used, meaning
2860
- // that `Ok` should never show up here. With an `Err` it's where the
2861
- // index would be placed meaning that the index in question is the
2862
- // smallest value over the unique id's value, meaning that slot has the
2863
- // mapping we're interested in.
2864
- let i = match self
2865
- .alias_snapshots
2866
- .binary_search_by_key(&alias_id, |snapshot| snapshot.alias_counter)
2867
- {
2868
- Ok(_) => unreachable!(),
2869
- Err(i) => i,
2870
- };
2871
-
2872
- // If the `i` index is beyond the snapshot array then lookup in the
2873
- // current mappings instead since it may refer to a type not snapshot
2874
- // yet.
2875
- ty.set_alias_id(match self.alias_snapshots.get(i) {
2876
- Some(snapshot) => *snapshot.alias_mappings.get(&alias_id)?,
2877
- None => *self.alias_mappings.get(&alias_id)?,
2878
- });
2879
- Some(ty)
2880
- }
2881
- }
2882
-
2883
- impl<T> Index<T> for TypeList
2884
- where
2885
- T: TypeIdentifier,
2886
- {
2887
- type Output = T::Data;
2888
-
2889
- fn index(&self, id: T) -> &Self::Output {
2890
- let arena = T::list(self);
2891
- &arena[id.index()]
2892
- }
2893
- }
2894
-
2895
- /// Thin wrapper around `TypeList` which provides an allocator of unique ids for
2896
- /// types contained within this list.
2897
- pub(crate) struct TypeAlloc {
2898
- list: TypeList,
2899
-
2900
- // This is assigned at creation of a `TypeAlloc` and then never changed.
2901
- // It's used in one entry for all `ResourceId`s contained within.
2902
- globally_unique_id: u64,
2903
-
2904
- // This is a counter that's incremeneted each time `alloc_resource_id` is
2905
- // called.
2906
- next_resource_id: u32,
2907
- }
2908
-
2909
- impl Default for TypeAlloc {
2910
- fn default() -> TypeAlloc {
2911
- static NEXT_GLOBAL_ID: AtomicU64 = AtomicU64::new(0);
2912
- let mut ret = TypeAlloc {
2913
- list: TypeList::default(),
2914
- globally_unique_id: NEXT_GLOBAL_ID.fetch_add(1, Ordering::Relaxed),
2915
- next_resource_id: 0,
2916
- };
2917
- ret.list.canonical_rec_groups = Some(Default::default());
2918
- ret
2919
- }
2920
- }
2921
-
2922
- impl Deref for TypeAlloc {
2923
- type Target = TypeList;
2924
- fn deref(&self) -> &TypeList {
2925
- &self.list
2926
- }
2927
- }
2928
-
2929
- impl DerefMut for TypeAlloc {
2930
- fn deref_mut(&mut self) -> &mut TypeList {
2931
- &mut self.list
2932
- }
2933
- }
2934
-
2935
- impl TypeAlloc {
2936
- /// Pushes a new type into this list, returning an identifier which can be
2937
- /// used to later retrieve it.
2938
- ///
2939
- /// The returned identifier is unique within this `TypeAlloc` and won't be
2940
- /// hash-equivalent to anything else.
2941
- pub fn push_ty<T>(&mut self, ty: T) -> T::Id
2942
- where
2943
- T: TypeData,
2944
- {
2945
- self.list.push(ty)
2946
- }
2947
-
2948
- /// Allocates a new unique resource identifier.
2949
- ///
2950
- /// Note that uniqueness is only a property within this `TypeAlloc`.
2951
- pub fn alloc_resource_id(&mut self) -> AliasableResourceId {
2952
- let contextually_unique_id = self.next_resource_id;
2953
- self.next_resource_id = self.next_resource_id.checked_add(1).unwrap();
2954
- AliasableResourceId {
2955
- id: ResourceId {
2956
- globally_unique_id: self.globally_unique_id,
2957
- contextually_unique_id,
2958
- },
2959
- alias_id: NO_ALIAS,
2960
- }
2961
- }
2962
-
2963
- /// Adds the set of "free variables" of the `id` provided to the `set`
2964
- /// provided.
2965
- ///
2966
- /// Free variables are defined as resources. Any resource, perhaps
2967
- /// transitively, referred to but not defined by `id` is added to the `set`
2968
- /// and returned.
2969
- pub fn free_variables_any_type_id(
2970
- &self,
2971
- id: ComponentAnyTypeId,
2972
- set: &mut IndexSet<ResourceId>,
2973
- ) {
2974
- match id {
2975
- ComponentAnyTypeId::Resource(r) => {
2976
- set.insert(r.resource());
2977
- }
2978
- ComponentAnyTypeId::Defined(id) => {
2979
- self.free_variables_component_defined_type_id(id, set)
2980
- }
2981
- ComponentAnyTypeId::Func(id) => self.free_variables_component_func_type_id(id, set),
2982
- ComponentAnyTypeId::Instance(id) => {
2983
- self.free_variables_component_instance_type_id(id, set)
2984
- }
2985
- ComponentAnyTypeId::Component(id) => self.free_variables_component_type_id(id, set),
2986
- }
2987
- }
2988
-
2989
- pub fn free_variables_component_defined_type_id(
2990
- &self,
2991
- id: ComponentDefinedTypeId,
2992
- set: &mut IndexSet<ResourceId>,
2993
- ) {
2994
- match &self[id] {
2995
- ComponentDefinedType::Primitive(_)
2996
- | ComponentDefinedType::Flags(_)
2997
- | ComponentDefinedType::Enum(_) => {}
2998
- ComponentDefinedType::Record(r) => {
2999
- for ty in r.fields.values() {
3000
- self.free_variables_valtype(ty, set);
3001
- }
3002
- }
3003
- ComponentDefinedType::Tuple(r) => {
3004
- for ty in r.types.iter() {
3005
- self.free_variables_valtype(ty, set);
3006
- }
3007
- }
3008
- ComponentDefinedType::Variant(r) => {
3009
- for ty in r.cases.values() {
3010
- if let Some(ty) = &ty.ty {
3011
- self.free_variables_valtype(ty, set);
3012
- }
3013
- }
3014
- }
3015
- ComponentDefinedType::List(ty) | ComponentDefinedType::Option(ty) => {
3016
- self.free_variables_valtype(ty, set);
3017
- }
3018
- ComponentDefinedType::Result { ok, err } => {
3019
- if let Some(ok) = ok {
3020
- self.free_variables_valtype(ok, set);
3021
- }
3022
- if let Some(err) = err {
3023
- self.free_variables_valtype(err, set);
3024
- }
3025
- }
3026
- ComponentDefinedType::Own(id) | ComponentDefinedType::Borrow(id) => {
3027
- set.insert(id.resource());
3028
- }
3029
- }
3030
- }
3031
-
3032
- pub fn free_variables_component_type_id(
3033
- &self,
3034
- id: ComponentTypeId,
3035
- set: &mut IndexSet<ResourceId>,
3036
- ) {
3037
- let i = &self[id];
3038
- // Recurse on the imports/exports of components, but remove the
3039
- // imported and defined resources within the component itself.
3040
- //
3041
- // Technically this needs to add all the free variables of the
3042
- // exports, remove the defined resources, then add the free
3043
- // variables of imports, then remove the imported resources. Given
3044
- // prior validation of component types, however, the defined
3045
- // and imported resources are disjoint and imports can't refer to
3046
- // defined resources, so doing this all in one go should be
3047
- // equivalent.
3048
- for ty in i.imports.values().chain(i.exports.values()) {
3049
- self.free_variables_component_entity(ty, set);
3050
- }
3051
- for (id, _path) in i.imported_resources.iter().chain(&i.defined_resources) {
3052
- set.remove(id);
3053
- }
3054
- }
3055
-
3056
- pub fn free_variables_component_instance_type_id(
3057
- &self,
3058
- id: ComponentInstanceTypeId,
3059
- set: &mut IndexSet<ResourceId>,
3060
- ) {
3061
- let i = &self[id];
3062
- // Like components, add in all the free variables of referenced
3063
- // types but then remove those defined by this component instance
3064
- // itself.
3065
- for ty in i.exports.values() {
3066
- self.free_variables_component_entity(ty, set);
3067
- }
3068
- for id in i.defined_resources.iter() {
3069
- set.remove(id);
3070
- }
3071
- }
3072
-
3073
- pub fn free_variables_component_func_type_id(
3074
- &self,
3075
- id: ComponentFuncTypeId,
3076
- set: &mut IndexSet<ResourceId>,
3077
- ) {
3078
- let i = &self[id];
3079
- for ty in i
3080
- .params
3081
- .iter()
3082
- .map(|(_, ty)| ty)
3083
- .chain(i.results.iter().map(|(_, ty)| ty))
3084
- {
3085
- self.free_variables_valtype(ty, set);
3086
- }
3087
- }
3088
-
3089
- /// Same as `free_variables_type_id`, but for `ComponentEntityType`.
3090
- pub fn free_variables_component_entity(
3091
- &self,
3092
- ty: &ComponentEntityType,
3093
- set: &mut IndexSet<ResourceId>,
3094
- ) {
3095
- match ty {
3096
- ComponentEntityType::Module(_) => {}
3097
- ComponentEntityType::Func(id) => self.free_variables_component_func_type_id(*id, set),
3098
- ComponentEntityType::Instance(id) => {
3099
- self.free_variables_component_instance_type_id(*id, set)
3100
- }
3101
- ComponentEntityType::Component(id) => self.free_variables_component_type_id(*id, set),
3102
- ComponentEntityType::Type { created, .. } => {
3103
- self.free_variables_any_type_id(*created, set);
3104
- }
3105
- ComponentEntityType::Value(ty) => self.free_variables_valtype(ty, set),
3106
- }
3107
- }
3108
-
3109
- /// Same as `free_variables_type_id`, but for `ComponentValType`.
3110
- fn free_variables_valtype(&self, ty: &ComponentValType, set: &mut IndexSet<ResourceId>) {
3111
- match ty {
3112
- ComponentValType::Primitive(_) => {}
3113
- ComponentValType::Type(id) => self.free_variables_component_defined_type_id(*id, set),
3114
- }
3115
- }
3116
-
3117
- /// Returns whether the type `id` is "named" where named types are presented
3118
- /// via the provided `set`.
3119
- ///
3120
- /// This requires that `id` is a `Defined` type.
3121
- pub(crate) fn type_named_type_id(
3122
- &self,
3123
- id: ComponentDefinedTypeId,
3124
- set: &HashSet<ComponentAnyTypeId>,
3125
- ) -> bool {
3126
- let ty = &self[id];
3127
- match ty {
3128
- // Primitives are always considered named
3129
- ComponentDefinedType::Primitive(_) => true,
3130
-
3131
- // These structures are never allowed to be anonymous, so they
3132
- // themselves must be named.
3133
- ComponentDefinedType::Flags(_)
3134
- | ComponentDefinedType::Enum(_)
3135
- | ComponentDefinedType::Record(_)
3136
- | ComponentDefinedType::Variant(_) => set.contains(&id.into()),
3137
-
3138
- // All types below here are allowed to be anonymous, but their
3139
- // own components must be appropriately named.
3140
- ComponentDefinedType::Tuple(r) => {
3141
- r.types.iter().all(|t| self.type_named_valtype(t, set))
3142
- }
3143
- ComponentDefinedType::Result { ok, err } => {
3144
- ok.as_ref()
3145
- .map(|t| self.type_named_valtype(t, set))
3146
- .unwrap_or(true)
3147
- && err
3148
- .as_ref()
3149
- .map(|t| self.type_named_valtype(t, set))
3150
- .unwrap_or(true)
3151
- }
3152
- ComponentDefinedType::List(ty) | ComponentDefinedType::Option(ty) => {
3153
- self.type_named_valtype(ty, set)
3154
- }
3155
-
3156
- // own/borrow themselves don't have to be named, but the resource
3157
- // they refer to must be named.
3158
- ComponentDefinedType::Own(id) | ComponentDefinedType::Borrow(id) => {
3159
- set.contains(&(*id).into())
3160
- }
3161
- }
3162
- }
3163
-
3164
- pub(crate) fn type_named_valtype(
3165
- &self,
3166
- ty: &ComponentValType,
3167
- set: &HashSet<ComponentAnyTypeId>,
3168
- ) -> bool {
3169
- match ty {
3170
- ComponentValType::Primitive(_) => true,
3171
- ComponentValType::Type(id) => self.type_named_type_id(*id, set),
3172
- }
3173
- }
3174
- }
3175
-
3176
- /// A helper trait to provide the functionality necessary to resources within a
3177
- /// type.
3178
- ///
3179
- /// This currently exists to abstract over `TypeAlloc` and `SubtypeArena` which
3180
- /// both need to perform remapping operations.
3181
- pub trait Remap
3182
- where
3183
- Self: Index<ComponentTypeId, Output = ComponentType>,
3184
- Self: Index<ComponentDefinedTypeId, Output = ComponentDefinedType>,
3185
- Self: Index<ComponentInstanceTypeId, Output = ComponentInstanceType>,
3186
- Self: Index<ComponentFuncTypeId, Output = ComponentFuncType>,
3187
- {
3188
- /// Pushes a new anonymous type within this object, returning an identifier
3189
- /// which can be used to refer to it.
3190
- fn push_ty<T>(&mut self, ty: T) -> T::Id
3191
- where
3192
- T: TypeData;
3193
-
3194
- /// Apply `map` to the keys of `tmp`, setting `*any_changed = true` if any
3195
- /// keys were remapped.
3196
- fn map_map(
3197
- tmp: &mut IndexMap<ResourceId, Vec<usize>>,
3198
- any_changed: &mut bool,
3199
- map: &Remapping,
3200
- ) {
3201
- for (id, path) in mem::take(tmp) {
3202
- let id = match map.resources.get(&id) {
3203
- Some(id) => {
3204
- *any_changed = true;
3205
- *id
3206
- }
3207
- None => id,
3208
- };
3209
- tmp.insert(id, path);
3210
- }
3211
- }
3212
-
3213
- /// If `any_changed` is true, push `ty`, update `map` to point `id` to the
3214
- /// new type ID, set `id` equal to the new type ID, and return `true`.
3215
- /// Otherwise, update `map` to point `id` to itself and return `false`.
3216
- fn insert_if_any_changed<T>(
3217
- &mut self,
3218
- map: &mut Remapping,
3219
- any_changed: bool,
3220
- id: &mut T::Id,
3221
- ty: T,
3222
- ) -> bool
3223
- where
3224
- T: TypeData,
3225
- T::Id: Into<ComponentAnyTypeId>,
3226
- {
3227
- let new = if any_changed { self.push_ty(ty) } else { *id };
3228
- map.types.insert((*id).into(), new.into());
3229
- let changed = *id != new;
3230
- *id = new;
3231
- changed
3232
- }
3233
-
3234
- /// Recursively search for any resource types reachable from `id`, updating
3235
- /// it and `map` if any are found and remapped, returning `true` iff at last
3236
- /// one is remapped.
3237
- fn remap_component_any_type_id(
3238
- &mut self,
3239
- id: &mut ComponentAnyTypeId,
3240
- map: &mut Remapping,
3241
- ) -> bool {
3242
- match id {
3243
- ComponentAnyTypeId::Resource(id) => self.remap_resource_id(id, map),
3244
- ComponentAnyTypeId::Defined(id) => self.remap_component_defined_type_id(id, map),
3245
- ComponentAnyTypeId::Func(id) => self.remap_component_func_type_id(id, map),
3246
- ComponentAnyTypeId::Instance(id) => self.remap_component_instance_type_id(id, map),
3247
- ComponentAnyTypeId::Component(id) => self.remap_component_type_id(id, map),
3248
- }
3249
- }
3250
-
3251
- /// If `map` indicates `id` should be remapped, update it and return `true`.
3252
- /// Otherwise, do nothing and return `false`.
3253
- fn remap_resource_id(&mut self, id: &mut AliasableResourceId, map: &Remapping) -> bool {
3254
- if let Some(changed) = map.remap_id(id) {
3255
- return changed;
3256
- }
3257
-
3258
- match map.resources.get(&id.resource()) {
3259
- None => false,
3260
- Some(new_id) => {
3261
- *id.resource_mut() = *new_id;
3262
- true
3263
- }
3264
- }
3265
- }
3266
-
3267
- /// Recursively search for any resource types reachable from `id`, updating
3268
- /// it and `map` if any are found and remapped, returning `true` iff at last
3269
- /// one is remapped.
3270
- fn remap_component_type_id(&mut self, id: &mut ComponentTypeId, map: &mut Remapping) -> bool {
3271
- if let Some(changed) = map.remap_id(id) {
3272
- return changed;
3273
- }
3274
-
3275
- let mut any_changed = false;
3276
- let mut ty = self[*id].clone();
3277
- for ty in ty.imports.values_mut().chain(ty.exports.values_mut()) {
3278
- any_changed |= self.remap_component_entity(ty, map);
3279
- }
3280
- for (id, _) in ty
3281
- .imported_resources
3282
- .iter_mut()
3283
- .chain(&mut ty.defined_resources)
3284
- {
3285
- if let Some(new) = map.resources.get(id) {
3286
- *id = *new;
3287
- any_changed = true;
3288
- }
3289
- }
3290
- Self::map_map(&mut ty.explicit_resources, &mut any_changed, map);
3291
- self.insert_if_any_changed(map, any_changed, id, ty)
3292
- }
3293
-
3294
- /// Recursively search for any resource types reachable from `id`, updating
3295
- /// it and `map` if any are found and remapped, returning `true` iff at last
3296
- /// one is remapped.
3297
- fn remap_component_defined_type_id(
3298
- &mut self,
3299
- id: &mut ComponentDefinedTypeId,
3300
- map: &mut Remapping,
3301
- ) -> bool {
3302
- if let Some(changed) = map.remap_id(id) {
3303
- return changed;
3304
- }
3305
-
3306
- let mut any_changed = false;
3307
- let mut tmp = self[*id].clone();
3308
- match &mut tmp {
3309
- ComponentDefinedType::Primitive(_)
3310
- | ComponentDefinedType::Flags(_)
3311
- | ComponentDefinedType::Enum(_) => {}
3312
- ComponentDefinedType::Record(r) => {
3313
- for ty in r.fields.values_mut() {
3314
- any_changed |= self.remap_valtype(ty, map);
3315
- }
3316
- }
3317
- ComponentDefinedType::Tuple(r) => {
3318
- for ty in r.types.iter_mut() {
3319
- any_changed |= self.remap_valtype(ty, map);
3320
- }
3321
- }
3322
- ComponentDefinedType::Variant(r) => {
3323
- for ty in r.cases.values_mut() {
3324
- if let Some(ty) = &mut ty.ty {
3325
- any_changed |= self.remap_valtype(ty, map);
3326
- }
3327
- }
3328
- }
3329
- ComponentDefinedType::List(ty) | ComponentDefinedType::Option(ty) => {
3330
- any_changed |= self.remap_valtype(ty, map);
3331
- }
3332
- ComponentDefinedType::Result { ok, err } => {
3333
- if let Some(ok) = ok {
3334
- any_changed |= self.remap_valtype(ok, map);
3335
- }
3336
- if let Some(err) = err {
3337
- any_changed |= self.remap_valtype(err, map);
3338
- }
3339
- }
3340
- ComponentDefinedType::Own(id) | ComponentDefinedType::Borrow(id) => {
3341
- any_changed |= self.remap_resource_id(id, map);
3342
- }
3343
- }
3344
- self.insert_if_any_changed(map, any_changed, id, tmp)
3345
- }
3346
-
3347
- /// Recursively search for any resource types reachable from `id`, updating
3348
- /// it and `map` if any are found and remapped, returning `true` iff at last
3349
- /// one is remapped.
3350
- fn remap_component_instance_type_id(
3351
- &mut self,
3352
- id: &mut ComponentInstanceTypeId,
3353
- map: &mut Remapping,
3354
- ) -> bool {
3355
- if let Some(changed) = map.remap_id(id) {
3356
- return changed;
3357
- }
3358
-
3359
- let mut any_changed = false;
3360
- let mut tmp = self[*id].clone();
3361
- for ty in tmp.exports.values_mut() {
3362
- any_changed |= self.remap_component_entity(ty, map);
3363
- }
3364
- for id in tmp.defined_resources.iter_mut() {
3365
- if let Some(new) = map.resources.get(id) {
3366
- *id = *new;
3367
- any_changed = true;
3368
- }
3369
- }
3370
- Self::map_map(&mut tmp.explicit_resources, &mut any_changed, map);
3371
- self.insert_if_any_changed(map, any_changed, id, tmp)
3372
- }
3373
-
3374
- /// Recursively search for any resource types reachable from `id`, updating
3375
- /// it and `map` if any are found and remapped, returning `true` iff at last
3376
- /// one is remapped.
3377
- fn remap_component_func_type_id(
3378
- &mut self,
3379
- id: &mut ComponentFuncTypeId,
3380
- map: &mut Remapping,
3381
- ) -> bool {
3382
- if let Some(changed) = map.remap_id(id) {
3383
- return changed;
3384
- }
3385
-
3386
- let mut any_changed = false;
3387
- let mut tmp = self[*id].clone();
3388
- for ty in tmp
3389
- .params
3390
- .iter_mut()
3391
- .map(|(_, ty)| ty)
3392
- .chain(tmp.results.iter_mut().map(|(_, ty)| ty))
3393
- {
3394
- any_changed |= self.remap_valtype(ty, map);
3395
- }
3396
- self.insert_if_any_changed(map, any_changed, id, tmp)
3397
- }
3398
-
3399
- /// Same as `remap_type_id`, but works with `ComponentEntityType`.
3400
- fn remap_component_entity(
3401
- &mut self,
3402
- ty: &mut ComponentEntityType,
3403
- map: &mut Remapping,
3404
- ) -> bool {
3405
- match ty {
3406
- ComponentEntityType::Module(_) => {
3407
- // Can't reference resources.
3408
- false
3409
- }
3410
- ComponentEntityType::Func(id) => self.remap_component_func_type_id(id, map),
3411
- ComponentEntityType::Instance(id) => self.remap_component_instance_type_id(id, map),
3412
- ComponentEntityType::Component(id) => self.remap_component_type_id(id, map),
3413
- ComponentEntityType::Type {
3414
- referenced,
3415
- created,
3416
- } => {
3417
- let mut changed = self.remap_component_any_type_id(referenced, map);
3418
- if *referenced == *created {
3419
- *created = *referenced;
3420
- } else {
3421
- changed |= self.remap_component_any_type_id(created, map);
3422
- }
3423
- changed
3424
- }
3425
- ComponentEntityType::Value(ty) => self.remap_valtype(ty, map),
3426
- }
3427
- }
3428
-
3429
- /// Same as `remap_type_id`, but works with `ComponentValType`.
3430
- fn remap_valtype(&mut self, ty: &mut ComponentValType, map: &mut Remapping) -> bool {
3431
- match ty {
3432
- ComponentValType::Primitive(_) => false,
3433
- ComponentValType::Type(id) => self.remap_component_defined_type_id(id, map),
3434
- }
3435
- }
3436
- }
3437
-
3438
- /// Utility for mapping equivalent `ResourceId`s to each other and (when paired with the `Remap` trait)
3439
- /// non-destructively edit type lists to reflect those mappings.
3440
- #[derive(Debug, Default)]
3441
- pub struct Remapping {
3442
- /// A mapping from old resource ID to new resource ID.
3443
- pub(crate) resources: HashMap<ResourceId, ResourceId>,
3444
-
3445
- /// A mapping filled in during the remapping process which records how a
3446
- /// type was remapped, if applicable. This avoids remapping multiple
3447
- /// references to the same type and instead only processing it once.
3448
- types: HashMap<ComponentAnyTypeId, ComponentAnyTypeId>,
3449
- }
3450
-
3451
- impl Remap for TypeAlloc {
3452
- fn push_ty<T>(&mut self, ty: T) -> T::Id
3453
- where
3454
- T: TypeData,
3455
- {
3456
- <TypeList>::push(self, ty)
3457
- }
3458
- }
3459
-
3460
- impl<T> Index<T> for TypeAlloc
3461
- where
3462
- T: TypeIdentifier,
3463
- {
3464
- type Output = T::Data;
3465
-
3466
- #[inline]
3467
- fn index(&self, id: T) -> &T::Data {
3468
- &self.list[id]
3469
- }
3470
- }
3471
-
3472
- impl Remapping {
3473
- /// Add a mapping from the specified old resource ID to the new resource ID
3474
- pub fn add(&mut self, old: ResourceId, new: ResourceId) {
3475
- self.resources.insert(old, new);
3476
- }
3477
-
3478
- /// Clear the type cache while leaving the resource mappings intact.
3479
- pub fn reset_type_cache(&mut self) {
3480
- self.types.clear()
3481
- }
3482
-
3483
- fn remap_id<T>(&self, id: &mut T) -> Option<bool>
3484
- where
3485
- T: Copy + Into<ComponentAnyTypeId> + TryFrom<ComponentAnyTypeId>,
3486
- T::Error: std::fmt::Debug,
3487
- {
3488
- let old: ComponentAnyTypeId = (*id).into();
3489
- let new = self.types.get(&old)?;
3490
- if *new == old {
3491
- Some(false)
3492
- } else {
3493
- *id = T::try_from(*new).expect("should never remap across different kinds");
3494
- Some(true)
3495
- }
3496
- }
3497
- }
3498
-
3499
- /// Helper structure used to perform subtyping computations.
3500
- ///
3501
- /// This type is used whenever a subtype needs to be tested in one direction or
3502
- /// the other. The methods of this type are the various entry points for
3503
- /// subtyping.
3504
- ///
3505
- /// Internally this contains arenas for two lists of types. The `a` arena is
3506
- /// intended to be used for lookup of the first argument to all of the methods
3507
- /// below, and the `b` arena is used for lookup of the second argument.
3508
- ///
3509
- /// Arenas here are used specifically for component-based subtyping queries. In
3510
- /// these situations new types must be created based on substitution mappings,
3511
- /// but the types all have temporary lifetimes. Everything in these arenas is
3512
- /// thrown away once the subtyping computation has finished.
3513
- ///
3514
- /// Note that this subtyping context also explicitly supports being created
3515
- /// from to different lists `a` and `b` originally, for testing subtyping
3516
- /// between two different components for example.
3517
- pub struct SubtypeCx<'a> {
3518
- /// Lookup arena for first type argument
3519
- pub a: SubtypeArena<'a>,
3520
- /// Lookup arena for second type argument
3521
- pub b: SubtypeArena<'a>,
3522
- }
3523
-
3524
- impl<'a> SubtypeCx<'a> {
3525
- /// Create a new instance with the specified type lists
3526
- pub fn new_with_refs(a: TypesRef<'a>, b: TypesRef<'a>) -> SubtypeCx<'a> {
3527
- Self::new(a.list, b.list)
3528
- }
3529
-
3530
- pub(crate) fn new(a: &'a TypeList, b: &'a TypeList) -> SubtypeCx<'a> {
3531
- SubtypeCx {
3532
- a: SubtypeArena::new(a),
3533
- b: SubtypeArena::new(b),
3534
- }
3535
- }
3536
-
3537
- /// Swap the type lists
3538
- pub fn swap(&mut self) {
3539
- mem::swap(&mut self.a, &mut self.b);
3540
- }
3541
-
3542
- /// Executes the closure `f`, resetting the internal arenas to their
3543
- /// original size after the closure finishes.
3544
- ///
3545
- /// This enables `f` to modify the internal arenas while relying on all
3546
- /// changes being discarded after the closure finishes.
3547
- fn with_checkpoint<T>(&mut self, f: impl FnOnce(&mut Self) -> T) -> T {
3548
- let a = self.a.list.checkpoint();
3549
- let b = self.b.list.checkpoint();
3550
- let result = f(self);
3551
- self.a.list.reset_to_checkpoint(a);
3552
- self.b.list.reset_to_checkpoint(b);
3553
- result
3554
- }
3555
-
3556
- /// Tests whether `a` is a subtype of `b`.
3557
- ///
3558
- /// Errors are reported at the `offset` specified.
3559
- pub fn component_entity_type(
3560
- &mut self,
3561
- a: &ComponentEntityType,
3562
- b: &ComponentEntityType,
3563
- offset: usize,
3564
- ) -> Result<()> {
3565
- use ComponentEntityType::*;
3566
-
3567
- match (a, b) {
3568
- (Module(a), Module(b)) => self.module_type(*a, *b, offset),
3569
- (Module(_), b) => bail!(offset, "expected {}, found module", b.desc()),
3570
-
3571
- (Func(a), Func(b)) => self.component_func_type(*a, *b, offset),
3572
- (Func(_), b) => bail!(offset, "expected {}, found func", b.desc()),
3573
-
3574
- (Value(a), Value(b)) => self.component_val_type(a, b, offset),
3575
- (Value(_), b) => bail!(offset, "expected {}, found value", b.desc()),
3576
-
3577
- (Type { referenced: a, .. }, Type { referenced: b, .. }) => {
3578
- self.component_any_type_id(*a, *b, offset)
3579
- }
3580
- (Type { .. }, b) => bail!(offset, "expected {}, found type", b.desc()),
3581
-
3582
- (Instance(a), Instance(b)) => self.component_instance_type(*a, *b, offset),
3583
- (Instance(_), b) => bail!(offset, "expected {}, found instance", b.desc()),
3584
-
3585
- (Component(a), Component(b)) => self.component_type(*a, *b, offset),
3586
- (Component(_), b) => bail!(offset, "expected {}, found component", b.desc()),
3587
- }
3588
- }
3589
-
3590
- /// Tests whether `a` is a subtype of `b`.
3591
- ///
3592
- /// Errors are reported at the `offset` specified.
3593
- pub fn component_type(
3594
- &mut self,
3595
- a: ComponentTypeId,
3596
- b: ComponentTypeId,
3597
- offset: usize,
3598
- ) -> Result<()> {
3599
- // Components are ... tricky. They follow the same basic
3600
- // structure as core wasm modules, but they also have extra
3601
- // logic to handle resource types. Resources are effectively
3602
- // abstract types so this is sort of where an ML module system
3603
- // in the component model becomes a reality.
3604
- //
3605
- // This also leverages the `open_instance_type` method below
3606
- // heavily which internally has its own quite large suite of
3607
- // logic. More-or-less what's happening here is:
3608
- //
3609
- // 1. Pretend that the imports of B are given as values to the
3610
- // imports of A. If A didn't import anything, for example,
3611
- // that's great and the subtyping definitely passes there.
3612
- // This operation produces a mapping of all the resources of
3613
- // A's imports to resources in B's imports.
3614
- //
3615
- // 2. This mapping is applied to all of A's exports. This means
3616
- // that all exports of A referring to A's imported resources
3617
- // now instead refer to B's. Note, though that A's exports
3618
- // still refer to its own defined resources.
3619
- //
3620
- // 3. The same `open_instance_type` method used during the
3621
- // first step is used again, but this time on the exports
3622
- // in the reverse direction. This performs a similar
3623
- // operation, though, by creating a mapping from B's
3624
- // defined resources to A's defined resources. The map
3625
- // itself is discarded as it's not needed.
3626
- //
3627
- // The order that everything passed here is intentional, but
3628
- // also subtle. I personally think of it as
3629
- // `open_instance_type` takes a list of things to satisfy a
3630
- // signature and produces a mapping of resources in the
3631
- // signature to those provided in the list of things. The
3632
- // order of operations then goes:
3633
- //
3634
- // * Someone thinks they have a component of type B, but they
3635
- // actually have a component of type A (e.g. due to this
3636
- // subtype check passing).
3637
- // * This person provides the imports of B and that must be
3638
- // sufficient to satisfy the imports of A. This is the first
3639
- // `open_instance_type` check.
3640
- // * Now though the resources provided by B are substituted
3641
- // into A's exports since that's what was provided.
3642
- // * A's exports are then handed back to the original person,
3643
- // and these exports must satisfy the signature required by B
3644
- // since that's what they're expecting.
3645
- // * This is the second `open_instance_type` which, to get
3646
- // resource types to line up, will map from A's defined
3647
- // resources to B's defined resources.
3648
- //
3649
- // If all that passes then the resources should all line up
3650
- // perfectly. Any misalignment is reported as a subtyping
3651
- // error.
3652
- let b_imports = self.b[b]
3653
- .imports
3654
- .iter()
3655
- .map(|(name, ty)| (name.clone(), ty.clone()))
3656
- .collect();
3657
- self.swap();
3658
- let mut import_mapping =
3659
- self.open_instance_type(&b_imports, a, ExternKind::Import, offset)?;
3660
- self.swap();
3661
- self.with_checkpoint(|this| {
3662
- let mut a_exports = this.a[a]
3663
- .exports
3664
- .iter()
3665
- .map(|(name, ty)| (name.clone(), ty.clone()))
3666
- .collect::<IndexMap<_, _>>();
3667
- for ty in a_exports.values_mut() {
3668
- this.a.remap_component_entity(ty, &mut import_mapping);
3669
- }
3670
- this.open_instance_type(&a_exports, b, ExternKind::Export, offset)?;
3671
- Ok(())
3672
- })
3673
- }
3674
-
3675
- /// Tests whether `a` is a subtype of `b`.
3676
- ///
3677
- /// Errors are reported at the `offset` specified.
3678
- pub fn component_instance_type(
3679
- &mut self,
3680
- a_id: ComponentInstanceTypeId,
3681
- b_id: ComponentInstanceTypeId,
3682
- offset: usize,
3683
- ) -> Result<()> {
3684
- // For instance type subtyping, all exports in the other
3685
- // instance type must be present in this instance type's
3686
- // exports (i.e. it can export *more* than what this instance
3687
- // type needs).
3688
- let a = &self.a[a_id];
3689
- let b = &self.b[b_id];
3690
-
3691
- let mut exports = Vec::with_capacity(b.exports.len());
3692
- for (k, b) in b.exports.iter() {
3693
- match a.exports.get(k) {
3694
- Some(a) => exports.push((*a, *b)),
3695
- None => bail!(offset, "missing expected export `{k}`"),
3696
- }
3697
- }
3698
- for (i, (a, b)) in exports.iter().enumerate() {
3699
- let err = match self.component_entity_type(a, b, offset) {
3700
- Ok(()) => continue,
3701
- Err(e) => e,
3702
- };
3703
- // On failure attach the name of this export as context to
3704
- // the error message to leave a breadcrumb trail.
3705
- let (name, _) = self.b[b_id].exports.get_index(i).unwrap();
3706
- return Err(err.with_context(|| format!("type mismatch in instance export `{name}`")));
3707
- }
3708
- Ok(())
3709
- }
3710
-
3711
- /// Tests whether `a` is a subtype of `b`.
3712
- ///
3713
- /// Errors are reported at the `offset` specified.
3714
- pub fn component_func_type(
3715
- &mut self,
3716
- a: ComponentFuncTypeId,
3717
- b: ComponentFuncTypeId,
3718
- offset: usize,
3719
- ) -> Result<()> {
3720
- let a = &self.a[a];
3721
- let b = &self.b[b];
3722
-
3723
- // Note that this intentionally diverges from the upstream
3724
- // specification in terms of subtyping. This is a full
3725
- // type-equality check which ensures that the structure of `a`
3726
- // exactly matches the structure of `b`. The rationale for this
3727
- // is:
3728
- //
3729
- // * Primarily in Wasmtime subtyping based on function types is
3730
- // not implemented. This includes both subtyping a host
3731
- // import and additionally handling subtyping as functions
3732
- // cross component boundaries. The host import subtyping (or
3733
- // component export subtyping) is not clear how to handle at
3734
- // all at this time. The subtyping of functions between
3735
- // components can more easily be handled by extending the
3736
- // `fact` compiler, but that hasn't been done yet.
3737
- //
3738
- // * The upstream specification is currently pretty
3739
- // intentionally vague precisely what subtyping is allowed.
3740
- // Implementing a strict check here is intended to be a
3741
- // conservative starting point for the component model which
3742
- // can be extended in the future if necessary.
3743
- //
3744
- // * The interaction with subtyping on bindings generation, for
3745
- // example, is a tricky problem that doesn't have a clear
3746
- // answer at this time. Effectively this is more rationale
3747
- // for being conservative in the first pass of the component
3748
- // model.
3749
- //
3750
- // So, in conclusion, the test here (and other places that
3751
- // reference this comment) is for exact type equality with no
3752
- // differences.
3753
- if a.params.len() != b.params.len() {
3754
- bail!(
3755
- offset,
3756
- "expected {} parameters, found {}",
3757
- b.params.len(),
3758
- a.params.len(),
3759
- );
3760
- }
3761
- if a.results.len() != b.results.len() {
3762
- bail!(
3763
- offset,
3764
- "expected {} results, found {}",
3765
- b.results.len(),
3766
- a.results.len(),
3767
- );
3768
- }
3769
- for ((an, a), (bn, b)) in a.params.iter().zip(b.params.iter()) {
3770
- if an != bn {
3771
- bail!(offset, "expected parameter named `{bn}`, found `{an}`");
3772
- }
3773
- self.component_val_type(a, b, offset)
3774
- .with_context(|| format!("type mismatch in function parameter `{an}`"))?;
3775
- }
3776
- for ((an, a), (bn, b)) in a.results.iter().zip(b.results.iter()) {
3777
- if an != bn {
3778
- bail!(offset, "mismatched result names");
3779
- }
3780
- self.component_val_type(a, b, offset)
3781
- .with_context(|| "type mismatch with result type")?;
3782
- }
3783
- Ok(())
3784
- }
3785
-
3786
- /// Tests whether `a` is a subtype of `b`.
3787
- ///
3788
- /// Errors are reported at the `offset` specified.
3789
- pub fn module_type(
3790
- &mut self,
3791
- a: ComponentCoreModuleTypeId,
3792
- b: ComponentCoreModuleTypeId,
3793
- offset: usize,
3794
- ) -> Result<()> {
3795
- // For module type subtyping, all exports in the other module
3796
- // type must be present in this module type's exports (i.e. it
3797
- // can export *more* than what this module type needs).
3798
- // However, for imports, the check is reversed (i.e. it is okay
3799
- // to import *less* than what this module type needs).
3800
- self.swap();
3801
- let a_imports = &self.b[a].imports;
3802
- let b_imports = &self.a[b].imports;
3803
- for (k, a) in a_imports {
3804
- match b_imports.get(k) {
3805
- Some(b) => self
3806
- .entity_type(b, a, offset)
3807
- .with_context(|| format!("type mismatch in import `{}::{}`", k.0, k.1))?,
3808
- None => bail!(offset, "missing expected import `{}::{}`", k.0, k.1),
3809
- }
3810
- }
3811
- self.swap();
3812
- let a = &self.a[a];
3813
- let b = &self.b[b];
3814
- for (k, b) in b.exports.iter() {
3815
- match a.exports.get(k) {
3816
- Some(a) => self
3817
- .entity_type(a, b, offset)
3818
- .with_context(|| format!("type mismatch in export `{k}`"))?,
3819
- None => bail!(offset, "missing expected export `{k}`"),
3820
- }
3821
- }
3822
- Ok(())
3823
- }
3824
-
3825
- /// Tests whether `a` is a subtype of `b`.
3826
- ///
3827
- /// Errors are reported at the `offset` specified.
3828
- pub fn component_any_type_id(
3829
- &mut self,
3830
- a: ComponentAnyTypeId,
3831
- b: ComponentAnyTypeId,
3832
- offset: usize,
3833
- ) -> Result<()> {
3834
- match (a, b) {
3835
- (ComponentAnyTypeId::Resource(a), ComponentAnyTypeId::Resource(b)) => {
3836
- if a.resource() == b.resource() {
3837
- Ok(())
3838
- } else {
3839
- bail!(
3840
- offset,
3841
- "resource types are not the same ({:?} vs. {:?})",
3842
- a.resource(),
3843
- b.resource()
3844
- )
3845
- }
3846
- }
3847
- (ComponentAnyTypeId::Resource(_), b) => {
3848
- bail!(offset, "expected {}, found resource", b.desc())
3849
- }
3850
- (ComponentAnyTypeId::Defined(a), ComponentAnyTypeId::Defined(b)) => {
3851
- self.component_defined_type(a, b, offset)
3852
- }
3853
- (ComponentAnyTypeId::Defined(_), b) => {
3854
- bail!(offset, "expected {}, found defined type", b.desc())
3855
- }
3856
-
3857
- (ComponentAnyTypeId::Func(a), ComponentAnyTypeId::Func(b)) => {
3858
- self.component_func_type(a, b, offset)
3859
- }
3860
- (ComponentAnyTypeId::Func(_), b) => {
3861
- bail!(offset, "expected {}, found func type", b.desc())
3862
- }
3863
-
3864
- (ComponentAnyTypeId::Instance(a), ComponentAnyTypeId::Instance(b)) => {
3865
- self.component_instance_type(a, b, offset)
3866
- }
3867
- (ComponentAnyTypeId::Instance(_), b) => {
3868
- bail!(offset, "expected {}, found instance type", b.desc())
3869
- }
3870
-
3871
- (ComponentAnyTypeId::Component(a), ComponentAnyTypeId::Component(b)) => {
3872
- self.component_type(a, b, offset)
3873
- }
3874
- (ComponentAnyTypeId::Component(_), b) => {
3875
- bail!(offset, "expected {}, found component type", b.desc())
3876
- }
3877
- }
3878
- }
3879
-
3880
- /// The building block for subtyping checks when components are
3881
- /// instantiated and when components are tested if they're subtypes of each
3882
- /// other.
3883
- ///
3884
- /// This method takes a number of arguments:
3885
- ///
3886
- /// * `a` - this is a list of typed items which can be thought of as
3887
- /// concrete values to test against `b`.
3888
- /// * `b` - this `TypeId` must point to `Type::Component`.
3889
- /// * `kind` - indicates whether the `imports` or `exports` of `b` are
3890
- /// being tested against for the values in `a`.
3891
- /// * `offset` - the binary offset at which to report errors if one happens.
3892
- ///
3893
- /// This will attempt to determine if the items in `a` satisfy the
3894
- /// signature required by the `kind` items of `b`. For example component
3895
- /// instantiation will have `a` as the list of arguments provided to
3896
- /// instantiation, `b` is the component being instantiated, and `kind` is
3897
- /// `ExternKind::Import`.
3898
- ///
3899
- /// This function, if successful, will return a mapping of the resources in
3900
- /// `b` to the resources in `a` provided. This mapping is guaranteed to
3901
- /// contain all the resources for `b` (all imported resources for
3902
- /// `ExternKind::Import` or all defined resources for `ExternKind::Export`).
3903
- pub fn open_instance_type(
3904
- &mut self,
3905
- a: &IndexMap<String, ComponentEntityType>,
3906
- b: ComponentTypeId,
3907
- kind: ExternKind,
3908
- offset: usize,
3909
- ) -> Result<Remapping> {
3910
- // First, determine the mapping from resources in `b` to those supplied
3911
- // by arguments in `a`.
3912
- //
3913
- // This loop will iterate over all the appropriate resources in `b`
3914
- // and find the corresponding resource in `args`. The exact lists
3915
- // in use here depend on the `kind` provided. This necessarily requires
3916
- // a sequence of string lookups to find the corresponding items in each
3917
- // list.
3918
- //
3919
- // The path to each resource in `resources` is precomputed as a list of
3920
- // indexes. The first index is into `b`'s list of `entities`, and gives
3921
- // the name that `b` assigns to the resource. Each subsequent index,
3922
- // if present, means that this resource was present through a layer of
3923
- // an instance type, and the index is into the instance type's exports.
3924
- // More information about this can be found on
3925
- // `ComponentState::imported_resources`.
3926
- //
3927
- // This loop will follow the list of indices for each resource and, at
3928
- // the same time, walk through the arguments supplied to instantiating
3929
- // the `component_type`. This means that within `component_type`
3930
- // index-based lookups are performed while in `args` name-based
3931
- // lookups are performed.
3932
- //
3933
- // Note that here it's possible that `args` doesn't actually supply the
3934
- // correct type of import for each item since argument checking has
3935
- // not proceeded yet. These type errors, however, aren't handled by
3936
- // this loop and are deferred below to the main subtyping check. That
3937
- // means that `mapping` won't necessarily have a mapping for all
3938
- // imported resources into `component_type`, but that should be ok.
3939
- let component_type = &self.b[b];
3940
- let entities = match kind {
3941
- ExternKind::Import => &component_type.imports,
3942
- ExternKind::Export => &component_type.exports,
3943
- };
3944
- let resources = match kind {
3945
- ExternKind::Import => &component_type.imported_resources,
3946
- ExternKind::Export => &component_type.defined_resources,
3947
- };
3948
- let mut mapping = Remapping::default();
3949
- 'outer: for (resource, path) in resources.iter() {
3950
- // Lookup the first path item in `imports` and the corresponding
3951
- // entry in `args` by name.
3952
- let (name, ty) = entities.get_index(path[0]).unwrap();
3953
- let mut ty = *ty;
3954
- let mut arg = a.get(name);
3955
-
3956
- // Lookup all the subsequent `path` entries, if any, by index in
3957
- // `ty` and by name in `arg`. Type errors in `arg` are skipped over
3958
- // entirely.
3959
- for i in path.iter().skip(1).copied() {
3960
- let id = match ty {
3961
- ComponentEntityType::Instance(id) => id,
3962
- _ => unreachable!(),
3963
- };
3964
- let (name, next_ty) = self.b[id].exports.get_index(i).unwrap();
3965
- ty = *next_ty;
3966
- arg = match arg {
3967
- Some(ComponentEntityType::Instance(id)) => self.a[*id].exports.get(name),
3968
- _ => continue 'outer,
3969
- };
3970
- }
3971
-
3972
- // Double-check that `ty`, the leaf type of `component_type`, is
3973
- // indeed the expected resource.
3974
- if cfg!(debug_assertions) {
3975
- let id = match ty {
3976
- ComponentEntityType::Type { created, .. } => match created {
3977
- ComponentAnyTypeId::Resource(id) => id.resource(),
3978
- _ => unreachable!(),
3979
- },
3980
- _ => unreachable!(),
3981
- };
3982
- assert_eq!(id, *resource);
3983
- }
3984
-
3985
- // The leaf of `arg` should be a type which is a resource. If not
3986
- // it's skipped and this'll wind up generating an error later on in
3987
- // subtype checking below.
3988
- if let Some(ComponentEntityType::Type { created, .. }) = arg {
3989
- if let ComponentAnyTypeId::Resource(r) = created {
3990
- mapping.resources.insert(*resource, r.resource());
3991
- }
3992
- }
3993
- }
3994
-
3995
- // Now that a mapping from the resources in `b` to the resources in `a`
3996
- // has been determined it's possible to perform the actual subtype
3997
- // check.
3998
- //
3999
- // This subtype check notably needs to ensure that all resource types
4000
- // line up. To achieve this the `mapping` previously calculated is used
4001
- // to perform a substitution on each component entity type.
4002
- //
4003
- // The first loop here performs a name lookup to create a list of
4004
- // values from `a` to expected items in `b`. Once the list is created
4005
- // the substitution check is performed on each element.
4006
- let mut to_typecheck = Vec::new();
4007
- for (name, expected) in entities.iter() {
4008
- match a.get(name) {
4009
- Some(arg) => to_typecheck.push((arg.clone(), expected.clone())),
4010
- None => bail!(offset, "missing {} named `{name}`", kind.desc()),
4011
- }
4012
- }
4013
- let mut type_map = HashMap::default();
4014
- for (i, (actual, expected)) in to_typecheck.into_iter().enumerate() {
4015
- let result = self.with_checkpoint(|this| {
4016
- let mut expected = expected;
4017
- this.b.remap_component_entity(&mut expected, &mut mapping);
4018
- mapping.types.clear();
4019
- this.component_entity_type(&actual, &expected, offset)
4020
- });
4021
- let err = match result {
4022
- Ok(()) => {
4023
- // On a successful type-check record a mapping of
4024
- // type-to-type in `type_map` for any type imports that were
4025
- // satisfied. This is then used afterwards when performing
4026
- // type substitution to remap all component-local types to
4027
- // those that were provided in the imports.
4028
- self.register_type_renamings(actual, expected, &mut type_map);
4029
- continue;
4030
- }
4031
- Err(e) => e,
4032
- };
4033
-
4034
- // If an error happens then attach the name of the entity to the
4035
- // error message using the `i` iteration counter.
4036
- let component_type = &self.b[b];
4037
- let entities = match kind {
4038
- ExternKind::Import => &component_type.imports,
4039
- ExternKind::Export => &component_type.exports,
4040
- };
4041
- let (name, _) = entities.get_index(i).unwrap();
4042
- return Err(err.with_context(|| format!("type mismatch for {} `{name}`", kind.desc())));
4043
- }
4044
- mapping.types = type_map;
4045
- Ok(mapping)
4046
- }
4047
-
4048
- pub(crate) fn entity_type(&self, a: &EntityType, b: &EntityType, offset: usize) -> Result<()> {
4049
- macro_rules! limits_match {
4050
- ($a:expr, $b:expr) => {{
4051
- let a = $a;
4052
- let b = $b;
4053
- a.initial >= b.initial
4054
- && match b.maximum {
4055
- Some(b_max) => match a.maximum {
4056
- Some(a_max) => a_max <= b_max,
4057
- None => false,
4058
- },
4059
- None => true,
4060
- }
4061
- }};
4062
- }
4063
-
4064
- match (a, b) {
4065
- (EntityType::Func(a), EntityType::Func(b)) => {
4066
- self.core_func_type(self.a[*a].unwrap_func(), self.b[*b].unwrap_func(), offset)
4067
- }
4068
- (EntityType::Func(_), b) => bail!(offset, "expected {}, found func", b.desc()),
4069
- (EntityType::Table(a), EntityType::Table(b)) => {
4070
- if a.element_type != b.element_type {
4071
- bail!(
4072
- offset,
4073
- "expected table element type {}, found {}",
4074
- b.element_type,
4075
- a.element_type,
4076
- )
4077
- }
4078
- if limits_match!(a, b) {
4079
- Ok(())
4080
- } else {
4081
- bail!(offset, "mismatch in table limits")
4082
- }
4083
- }
4084
- (EntityType::Table(_), b) => bail!(offset, "expected {}, found table", b.desc()),
4085
- (EntityType::Memory(a), EntityType::Memory(b)) => {
4086
- if a.shared != b.shared {
4087
- bail!(offset, "mismatch in the shared flag for memories")
4088
- }
4089
- if a.memory64 != b.memory64 {
4090
- bail!(offset, "mismatch in index type used for memories")
4091
- }
4092
- if limits_match!(a, b) {
4093
- Ok(())
4094
- } else {
4095
- bail!(offset, "mismatch in memory limits")
4096
- }
4097
- }
4098
- (EntityType::Memory(_), b) => bail!(offset, "expected {}, found memory", b.desc()),
4099
- (EntityType::Global(a), EntityType::Global(b)) => {
4100
- if a.mutable != b.mutable {
4101
- bail!(offset, "global types differ in mutability")
4102
- }
4103
- if a.content_type == b.content_type {
4104
- Ok(())
4105
- } else {
4106
- bail!(
4107
- offset,
4108
- "expected global type {}, found {}",
4109
- b.content_type,
4110
- a.content_type,
4111
- )
4112
- }
4113
- }
4114
- (EntityType::Global(_), b) => bail!(offset, "expected {}, found global", b.desc()),
4115
- (EntityType::Tag(a), EntityType::Tag(b)) => {
4116
- self.core_func_type(self.a[*a].unwrap_func(), self.b[*b].unwrap_func(), offset)
4117
- }
4118
- (EntityType::Tag(_), b) => bail!(offset, "expected {}, found tag", b.desc()),
4119
- }
4120
- }
4121
-
4122
- fn core_func_type(&self, a: &FuncType, b: &FuncType, offset: usize) -> Result<()> {
4123
- if a == b {
4124
- Ok(())
4125
- } else {
4126
- bail!(
4127
- offset,
4128
- "expected: {}\n\
4129
- found: {}",
4130
- b.desc(),
4131
- a.desc(),
4132
- )
4133
- }
4134
- }
4135
-
4136
- pub(crate) fn component_val_type(
4137
- &self,
4138
- a: &ComponentValType,
4139
- b: &ComponentValType,
4140
- offset: usize,
4141
- ) -> Result<()> {
4142
- match (a, b) {
4143
- (ComponentValType::Primitive(a), ComponentValType::Primitive(b)) => {
4144
- self.primitive_val_type(*a, *b, offset)
4145
- }
4146
- (ComponentValType::Type(a), ComponentValType::Type(b)) => {
4147
- self.component_defined_type(*a, *b, offset)
4148
- }
4149
- (ComponentValType::Primitive(a), ComponentValType::Type(b)) => match &self.b[*b] {
4150
- ComponentDefinedType::Primitive(b) => self.primitive_val_type(*a, *b, offset),
4151
- b => bail!(offset, "expected {}, found {a}", b.desc()),
4152
- },
4153
- (ComponentValType::Type(a), ComponentValType::Primitive(b)) => match &self.a[*a] {
4154
- ComponentDefinedType::Primitive(a) => self.primitive_val_type(*a, *b, offset),
4155
- a => bail!(offset, "expected {b}, found {}", a.desc()),
4156
- },
4157
- }
4158
- }
4159
-
4160
- fn component_defined_type(
4161
- &self,
4162
- a: ComponentDefinedTypeId,
4163
- b: ComponentDefinedTypeId,
4164
- offset: usize,
4165
- ) -> Result<()> {
4166
- use ComponentDefinedType::*;
4167
-
4168
- // Note that the implementation of subtyping here diverges from the
4169
- // upstream specification intentionally, see the documentation on
4170
- // function subtyping for more information.
4171
- match (&self.a[a], &self.b[b]) {
4172
- (Primitive(a), Primitive(b)) => self.primitive_val_type(*a, *b, offset),
4173
- (Primitive(a), b) => bail!(offset, "expected {}, found {a}", b.desc()),
4174
- (Record(a), Record(b)) => {
4175
- if a.fields.len() != b.fields.len() {
4176
- bail!(
4177
- offset,
4178
- "expected {} fields, found {}",
4179
- b.fields.len(),
4180
- a.fields.len(),
4181
- );
4182
- }
4183
-
4184
- for ((aname, a), (bname, b)) in a.fields.iter().zip(b.fields.iter()) {
4185
- if aname != bname {
4186
- bail!(offset, "expected field name `{bname}`, found `{aname}`");
4187
- }
4188
- self.component_val_type(a, b, offset)
4189
- .with_context(|| format!("type mismatch in record field `{aname}`"))?;
4190
- }
4191
- Ok(())
4192
- }
4193
- (Record(_), b) => bail!(offset, "expected {}, found record", b.desc()),
4194
- (Variant(a), Variant(b)) => {
4195
- if a.cases.len() != b.cases.len() {
4196
- bail!(
4197
- offset,
4198
- "expected {} cases, found {}",
4199
- b.cases.len(),
4200
- a.cases.len(),
4201
- );
4202
- }
4203
- for ((aname, a), (bname, b)) in a.cases.iter().zip(b.cases.iter()) {
4204
- if aname != bname {
4205
- bail!(offset, "expected case named `{bname}`, found `{aname}`");
4206
- }
4207
- match (&a.ty, &b.ty) {
4208
- (Some(a), Some(b)) => self
4209
- .component_val_type(a, b, offset)
4210
- .with_context(|| format!("type mismatch in variant case `{aname}`"))?,
4211
- (None, None) => {}
4212
- (None, Some(_)) => {
4213
- bail!(offset, "expected case `{aname}` to have a type, found none")
4214
- }
4215
- (Some(_), None) => bail!(offset, "expected case `{aname}` to have no type"),
4216
- }
4217
- }
4218
- Ok(())
4219
- }
4220
- (Variant(_), b) => bail!(offset, "expected {}, found variant", b.desc()),
4221
- (List(a), List(b)) | (Option(a), Option(b)) => self.component_val_type(a, b, offset),
4222
- (List(_), b) => bail!(offset, "expected {}, found list", b.desc()),
4223
- (Option(_), b) => bail!(offset, "expected {}, found option", b.desc()),
4224
- (Tuple(a), Tuple(b)) => {
4225
- if a.types.len() != b.types.len() {
4226
- bail!(
4227
- offset,
4228
- "expected {} types, found {}",
4229
- b.types.len(),
4230
- a.types.len(),
4231
- );
4232
- }
4233
- for (i, (a, b)) in a.types.iter().zip(b.types.iter()).enumerate() {
4234
- self.component_val_type(a, b, offset)
4235
- .with_context(|| format!("type mismatch in tuple field {i}"))?;
4236
- }
4237
- Ok(())
4238
- }
4239
- (Tuple(_), b) => bail!(offset, "expected {}, found tuple", b.desc()),
4240
- (at @ Flags(a), Flags(b)) | (at @ Enum(a), Enum(b)) => {
4241
- let desc = match at {
4242
- Flags(_) => "flags",
4243
- _ => "enum",
4244
- };
4245
- if a.len() == b.len() && a.iter().eq(b.iter()) {
4246
- Ok(())
4247
- } else {
4248
- bail!(offset, "mismatch in {desc} elements")
4249
- }
4250
- }
4251
- (Flags(_), b) => bail!(offset, "expected {}, found flags", b.desc()),
4252
- (Enum(_), b) => bail!(offset, "expected {}, found enum", b.desc()),
4253
- (Result { ok: ao, err: ae }, Result { ok: bo, err: be }) => {
4254
- match (ao, bo) {
4255
- (None, None) => {}
4256
- (Some(a), Some(b)) => self
4257
- .component_val_type(a, b, offset)
4258
- .with_context(|| "type mismatch in ok variant")?,
4259
- (None, Some(_)) => bail!(offset, "expected ok type, but found none"),
4260
- (Some(_), None) => bail!(offset, "expected ok type to not be present"),
4261
- }
4262
- match (ae, be) {
4263
- (None, None) => {}
4264
- (Some(a), Some(b)) => self
4265
- .component_val_type(a, b, offset)
4266
- .with_context(|| "type mismatch in err variant")?,
4267
- (None, Some(_)) => bail!(offset, "expected err type, but found none"),
4268
- (Some(_), None) => bail!(offset, "expected err type to not be present"),
4269
- }
4270
- Ok(())
4271
- }
4272
- (Result { .. }, b) => bail!(offset, "expected {}, found result", b.desc()),
4273
- (Own(a), Own(b)) | (Borrow(a), Borrow(b)) => {
4274
- if a.resource() == b.resource() {
4275
- Ok(())
4276
- } else {
4277
- bail!(offset, "resource types are not the same")
4278
- }
4279
- }
4280
- (Own(_), b) => bail!(offset, "expected {}, found own", b.desc()),
4281
- (Borrow(_), b) => bail!(offset, "expected {}, found borrow", b.desc()),
4282
- }
4283
- }
4284
-
4285
- fn primitive_val_type(
4286
- &self,
4287
- a: PrimitiveValType,
4288
- b: PrimitiveValType,
4289
- offset: usize,
4290
- ) -> Result<()> {
4291
- // Note that this intentionally diverges from the upstream specification
4292
- // at this time and only considers exact equality for subtyping
4293
- // relationships.
4294
- //
4295
- // More information can be found in the subtyping implementation for
4296
- // component functions.
4297
- if a == b {
4298
- Ok(())
4299
- } else {
4300
- bail!(offset, "expected primitive `{b}` found primitive `{a}`")
4301
- }
4302
- }
4303
-
4304
- fn register_type_renamings(
4305
- &self,
4306
- actual: ComponentEntityType,
4307
- expected: ComponentEntityType,
4308
- type_map: &mut HashMap<ComponentAnyTypeId, ComponentAnyTypeId>,
4309
- ) {
4310
- match (expected, actual) {
4311
- (
4312
- ComponentEntityType::Type {
4313
- created: expected, ..
4314
- },
4315
- ComponentEntityType::Type {
4316
- created: actual, ..
4317
- },
4318
- ) => {
4319
- let prev = type_map.insert(expected, actual);
4320
- assert!(prev.is_none());
4321
- }
4322
- (ComponentEntityType::Instance(expected), ComponentEntityType::Instance(actual)) => {
4323
- let actual = &self.a[actual];
4324
- for (name, expected) in self.b[expected].exports.iter() {
4325
- let actual = actual.exports[name];
4326
- self.register_type_renamings(actual, *expected, type_map);
4327
- }
4328
- }
4329
- _ => {}
4330
- }
4331
- }
4332
- }
4333
-
4334
- /// A helper typed used purely during subtyping as part of `SubtypeCx`.
4335
- ///
4336
- /// This takes a `types` list as input which is the "base" of the ids that can
4337
- /// be indexed through this arena. All future types pushed into this, if any,
4338
- /// are stored in `self.list`.
4339
- ///
4340
- /// This is intended to have arena-like behavior where everything pushed onto
4341
- /// `self.list` is thrown away after a subtyping computation is performed. All
4342
- /// new types pushed into this arena are purely temporary.
4343
- pub struct SubtypeArena<'a> {
4344
- types: &'a TypeList,
4345
- list: TypeList,
4346
- }
4347
-
4348
- impl<'a> SubtypeArena<'a> {
4349
- fn new(types: &'a TypeList) -> SubtypeArena<'a> {
4350
- SubtypeArena {
4351
- types,
4352
- list: TypeList::default(),
4353
- }
4354
- }
4355
- }
4356
-
4357
- impl<T> Index<T> for SubtypeArena<'_>
4358
- where
4359
- T: TypeIdentifier,
4360
- {
4361
- type Output = T::Data;
4362
-
4363
- fn index(&self, id: T) -> &T::Data {
4364
- let index = id.index();
4365
- if index < T::list(self.types).len() {
4366
- &self.types[id]
4367
- } else {
4368
- let temp_index = index - T::list(self.types).len();
4369
- let temp_index = u32::try_from(temp_index).unwrap();
4370
- let temp_id = T::from_index(temp_index);
4371
- &self.list[temp_id]
4372
- }
4373
- }
4374
- }
4375
-
4376
- impl Remap for SubtypeArena<'_> {
4377
- fn push_ty<T>(&mut self, ty: T) -> T::Id
4378
- where
4379
- T: TypeData,
4380
- {
4381
- let index = T::Id::list(&self.list).len() + T::Id::list(self.types).len();
4382
- let index = u32::try_from(index).unwrap();
4383
- self.list.push(ty);
4384
- T::Id::from_index(index)
4385
- }
4386
- }
4387
-
4388
- /// Helper trait for adding contextual information to an error, modeled after
4389
- /// `anyhow::Context`.
4390
- pub(crate) trait Context {
4391
- fn with_context<S>(self, context: impl FnOnce() -> S) -> Self
4392
- where
4393
- S: Into<String>;
4394
- }
4395
-
4396
- impl<T> Context for Result<T> {
4397
- fn with_context<S>(self, context: impl FnOnce() -> S) -> Self
4398
- where
4399
- S: Into<String>,
4400
- {
4401
- match self {
4402
- Ok(val) => Ok(val),
4403
- Err(e) => Err(e.with_context(context)),
4404
- }
4405
- }
4406
- }
4407
-
4408
- impl Context for BinaryReaderError {
4409
- fn with_context<S>(mut self, context: impl FnOnce() -> S) -> Self
4410
- where
4411
- S: Into<String>,
4412
- {
4413
- self.add_context(context().into());
4414
- self
4415
- }
4416
- }