wasmtime 37.0.2 → 38.0.4

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 (2030) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +82 -107
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cap-primitives-3.4.5/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cap-primitives-3.4.5/.cargo_vcs_info.json +6 -0
  6. data/ext/cargo-vendor/cap-primitives-3.4.5/Cargo.lock +340 -0
  7. data/ext/cargo-vendor/cap-primitives-3.4.5/Cargo.toml +96 -0
  8. data/ext/cargo-vendor/cap-primitives-3.4.5/Cargo.toml.orig +47 -0
  9. data/ext/cargo-vendor/cap-primitives-3.4.5/src/fs/via_parent/open_parent.rs +126 -0
  10. data/ext/cargo-vendor/cap-primitives-3.4.5/src/rustix/linux/fs/stat_impl.rs +56 -0
  11. data/ext/cargo-vendor/cap-std-3.4.5/.cargo-checksum.json +1 -0
  12. data/ext/cargo-vendor/cap-std-3.4.5/.cargo_vcs_info.json +6 -0
  13. data/ext/cargo-vendor/cap-std-3.4.5/Cargo.lock +313 -0
  14. data/ext/cargo-vendor/cap-std-3.4.5/Cargo.toml +77 -0
  15. data/ext/cargo-vendor/cap-std-3.4.5/Cargo.toml.orig +32 -0
  16. data/ext/cargo-vendor/cap-std-3.4.5/src/net/tcp_listener.rs +248 -0
  17. data/ext/cargo-vendor/cap-std-3.4.5/src/os/unix/net/unix_listener.rs +156 -0
  18. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/.cargo-checksum.json +1 -0
  19. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/.cargo_vcs_info.json +6 -0
  20. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/Cargo.lock +133 -0
  21. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/Cargo.toml +98 -0
  22. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/Cargo.toml.orig +25 -0
  23. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/src/rex.rs +236 -0
  24. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/.cargo-checksum.json +1 -0
  25. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/.cargo_vcs_info.json +6 -0
  26. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/Cargo.lock +16 -0
  27. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/Cargo.toml +73 -0
  28. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/Cargo.toml.orig +13 -0
  29. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/src/generate/inst.rs +322 -0
  30. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/src/generate.rs +110 -0
  31. data/ext/cargo-vendor/cranelift-bforest-0.125.4/.cargo-checksum.json +1 -0
  32. data/ext/cargo-vendor/cranelift-bforest-0.125.4/.cargo_vcs_info.json +6 -0
  33. data/ext/cargo-vendor/cranelift-bforest-0.125.4/Cargo.lock +25 -0
  34. data/ext/cargo-vendor/cranelift-bforest-0.125.4/Cargo.toml +79 -0
  35. data/ext/cargo-vendor/cranelift-bforest-0.125.4/Cargo.toml.orig +19 -0
  36. data/ext/cargo-vendor/cranelift-bitset-0.125.4/.cargo-checksum.json +1 -0
  37. data/ext/cargo-vendor/cranelift-bitset-0.125.4/.cargo_vcs_info.json +6 -0
  38. data/ext/cargo-vendor/cranelift-bitset-0.125.4/Cargo.lock +73 -0
  39. data/ext/cargo-vendor/cranelift-bitset-0.125.4/Cargo.toml +94 -0
  40. data/ext/cargo-vendor/cranelift-bitset-0.125.4/Cargo.toml.orig +22 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.125.4/.cargo-checksum.json +1 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.125.4/.cargo_vcs_info.json +6 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.125.4/Cargo.lock +1352 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.125.4/Cargo.toml +252 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.125.4/Cargo.toml.orig +130 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/inline.rs +1546 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/ir/instructions.rs +1540 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/abi.rs +1619 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst/args.rs +726 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst/emit.rs +3678 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst/mod.rs +3106 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst.isle +5205 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/lower.isle +3273 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/call_conv.rs +145 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/inst/emit.rs +699 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/inst/mod.rs +936 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/inst.isle +794 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/lower.isle +1838 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/inst/emit.rs +2877 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/inst/mod.rs +1933 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/inst.isle +3264 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/lower.isle +3140 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/mod.rs +300 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/abi.rs +1526 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/inst/emit.rs +3551 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/inst/mod.rs +3542 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/inst.isle +4946 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/lower.isle +4075 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/abi.rs +1336 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst/args.rs +1063 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst/emit.rs +2188 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst/mod.rs +1662 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst.isle +4099 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/lower/isle.rs +1250 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/lower.isle +5061 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/mod.rs +272 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/pcc.rs +324 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/lib.rs +123 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/abi.rs +2572 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/blockorder.rs +485 -0
  81. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/isle.rs +839 -0
  82. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/lower.rs +1777 -0
  83. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/arithmetic.isle +343 -0
  84. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/bitops.isle +231 -0
  85. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/icmp.isle +304 -0
  86. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/selects.isle +104 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/shifts.isle +314 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/prelude_lower.isle +1204 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/settings.rs +568 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/verifier/mod.rs +2258 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/write.rs +724 -0
  92. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/.cargo-checksum.json +1 -0
  93. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/.cargo_vcs_info.json +6 -0
  94. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/Cargo.lock +110 -0
  95. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/Cargo.toml +90 -0
  96. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/Cargo.toml.orig +26 -0
  97. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/formats.rs +158 -0
  98. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/instructions.rs +504 -0
  99. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/mod.rs +61 -0
  100. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/operands.rs +173 -0
  101. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/settings.rs +336 -0
  102. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_asm.rs +740 -0
  103. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_inst.rs +1387 -0
  104. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_isle.rs +1226 -0
  105. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_settings.rs +423 -0
  106. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/isa/riscv64.rs +190 -0
  107. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/isa/x86.rs +428 -0
  108. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/entities.rs +142 -0
  109. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/formats.rs +230 -0
  110. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/instructions.rs +3905 -0
  111. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/settings.rs +376 -0
  112. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/.cargo_vcs_info.json +6 -0
  114. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/Cargo.lock +7 -0
  115. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/Cargo.toml +34 -0
  116. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/Cargo.toml.orig +14 -0
  117. data/ext/cargo-vendor/cranelift-control-0.125.4/.cargo-checksum.json +1 -0
  118. data/ext/cargo-vendor/cranelift-control-0.125.4/.cargo_vcs_info.json +6 -0
  119. data/ext/cargo-vendor/cranelift-control-0.125.4/Cargo.lock +16 -0
  120. data/ext/cargo-vendor/cranelift-control-0.125.4/Cargo.toml +45 -0
  121. data/ext/cargo-vendor/cranelift-control-0.125.4/Cargo.toml.orig +25 -0
  122. data/ext/cargo-vendor/cranelift-entity-0.125.4/.cargo-checksum.json +1 -0
  123. data/ext/cargo-vendor/cranelift-entity-0.125.4/.cargo_vcs_info.json +6 -0
  124. data/ext/cargo-vendor/cranelift-entity-0.125.4/Cargo.lock +77 -0
  125. data/ext/cargo-vendor/cranelift-entity-0.125.4/Cargo.toml +95 -0
  126. data/ext/cargo-vendor/cranelift-entity-0.125.4/Cargo.toml.orig +24 -0
  127. data/ext/cargo-vendor/cranelift-entity-0.125.4/src/primary.rs +570 -0
  128. data/ext/cargo-vendor/cranelift-frontend-0.125.4/.cargo-checksum.json +1 -0
  129. data/ext/cargo-vendor/cranelift-frontend-0.125.4/.cargo_vcs_info.json +6 -0
  130. data/ext/cargo-vendor/cranelift-frontend-0.125.4/Cargo.lock +531 -0
  131. data/ext/cargo-vendor/cranelift-frontend-0.125.4/Cargo.toml +117 -0
  132. data/ext/cargo-vendor/cranelift-frontend-0.125.4/Cargo.toml.orig +32 -0
  133. data/ext/cargo-vendor/cranelift-frontend-0.125.4/src/frontend.rs +2030 -0
  134. data/ext/cargo-vendor/cranelift-isle-0.125.4/.cargo-checksum.json +1 -0
  135. data/ext/cargo-vendor/cranelift-isle-0.125.4/.cargo_vcs_info.json +6 -0
  136. data/ext/cargo-vendor/cranelift-isle-0.125.4/Cargo.lock +322 -0
  137. data/ext/cargo-vendor/cranelift-isle-0.125.4/Cargo.toml +89 -0
  138. data/ext/cargo-vendor/cranelift-isle-0.125.4/Cargo.toml.orig +26 -0
  139. data/ext/cargo-vendor/cranelift-native-0.125.4/.cargo-checksum.json +1 -0
  140. data/ext/cargo-vendor/cranelift-native-0.125.4/.cargo_vcs_info.json +6 -0
  141. data/ext/cargo-vendor/cranelift-native-0.125.4/Cargo.lock +305 -0
  142. data/ext/cargo-vendor/cranelift-native-0.125.4/Cargo.toml +54 -0
  143. data/ext/cargo-vendor/cranelift-native-0.125.4/Cargo.toml.orig +24 -0
  144. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/.cargo-checksum.json +1 -0
  145. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/.cargo_vcs_info.json +6 -0
  146. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/Cargo.lock +7 -0
  147. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/Cargo.toml +70 -0
  148. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/Cargo.toml.orig +14 -0
  149. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/.cargo-checksum.json +1 -0
  150. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/.cargo_vcs_info.json +6 -0
  151. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/Cargo.lock +2181 -0
  152. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/Cargo.toml +79 -0
  153. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/Cargo.toml.orig +27 -0
  154. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/.cargo-checksum.json +1 -0
  155. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/.cargo_vcs_info.json +6 -0
  156. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/Cargo.lock +138 -0
  157. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/Cargo.toml +56 -0
  158. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/Cargo.toml.orig +21 -0
  159. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/README.md +31 -0
  160. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/category.rs +86 -0
  161. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/category_color.rs +41 -0
  162. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/counters.rs +156 -0
  163. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/cpu_delta.rs +60 -0
  164. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/fast_hash_map.rs +3 -0
  165. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/frame.rs +75 -0
  166. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/frame_table.rs +146 -0
  167. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/func_table.rs +110 -0
  168. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/global_lib_table.rs +119 -0
  169. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/lib.rs +81 -0
  170. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/lib_mappings.rs +161 -0
  171. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/library_info.rs +121 -0
  172. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/marker_table.rs +251 -0
  173. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/markers.rs +831 -0
  174. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/native_symbols.rs +71 -0
  175. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/process.rs +121 -0
  176. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/profile.rs +1169 -0
  177. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/reference_timestamp.rs +44 -0
  178. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/resource_table.rs +62 -0
  179. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/sample_table.rs +335 -0
  180. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/serialization_helpers.rs +41 -0
  181. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/stack_table.rs +79 -0
  182. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/string_table.rs +66 -0
  183. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/thread.rs +263 -0
  184. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/thread_string_table.rs +50 -0
  185. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/timestamp.rs +68 -0
  186. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/tests/integration_tests/main.rs +1540 -0
  187. data/ext/cargo-vendor/pulley-interpreter-38.0.4/.cargo-checksum.json +1 -0
  188. data/ext/cargo-vendor/pulley-interpreter-38.0.4/.cargo_vcs_info.json +6 -0
  189. data/ext/cargo-vendor/pulley-interpreter-38.0.4/Cargo.lock +426 -0
  190. data/ext/cargo-vendor/pulley-interpreter-38.0.4/Cargo.toml +144 -0
  191. data/ext/cargo-vendor/pulley-interpreter-38.0.4/src/lib.rs +1423 -0
  192. data/ext/cargo-vendor/pulley-macros-38.0.4/.cargo-checksum.json +1 -0
  193. data/ext/cargo-vendor/pulley-macros-38.0.4/.cargo_vcs_info.json +6 -0
  194. data/ext/cargo-vendor/pulley-macros-38.0.4/Cargo.lock +47 -0
  195. data/ext/cargo-vendor/pulley-macros-38.0.4/Cargo.toml +42 -0
  196. data/ext/cargo-vendor/wasmtime-38.0.4/.cargo-checksum.json +1 -0
  197. data/ext/cargo-vendor/wasmtime-38.0.4/.cargo_vcs_info.json +6 -0
  198. data/ext/cargo-vendor/wasmtime-38.0.4/Cargo.lock +2231 -0
  199. data/ext/cargo-vendor/wasmtime-38.0.4/Cargo.toml +552 -0
  200. data/ext/cargo-vendor/wasmtime-38.0.4/Cargo.toml.orig +410 -0
  201. data/ext/cargo-vendor/wasmtime-38.0.4/build.rs +100 -0
  202. data/ext/cargo-vendor/wasmtime-38.0.4/src/compile.rs +1052 -0
  203. data/ext/cargo-vendor/wasmtime-38.0.4/src/config.rs +3776 -0
  204. data/ext/cargo-vendor/wasmtime-38.0.4/src/engine/serialization.rs +801 -0
  205. data/ext/cargo-vendor/wasmtime-38.0.4/src/engine.rs +963 -0
  206. data/ext/cargo-vendor/wasmtime-38.0.4/src/lib.rs +440 -0
  207. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/component.rs +913 -0
  208. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/concurrent/futures_and_streams.rs +4326 -0
  209. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/concurrent.rs +4687 -0
  210. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/func/host.rs +957 -0
  211. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/func/typed.rs +2888 -0
  212. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/func.rs +977 -0
  213. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/instance.rs +1030 -0
  214. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/mod.rs +758 -0
  215. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/coredump.rs +356 -0
  216. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/func.rs +2666 -0
  217. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/instantiate.rs +285 -0
  218. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/memory.rs +1118 -0
  219. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/module.rs +1231 -0
  220. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/profiling.rs +350 -0
  221. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/store.rs +2785 -0
  222. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trampoline/memory.rs +275 -0
  223. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trampoline/table.rs +51 -0
  224. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trampoline/tag.rs +55 -0
  225. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trap.rs +634 -0
  226. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/component/libcalls.rs +1363 -0
  227. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/component.rs +1042 -0
  228. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/helpers.c +50 -0
  229. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/instance.rs +1864 -0
  230. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/interpreter.rs +506 -0
  231. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/interpreter_disabled.rs +63 -0
  232. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +86 -0
  233. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/stack_switching/stack/unix.rs +350 -0
  234. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/stack_switching.rs +691 -0
  235. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/custom/capi.rs +185 -0
  236. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/custom/traphandlers.rs +46 -0
  237. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/miri/traphandlers.rs +6 -0
  238. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/unix/machports.rs +513 -0
  239. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/unix/signals.rs +558 -0
  240. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/unix/traphandlers.rs +59 -0
  241. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/windows/traphandlers.rs +11 -0
  242. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/windows/vectored_exceptions.rs +289 -0
  243. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/throw.rs +128 -0
  244. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/traphandlers.rs +1369 -0
  245. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/vmcontext.rs +1727 -0
  246. data/ext/cargo-vendor/wasmtime-environ-38.0.4/.cargo-checksum.json +1 -0
  247. data/ext/cargo-vendor/wasmtime-environ-38.0.4/.cargo_vcs_info.json +6 -0
  248. data/ext/cargo-vendor/wasmtime-environ-38.0.4/Cargo.lock +681 -0
  249. data/ext/cargo-vendor/wasmtime-environ-38.0.4/Cargo.toml +241 -0
  250. data/ext/cargo-vendor/wasmtime-environ-38.0.4/Cargo.toml.orig +82 -0
  251. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/address_map.rs +138 -0
  252. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/builtin.rs +458 -0
  253. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/compile/mod.rs +487 -0
  254. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/compile/module_artifacts.rs +310 -0
  255. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/compile/module_environ.rs +1313 -0
  256. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/artifacts.rs +30 -0
  257. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/compiler.rs +22 -0
  258. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/dfg.rs +1235 -0
  259. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/info.rs +1186 -0
  260. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/translate/inline.rs +1867 -0
  261. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component.rs +213 -0
  262. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/hostcall.rs +83 -0
  263. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/key.rs +452 -0
  264. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/lib.rs +82 -0
  265. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/module.rs +796 -0
  266. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/module_artifacts.rs +812 -0
  267. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/trap_encoding.rs +251 -0
  268. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/vmoffsets.rs +1177 -0
  269. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/.cargo-checksum.json +1 -0
  270. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/.cargo_vcs_info.json +6 -0
  271. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/Cargo.lock +840 -0
  272. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/Cargo.toml +128 -0
  273. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/.cargo-checksum.json +1 -0
  274. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/.cargo_vcs_info.json +6 -0
  275. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/Cargo.lock +285 -0
  276. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/Cargo.toml +146 -0
  277. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/codegen.rs +787 -0
  278. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path1_async.rs +206 -0
  279. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path1_concurrent.rs +206 -0
  280. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path1_tracing_async.rs +206 -0
  281. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path2_async.rs +206 -0
  282. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path2_concurrent.rs +206 -0
  283. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path2_tracing_async.rs +206 -0
  284. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/worlds-with-types_async.rs +272 -0
  285. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/worlds-with-types_concurrent.rs +272 -0
  286. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/worlds-with-types_tracing_async.rs +280 -0
  287. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/.cargo-checksum.json +1 -0
  288. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/.cargo_vcs_info.json +6 -0
  289. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/Cargo.lock +7 -0
  290. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/Cargo.toml +38 -0
  291. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/.cargo-checksum.json +1 -0
  292. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/.cargo_vcs_info.json +6 -0
  293. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/Cargo.lock +711 -0
  294. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/Cargo.toml +187 -0
  295. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/compiler/component.rs +1721 -0
  296. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/compiler.rs +1541 -0
  297. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/func_environ/stack_switching/instructions.rs +1917 -0
  298. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/func_environ.rs +4313 -0
  299. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/lib.rs +449 -0
  300. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/.cargo-checksum.json +1 -0
  301. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/.cargo_vcs_info.json +6 -0
  302. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/Cargo.lock +343 -0
  303. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/Cargo.toml +107 -0
  304. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/Cargo.toml.orig +41 -0
  305. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/build.rs +35 -0
  306. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/lib.rs +431 -0
  307. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/aarch64.rs +189 -0
  308. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/arm.rs +95 -0
  309. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/riscv64.rs +166 -0
  310. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/s390x.rs +117 -0
  311. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/x86.rs +118 -0
  312. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/x86_64.rs +168 -0
  313. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch.rs +73 -0
  314. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/.cargo-checksum.json +1 -0
  315. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/.cargo_vcs_info.json +6 -0
  316. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/Cargo.lock +203 -0
  317. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/Cargo.toml +110 -0
  318. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/.cargo-checksum.json +1 -0
  319. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/.cargo_vcs_info.json +6 -0
  320. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/Cargo.lock +104 -0
  321. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/Cargo.toml +91 -0
  322. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/.cargo-checksum.json +1 -0
  323. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/.cargo_vcs_info.json +6 -0
  324. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/Cargo.lock +16 -0
  325. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/Cargo.toml +78 -0
  326. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/.cargo-checksum.json +1 -0
  327. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/.cargo_vcs_info.json +6 -0
  328. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/Cargo.lock +7 -0
  329. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/Cargo.toml +70 -0
  330. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/.cargo-checksum.json +1 -0
  331. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/.cargo_vcs_info.json +6 -0
  332. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/Cargo.lock +328 -0
  333. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/Cargo.toml +106 -0
  334. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/src/stackwalk.rs +261 -0
  335. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/.cargo-checksum.json +1 -0
  336. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/.cargo_vcs_info.json +6 -0
  337. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/Cargo.lock +47 -0
  338. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/Cargo.toml +43 -0
  339. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/.cargo-checksum.json +1 -0
  340. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/.cargo_vcs_info.json +6 -0
  341. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/Cargo.lock +649 -0
  342. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/Cargo.toml +132 -0
  343. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/src/compiler.rs +401 -0
  344. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/.cargo-checksum.json +1 -0
  345. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/.cargo_vcs_info.json +6 -0
  346. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/Cargo.lock +193 -0
  347. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/Cargo.toml +90 -0
  348. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/src/config.rs +164 -0
  349. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/src/lib.rs +3530 -0
  350. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/.cargo-checksum.json +1 -0
  351. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/.cargo_vcs_info.json +6 -0
  352. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/Cargo.lock +2501 -0
  353. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/Cargo.toml +262 -0
  354. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/src/lib.rs +48 -0
  355. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/src/sockets/tcp.rs +819 -0
  356. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/src/view.rs +95 -0
  357. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/tests/all/p3/mod.rs +154 -0
  358. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/tests/all/store.rs +86 -0
  359. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/.cargo-checksum.json +1 -0
  360. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/.cargo_vcs_info.json +6 -0
  361. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/Cargo.lock +1200 -0
  362. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/Cargo.toml +105 -0
  363. data/ext/cargo-vendor/wiggle-38.0.4/.cargo-checksum.json +1 -0
  364. data/ext/cargo-vendor/wiggle-38.0.4/.cargo_vcs_info.json +6 -0
  365. data/ext/cargo-vendor/wiggle-38.0.4/Cargo.lock +1157 -0
  366. data/ext/cargo-vendor/wiggle-38.0.4/Cargo.toml +139 -0
  367. data/ext/cargo-vendor/wiggle-generate-38.0.4/.cargo-checksum.json +1 -0
  368. data/ext/cargo-vendor/wiggle-generate-38.0.4/.cargo_vcs_info.json +6 -0
  369. data/ext/cargo-vendor/wiggle-generate-38.0.4/Cargo.lock +115 -0
  370. data/ext/cargo-vendor/wiggle-generate-38.0.4/Cargo.toml +102 -0
  371. data/ext/cargo-vendor/wiggle-macro-38.0.4/.cargo-checksum.json +1 -0
  372. data/ext/cargo-vendor/wiggle-macro-38.0.4/.cargo_vcs_info.json +6 -0
  373. data/ext/cargo-vendor/wiggle-macro-38.0.4/Cargo.lock +127 -0
  374. data/ext/cargo-vendor/wiggle-macro-38.0.4/Cargo.toml +98 -0
  375. data/ext/cargo-vendor/winch-codegen-38.0.4/.cargo-checksum.json +1 -0
  376. data/ext/cargo-vendor/winch-codegen-38.0.4/.cargo_vcs_info.json +6 -0
  377. data/ext/cargo-vendor/winch-codegen-38.0.4/Cargo.lock +620 -0
  378. data/ext/cargo-vendor/winch-codegen-38.0.4/Cargo.toml +133 -0
  379. data/ext/cargo-vendor/winch-codegen-38.0.4/src/codegen/env.rs +415 -0
  380. data/lib/wasmtime/version.rb +1 -1
  381. metadata +1627 -1652
  382. data/ext/cargo-vendor/byteorder-1.5.0/.cargo-checksum.json +0 -1
  383. data/ext/cargo-vendor/byteorder-1.5.0/.cargo_vcs_info.json +0 -6
  384. data/ext/cargo-vendor/byteorder-1.5.0/.github/workflows/ci.yml +0 -183
  385. data/ext/cargo-vendor/byteorder-1.5.0/CHANGELOG.md +0 -143
  386. data/ext/cargo-vendor/byteorder-1.5.0/COPYING +0 -3
  387. data/ext/cargo-vendor/byteorder-1.5.0/Cargo.toml +0 -54
  388. data/ext/cargo-vendor/byteorder-1.5.0/Cargo.toml.orig +0 -34
  389. data/ext/cargo-vendor/byteorder-1.5.0/LICENSE-MIT +0 -21
  390. data/ext/cargo-vendor/byteorder-1.5.0/README.md +0 -77
  391. data/ext/cargo-vendor/byteorder-1.5.0/UNLICENSE +0 -24
  392. data/ext/cargo-vendor/byteorder-1.5.0/benches/bench.rs +0 -326
  393. data/ext/cargo-vendor/byteorder-1.5.0/rustfmt.toml +0 -2
  394. data/ext/cargo-vendor/byteorder-1.5.0/src/io.rs +0 -1592
  395. data/ext/cargo-vendor/byteorder-1.5.0/src/lib.rs +0 -3975
  396. data/ext/cargo-vendor/cap-primitives-3.4.4/.cargo-checksum.json +0 -1
  397. data/ext/cargo-vendor/cap-primitives-3.4.4/.cargo_vcs_info.json +0 -6
  398. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.lock +0 -260
  399. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.toml +0 -96
  400. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.toml.orig +0 -47
  401. data/ext/cargo-vendor/cap-primitives-3.4.4/src/fs/via_parent/open_parent.rs +0 -126
  402. data/ext/cargo-vendor/cap-primitives-3.4.4/src/rustix/linux/fs/stat_impl.rs +0 -55
  403. data/ext/cargo-vendor/cap-std-3.4.4/.cargo-checksum.json +0 -1
  404. data/ext/cargo-vendor/cap-std-3.4.4/.cargo_vcs_info.json +0 -6
  405. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.lock +0 -233
  406. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.toml +0 -77
  407. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.toml.orig +0 -32
  408. data/ext/cargo-vendor/cap-std-3.4.4/src/net/tcp_listener.rs +0 -248
  409. data/ext/cargo-vendor/cap-std-3.4.4/src/os/unix/net/unix_listener.rs +0 -156
  410. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/.cargo-checksum.json +0 -1
  411. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/.cargo_vcs_info.json +0 -6
  412. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/Cargo.lock +0 -133
  413. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/Cargo.toml +0 -98
  414. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/Cargo.toml.orig +0 -25
  415. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/src/rex.rs +0 -236
  416. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/.cargo-checksum.json +0 -1
  417. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/.cargo_vcs_info.json +0 -6
  418. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/Cargo.lock +0 -16
  419. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/Cargo.toml +0 -73
  420. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/Cargo.toml.orig +0 -13
  421. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/src/generate/inst.rs +0 -307
  422. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/src/generate.rs +0 -150
  423. data/ext/cargo-vendor/cranelift-bforest-0.124.2/.cargo-checksum.json +0 -1
  424. data/ext/cargo-vendor/cranelift-bforest-0.124.2/.cargo_vcs_info.json +0 -6
  425. data/ext/cargo-vendor/cranelift-bforest-0.124.2/Cargo.lock +0 -25
  426. data/ext/cargo-vendor/cranelift-bforest-0.124.2/Cargo.toml +0 -79
  427. data/ext/cargo-vendor/cranelift-bforest-0.124.2/Cargo.toml.orig +0 -19
  428. data/ext/cargo-vendor/cranelift-bitset-0.124.2/.cargo-checksum.json +0 -1
  429. data/ext/cargo-vendor/cranelift-bitset-0.124.2/.cargo_vcs_info.json +0 -6
  430. data/ext/cargo-vendor/cranelift-bitset-0.124.2/Cargo.lock +0 -73
  431. data/ext/cargo-vendor/cranelift-bitset-0.124.2/Cargo.toml +0 -94
  432. data/ext/cargo-vendor/cranelift-bitset-0.124.2/Cargo.toml.orig +0 -22
  433. data/ext/cargo-vendor/cranelift-codegen-0.124.2/.cargo-checksum.json +0 -1
  434. data/ext/cargo-vendor/cranelift-codegen-0.124.2/.cargo_vcs_info.json +0 -6
  435. data/ext/cargo-vendor/cranelift-codegen-0.124.2/Cargo.lock +0 -1352
  436. data/ext/cargo-vendor/cranelift-codegen-0.124.2/Cargo.toml +0 -252
  437. data/ext/cargo-vendor/cranelift-codegen-0.124.2/Cargo.toml.orig +0 -130
  438. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/inline.rs +0 -1542
  439. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/ir/instructions.rs +0 -1515
  440. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/abi.rs +0 -1616
  441. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst/args.rs +0 -711
  442. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst/emit.rs +0 -3666
  443. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst/mod.rs +0 -3098
  444. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst.isle +0 -5184
  445. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/lower.isle +0 -3240
  446. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/call_conv.rs +0 -145
  447. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/inst/emit.rs +0 -693
  448. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/inst/mod.rs +0 -927
  449. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/inst.isle +0 -783
  450. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/lower.isle +0 -1831
  451. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/inst/emit.rs +0 -2856
  452. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/inst/mod.rs +0 -1925
  453. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/inst.isle +0 -3252
  454. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/lower.isle +0 -3133
  455. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/mod.rs +0 -294
  456. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/abi.rs +0 -1526
  457. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/inst/emit.rs +0 -3543
  458. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/inst/mod.rs +0 -3533
  459. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/inst.isle +0 -4934
  460. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/lower.isle +0 -4069
  461. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/abi.rs +0 -1334
  462. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst/args.rs +0 -1048
  463. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst/emit.rs +0 -2183
  464. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst/mod.rs +0 -1652
  465. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst.isle +0 -4074
  466. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/lower/isle.rs +0 -1245
  467. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/lower.isle +0 -5055
  468. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/mod.rs +0 -262
  469. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/pcc.rs +0 -322
  470. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/lib.rs +0 -123
  471. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/abi.rs +0 -2567
  472. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/blockorder.rs +0 -471
  473. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/isle.rs +0 -815
  474. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/lower.rs +0 -1763
  475. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/arithmetic.isle +0 -333
  476. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/bitops.isle +0 -204
  477. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/icmp.isle +0 -300
  478. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/selects.isle +0 -100
  479. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/shifts.isle +0 -307
  480. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/prelude_lower.isle +0 -1196
  481. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/settings.rs +0 -572
  482. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/verifier/mod.rs +0 -2205
  483. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/write.rs +0 -723
  484. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/.cargo-checksum.json +0 -1
  485. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/.cargo_vcs_info.json +0 -6
  486. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/Cargo.lock +0 -110
  487. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/Cargo.toml +0 -90
  488. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/Cargo.toml.orig +0 -26
  489. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/formats.rs +0 -144
  490. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/instructions.rs +0 -494
  491. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/mod.rs +0 -72
  492. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/operands.rs +0 -169
  493. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/settings.rs +0 -429
  494. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_asm.rs +0 -740
  495. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_inst.rs +0 -1311
  496. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_isle.rs +0 -1199
  497. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_settings.rs +0 -452
  498. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/isa/riscv64.rs +0 -195
  499. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/isa/x86.rs +0 -448
  500. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/entities.rs +0 -131
  501. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/formats.rs +0 -224
  502. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/instructions.rs +0 -3873
  503. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/settings.rs +0 -411
  504. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/.cargo-checksum.json +0 -1
  505. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/.cargo_vcs_info.json +0 -6
  506. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/Cargo.lock +0 -7
  507. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/Cargo.toml +0 -34
  508. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/Cargo.toml.orig +0 -14
  509. data/ext/cargo-vendor/cranelift-control-0.124.2/.cargo-checksum.json +0 -1
  510. data/ext/cargo-vendor/cranelift-control-0.124.2/.cargo_vcs_info.json +0 -6
  511. data/ext/cargo-vendor/cranelift-control-0.124.2/Cargo.lock +0 -16
  512. data/ext/cargo-vendor/cranelift-control-0.124.2/Cargo.toml +0 -45
  513. data/ext/cargo-vendor/cranelift-control-0.124.2/Cargo.toml.orig +0 -25
  514. data/ext/cargo-vendor/cranelift-entity-0.124.2/.cargo-checksum.json +0 -1
  515. data/ext/cargo-vendor/cranelift-entity-0.124.2/.cargo_vcs_info.json +0 -6
  516. data/ext/cargo-vendor/cranelift-entity-0.124.2/Cargo.lock +0 -77
  517. data/ext/cargo-vendor/cranelift-entity-0.124.2/Cargo.toml +0 -95
  518. data/ext/cargo-vendor/cranelift-entity-0.124.2/Cargo.toml.orig +0 -24
  519. data/ext/cargo-vendor/cranelift-entity-0.124.2/src/primary.rs +0 -548
  520. data/ext/cargo-vendor/cranelift-frontend-0.124.2/.cargo-checksum.json +0 -1
  521. data/ext/cargo-vendor/cranelift-frontend-0.124.2/.cargo_vcs_info.json +0 -6
  522. data/ext/cargo-vendor/cranelift-frontend-0.124.2/Cargo.lock +0 -531
  523. data/ext/cargo-vendor/cranelift-frontend-0.124.2/Cargo.toml +0 -117
  524. data/ext/cargo-vendor/cranelift-frontend-0.124.2/Cargo.toml.orig +0 -32
  525. data/ext/cargo-vendor/cranelift-frontend-0.124.2/src/frontend.rs +0 -2028
  526. data/ext/cargo-vendor/cranelift-isle-0.124.2/.cargo-checksum.json +0 -1
  527. data/ext/cargo-vendor/cranelift-isle-0.124.2/.cargo_vcs_info.json +0 -6
  528. data/ext/cargo-vendor/cranelift-isle-0.124.2/Cargo.lock +0 -322
  529. data/ext/cargo-vendor/cranelift-isle-0.124.2/Cargo.toml +0 -89
  530. data/ext/cargo-vendor/cranelift-isle-0.124.2/Cargo.toml.orig +0 -26
  531. data/ext/cargo-vendor/cranelift-native-0.124.2/.cargo-checksum.json +0 -1
  532. data/ext/cargo-vendor/cranelift-native-0.124.2/.cargo_vcs_info.json +0 -6
  533. data/ext/cargo-vendor/cranelift-native-0.124.2/Cargo.lock +0 -305
  534. data/ext/cargo-vendor/cranelift-native-0.124.2/Cargo.toml +0 -54
  535. data/ext/cargo-vendor/cranelift-native-0.124.2/Cargo.toml.orig +0 -24
  536. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/.cargo-checksum.json +0 -1
  537. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/.cargo_vcs_info.json +0 -6
  538. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/Cargo.lock +0 -7
  539. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/Cargo.toml +0 -70
  540. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/Cargo.toml.orig +0 -14
  541. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/.cargo-checksum.json +0 -1
  542. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/.cargo_vcs_info.json +0 -6
  543. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/Cargo.lock +0 -2192
  544. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/Cargo.toml +0 -79
  545. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/Cargo.toml.orig +0 -27
  546. data/ext/cargo-vendor/fxhash-0.2.1/.cargo-checksum.json +0 -1
  547. data/ext/cargo-vendor/fxhash-0.2.1/Cargo.toml +0 -38
  548. data/ext/cargo-vendor/fxhash-0.2.1/Cargo.toml.orig +0 -26
  549. data/ext/cargo-vendor/fxhash-0.2.1/README.md +0 -62
  550. data/ext/cargo-vendor/fxhash-0.2.1/bench.rs +0 -78
  551. data/ext/cargo-vendor/fxhash-0.2.1/lib.rs +0 -324
  552. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/.cargo-checksum.json +0 -1
  553. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/.cargo_vcs_info.json +0 -6
  554. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/Cargo.toml +0 -41
  555. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/Cargo.toml.orig +0 -20
  556. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/README.md +0 -27
  557. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/category.rs +0 -98
  558. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/category_color.rs +0 -41
  559. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/counters.rs +0 -130
  560. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/cpu_delta.rs +0 -59
  561. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/fast_hash_map.rs +0 -5
  562. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/frame.rs +0 -54
  563. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/frame_table.rs +0 -166
  564. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/func_table.rs +0 -110
  565. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/global_lib_table.rs +0 -76
  566. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/lib.rs +0 -74
  567. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/lib_mappings.rs +0 -140
  568. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/library_info.rs +0 -120
  569. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/marker_table.rs +0 -78
  570. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/markers.rs +0 -224
  571. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/native_symbols.rs +0 -73
  572. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/process.rs +0 -117
  573. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/profile.rs +0 -718
  574. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/reference_timestamp.rs +0 -43
  575. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/resource_table.rs +0 -63
  576. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/sample_table.rs +0 -50
  577. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/serialization_helpers.rs +0 -30
  578. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/stack_table.rs +0 -80
  579. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/string_table.rs +0 -66
  580. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/thread.rs +0 -225
  581. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/thread_string_table.rs +0 -50
  582. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/timestamp.rs +0 -29
  583. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/tests/integration_tests/main.rs +0 -1270
  584. data/ext/cargo-vendor/pulley-interpreter-37.0.2/.cargo-checksum.json +0 -1
  585. data/ext/cargo-vendor/pulley-interpreter-37.0.2/.cargo_vcs_info.json +0 -6
  586. data/ext/cargo-vendor/pulley-interpreter-37.0.2/Cargo.lock +0 -426
  587. data/ext/cargo-vendor/pulley-interpreter-37.0.2/Cargo.toml +0 -144
  588. data/ext/cargo-vendor/pulley-interpreter-37.0.2/src/lib.rs +0 -1423
  589. data/ext/cargo-vendor/pulley-macros-37.0.2/.cargo-checksum.json +0 -1
  590. data/ext/cargo-vendor/pulley-macros-37.0.2/.cargo_vcs_info.json +0 -6
  591. data/ext/cargo-vendor/pulley-macros-37.0.2/Cargo.lock +0 -47
  592. data/ext/cargo-vendor/pulley-macros-37.0.2/Cargo.toml +0 -42
  593. data/ext/cargo-vendor/wasmtime-37.0.2/.cargo-checksum.json +0 -1
  594. data/ext/cargo-vendor/wasmtime-37.0.2/.cargo_vcs_info.json +0 -6
  595. data/ext/cargo-vendor/wasmtime-37.0.2/Cargo.lock +0 -2250
  596. data/ext/cargo-vendor/wasmtime-37.0.2/Cargo.toml +0 -558
  597. data/ext/cargo-vendor/wasmtime-37.0.2/Cargo.toml.orig +0 -412
  598. data/ext/cargo-vendor/wasmtime-37.0.2/build.rs +0 -99
  599. data/ext/cargo-vendor/wasmtime-37.0.2/src/compile.rs +0 -1271
  600. data/ext/cargo-vendor/wasmtime-37.0.2/src/config.rs +0 -3792
  601. data/ext/cargo-vendor/wasmtime-37.0.2/src/engine/serialization.rs +0 -801
  602. data/ext/cargo-vendor/wasmtime-37.0.2/src/engine.rs +0 -976
  603. data/ext/cargo-vendor/wasmtime-37.0.2/src/lib.rs +0 -440
  604. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/component.rs +0 -898
  605. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/concurrent/futures_and_streams.rs +0 -4239
  606. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/concurrent.rs +0 -4585
  607. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/func/host.rs +0 -957
  608. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/func/typed.rs +0 -2888
  609. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/func.rs +0 -972
  610. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/instance.rs +0 -1024
  611. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/mod.rs +0 -758
  612. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/coredump.rs +0 -350
  613. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/func.rs +0 -2680
  614. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/instantiate.rs +0 -300
  615. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/memory.rs +0 -1115
  616. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/module.rs +0 -1224
  617. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/profiling.rs +0 -338
  618. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/store.rs +0 -2782
  619. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trampoline/memory.rs +0 -277
  620. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trampoline/table.rs +0 -50
  621. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trampoline/tag.rs +0 -54
  622. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trap.rs +0 -634
  623. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/component/libcalls.rs +0 -1257
  624. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/component.rs +0 -1022
  625. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/helpers.c +0 -121
  626. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/instance.rs +0 -1862
  627. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/interpreter.rs +0 -619
  628. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/interpreter_disabled.rs +0 -70
  629. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +0 -83
  630. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/stack_switching/stack/unix.rs +0 -353
  631. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/stack_switching.rs +0 -691
  632. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/custom/capi.rs +0 -219
  633. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/custom/traphandlers.rs +0 -69
  634. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/miri/traphandlers.rs +0 -34
  635. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/unix/machports.rs +0 -515
  636. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/unix/signals.rs +0 -566
  637. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/unix/traphandlers.rs +0 -79
  638. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/windows/traphandlers.rs +0 -31
  639. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/windows/vectored_exceptions.rs +0 -125
  640. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/throw.rs +0 -123
  641. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/traphandlers.rs +0 -1438
  642. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/vmcontext.rs +0 -1705
  643. data/ext/cargo-vendor/wasmtime-environ-37.0.2/.cargo-checksum.json +0 -1
  644. data/ext/cargo-vendor/wasmtime-environ-37.0.2/.cargo_vcs_info.json +0 -6
  645. data/ext/cargo-vendor/wasmtime-environ-37.0.2/Cargo.lock +0 -650
  646. data/ext/cargo-vendor/wasmtime-environ-37.0.2/Cargo.toml +0 -234
  647. data/ext/cargo-vendor/wasmtime-environ-37.0.2/Cargo.toml.orig +0 -80
  648. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/address_map.rs +0 -126
  649. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/builtin.rs +0 -451
  650. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/key.rs +0 -221
  651. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/mod.rs +0 -490
  652. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/module_artifacts.rs +0 -318
  653. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/module_environ.rs +0 -1312
  654. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/artifacts.rs +0 -68
  655. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/compiler.rs +0 -21
  656. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/dfg.rs +0 -1100
  657. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/info.rs +0 -1124
  658. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/translate/inline.rs +0 -1792
  659. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component.rs +0 -213
  660. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/hostcall.rs +0 -82
  661. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/lib.rs +0 -80
  662. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/module.rs +0 -760
  663. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/module_artifacts.rs +0 -119
  664. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/trap_encoding.rs +0 -244
  665. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/vmoffsets.rs +0 -1167
  666. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/.cargo-checksum.json +0 -1
  667. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/.cargo_vcs_info.json +0 -6
  668. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/Cargo.lock +0 -16
  669. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/Cargo.toml +0 -35
  670. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/Cargo.toml.orig +0 -14
  671. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/src/lib.rs +0 -90
  672. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/.cargo-checksum.json +0 -1
  673. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/.cargo_vcs_info.json +0 -6
  674. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/Cargo.lock +0 -840
  675. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/Cargo.toml +0 -128
  676. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/.cargo-checksum.json +0 -1
  677. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/.cargo_vcs_info.json +0 -6
  678. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/Cargo.lock +0 -285
  679. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/Cargo.toml +0 -146
  680. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/codegen.rs +0 -731
  681. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path1_async.rs +0 -206
  682. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path1_concurrent.rs +0 -206
  683. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path1_tracing_async.rs +0 -206
  684. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path2_async.rs +0 -206
  685. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path2_concurrent.rs +0 -206
  686. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path2_tracing_async.rs +0 -206
  687. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/worlds-with-types_async.rs +0 -272
  688. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/worlds-with-types_concurrent.rs +0 -272
  689. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/worlds-with-types_tracing_async.rs +0 -280
  690. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/.cargo-checksum.json +0 -1
  691. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/.cargo_vcs_info.json +0 -6
  692. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/Cargo.lock +0 -7
  693. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/Cargo.toml +0 -38
  694. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/.cargo-checksum.json +0 -1
  695. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/.cargo_vcs_info.json +0 -6
  696. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/Cargo.lock +0 -711
  697. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/Cargo.toml +0 -187
  698. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/compiler/component.rs +0 -1623
  699. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/compiler.rs +0 -1476
  700. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/func_environ/stack_switching/instructions.rs +0 -1917
  701. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/func_environ.rs +0 -4313
  702. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/lib.rs +0 -449
  703. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/.cargo-checksum.json +0 -1
  704. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/.cargo_vcs_info.json +0 -6
  705. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/Cargo.lock +0 -353
  706. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/Cargo.toml +0 -111
  707. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/Cargo.toml.orig +0 -42
  708. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/build.rs +0 -39
  709. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/lib.rs +0 -434
  710. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/aarch64.rs +0 -184
  711. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/arm.rs +0 -86
  712. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/riscv64.rs +0 -158
  713. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/s390x.S +0 -123
  714. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/x86.rs +0 -109
  715. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/x86_64.rs +0 -160
  716. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch.rs +0 -80
  717. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/.cargo-checksum.json +0 -1
  718. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/.cargo_vcs_info.json +0 -6
  719. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/Cargo.lock +0 -203
  720. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/Cargo.toml +0 -110
  721. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/.cargo-checksum.json +0 -1
  722. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/.cargo_vcs_info.json +0 -6
  723. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/Cargo.lock +0 -104
  724. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/Cargo.toml +0 -91
  725. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/.cargo-checksum.json +0 -1
  726. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/.cargo_vcs_info.json +0 -6
  727. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/Cargo.lock +0 -16
  728. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/Cargo.toml +0 -78
  729. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/.cargo-checksum.json +0 -1
  730. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/.cargo_vcs_info.json +0 -6
  731. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/Cargo.lock +0 -7
  732. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/Cargo.toml +0 -70
  733. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/.cargo-checksum.json +0 -1
  734. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/.cargo_vcs_info.json +0 -6
  735. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/Cargo.lock +0 -328
  736. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/Cargo.toml +0 -106
  737. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/src/stackwalk.rs +0 -219
  738. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/.cargo-checksum.json +0 -1
  739. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/.cargo_vcs_info.json +0 -6
  740. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/Cargo.lock +0 -47
  741. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/Cargo.toml +0 -43
  742. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/.cargo-checksum.json +0 -1
  743. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/.cargo_vcs_info.json +0 -6
  744. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/Cargo.lock +0 -649
  745. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/Cargo.toml +0 -132
  746. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/src/compiler.rs +0 -402
  747. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/.cargo-checksum.json +0 -1
  748. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/.cargo_vcs_info.json +0 -6
  749. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/Cargo.lock +0 -193
  750. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/Cargo.toml +0 -90
  751. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/src/config.rs +0 -164
  752. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/src/lib.rs +0 -3527
  753. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/.cargo-checksum.json +0 -1
  754. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/.cargo_vcs_info.json +0 -6
  755. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/Cargo.lock +0 -2512
  756. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/Cargo.toml +0 -262
  757. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/src/lib.rs +0 -48
  758. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/src/sockets/tcp.rs +0 -819
  759. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/src/view.rs +0 -95
  760. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/tests/all/p3/mod.rs +0 -144
  761. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/tests/all/store.rs +0 -81
  762. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/.cargo-checksum.json +0 -1
  763. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/.cargo_vcs_info.json +0 -6
  764. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/Cargo.lock +0 -1211
  765. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/Cargo.toml +0 -105
  766. data/ext/cargo-vendor/wiggle-37.0.2/.cargo-checksum.json +0 -1
  767. data/ext/cargo-vendor/wiggle-37.0.2/.cargo_vcs_info.json +0 -6
  768. data/ext/cargo-vendor/wiggle-37.0.2/Cargo.lock +0 -1168
  769. data/ext/cargo-vendor/wiggle-37.0.2/Cargo.toml +0 -139
  770. data/ext/cargo-vendor/wiggle-generate-37.0.2/.cargo-checksum.json +0 -1
  771. data/ext/cargo-vendor/wiggle-generate-37.0.2/.cargo_vcs_info.json +0 -6
  772. data/ext/cargo-vendor/wiggle-generate-37.0.2/Cargo.lock +0 -115
  773. data/ext/cargo-vendor/wiggle-generate-37.0.2/Cargo.toml +0 -102
  774. data/ext/cargo-vendor/wiggle-macro-37.0.2/.cargo-checksum.json +0 -1
  775. data/ext/cargo-vendor/wiggle-macro-37.0.2/.cargo_vcs_info.json +0 -6
  776. data/ext/cargo-vendor/wiggle-macro-37.0.2/Cargo.lock +0 -127
  777. data/ext/cargo-vendor/wiggle-macro-37.0.2/Cargo.toml +0 -98
  778. data/ext/cargo-vendor/winch-codegen-37.0.2/.cargo-checksum.json +0 -1
  779. data/ext/cargo-vendor/winch-codegen-37.0.2/.cargo_vcs_info.json +0 -6
  780. data/ext/cargo-vendor/winch-codegen-37.0.2/Cargo.lock +0 -620
  781. data/ext/cargo-vendor/winch-codegen-37.0.2/Cargo.toml +0 -133
  782. data/ext/cargo-vendor/winch-codegen-37.0.2/src/codegen/env.rs +0 -415
  783. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/COPYRIGHT +0 -0
  784. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/LICENSE-APACHE +0 -0
  785. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  786. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/LICENSE-MIT +0 -0
  787. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/README.md +0 -0
  788. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/build.rs +0 -0
  789. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/access.rs +0 -0
  790. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/assert_same_file.rs +0 -0
  791. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/canonicalize.rs +0 -0
  792. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/copy.rs +0 -0
  793. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/create_dir.rs +0 -0
  794. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/dir_builder.rs +0 -0
  795. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/dir_entry.rs +0 -0
  796. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/dir_options.rs +0 -0
  797. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/errors.rs +0 -0
  798. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/file.rs +0 -0
  799. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/file_path_by_searching.rs +0 -0
  800. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/file_type.rs +0 -0
  801. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/follow_symlinks.rs +0 -0
  802. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/hard_link.rs +0 -0
  803. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/is_file_read_write.rs +0 -0
  804. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/canonical_path.rs +0 -0
  805. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/canonicalize.rs +0 -0
  806. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/cow_component.rs +0 -0
  807. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/mod.rs +0 -0
  808. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/open.rs +0 -0
  809. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/open_entry.rs +0 -0
  810. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/read_link_one.rs +0 -0
  811. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/maybe_owned_file.rs +0 -0
  812. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/metadata.rs +0 -0
  813. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/mod.rs +0 -0
  814. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open.rs +0 -0
  815. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_ambient.rs +0 -0
  816. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_dir.rs +0 -0
  817. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_options.rs +0 -0
  818. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_unchecked_error.rs +0 -0
  819. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/permissions.rs +0 -0
  820. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/read_dir.rs +0 -0
  821. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/read_link.rs +0 -0
  822. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_dir.rs +0 -0
  823. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_dir_all.rs +0 -0
  824. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_file.rs +0 -0
  825. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_open_dir.rs +0 -0
  826. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/rename.rs +0 -0
  827. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/reopen.rs +0 -0
  828. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/set_permissions.rs +0 -0
  829. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/set_times.rs +0 -0
  830. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/stat.rs +0 -0
  831. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/symlink.rs +0 -0
  832. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/system_time_spec.rs +0 -0
  833. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/access.rs +0 -0
  834. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/create_dir.rs +0 -0
  835. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/hard_link.rs +0 -0
  836. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/mod.rs +0 -0
  837. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/read_link.rs +0 -0
  838. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/remove_dir.rs +0 -0
  839. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/remove_file.rs +0 -0
  840. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/rename.rs +0 -0
  841. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/set_permissions.rs +0 -0
  842. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/set_symlink_permissions.rs +0 -0
  843. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/set_times_nofollow.rs +0 -0
  844. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/symlink.rs +0 -0
  845. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/lib.rs +0 -0
  846. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/net/mod.rs +0 -0
  847. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/net/pool.rs +0 -0
  848. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/darwin/fs/file_path.rs +0 -0
  849. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/darwin/fs/mod.rs +0 -0
  850. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/darwin/mod.rs +0 -0
  851. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/check.rs +0 -0
  852. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/mod.rs +0 -0
  853. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/open_entry_impl.rs +0 -0
  854. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/open_impl.rs +0 -0
  855. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/remove_dir_impl.rs +0 -0
  856. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/remove_file_impl.rs +0 -0
  857. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/set_permissions_impl.rs +0 -0
  858. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/set_times_impl.rs +0 -0
  859. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/stat_impl.rs +0 -0
  860. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/mod.rs +0 -0
  861. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/access_unchecked.rs +0 -0
  862. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/copy_impl.rs +0 -0
  863. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/create_dir_unchecked.rs +0 -0
  864. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/cvt.rs +0 -0
  865. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/dir_entry_inner.rs +0 -0
  866. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/dir_options_ext.rs +0 -0
  867. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/dir_utils.rs +0 -0
  868. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/errors.rs +0 -0
  869. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/file_path.rs +0 -0
  870. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/file_type_ext.rs +0 -0
  871. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/hard_link_unchecked.rs +0 -0
  872. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/is_file_read_write_impl.rs +0 -0
  873. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/is_root_dir.rs +0 -0
  874. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/is_same_file.rs +0 -0
  875. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/metadata_ext.rs +0 -0
  876. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/mod.rs +0 -0
  877. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/oflags.rs +0 -0
  878. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/open_options_ext.rs +0 -0
  879. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/open_unchecked.rs +0 -0
  880. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/permissions_ext.rs +0 -0
  881. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/read_dir_inner.rs +0 -0
  882. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/read_link_unchecked.rs +0 -0
  883. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_dir_all_impl.rs +0 -0
  884. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_dir_unchecked.rs +0 -0
  885. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_file_unchecked.rs +0 -0
  886. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_open_dir_by_searching.rs +0 -0
  887. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/rename_unchecked.rs +0 -0
  888. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/reopen_impl.rs +0 -0
  889. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/set_permissions_impl.rs +0 -0
  890. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/set_symlink_permissions_unchecked.rs +0 -0
  891. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/set_times_impl.rs +0 -0
  892. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/stat_unchecked.rs +0 -0
  893. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/symlink_unchecked.rs +0 -0
  894. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/times.rs +0 -0
  895. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/canonicalize_impl.rs +0 -0
  896. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/file_metadata.rs +0 -0
  897. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/file_path.rs +0 -0
  898. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/mod.rs +0 -0
  899. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/open_entry_impl.rs +0 -0
  900. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/open_impl.rs +0 -0
  901. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/procfs.rs +0 -0
  902. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/set_permissions_impl.rs +0 -0
  903. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/set_times_impl.rs +0 -0
  904. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/mod.rs +0 -0
  905. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/mod.rs +0 -0
  906. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/instant.rs +0 -0
  907. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/mod.rs +0 -0
  908. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/monotonic_clock.rs +0 -0
  909. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/system_clock.rs +0 -0
  910. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/system_time.rs +0 -0
  911. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/access_unchecked.rs +0 -0
  912. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/copy.rs +0 -0
  913. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/create_dir_unchecked.rs +0 -0
  914. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/create_file_at_w.rs +0 -0
  915. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/dir_entry_inner.rs +0 -0
  916. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/dir_options_ext.rs +0 -0
  917. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/dir_utils.rs +0 -0
  918. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/errors.rs +0 -0
  919. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/file_type_ext.rs +0 -0
  920. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/get_path.rs +0 -0
  921. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/hard_link_unchecked.rs +0 -0
  922. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/is_file_read_write_impl.rs +0 -0
  923. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/is_same_file.rs +0 -0
  924. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/metadata_ext.rs +0 -0
  925. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/mod.rs +0 -0
  926. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/oflags.rs +0 -0
  927. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/open_impl.rs +0 -0
  928. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/open_options_ext.rs +0 -0
  929. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/open_unchecked.rs +0 -0
  930. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/read_dir_inner.rs +0 -0
  931. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/read_link_impl.rs +0 -0
  932. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/read_link_unchecked.rs +0 -0
  933. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_dir_all_impl.rs +0 -0
  934. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_dir_unchecked.rs +0 -0
  935. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_file_unchecked.rs +0 -0
  936. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_open_dir_impl.rs +0 -0
  937. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/rename_unchecked.rs +0 -0
  938. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/reopen_impl.rs +0 -0
  939. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/set_permissions_unchecked.rs +0 -0
  940. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/set_symlink_permissions_unchecked.rs +0 -0
  941. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/set_times_impl.rs +0 -0
  942. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/stat_unchecked.rs +0 -0
  943. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/symlink_unchecked.rs +0 -0
  944. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/mod.rs +0 -0
  945. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/COPYRIGHT +0 -0
  946. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/LICENSE-APACHE +0 -0
  947. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  948. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/LICENSE-MIT +0 -0
  949. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/README.md +0 -0
  950. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/build.rs +0 -0
  951. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/dir.rs +0 -0
  952. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/dir_entry.rs +0 -0
  953. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/file.rs +0 -0
  954. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/mod.rs +0 -0
  955. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/read_dir.rs +0 -0
  956. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/dir.rs +0 -0
  957. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/dir_entry.rs +0 -0
  958. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/file.rs +0 -0
  959. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/mod.rs +0 -0
  960. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/read_dir.rs +0 -0
  961. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/lib.rs +0 -0
  962. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/incoming.rs +0 -0
  963. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/mod.rs +0 -0
  964. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/pool.rs +0 -0
  965. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/tcp_stream.rs +0 -0
  966. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/udp_socket.rs +0 -0
  967. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/mod.rs +0 -0
  968. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/mod.rs +0 -0
  969. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/incoming.rs +0 -0
  970. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/mod.rs +0 -0
  971. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/unix_datagram.rs +0 -0
  972. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/unix_stream.rs +0 -0
  973. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/time/mod.rs +0 -0
  974. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/README.md +0 -0
  975. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/build.rs +0 -0
  976. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/api.rs +0 -0
  977. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/custom.rs +0 -0
  978. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/evex.rs +0 -0
  979. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/features.rs +0 -0
  980. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/fixed.rs +0 -0
  981. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/fuzz.rs +0 -0
  982. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/gpr.rs +0 -0
  983. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/imm.rs +0 -0
  984. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/inst.rs +0 -0
  985. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/lib.rs +0 -0
  986. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/main.rs +0 -0
  987. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/mem.rs +0 -0
  988. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/vex.rs +0 -0
  989. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/xmm.rs +0 -0
  990. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/README.md +0 -0
  991. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/custom.rs +0 -0
  992. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/encoding.rs +0 -0
  993. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/features.rs +0 -0
  994. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/format.rs +0 -0
  995. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl.rs +0 -0
  996. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/generate/features.rs +0 -0
  997. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/generate/format.rs +0 -0
  998. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/generate/operand.rs +0 -0
  999. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/abs.rs +0 -0
  1000. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/add.rs +0 -0
  1001. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/align.rs +0 -0
  1002. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/and.rs +0 -0
  1003. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/atomic.rs +0 -0
  1004. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/avg.rs +0 -0
  1005. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/bitmanip.rs +0 -0
  1006. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/cmov.rs +0 -0
  1007. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/cmp.rs +0 -0
  1008. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/cvt.rs +0 -0
  1009. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/div.rs +0 -0
  1010. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/fma.rs +0 -0
  1011. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/jmp.rs +0 -0
  1012. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/lanes.rs +0 -0
  1013. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/max.rs +0 -0
  1014. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/min.rs +0 -0
  1015. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/misc.rs +0 -0
  1016. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/mov.rs +0 -0
  1017. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/mul.rs +0 -0
  1018. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/neg.rs +0 -0
  1019. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/nop.rs +0 -0
  1020. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/or.rs +0 -0
  1021. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/pack.rs +0 -0
  1022. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/pma.rs +0 -0
  1023. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/recip.rs +0 -0
  1024. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/round.rs +0 -0
  1025. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/setcc.rs +0 -0
  1026. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/shift.rs +0 -0
  1027. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/sqrt.rs +0 -0
  1028. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/stack.rs +0 -0
  1029. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/sub.rs +0 -0
  1030. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/unpack.rs +0 -0
  1031. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/xor.rs +0 -0
  1032. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions.rs +0 -0
  1033. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/lib.rs +0 -0
  1034. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/main.rs +0 -0
  1035. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/LICENSE +0 -0
  1036. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/README.md +0 -0
  1037. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/lib.rs +0 -0
  1038. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/map.rs +0 -0
  1039. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/node.rs +0 -0
  1040. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/path.rs +0 -0
  1041. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/pool.rs +0 -0
  1042. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/set.rs +0 -0
  1043. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/src/compound.rs +0 -0
  1044. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/src/lib.rs +0 -0
  1045. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/src/scalar.rs +0 -0
  1046. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/tests/bitset.rs +0 -0
  1047. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/LICENSE +0 -0
  1048. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/README.md +0 -0
  1049. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/build.rs +0 -0
  1050. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/alias_analysis.rs +0 -0
  1051. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/binemit/mod.rs +0 -0
  1052. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/cfg_printer.rs +0 -0
  1053. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/constant_hash.rs +0 -0
  1054. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/context.rs +0 -0
  1055. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ctxhash.rs +0 -0
  1056. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/cursor.rs +0 -0
  1057. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/data_value.rs +0 -0
  1058. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/dbg.rs +0 -0
  1059. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/dominator_tree/simple.rs +0 -0
  1060. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/dominator_tree.rs +0 -0
  1061. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/egraph/cost.rs +0 -0
  1062. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/egraph/elaborate.rs +0 -0
  1063. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/egraph.rs +0 -0
  1064. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/flowgraph.rs +0 -0
  1065. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/incremental_cache.rs +0 -0
  1066. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/inst_predicates.rs +0 -0
  1067. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/inst_specs.isle +0 -0
  1068. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/atomic_rmw_op.rs +0 -0
  1069. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/builder.rs +0 -0
  1070. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/condcodes.rs +0 -0
  1071. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/constant.rs +0 -0
  1072. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/dfg.rs +0 -0
  1073. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/dynamic_type.rs +0 -0
  1074. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/entities.rs +0 -0
  1075. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/exception_table.rs +0 -0
  1076. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/extfunc.rs +0 -0
  1077. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/extname.rs +0 -0
  1078. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/function.rs +0 -0
  1079. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/globalvalue.rs +0 -0
  1080. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/immediates.rs +0 -0
  1081. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/jumptable.rs +0 -0
  1082. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/known_symbol.rs +0 -0
  1083. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/layout.rs +0 -0
  1084. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/libcall.rs +0 -0
  1085. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/memflags.rs +0 -0
  1086. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/memtype.rs +0 -0
  1087. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/mod.rs +0 -0
  1088. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/pcc.rs +0 -0
  1089. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/progpoint.rs +0 -0
  1090. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/sourceloc.rs +0 -0
  1091. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/stackslot.rs +0 -0
  1092. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/trapcode.rs +0 -0
  1093. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/types.rs +0 -0
  1094. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/user_stack_maps.rs +0 -0
  1095. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/emit_tests.rs +0 -0
  1096. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/imms.rs +0 -0
  1097. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/regs.rs +0 -0
  1098. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  1099. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/unwind.rs +0 -0
  1100. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst_neon.isle +0 -0
  1101. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower/isle.rs +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/mod.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/pcc.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/settings.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/mod.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley32.rs +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley64.rs +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/abi.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/inst/args.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/inst/regs.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/lower/isle/generated_code.rs +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/lower/isle.rs +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/lower.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/mod.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/settings.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/abi.rs +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/args.rs +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/emit_tests.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/encode.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/imms.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/regs.rs +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/unwind.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/vector.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst_vector.isle +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/lower/isle.rs +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/lower.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/settings.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/args.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/imms.rs +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/regs.rs +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/unwind.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/lower/isle.rs +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/lower.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/mod.rs +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/settings.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind/systemv.rs +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind/winarm64.rs +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind/winx64.rs +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind.rs +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/winch.rs +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/emit_state.rs +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/emit_tests.rs +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/external.rs +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/regs.rs +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/stack_switch.rs +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/unwind.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/lower.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/settings.rs +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isle_prelude.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/legalizer/branch_to_trap.rs +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/legalizer/globalvalue.rs +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/legalizer/mod.rs +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/loop_analysis.rs +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/buffer.rs +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/compile.rs +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/helpers.rs +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/inst_common.rs +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/mod.rs +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/pcc.rs +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/reg.rs +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/valueregs.rs +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/vcode.rs +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/nan_canonicalization.rs +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/README.md +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/cprop.isle +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/div_const.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/extends.isle +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/generated_code.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/remat.isle +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/skeleton.isle +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/spaceship.isle +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/spectre.isle +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/vector.isle +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/prelude.isle +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/prelude_opt.isle +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/print_errors.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ranges.rs +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/remove_constant_phis.rs +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/result.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/scoped_hash_map.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/souper_harvest.rs +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/take_and_replace.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/timing.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/traversals.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/unreachable_code.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/value_label.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/LICENSE +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/README.md +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/cdsl/isa.rs +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/cdsl/types.rs +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/cdsl/typevar.rs +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/constant_hash.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/gen_types.rs +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/arm64.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/mod.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/pulley.rs +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/s390x.rs +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isle.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/lib.rs +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/pulley.rs +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/shared/immediates.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/shared/mod.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/shared/types.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/unique_table.rs +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/LICENSE +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/README.md +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/src/constant_hash.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/src/constants.rs +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/src/lib.rs +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/LICENSE +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/README.md +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/src/chaos.rs +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/src/lib.rs +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/src/zero_sized.rs +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/LICENSE +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/README.md +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/boxed_slice.rs +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/iter.rs +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/keys.rs +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/lib.rs +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/list.rs +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/map.rs +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/packed_option.rs +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/set.rs +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/sparse.rs +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/LICENSE +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/README.md +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/frontend/safepoints.rs +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/lib.rs +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/ssa.rs +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/switch.rs +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/variable.rs +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/README.md +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/build.rs +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/bad_converters.isle +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/error1.isle +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/extra_parens.isle +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/impure_expression.isle +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/impure_rhs.isle +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/multi_prio.isle +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/borrows.isle +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/borrows_main.rs +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/iflets.isle +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/iflets_main.rs +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_constructor.isle +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_constructor_main.rs +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_extractor.isle +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_extractor_main.rs +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/test.isle +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/test_main.rs +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/bound_var.isle +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/construct_and_extract.isle +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/conversions.isle +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/conversions_extern.isle +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/let.isle +0 -0
  1271. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/nodebug.isle +0 -0
  1272. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1273. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/test2.isle +0 -0
  1274. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/test3.isle +0 -0
  1275. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/test4.isle +0 -0
  1276. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/tutorial.isle +0 -0
  1277. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/veri_spec.isle +0 -0
  1278. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/iconst.isle +0 -0
  1279. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/iconst_main.rs +0 -0
  1280. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/let_shadowing.isle +0 -0
  1281. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/let_shadowing_main.rs +0 -0
  1282. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/ast.rs +0 -0
  1283. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/codegen.rs +0 -0
  1284. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/compile.rs +0 -0
  1285. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/disjointsets.rs +0 -0
  1286. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/error.rs +0 -0
  1287. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/files.rs +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/lexer.rs +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/lib.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/log.rs +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/overlap.rs +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/parser.rs +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/printer.rs +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/sema.rs +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/serialize.rs +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/stablemapset.rs +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/trie_again.rs +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/tests/run_tests.rs +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/LICENSE +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/README.md +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/src/lib.rs +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/src/riscv.rs +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-srcgen-0.124.2 → cranelift-srcgen-0.125.4}/src/error.rs +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-srcgen-0.124.2 → cranelift-srcgen-0.125.4}/src/lib.rs +0 -0
  1305. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/README.md +0 -0
  1306. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/src/clocks.rs +0 -0
  1307. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/src/lib.rs +0 -0
  1308. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/src/scheduling.rs +0 -0
  1309. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/clocks.rs +0 -0
  1310. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/common/mod.rs +0 -0
  1311. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/random.rs +0 -0
  1312. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/scheduler.rs +0 -0
  1313. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/CONTRIBUTING.md +0 -0
  1314. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/Cargo.toml.orig +0 -0
  1315. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/README.md +0 -0
  1316. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/examples/profiler-html.rs +0 -0
  1317. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/decode.rs +0 -0
  1318. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/disas.rs +0 -0
  1319. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/encode.rs +0 -0
  1320. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/imms.rs +0 -0
  1321. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp/debug.rs +0 -0
  1322. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp/match_loop.rs +0 -0
  1323. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp/tail_loop.rs +0 -0
  1324. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp.rs +0 -0
  1325. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/op.rs +0 -0
  1326. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/opcode.rs +0 -0
  1327. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/profile.rs +0 -0
  1328. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/profile_disabled.rs +0 -0
  1329. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/regs.rs +0 -0
  1330. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/tests/all/disas.rs +0 -0
  1331. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/tests/all/interp.rs +0 -0
  1332. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/tests/all/main.rs +0 -0
  1333. /data/ext/cargo-vendor/{pulley-macros-37.0.2 → pulley-macros-38.0.4}/Cargo.toml.orig +0 -0
  1334. /data/ext/cargo-vendor/{pulley-macros-37.0.2 → pulley-macros-38.0.4}/src/interp_disable_if_cfg.rs +0 -0
  1335. /data/ext/cargo-vendor/{pulley-macros-37.0.2 → pulley-macros-38.0.4}/src/lib.rs +0 -0
  1336. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/LICENSE +0 -0
  1337. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/README.md +0 -0
  1338. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1339. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/call_graph.rs +0 -0
  1340. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/code_builder.rs +0 -0
  1341. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/runtime.rs +0 -0
  1342. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/scc.rs +0 -0
  1343. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/stratify.rs +0 -0
  1344. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/jitdump.rs +0 -0
  1345. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/perfmap.rs +0 -0
  1346. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/pulley.rs +0 -0
  1347. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/vtune.rs +0 -0
  1348. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent.rs +0 -0
  1349. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/code.rs +0 -0
  1350. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/code_memory.rs +0 -0
  1351. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  1352. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  1353. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  1354. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  1355. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  1356. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
  1357. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  1358. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_7_async.rs +0 -0
  1359. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_8_store_in_imports.rs +0 -0
  1360. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/mod.rs +0 -0
  1361. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/abort.rs +0 -0
  1362. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/error_contexts.rs +0 -0
  1363. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/futures_and_streams/buffers.rs +0 -0
  1364. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/table.rs +0 -0
  1365. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/tls.rs +0 -0
  1366. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent_disabled.rs +0 -0
  1367. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/func/options.rs +0 -0
  1368. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/has_data.rs +0 -0
  1369. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/linker.rs +0 -0
  1370. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/matching.rs +0 -0
  1371. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/resource_table.rs +0 -0
  1372. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/resources.rs +0 -0
  1373. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/storage.rs +0 -0
  1374. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/store.rs +0 -0
  1375. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/types.rs +0 -0
  1376. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/values.rs +0 -0
  1377. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/debug.rs +0 -0
  1378. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/exception.rs +0 -0
  1379. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals/global.rs +0 -0
  1380. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals/table.rs +0 -0
  1381. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals/tag.rs +0 -0
  1382. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals.rs +0 -0
  1383. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/fiber.rs +0 -0
  1384. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/func/typed.rs +0 -0
  1385. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/anyref.rs +0 -0
  1386. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/arrayref.rs +0 -0
  1387. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/eqref.rs +0 -0
  1388. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/exnref.rs +0 -0
  1389. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/externref.rs +0 -0
  1390. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/i31.rs +0 -0
  1391. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/rooting.rs +0 -0
  1392. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/structref.rs +0 -0
  1393. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled.rs +0 -0
  1394. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/anyref.rs +0 -0
  1395. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/arrayref.rs +0 -0
  1396. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/eqref.rs +0 -0
  1397. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/exnref.rs +0 -0
  1398. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/externref.rs +0 -0
  1399. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/i31.rs +0 -0
  1400. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/rooting.rs +0 -0
  1401. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/structref.rs +0 -0
  1402. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled.rs +0 -0
  1403. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/noextern.rs +0 -0
  1404. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/none_ref.rs +0 -0
  1405. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc.rs +0 -0
  1406. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/instance.rs +0 -0
  1407. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/limits.rs +0 -0
  1408. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/linker.rs +0 -0
  1409. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/module/registry.rs +0 -0
  1410. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/resources.rs +0 -0
  1411. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/stack.rs +0 -0
  1412. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/async_.rs +0 -0
  1413. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/context.rs +0 -0
  1414. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/data.rs +0 -0
  1415. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/func_refs.rs +0 -0
  1416. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/gc.rs +0 -0
  1417. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/token.rs +0 -0
  1418. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/trampoline/func.rs +0 -0
  1419. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/trampoline/global.rs +0 -0
  1420. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/trampoline.rs +0 -0
  1421. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/type_registry.rs +0 -0
  1422. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/types/matching.rs +0 -0
  1423. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/types.rs +0 -0
  1424. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/uninhabited.rs +0 -0
  1425. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/unix.rs +0 -0
  1426. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/v128.rs +0 -0
  1427. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/values.rs +0 -0
  1428. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/always_mut.rs +0 -0
  1429. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/async_yield.rs +0 -0
  1430. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/byte_count.rs +0 -0
  1431. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/component/handle_table.rs +0 -0
  1432. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/component/resources.rs +0 -0
  1433. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/const_expr.rs +0 -0
  1434. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/cow.rs +0 -0
  1435. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/cow_disabled.rs +0 -0
  1436. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/debug_builtins.rs +0 -0
  1437. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/export.rs +0 -0
  1438. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/disabled.rs +0 -0
  1439. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/arrayref.rs +0 -0
  1440. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/data.rs +0 -0
  1441. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/drc.rs +0 -0
  1442. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/exnref.rs +0 -0
  1443. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  1445. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/null.rs +0 -0
  1446. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/structref.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/func_ref.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/gc_ref.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/gc_runtime.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/host_data.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/i31.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/imports.rs +0 -0
  1455. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/on_demand.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/metrics.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/libcalls.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/malloc.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/mmap.rs +0 -0
  1469. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/shared_memory.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/shared_memory_disabled.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/static_.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mmap.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mmap_vec.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/module_id.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/disabled.rs +0 -0
  1477. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/enabled.rs +0 -0
  1478. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/mod.rs +0 -0
  1479. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/pkru.rs +0 -0
  1480. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/sys.rs +0 -0
  1481. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/pagemap_disabled.rs +0 -0
  1482. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/parking_spot.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/provenance.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1485. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/send_sync_unsafe_cell.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/stack_switching/stack/dummy.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/stack_switching/stack.rs +0 -0
  1488. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/store_box.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/mmap.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/mod.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/unwind.rs +0 -0
  1492. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/vm.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/mmap.rs +0 -0
  1494. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/unwind.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/vm.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/mod.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/mmap.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/pagemap.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/unwind.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/vm.rs +0 -0
  1503. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/mmap.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/unwind64.rs +0 -0
  1506. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/vm.rs +0 -0
  1507. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/table.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/signals.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/wave/component.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/wave/core.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/wave.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/windows.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/sync_nostd.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/sync_std.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/custom_signal_handler.rs +0 -0
  1522. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/engine_across_forks.rs +0 -0
  1523. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/host_segfault.rs +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/pooling_alloc_near_oom.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/unload-engine.rs +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/LICENSE +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/examples/factc.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/address_map.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/module_types.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/stack_maps.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/trap_encoding.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/names.rs +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/translate/adapt.rs +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/translate.rs +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/types.rs +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/types_builder/resources.rs +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/types_builder.rs +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/vmcomponent_offsets.rs +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/demangling.rs +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/error.rs +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/ext.rs +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/core_types.rs +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/signature.rs +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/trampoline.rs +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/transcode.rs +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/traps.rs +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact.rs +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/gc/drc.rs +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/gc/null.rs +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/gc.rs +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/module_types.rs +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/obj.rs +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/prelude.rs +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/ref_bits.rs +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/scopevec.rs +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/stack_map.rs +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/stack_switching.rs +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/tunables.rs +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/types.rs +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/Cargo.toml.orig +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/LICENSE +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/build.rs +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/config/tests.rs +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/config.rs +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/lib.rs +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/tests.rs +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/worker/tests/system_time_stub.rs +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/worker/tests.rs +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/worker.rs +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/tests/cache_write_default_config.rs +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/Cargo.toml.orig +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/build.rs +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/src/bindgen.rs +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/src/component.rs +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/src/lib.rs +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/char.wit +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/conventions.wit +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/dead-code.wit +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/direct-import.wit +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/empty.wit +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/flags.wit +0 -0
  1582. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/floats.wit +0 -0
  1583. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/function-new.wit +0 -0
  1584. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/host-world.wit +0 -0
  1585. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/integers.wit +0 -0
  1586. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/lists.wit +0 -0
  1587. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/many-arguments.wit +0 -0
  1588. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1589. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1590. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/multiversion/root.wit +0 -0
  1591. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/path1/world.wit +0 -0
  1592. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/path2/world.wit +0 -0
  1593. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/records.wit +0 -0
  1594. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/rename.wit +0 -0
  1595. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/resources-export.wit +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/resources-import.wit +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/share-types.wit +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/simple-functions.wit +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/simple-lists.wit +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/simple-wasi.wit +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/small-anonymous.wit +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/smoke-default.wit +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/smoke-export.wit +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/smoke.wit +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/strings.wit +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/unstable-features.wit +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/unversioned-foo.wit +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/use-paths.wit +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/variants.wit +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/wat.wit +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/worlds-with-types.wit +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen_no_std.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char.rs +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char_async.rs +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char_concurrent.rs +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char_tracing_async.rs +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions.rs +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions_async.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions_concurrent.rs +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions_tracing_async.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code.rs +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code_async.rs +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code_concurrent.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code_tracing_async.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import_async.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import_concurrent.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import_tracing_async.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty_async.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty_concurrent.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty_tracing_async.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags_async.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags_concurrent.rs +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags_tracing_async.rs +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats.rs +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats_async.rs +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats_concurrent.rs +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats_tracing_async.rs +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new.rs +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new_async.rs +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new_concurrent.rs +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new_tracing_async.rs +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world.rs +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world_async.rs +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world_concurrent.rs +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world_tracing_async.rs +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers.rs +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers_async.rs +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers_concurrent.rs +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers_tracing_async.rs +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists.rs +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists_async.rs +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists_concurrent.rs +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists_tracing_async.rs +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments.rs +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments_async.rs +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments_concurrent.rs +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments_tracing_async.rs +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multi-return.rs +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion.rs +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion_async.rs +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion_concurrent.rs +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion_tracing_async.rs +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/path1.rs +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/path2.rs +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records.rs +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records_async.rs +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records_concurrent.rs +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records_tracing_async.rs +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename.rs +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename_async.rs +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename_concurrent.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename_tracing_async.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export_async.rs +0 -0
  1678. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export_concurrent.rs +0 -0
  1679. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export_tracing_async.rs +0 -0
  1680. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import.rs +0 -0
  1681. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import_async.rs +0 -0
  1682. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import_concurrent.rs +0 -0
  1683. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import_tracing_async.rs +0 -0
  1684. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types.rs +0 -0
  1685. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types_async.rs +0 -0
  1686. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types_concurrent.rs +0 -0
  1687. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types_tracing_async.rs +0 -0
  1688. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions.rs +0 -0
  1689. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions_async.rs +0 -0
  1690. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions_concurrent.rs +0 -0
  1691. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions_tracing_async.rs +0 -0
  1692. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists_async.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists_concurrent.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists_tracing_async.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi_async.rs +0 -0
  1698. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi_concurrent.rs +0 -0
  1699. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi_tracing_async.rs +0 -0
  1700. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous.rs +0 -0
  1701. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous_async.rs +0 -0
  1702. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous_concurrent.rs +0 -0
  1703. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous_tracing_async.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default.rs +0 -0
  1705. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default_async.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default_concurrent.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default_tracing_async.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export_async.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export_concurrent.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export_tracing_async.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke_async.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke_concurrent.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke_tracing_async.rs +0 -0
  1716. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings.rs +0 -0
  1717. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings_async.rs +0 -0
  1718. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings_concurrent.rs +0 -0
  1719. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings_tracing_async.rs +0 -0
  1720. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features.rs +0 -0
  1721. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features_async.rs +0 -0
  1722. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features_concurrent.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features_tracing_async.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo_async.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo_concurrent.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo_tracing_async.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths_async.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths_concurrent.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths_tracing_async.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants_async.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants_concurrent.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants_tracing_async.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat_async.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat_concurrent.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat_tracing_async.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/worlds-with-types.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasmtime-internal-component-util-37.0.2 → wasmtime-internal-component-util-38.0.4}/Cargo.toml.orig +0 -0
  1743. /data/ext/cargo-vendor/{wasmtime-internal-component-util-37.0.2 → wasmtime-internal-component-util-38.0.4}/src/lib.rs +0 -0
  1744. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/Cargo.toml.orig +0 -0
  1745. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/LICENSE +0 -0
  1746. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/SECURITY.md +0 -0
  1747. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/bounds_checks.rs +0 -0
  1748. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/builder.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/compiled_function.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/gc.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/address_transform.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/attr.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/debug_transform_logging.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/expression.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/line_program.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/mod.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/range_info_builder.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/refs.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/simulate.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/synthetic.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/unit.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/utils.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/write_debuginfo.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/disabled.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/enabled/drc.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/enabled/null.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/enabled.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/stack_switching/control_effect.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/stack_switching/fatpointer.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/stack_switching/mod.rs +0 -0
  1773. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/isa_builder.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/obj.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/code_translator.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/environ/mod.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/environ/spec.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/func_translator.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/heap.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/mod.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/stack.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/table.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/translation_utils.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/LICENSE +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/miri.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/nostd.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/unix.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/windows.c +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/windows.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/Cargo.toml.orig +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/README.md +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/build.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/gdbjit.c +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/src/gdb_jit_int.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/src/lib.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/src/perf_jitdump.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/Cargo.toml.orig +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/lib.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/libc.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/miri.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/win.rs +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-internal-math-37.0.2 → wasmtime-internal-math-38.0.4}/Cargo.toml.orig +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-internal-math-37.0.2 → wasmtime-internal-math-38.0.4}/src/lib.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-internal-slab-37.0.2 → wasmtime-internal-slab-38.0.4}/Cargo.toml.orig +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-internal-slab-37.0.2 → wasmtime-internal-slab-38.0.4}/src/lib.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/Cargo.toml.orig +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/LICENSE +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/README.md +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/build.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/aarch64.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/mod.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/riscv64.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/s390x.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/x86.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/exception_table.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/lib.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/throw.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-internal-versioned-export-macros-37.0.2 → wasmtime-internal-versioned-export-macros-38.0.4}/Cargo.toml.orig +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-internal-versioned-export-macros-37.0.2 → wasmtime-internal-versioned-export-macros-38.0.4}/src/lib.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/Cargo.toml.orig +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/LICENSE +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/src/builder.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/src/lib.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/Cargo.toml.orig +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/src/rust.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/src/source.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/src/types.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/Cargo.toml.orig +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/LICENSE +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/README.md +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/empty.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/file.rs +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/locked_async.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/mem.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/stdout.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/worker_thread_stdin.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/clocks.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/ctx.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/error.rs +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/filesystem.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p0.rs +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p1.rs +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/bindings.rs +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/filesystem.rs +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/clocks.rs +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/env.rs +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/exit.rs +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/filesystem/sync.rs +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/filesystem.rs +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/instance_network.rs +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/io.rs +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/mod.rs +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/network.rs +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/random.rs +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/tcp.rs +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/tcp_create_socket.rs +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/udp.rs +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/udp_create_socket.rs +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/ip_name_lookup.rs +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/mod.rs +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/network.rs +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/pipe.rs +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/poll.rs +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/stdio.rs +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/tcp.rs +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/udp.rs +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/command.wit +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/environment.wit +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/exit.wit +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/imports.wit +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/run.wit +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/stdio.wit +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/terminal.wit +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/monotonic-clock.wit +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/timezone.wit +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/wall-clock.wit +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/world.wit +0 -0
  1879. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/filesystem/preopens.wit +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/filesystem/types.wit +0 -0
  1881. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/filesystem/world.wit +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/error.wit +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/poll.wit +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/streams.wit +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/world.wit +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/insecure-seed.wit +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/insecure.wit +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/random.wit +0 -0
  1889. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/world.wit +0 -0
  1890. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/instance-network.wit +0 -0
  1891. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1892. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/network.wit +0 -0
  1893. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1894. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/tcp.wit +0 -0
  1895. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/udp-create-socket.wit +0 -0
  1896. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/udp.wit +0 -0
  1897. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/world.wit +0 -0
  1898. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/test.wit +0 -0
  1899. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/world.wit +0 -0
  1900. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/write_stream.rs +0 -0
  1901. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/bindings.rs +0 -0
  1902. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/cli/host.rs +0 -0
  1903. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/cli/mod.rs +0 -0
  1904. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/clocks/host.rs +0 -0
  1905. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/clocks/mod.rs +0 -0
  1906. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/filesystem/host.rs +0 -0
  1907. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/filesystem/mod.rs +0 -0
  1908. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/mod.rs +0 -0
  1909. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/random/host.rs +0 -0
  1910. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/random/mod.rs +0 -0
  1911. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/conv.rs +0 -0
  1912. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/ip_name_lookup.rs +0 -0
  1913. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/mod.rs +0 -0
  1914. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/types/mod.rs +0 -0
  1915. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/types/tcp.rs +0 -0
  1916. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/types/udp.rs +0 -0
  1917. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/mod.rs +0 -0
  1918. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/command.wit +0 -0
  1919. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/environment.wit +0 -0
  1920. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/exit.wit +0 -0
  1921. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/imports.wit +0 -0
  1922. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/run.wit +0 -0
  1923. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/stdio.wit +0 -0
  1924. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/terminal.wit +0 -0
  1925. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/monotonic-clock.wit +0 -0
  1926. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/timezone.wit +0 -0
  1927. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/types.wit +0 -0
  1928. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/wall-clock.wit +0 -0
  1929. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/world.wit +0 -0
  1930. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/filesystem/preopens.wit +0 -0
  1931. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/filesystem/types.wit +0 -0
  1932. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/filesystem/world.wit +0 -0
  1933. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/insecure-seed.wit +0 -0
  1934. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/insecure.wit +0 -0
  1935. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/random.wit +0 -0
  1936. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/world.wit +0 -0
  1937. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1938. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/sockets/types.wit +0 -0
  1939. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/sockets/world.wit +0 -0
  1940. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/package.wit +0 -0
  1941. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/random.rs +0 -0
  1942. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/runtime.rs +0 -0
  1943. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/sockets/mod.rs +0 -0
  1944. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/sockets/udp.rs +0 -0
  1945. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/sockets/util.rs +0 -0
  1946. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/main.rs +0 -0
  1947. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p1.rs +0 -0
  1948. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/api.rs +0 -0
  1949. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/async_.rs +0 -0
  1950. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/mod.rs +0 -0
  1951. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/sync.rs +0 -0
  1952. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/process_stdin.rs +0 -0
  1953. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p0/typenames.witx +0 -0
  1954. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p0/wasi_unstable.witx +0 -0
  1955. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p1/typenames.witx +0 -0
  1956. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p1/wasi_snapshot_preview1.witx +0 -0
  1957. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/Cargo.toml.orig +0 -0
  1958. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/bindings.rs +0 -0
  1959. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/impls.rs +0 -0
  1960. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/lib.rs +0 -0
  1961. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/poll.rs +0 -0
  1962. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/streams.rs +0 -0
  1963. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/error.wit +0 -0
  1964. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/poll.wit +0 -0
  1965. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/streams.wit +0 -0
  1966. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/world.wit +0 -0
  1967. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/world.wit +0 -0
  1968. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/Cargo.toml.orig +0 -0
  1969. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/LICENSE +0 -0
  1970. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/README.md +0 -0
  1971. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/error.rs +0 -0
  1972. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/guest_type.rs +0 -0
  1973. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/lib.rs +0 -0
  1974. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/region.rs +0 -0
  1975. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/Cargo.toml.orig +0 -0
  1976. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/LICENSE +0 -0
  1977. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/README.md +0 -0
  1978. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/codegen_settings.rs +0 -0
  1979. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/config.rs +0 -0
  1980. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/funcs.rs +0 -0
  1981. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/lib.rs +0 -0
  1982. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/lifetimes.rs +0 -0
  1983. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/module_trait.rs +0 -0
  1984. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/names.rs +0 -0
  1985. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/error.rs +0 -0
  1986. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/flags.rs +0 -0
  1987. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/handle.rs +0 -0
  1988. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/mod.rs +0 -0
  1989. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/record.rs +0 -0
  1990. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/variant.rs +0 -0
  1991. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/wasmtime.rs +0 -0
  1992. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/Cargo.toml.orig +0 -0
  1993. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/LICENSE +0 -0
  1994. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/build.rs +0 -0
  1995. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/src/lib.rs +0 -0
  1996. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/Cargo.toml.orig +0 -0
  1997. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/LICENSE +0 -0
  1998. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/build.rs +0 -0
  1999. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/abi/local.rs +0 -0
  2000. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/abi/mod.rs +0 -0
  2001. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/bounds.rs +0 -0
  2002. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/builtin.rs +0 -0
  2003. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/call.rs +0 -0
  2004. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/context.rs +0 -0
  2005. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/control.rs +0 -0
  2006. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/error.rs +0 -0
  2007. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/mod.rs +0 -0
  2008. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/phase.rs +0 -0
  2009. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/constant_pool.rs +0 -0
  2010. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/frame/mod.rs +0 -0
  2011. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/abi.rs +0 -0
  2012. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/address.rs +0 -0
  2013. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/asm.rs +0 -0
  2014. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/masm.rs +0 -0
  2015. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/mod.rs +0 -0
  2016. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/regs.rs +0 -0
  2017. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/mod.rs +0 -0
  2018. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/reg.rs +0 -0
  2019. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/abi.rs +0 -0
  2020. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/address.rs +0 -0
  2021. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/asm.rs +0 -0
  2022. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/masm.rs +0 -0
  2023. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/mod.rs +0 -0
  2024. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/regs.rs +0 -0
  2025. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/lib.rs +0 -0
  2026. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/masm.rs +0 -0
  2027. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/regalloc.rs +0 -0
  2028. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/regset.rs +0 -0
  2029. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/stack.rs +0 -0
  2030. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/visitor.rs +0 -0
@@ -1,4239 +0,0 @@
1
- use super::table::{TableDebug, TableId};
2
- use super::{Event, GlobalErrorContextRefCount, Waitable, WaitableCommon};
3
- use crate::component::concurrent::{ConcurrentState, WorkItem, tls};
4
- use crate::component::func::{self, LiftContext, LowerContext, Options};
5
- use crate::component::matching::InstanceType;
6
- use crate::component::values::{ErrorContextAny, FutureAny, StreamAny};
7
- use crate::component::{AsAccessor, Instance, Lower, Val, WasmList, WasmStr};
8
- use crate::store::{StoreOpaque, StoreToken};
9
- use crate::vm::component::{ComponentInstance, HandleTable, TransmitLocalState};
10
- use crate::vm::{AlwaysMut, VMStore};
11
- use crate::{AsContextMut, StoreContextMut, ValRaw};
12
- use anyhow::{Context as _, Error, Result, anyhow, bail};
13
- use buffers::{Extender, SliceBuffer, UntypedWriteBuffer};
14
- use core::fmt;
15
- use core::future;
16
- use core::iter;
17
- use core::marker::PhantomData;
18
- use core::mem::{self, MaybeUninit};
19
- use core::pin::Pin;
20
- use core::task::{Context, Poll, Waker, ready};
21
- use futures::channel::oneshot;
22
- use futures::{FutureExt as _, stream};
23
- use std::boxed::Box;
24
- use std::io::Cursor;
25
- use std::string::{String, ToString};
26
- use std::sync::{Arc, Mutex};
27
- use std::vec::Vec;
28
- use wasmtime_environ::component::{
29
- CanonicalAbiInfo, ComponentTypes, InterfaceType, OptionsIndex,
30
- TypeComponentGlobalErrorContextTableIndex, TypeComponentLocalErrorContextTableIndex,
31
- TypeFutureTableIndex, TypeStreamTableIndex,
32
- };
33
-
34
- pub use buffers::{ReadBuffer, VecBuffer, WriteBuffer};
35
-
36
- mod buffers;
37
-
38
- /// Enum for distinguishing between a stream or future in functions that handle
39
- /// both.
40
- #[derive(Copy, Clone, Debug)]
41
- pub enum TransmitKind {
42
- Stream,
43
- Future,
44
- }
45
-
46
- /// Represents `{stream,future}.{read,write}` results.
47
- #[derive(Copy, Clone, Debug, PartialEq)]
48
- pub enum ReturnCode {
49
- Blocked,
50
- Completed(u32),
51
- Dropped(u32),
52
- Cancelled(u32),
53
- }
54
-
55
- impl ReturnCode {
56
- /// Pack `self` into a single 32-bit integer that may be returned to the
57
- /// guest.
58
- ///
59
- /// This corresponds to `pack_copy_result` in the Component Model spec.
60
- pub fn encode(&self) -> u32 {
61
- const BLOCKED: u32 = 0xffff_ffff;
62
- const COMPLETED: u32 = 0x0;
63
- const DROPPED: u32 = 0x1;
64
- const CANCELLED: u32 = 0x2;
65
- match self {
66
- ReturnCode::Blocked => BLOCKED,
67
- ReturnCode::Completed(n) => {
68
- debug_assert!(*n < (1 << 28));
69
- (n << 4) | COMPLETED
70
- }
71
- ReturnCode::Dropped(n) => {
72
- debug_assert!(*n < (1 << 28));
73
- (n << 4) | DROPPED
74
- }
75
- ReturnCode::Cancelled(n) => {
76
- debug_assert!(*n < (1 << 28));
77
- (n << 4) | CANCELLED
78
- }
79
- }
80
- }
81
-
82
- /// Returns `Self::Completed` with the specified count (or zero if
83
- /// `matches!(kind, TransmitKind::Future)`)
84
- fn completed(kind: TransmitKind, count: u32) -> Self {
85
- Self::Completed(if let TransmitKind::Future = kind {
86
- 0
87
- } else {
88
- count
89
- })
90
- }
91
- }
92
-
93
- /// Represents a stream or future type index.
94
- ///
95
- /// This is useful as a parameter type for functions which operate on either a
96
- /// future or a stream.
97
- #[derive(Copy, Clone, Debug)]
98
- pub enum TransmitIndex {
99
- Stream(TypeStreamTableIndex),
100
- Future(TypeFutureTableIndex),
101
- }
102
-
103
- impl TransmitIndex {
104
- pub fn kind(&self) -> TransmitKind {
105
- match self {
106
- TransmitIndex::Stream(_) => TransmitKind::Stream,
107
- TransmitIndex::Future(_) => TransmitKind::Future,
108
- }
109
- }
110
- }
111
-
112
- /// Retrieve the payload type of the specified stream or future, or `None` if it
113
- /// has no payload type.
114
- fn payload(ty: TransmitIndex, types: &Arc<ComponentTypes>) -> Option<InterfaceType> {
115
- match ty {
116
- TransmitIndex::Future(ty) => types[types[ty].ty].payload,
117
- TransmitIndex::Stream(ty) => types[types[ty].ty].payload,
118
- }
119
- }
120
-
121
- /// Retrieve the host rep and state for the specified guest-visible waitable
122
- /// handle.
123
- fn get_mut_by_index_from(
124
- handle_table: &mut HandleTable,
125
- ty: TransmitIndex,
126
- index: u32,
127
- ) -> Result<(u32, &mut TransmitLocalState)> {
128
- match ty {
129
- TransmitIndex::Stream(ty) => handle_table.stream_rep(ty, index),
130
- TransmitIndex::Future(ty) => handle_table.future_rep(ty, index),
131
- }
132
- }
133
-
134
- fn lower<T: func::Lower + Send + 'static, B: WriteBuffer<T>, U: 'static>(
135
- mut store: StoreContextMut<U>,
136
- instance: Instance,
137
- options: &Options,
138
- ty: TransmitIndex,
139
- address: usize,
140
- count: usize,
141
- buffer: &mut B,
142
- ) -> Result<()> {
143
- let types = instance.id().get(store.0).component().types().clone();
144
- let count = buffer.remaining().len().min(count);
145
-
146
- let lower = &mut if T::MAY_REQUIRE_REALLOC {
147
- LowerContext::new
148
- } else {
149
- LowerContext::new_without_realloc
150
- }(store.as_context_mut(), options, &types, instance);
151
-
152
- if address % usize::try_from(T::ALIGN32)? != 0 {
153
- bail!("read pointer not aligned");
154
- }
155
- lower
156
- .as_slice_mut()
157
- .get_mut(address..)
158
- .and_then(|b| b.get_mut(..T::SIZE32 * count))
159
- .ok_or_else(|| anyhow::anyhow!("read pointer out of bounds of memory"))?;
160
-
161
- if let Some(ty) = payload(ty, &types) {
162
- T::linear_store_list_to_memory(lower, ty, address, &buffer.remaining()[..count])?;
163
- }
164
-
165
- buffer.skip(count);
166
-
167
- Ok(())
168
- }
169
-
170
- fn lift<T: func::Lift + Send + 'static, B: ReadBuffer<T>, U>(
171
- lift: &mut LiftContext<'_>,
172
- ty: Option<InterfaceType>,
173
- buffer: &mut B,
174
- address: usize,
175
- count: usize,
176
- ) -> Result<()> {
177
- let count = count.min(buffer.remaining_capacity());
178
- if T::IS_RUST_UNIT_TYPE {
179
- // SAFETY: `T::IS_RUST_UNIT_TYPE` is only true for `()`, a
180
- // zero-sized type, so `MaybeUninit::uninit().assume_init()`
181
- // is a valid way to populate the zero-sized buffer.
182
- buffer.extend(
183
- iter::repeat_with(|| unsafe { MaybeUninit::uninit().assume_init() }).take(count),
184
- )
185
- } else {
186
- let ty = ty.unwrap();
187
- if address % usize::try_from(T::ALIGN32)? != 0 {
188
- bail!("write pointer not aligned");
189
- }
190
- lift.memory()
191
- .get(address..)
192
- .and_then(|b| b.get(..T::SIZE32 * count))
193
- .ok_or_else(|| anyhow::anyhow!("write pointer out of bounds of memory"))?;
194
-
195
- let list = &WasmList::new(address, count, lift, ty)?;
196
- T::linear_lift_into_from_memory(lift, list, &mut Extender(buffer))?
197
- }
198
- Ok(())
199
- }
200
-
201
- /// Represents the state associated with an error context
202
- #[derive(Debug, PartialEq, Eq, PartialOrd)]
203
- pub(super) struct ErrorContextState {
204
- /// Debug message associated with the error context
205
- pub(crate) debug_msg: String,
206
- }
207
-
208
- /// Represents the size and alignment for a "flat" Component Model type,
209
- /// i.e. one containing no pointers or handles.
210
- #[derive(Debug, Clone, Copy, PartialEq, Eq)]
211
- pub(super) struct FlatAbi {
212
- pub(super) size: u32,
213
- pub(super) align: u32,
214
- }
215
-
216
- /// Represents the buffer for a host- or guest-initiated stream read.
217
- pub struct Destination<'a, T, B> {
218
- instance: Instance,
219
- id: TableId<TransmitState>,
220
- buffer: &'a mut B,
221
- host_buffer: Option<&'a mut Cursor<Vec<u8>>>,
222
- _phantom: PhantomData<fn() -> T>,
223
- }
224
-
225
- impl<'a, T, B> Destination<'a, T, B> {
226
- /// Reborrow `self` so it can be used again later.
227
- pub fn reborrow(&mut self) -> Destination<'_, T, B> {
228
- Destination {
229
- instance: self.instance,
230
- id: self.id,
231
- buffer: &mut *self.buffer,
232
- host_buffer: self.host_buffer.as_deref_mut(),
233
- _phantom: PhantomData,
234
- }
235
- }
236
-
237
- /// Take the buffer out of `self`, leaving a default-initialized one in its
238
- /// place.
239
- ///
240
- /// This can be useful for reusing the previously-stored buffer's capacity
241
- /// instead of allocating a fresh one.
242
- pub fn take_buffer(&mut self) -> B
243
- where
244
- B: Default,
245
- {
246
- mem::take(self.buffer)
247
- }
248
-
249
- /// Store the specified buffer in `self`.
250
- ///
251
- /// Any items contained in the buffer will be delivered to the reader after
252
- /// the `StreamProducer::poll_produce` call to which this `Destination` was
253
- /// passed returns (unless overwritten by another call to `set_buffer`).
254
- ///
255
- /// If items are stored via this buffer _and_ written via a
256
- /// `DirectDestination` view of `self`, then the items in the buffer will be
257
- /// delivered after the ones written using `DirectDestination`.
258
- pub fn set_buffer(&mut self, buffer: B) {
259
- *self.buffer = buffer;
260
- }
261
-
262
- /// Return the remaining number of items the current read has capacity to
263
- /// accept, if known.
264
- ///
265
- /// This will return `Some(_)` if the reader is a guest; it will return
266
- /// `None` if the reader is the host.
267
- ///
268
- /// Note that, if this returns `None(0)`, the producer must still attempt to
269
- /// produce at least one item if the value of `finish` passed to
270
- /// `StreamProducer::poll_produce` is false. In that case, the reader is
271
- /// effectively asking when the producer will be able to produce items
272
- /// without blocking (or reach a terminal state such as end-of-stream),
273
- /// meaning the next non-zero read must complete without blocking.
274
- pub fn remaining(&self, mut store: impl AsContextMut) -> Option<usize> {
275
- let transmit = self
276
- .instance
277
- .concurrent_state_mut(store.as_context_mut().0)
278
- .get_mut(self.id)
279
- .unwrap();
280
-
281
- if let &ReadState::GuestReady { count, .. } = &transmit.read {
282
- let &WriteState::HostReady { guest_offset, .. } = &transmit.write else {
283
- unreachable!()
284
- };
285
-
286
- Some(count - guest_offset)
287
- } else {
288
- None
289
- }
290
- }
291
- }
292
-
293
- impl<'a, B> Destination<'a, u8, B> {
294
- /// Return a `DirectDestination` view of `self`.
295
- ///
296
- /// If the reader is a guest, this will provide direct access to the guest's
297
- /// read buffer. If the reader is a host, this will provide access to a
298
- /// buffer which will be delivered to the host before any items stored using
299
- /// `Destination::set_buffer`.
300
- ///
301
- /// `capacity` will only be used if the reader is a host, in which case it
302
- /// will update the length of the buffer, possibly zero-initializing the new
303
- /// elements if the new length is larger than the old length.
304
- pub fn as_direct<D>(
305
- mut self,
306
- store: StoreContextMut<'a, D>,
307
- capacity: usize,
308
- ) -> DirectDestination<'a, D> {
309
- if let Some(buffer) = self.host_buffer.as_deref_mut() {
310
- buffer.set_position(0);
311
- if buffer.get_mut().is_empty() {
312
- buffer.get_mut().resize(capacity, 0);
313
- }
314
- }
315
-
316
- DirectDestination {
317
- instance: self.instance,
318
- id: self.id,
319
- host_buffer: self.host_buffer,
320
- store,
321
- }
322
- }
323
- }
324
-
325
- /// Represents a read from a `stream<u8>`, providing direct access to the
326
- /// writer's buffer.
327
- pub struct DirectDestination<'a, D: 'static> {
328
- instance: Instance,
329
- id: TableId<TransmitState>,
330
- host_buffer: Option<&'a mut Cursor<Vec<u8>>>,
331
- store: StoreContextMut<'a, D>,
332
- }
333
-
334
- impl<D: 'static> DirectDestination<'_, D> {
335
- /// Provide direct access to the writer's buffer.
336
- pub fn remaining(&mut self) -> &mut [u8] {
337
- if let Some(buffer) = self.host_buffer.as_deref_mut() {
338
- buffer.get_mut()
339
- } else {
340
- let transmit = self
341
- .instance
342
- .concurrent_state_mut(self.store.as_context_mut().0)
343
- .get_mut(self.id)
344
- .unwrap();
345
-
346
- let &ReadState::GuestReady {
347
- address,
348
- count,
349
- options,
350
- ..
351
- } = &transmit.read
352
- else {
353
- unreachable!();
354
- };
355
-
356
- let &WriteState::HostReady { guest_offset, .. } = &transmit.write else {
357
- unreachable!()
358
- };
359
-
360
- options
361
- .memory_mut(self.store.0)
362
- .get_mut((address + guest_offset)..)
363
- .and_then(|b| b.get_mut(..(count - guest_offset)))
364
- .unwrap()
365
- }
366
- }
367
-
368
- /// Mark the specified number of bytes as written to the writer's buffer.
369
- ///
370
- /// This will panic if the count is larger than the size of the
371
- /// buffer returned by `Self::remaining`.
372
- pub fn mark_written(&mut self, count: usize) {
373
- if let Some(buffer) = self.host_buffer.as_deref_mut() {
374
- buffer.set_position(
375
- buffer
376
- .position()
377
- .checked_add(u64::try_from(count).unwrap())
378
- .unwrap(),
379
- );
380
- } else {
381
- let transmit = self
382
- .instance
383
- .concurrent_state_mut(self.store.as_context_mut().0)
384
- .get_mut(self.id)
385
- .unwrap();
386
-
387
- let ReadState::GuestReady {
388
- count: read_count, ..
389
- } = &transmit.read
390
- else {
391
- unreachable!();
392
- };
393
-
394
- let WriteState::HostReady { guest_offset, .. } = &mut transmit.write else {
395
- unreachable!()
396
- };
397
-
398
- if *guest_offset + count > *read_count {
399
- panic!(
400
- "write count ({count}) must be less than or equal to read count ({read_count})"
401
- )
402
- } else {
403
- *guest_offset += count;
404
- }
405
- }
406
- }
407
- }
408
-
409
- /// Represents the state of a `Stream{Producer,Consumer}`.
410
- #[derive(Copy, Clone, Debug)]
411
- pub enum StreamResult {
412
- /// The operation completed normally, and the producer or consumer may be
413
- /// able to produce or consume more items, respectively.
414
- Completed,
415
- /// The operation was interrupted (i.e. it wrapped up early after receiving
416
- /// a `finish` parameter value of true in a call to `poll_produce` or
417
- /// `poll_consume`), and the producer or consumer may be able to produce or
418
- /// consume more items, respectively.
419
- Cancelled,
420
- /// The operation completed normally, but the producer or consumer will
421
- /// _not_ able to produce or consume more items, respectively.
422
- Dropped,
423
- }
424
-
425
- /// Represents the host-owned write end of a stream.
426
- pub trait StreamProducer<D>: Send + 'static {
427
- /// The payload type of this stream.
428
- type Item;
429
-
430
- /// The `WriteBuffer` type to use when delivering items.
431
- type Buffer: WriteBuffer<Self::Item> + Default;
432
-
433
- /// Handle a host- or guest-initiated read by delivering zero or more items
434
- /// to the specified destination.
435
- ///
436
- /// This will be called whenever the reader starts a read.
437
- ///
438
- /// If the implementation is able to produce one or more items immediately,
439
- /// it should write them to `destination` and return either
440
- /// `Poll::Ready(Ok(StreamResult::Completed))` if it expects to produce more
441
- /// items, or `Poll::Ready(Ok(StreamResult::Dropped))` if it cannot produce
442
- /// any more items.
443
- ///
444
- /// If the implementation is unable to produce any items immediately, but
445
- /// expects to do so later, and `finish` is _false_, it should store the
446
- /// waker from `cx` for later and return `Poll::Pending` without writing
447
- /// anything to `destination`. Later, it should alert the waker when either
448
- /// the items arrive, the stream has ended, or an error occurs.
449
- ///
450
- /// If the implementation is unable to produce any items immediately, but
451
- /// expects to do so later, and `finish` is _true_, it should, if possible,
452
- /// return `Poll::Ready(Ok(StreamResult::Cancelled))` immediately without
453
- /// writing anything to `destination`. However, that might not be possible
454
- /// if an earlier call to `poll_produce` kicked off an asynchronous
455
- /// operation which needs to be completed (and possibly interrupted)
456
- /// gracefully, in which case the implementation may return `Poll::Pending`
457
- /// and later alert the waker as described above. In other words, when
458
- /// `finish` is true, the implementation should prioritize returning a
459
- /// result to the reader (even if no items can be produced) rather than wait
460
- /// indefinitely for at least one item to arrive.
461
- ///
462
- /// In all of the above cases, the implementation may alternatively choose
463
- /// to return `Err(_)` to indicate an unrecoverable error. This will cause
464
- /// the guest (if any) to trap and render the component instance (if any)
465
- /// unusable. The implementation should report errors that _are_
466
- /// recoverable by other means (e.g. by writing to a `future`) and return
467
- /// `Poll::Ready(Ok(StreamResult::Dropped))`.
468
- ///
469
- /// Note that the implementation should never return `Poll::Pending` after
470
- /// writing one or more items to `destination`; if it does, the caller will
471
- /// trap as if `Err(_)` was returned. Conversely, it should only return
472
- /// `Poll::Ready(Ok(StreamResult::Cancelled))` without writing any items to
473
- /// `destination` if called with `finish` set to true. If it does so when
474
- /// `finish` is false, the caller will trap. Additionally, it should only
475
- /// return `Poll::Ready(Ok(StreamResult::Completed))` after writing at least
476
- /// one item to `destination` if it has capacity to accept that item;
477
- /// otherwise, the caller will trap.
478
- ///
479
- /// If more items are written to `destination` than the reader has immediate
480
- /// capacity to accept, they will be retained in memory by the caller and
481
- /// used to satisify future reads, in which case `poll_produce` will only be
482
- /// called again once all those items have been delivered.
483
- ///
484
- /// If this function is called with zero capacity
485
- /// (i.e. `Destination::remaining` returns `Some(0)`), the implementation
486
- /// should either:
487
- ///
488
- /// - Return `Poll::Ready(Ok(StreamResult::Completed))` without writing
489
- /// anything if it expects to be able to produce items immediately
490
- /// (i.e. without first returning `Poll::Pending`) the next time
491
- /// `poll_produce` is called with non-zero capacity _or_ if that cannot be
492
- /// reliably determined.
493
- ///
494
- /// - Return `Poll::Pending` if the next call to `poll_produce` with
495
- /// non-zero capacity is likely to also return `Poll::Pending`.
496
- ///
497
- /// - Return `Poll::Ready(Ok(StreamResult::Completed))` after calling
498
- /// `Destination::set_buffer` with one more more items. Note, however, that
499
- /// this creates the hazard that the items will never be received by the
500
- /// guest if it decides not to do another non-zero-length read before
501
- /// closing the stream. Moreover, if `Self::Item` is e.g. a `Resource<_>`,
502
- /// they may end up leaking in that scenario.
503
- fn poll_produce<'a>(
504
- self: Pin<&mut Self>,
505
- cx: &mut Context<'_>,
506
- store: StoreContextMut<'a, D>,
507
- destination: Destination<'a, Self::Item, Self::Buffer>,
508
- finish: bool,
509
- ) -> Poll<Result<StreamResult>>;
510
- }
511
-
512
- impl<T, D> StreamProducer<D> for iter::Empty<T>
513
- where
514
- T: Send + Sync + 'static,
515
- {
516
- type Item = T;
517
- type Buffer = Option<Self::Item>;
518
-
519
- fn poll_produce<'a>(
520
- self: Pin<&mut Self>,
521
- _: &mut Context<'_>,
522
- _: StoreContextMut<'a, D>,
523
- _: Destination<'a, Self::Item, Self::Buffer>,
524
- _: bool,
525
- ) -> Poll<Result<StreamResult>> {
526
- Poll::Ready(Ok(StreamResult::Dropped))
527
- }
528
- }
529
-
530
- impl<T, D> StreamProducer<D> for stream::Empty<T>
531
- where
532
- T: Send + Sync + 'static,
533
- {
534
- type Item = T;
535
- type Buffer = Option<Self::Item>;
536
-
537
- fn poll_produce<'a>(
538
- self: Pin<&mut Self>,
539
- _: &mut Context<'_>,
540
- _: StoreContextMut<'a, D>,
541
- _: Destination<'a, Self::Item, Self::Buffer>,
542
- _: bool,
543
- ) -> Poll<Result<StreamResult>> {
544
- Poll::Ready(Ok(StreamResult::Dropped))
545
- }
546
- }
547
-
548
- impl<T, D> StreamProducer<D> for Vec<T>
549
- where
550
- T: Unpin + Send + Sync + 'static,
551
- {
552
- type Item = T;
553
- type Buffer = VecBuffer<T>;
554
-
555
- fn poll_produce<'a>(
556
- self: Pin<&mut Self>,
557
- _: &mut Context<'_>,
558
- _: StoreContextMut<'a, D>,
559
- mut dst: Destination<'a, Self::Item, Self::Buffer>,
560
- _: bool,
561
- ) -> Poll<Result<StreamResult>> {
562
- dst.set_buffer(mem::take(self.get_mut()).into());
563
- Poll::Ready(Ok(StreamResult::Dropped))
564
- }
565
- }
566
-
567
- impl<T, D> StreamProducer<D> for Box<[T]>
568
- where
569
- T: Unpin + Send + Sync + 'static,
570
- {
571
- type Item = T;
572
- type Buffer = VecBuffer<T>;
573
-
574
- fn poll_produce<'a>(
575
- self: Pin<&mut Self>,
576
- _: &mut Context<'_>,
577
- _: StoreContextMut<'a, D>,
578
- mut dst: Destination<'a, Self::Item, Self::Buffer>,
579
- _: bool,
580
- ) -> Poll<Result<StreamResult>> {
581
- dst.set_buffer(mem::take(self.get_mut()).into_vec().into());
582
- Poll::Ready(Ok(StreamResult::Dropped))
583
- }
584
- }
585
-
586
- #[cfg(feature = "component-model-async-bytes")]
587
- impl<D> StreamProducer<D> for bytes::Bytes {
588
- type Item = u8;
589
- type Buffer = Cursor<Self>;
590
-
591
- fn poll_produce<'a>(
592
- mut self: Pin<&mut Self>,
593
- _: &mut Context<'_>,
594
- mut store: StoreContextMut<'a, D>,
595
- mut dst: Destination<'a, Self::Item, Self::Buffer>,
596
- _: bool,
597
- ) -> Poll<Result<StreamResult>> {
598
- let cap = dst.remaining(&mut store);
599
- let Some(cap) = cap.and_then(core::num::NonZeroUsize::new) else {
600
- // on 0-length or host reads, buffer the bytes
601
- dst.set_buffer(Cursor::new(mem::take(self.get_mut())));
602
- return Poll::Ready(Ok(StreamResult::Dropped));
603
- };
604
- let cap = cap.into();
605
- // data does not fit in destination, fill it and buffer the rest
606
- dst.set_buffer(Cursor::new(self.split_off(cap)));
607
- let mut dst = dst.as_direct(store, cap);
608
- dst.remaining().copy_from_slice(&self);
609
- dst.mark_written(cap);
610
- Poll::Ready(Ok(StreamResult::Dropped))
611
- }
612
- }
613
-
614
- #[cfg(feature = "component-model-async-bytes")]
615
- impl<D> StreamProducer<D> for bytes::BytesMut {
616
- type Item = u8;
617
- type Buffer = Cursor<Self>;
618
-
619
- fn poll_produce<'a>(
620
- mut self: Pin<&mut Self>,
621
- _: &mut Context<'_>,
622
- mut store: StoreContextMut<'a, D>,
623
- mut dst: Destination<'a, Self::Item, Self::Buffer>,
624
- _: bool,
625
- ) -> Poll<Result<StreamResult>> {
626
- let cap = dst.remaining(&mut store);
627
- let Some(cap) = cap.and_then(core::num::NonZeroUsize::new) else {
628
- // on 0-length or host reads, buffer the bytes
629
- dst.set_buffer(Cursor::new(mem::take(self.get_mut())));
630
- return Poll::Ready(Ok(StreamResult::Dropped));
631
- };
632
- let cap = cap.into();
633
- // data does not fit in destination, fill it and buffer the rest
634
- dst.set_buffer(Cursor::new(self.split_off(cap)));
635
- let mut dst = dst.as_direct(store, cap);
636
- dst.remaining().copy_from_slice(&self);
637
- dst.mark_written(cap);
638
- Poll::Ready(Ok(StreamResult::Dropped))
639
- }
640
- }
641
-
642
- /// Represents the buffer for a host- or guest-initiated stream write.
643
- pub struct Source<'a, T> {
644
- instance: Instance,
645
- id: TableId<TransmitState>,
646
- host_buffer: Option<&'a mut dyn WriteBuffer<T>>,
647
- }
648
-
649
- impl<'a, T> Source<'a, T> {
650
- /// Reborrow `self` so it can be used again later.
651
- pub fn reborrow(&mut self) -> Source<'_, T> {
652
- Source {
653
- instance: self.instance,
654
- id: self.id,
655
- host_buffer: self.host_buffer.as_deref_mut(),
656
- }
657
- }
658
-
659
- /// Accept zero or more items from the writer.
660
- pub fn read<B, S: AsContextMut>(&mut self, mut store: S, buffer: &mut B) -> Result<()>
661
- where
662
- T: func::Lift + 'static,
663
- B: ReadBuffer<T>,
664
- {
665
- if let Some(input) = &mut self.host_buffer {
666
- let count = input.remaining().len().min(buffer.remaining_capacity());
667
- buffer.move_from(*input, count);
668
- } else {
669
- let store = store.as_context_mut();
670
- let transmit = self
671
- .instance
672
- .concurrent_state_mut(store.0)
673
- .get_mut(self.id)?;
674
-
675
- let &ReadState::HostReady { guest_offset, .. } = &transmit.read else {
676
- unreachable!();
677
- };
678
-
679
- let &WriteState::GuestReady {
680
- ty,
681
- address,
682
- count,
683
- options,
684
- ..
685
- } = &transmit.write
686
- else {
687
- unreachable!()
688
- };
689
-
690
- let cx = &mut LiftContext::new(store.0.store_opaque_mut(), &options, self.instance);
691
- let ty = payload(ty, cx.types);
692
- let old_remaining = buffer.remaining_capacity();
693
- lift::<T, B, S::Data>(
694
- cx,
695
- ty,
696
- buffer,
697
- address + (T::SIZE32 * guest_offset),
698
- count - guest_offset,
699
- )?;
700
-
701
- let transmit = self
702
- .instance
703
- .concurrent_state_mut(store.0)
704
- .get_mut(self.id)?;
705
-
706
- let ReadState::HostReady { guest_offset, .. } = &mut transmit.read else {
707
- unreachable!();
708
- };
709
-
710
- *guest_offset += old_remaining - buffer.remaining_capacity();
711
- }
712
-
713
- Ok(())
714
- }
715
-
716
- /// Return the number of items remaining to be read from the current write
717
- /// operation.
718
- pub fn remaining(&self, mut store: impl AsContextMut) -> usize
719
- where
720
- T: 'static,
721
- {
722
- let transmit = self
723
- .instance
724
- .concurrent_state_mut(store.as_context_mut().0)
725
- .get_mut(self.id)
726
- .unwrap();
727
-
728
- if let &WriteState::GuestReady { count, .. } = &transmit.write {
729
- let &ReadState::HostReady { guest_offset, .. } = &transmit.read else {
730
- unreachable!()
731
- };
732
-
733
- count - guest_offset
734
- } else if let Some(host_buffer) = &self.host_buffer {
735
- host_buffer.remaining().len()
736
- } else {
737
- unreachable!()
738
- }
739
- }
740
- }
741
-
742
- impl<'a> Source<'a, u8> {
743
- /// Return a `DirectSource` view of `self`.
744
- pub fn as_direct<D>(self, store: StoreContextMut<'a, D>) -> DirectSource<'a, D> {
745
- DirectSource {
746
- instance: self.instance,
747
- id: self.id,
748
- host_buffer: self.host_buffer,
749
- store,
750
- }
751
- }
752
- }
753
-
754
- /// Represents a write to a `stream<u8>`, providing direct access to the
755
- /// writer's buffer.
756
- pub struct DirectSource<'a, D: 'static> {
757
- instance: Instance,
758
- id: TableId<TransmitState>,
759
- host_buffer: Option<&'a mut dyn WriteBuffer<u8>>,
760
- store: StoreContextMut<'a, D>,
761
- }
762
-
763
- impl<D: 'static> DirectSource<'_, D> {
764
- /// Provide direct access to the writer's buffer.
765
- pub fn remaining(&mut self) -> &[u8] {
766
- if let Some(buffer) = self.host_buffer.as_deref_mut() {
767
- buffer.remaining()
768
- } else {
769
- let transmit = self
770
- .instance
771
- .concurrent_state_mut(self.store.as_context_mut().0)
772
- .get_mut(self.id)
773
- .unwrap();
774
-
775
- let &WriteState::GuestReady {
776
- address,
777
- count,
778
- options,
779
- ..
780
- } = &transmit.write
781
- else {
782
- unreachable!()
783
- };
784
-
785
- let &ReadState::HostReady { guest_offset, .. } = &transmit.read else {
786
- unreachable!()
787
- };
788
-
789
- options
790
- .memory(self.store.0)
791
- .get((address + guest_offset)..)
792
- .and_then(|b| b.get(..(count - guest_offset)))
793
- .unwrap()
794
- }
795
- }
796
-
797
- /// Mark the specified number of bytes as read from the writer's buffer.
798
- ///
799
- /// This will panic if the count is larger than the size of the buffer
800
- /// returned by `Self::remaining`.
801
- pub fn mark_read(&mut self, count: usize) {
802
- if let Some(buffer) = self.host_buffer.as_deref_mut() {
803
- buffer.skip(count);
804
- } else {
805
- let transmit = self
806
- .instance
807
- .concurrent_state_mut(self.store.as_context_mut().0)
808
- .get_mut(self.id)
809
- .unwrap();
810
-
811
- let WriteState::GuestReady {
812
- count: write_count, ..
813
- } = &transmit.write
814
- else {
815
- unreachable!()
816
- };
817
-
818
- let ReadState::HostReady { guest_offset, .. } = &mut transmit.read else {
819
- unreachable!()
820
- };
821
-
822
- if *guest_offset + count > *write_count {
823
- panic!(
824
- "read count ({count}) must be less than or equal to write count ({write_count})"
825
- )
826
- } else {
827
- *guest_offset += count;
828
- }
829
- }
830
- }
831
- }
832
-
833
- /// Represents the host-owned read end of a stream.
834
- pub trait StreamConsumer<D>: Send + 'static {
835
- /// The payload type of this stream.
836
- type Item;
837
-
838
- /// Handle a host- or guest-initiated write by accepting zero or more items
839
- /// from the specified source.
840
- ///
841
- /// This will be called whenever the writer starts a write.
842
- ///
843
- /// If the implementation is able to consume one or more items immediately,
844
- /// it should take them from `source` and return either
845
- /// `Poll::Ready(Ok(StreamResult::Completed))` if it expects to be able to consume
846
- /// more items, or `Poll::Ready(Ok(StreamResult::Dropped))` if it cannot
847
- /// accept any more items. Alternatively, it may return `Poll::Pending` to
848
- /// indicate that the caller should delay sending a `COMPLETED` event to the
849
- /// writer until a later call to this function returns `Poll::Ready(_)`.
850
- /// For more about that, see the `Backpressure` section below.
851
- ///
852
- /// If the implementation cannot consume any items immediately and `finish`
853
- /// is _false_, it should store the waker from `cx` for later and return
854
- /// `Poll::Pending` without writing anything to `destination`. Later, it
855
- /// should alert the waker when either (1) the items arrive, (2) the stream
856
- /// has ended, or (3) an error occurs.
857
- ///
858
- /// If the implementation cannot consume any items immediately and `finish`
859
- /// is _true_, it should, if possible, return
860
- /// `Poll::Ready(Ok(StreamResult::Cancelled))` immediately without taking
861
- /// anything from `source`. However, that might not be possible if an
862
- /// earlier call to `poll_consume` kicked off an asynchronous operation
863
- /// which needs to be completed (and possibly interrupted) gracefully, in
864
- /// which case the implementation may return `Poll::Pending` and later alert
865
- /// the waker as described above. In other words, when `finish` is true,
866
- /// the implementation should prioritize returning a result to the reader
867
- /// (even if no items can be consumed) rather than wait indefinitely for at
868
- /// capacity to free up.
869
- ///
870
- /// In all of the above cases, the implementation may alternatively choose
871
- /// to return `Err(_)` to indicate an unrecoverable error. This will cause
872
- /// the guest (if any) to trap and render the component instance (if any)
873
- /// unusable. The implementation should report errors that _are_
874
- /// recoverable by other means (e.g. by writing to a `future`) and return
875
- /// `Poll::Ready(Ok(StreamResult::Dropped))`.
876
- ///
877
- /// Note that the implementation should only return
878
- /// `Poll::Ready(Ok(StreamResult::Cancelled))` without having taken any
879
- /// items from `source` if called with `finish` set to true. If it does so
880
- /// when `finish` is false, the caller will trap. Additionally, it should
881
- /// only return `Poll::Ready(Ok(StreamResult::Completed))` after taking at
882
- /// least one item from `source` if there is an item available; otherwise,
883
- /// the caller will trap. If `poll_consume` is called with no items in
884
- /// `source`, it should only return `Poll::Ready(_)` once it is able to
885
- /// accept at least one item during the next call to `poll_consume`.
886
- ///
887
- /// Note that any items which the implementation of this trait takes from
888
- /// `source` become the responsibility of that implementation. For that
889
- /// reason, an implementation which forwards items to an upstream sink
890
- /// should reserve capacity in that sink before taking items out of
891
- /// `source`, if possible. Alternatively, it might buffer items which can't
892
- /// be forwarded immediately and send them once capacity is freed up.
893
- ///
894
- /// ## Backpressure
895
- ///
896
- /// As mentioned above, an implementation might choose to return
897
- /// `Poll::Pending` after taking items from `source`, which tells the caller
898
- /// to delay sending a `COMPLETED` event to the writer. This can be used as
899
- /// a form of backpressure when the items are forwarded to an upstream sink
900
- /// asynchronously. Note, however, that it's not possible to "put back"
901
- /// items into `source` once they've been taken out, so if the upstream sink
902
- /// is unable to accept all the items, that cannot be communicated to the
903
- /// writer at this level of abstraction. Just as with application-specific,
904
- /// recoverable errors, information about which items could be forwarded and
905
- /// which could not must be communicated out-of-band, e.g. by writing to an
906
- /// application-specific `future`.
907
- ///
908
- /// Similarly, if the writer cancels the write after items have been taken
909
- /// from `source` but before the items have all been forwarded to an
910
- /// upstream sink, `poll_consume` will be called with `finish` set to true,
911
- /// and the implementation may either:
912
- ///
913
- /// - Interrupt the forwarding process gracefully. This may be preferrable
914
- /// if there is an out-of-band channel for communicating to the writer how
915
- /// many items were forwarded before being interrupted.
916
- ///
917
- /// - Allow the forwarding to complete without interrupting it. This is
918
- /// usually preferable if there's no out-of-band channel for reporting back
919
- /// to the writer how many items were forwarded.
920
- fn poll_consume(
921
- self: Pin<&mut Self>,
922
- cx: &mut Context<'_>,
923
- store: StoreContextMut<D>,
924
- source: Source<'_, Self::Item>,
925
- finish: bool,
926
- ) -> Poll<Result<StreamResult>>;
927
- }
928
-
929
- /// Represents a host-owned write end of a future.
930
- pub trait FutureProducer<D>: Send + 'static {
931
- /// The payload type of this future.
932
- type Item;
933
-
934
- /// Handle a host- or guest-initiated read by producing a value.
935
- ///
936
- /// This is equivalent to `StreamProducer::poll_produce`, but with a
937
- /// simplified interface for futures.
938
- ///
939
- /// If `finish` is true, the implementation may return
940
- /// `Poll::Ready(Ok(None))` to indicate the operation was canceled before it
941
- /// could produce a value. Otherwise, it must either return
942
- /// `Poll::Ready(Ok(Some(_)))`, `Poll::Ready(Err(_))`, or `Poll::Pending`.
943
- fn poll_produce(
944
- self: Pin<&mut Self>,
945
- cx: &mut Context<'_>,
946
- store: StoreContextMut<D>,
947
- finish: bool,
948
- ) -> Poll<Result<Option<Self::Item>>>;
949
- }
950
-
951
- impl<T, E, D, Fut> FutureProducer<D> for Fut
952
- where
953
- E: Into<Error>,
954
- Fut: Future<Output = Result<T, E>> + ?Sized + Send + 'static,
955
- {
956
- type Item = T;
957
-
958
- fn poll_produce<'a>(
959
- self: Pin<&mut Self>,
960
- cx: &mut Context<'_>,
961
- _: StoreContextMut<'a, D>,
962
- finish: bool,
963
- ) -> Poll<Result<Option<T>>> {
964
- match self.poll(cx) {
965
- Poll::Ready(Ok(v)) => Poll::Ready(Ok(Some(v))),
966
- Poll::Ready(Err(err)) => Poll::Ready(Err(err.into())),
967
- Poll::Pending if finish => Poll::Ready(Ok(None)),
968
- Poll::Pending => Poll::Pending,
969
- }
970
- }
971
- }
972
-
973
- /// Represents a host-owned read end of a future.
974
- pub trait FutureConsumer<D>: Send + 'static {
975
- /// The payload type of this future.
976
- type Item;
977
-
978
- /// Handle a host- or guest-initiated write by consuming a value.
979
- ///
980
- /// This is equivalent to `StreamProducer::poll_produce`, but with a
981
- /// simplified interface for futures.
982
- ///
983
- /// If `finish` is true, the implementation may return `Poll::Ready(Ok(()))`
984
- /// without taking the item from `source`, which indicates the operation was
985
- /// canceled before it could consume the value. Otherwise, it must either
986
- /// take the item from `source` and return `Poll::Ready(Ok(()))`, or else
987
- /// return `Poll::Ready(Err(_))` or `Poll::Pending` (with or without taking
988
- /// the item).
989
- fn poll_consume(
990
- self: Pin<&mut Self>,
991
- cx: &mut Context<'_>,
992
- store: StoreContextMut<D>,
993
- source: Source<'_, Self::Item>,
994
- finish: bool,
995
- ) -> Poll<Result<()>>;
996
- }
997
-
998
- /// Represents the readable end of a Component Model `future`.
999
- ///
1000
- /// Note that `FutureReader` instances must be disposed of using either `pipe`
1001
- /// or `close`; otherwise the in-store representation will leak and the writer
1002
- /// end will hang indefinitely. Consider using [`GuardedFutureReader`] to
1003
- /// ensure that disposal happens automatically.
1004
- pub struct FutureReader<T> {
1005
- instance: Instance,
1006
- id: TableId<TransmitHandle>,
1007
- _phantom: PhantomData<T>,
1008
- }
1009
-
1010
- impl<T> FutureReader<T> {
1011
- /// Create a new future with the specified producer.
1012
- pub fn new<S: AsContextMut>(
1013
- instance: Instance,
1014
- mut store: S,
1015
- producer: impl FutureProducer<S::Data, Item = T>,
1016
- ) -> Self
1017
- where
1018
- T: func::Lower + func::Lift + Send + Sync + 'static,
1019
- {
1020
- struct Producer<P>(P);
1021
-
1022
- impl<D, T: func::Lower + 'static, P: FutureProducer<D, Item = T>> StreamProducer<D>
1023
- for Producer<P>
1024
- {
1025
- type Item = P::Item;
1026
- type Buffer = Option<P::Item>;
1027
-
1028
- fn poll_produce<'a>(
1029
- self: Pin<&mut Self>,
1030
- cx: &mut Context<'_>,
1031
- store: StoreContextMut<D>,
1032
- mut destination: Destination<'a, Self::Item, Self::Buffer>,
1033
- finish: bool,
1034
- ) -> Poll<Result<StreamResult>> {
1035
- // SAFETY: This is a standard pin-projection, and we never move
1036
- // out of `self`.
1037
- let producer = unsafe { self.map_unchecked_mut(|v| &mut v.0) };
1038
-
1039
- Poll::Ready(Ok(
1040
- if let Some(value) = ready!(producer.poll_produce(cx, store, finish))? {
1041
- destination.set_buffer(Some(value));
1042
-
1043
- // Here we return `StreamResult::Completed` even though
1044
- // we've produced the last item we'll ever produce.
1045
- // That's because the ABI expects
1046
- // `ReturnCode::Completed(1)` rather than
1047
- // `ReturnCode::Dropped(1)`. In any case, we won't be
1048
- // called again since the future will have resolved.
1049
- StreamResult::Completed
1050
- } else {
1051
- StreamResult::Cancelled
1052
- },
1053
- ))
1054
- }
1055
- }
1056
-
1057
- Self::new_(
1058
- instance.new_transmit(
1059
- store.as_context_mut(),
1060
- TransmitKind::Future,
1061
- Producer(producer),
1062
- ),
1063
- instance,
1064
- )
1065
- }
1066
-
1067
- fn new_(id: TableId<TransmitHandle>, instance: Instance) -> Self {
1068
- Self {
1069
- instance,
1070
- id,
1071
- _phantom: PhantomData,
1072
- }
1073
- }
1074
-
1075
- /// Set the consumer that accepts the result of this future.
1076
- pub fn pipe<S: AsContextMut>(
1077
- self,
1078
- store: S,
1079
- consumer: impl FutureConsumer<S::Data, Item = T> + Unpin,
1080
- ) where
1081
- T: func::Lift + 'static,
1082
- {
1083
- struct Consumer<C>(C);
1084
-
1085
- impl<D: 'static, T: func::Lift + 'static, C: FutureConsumer<D, Item = T>> StreamConsumer<D>
1086
- for Consumer<C>
1087
- {
1088
- type Item = T;
1089
-
1090
- fn poll_consume(
1091
- self: Pin<&mut Self>,
1092
- cx: &mut Context<'_>,
1093
- mut store: StoreContextMut<D>,
1094
- mut source: Source<Self::Item>,
1095
- finish: bool,
1096
- ) -> Poll<Result<StreamResult>> {
1097
- // SAFETY: This is a standard pin-projection, and we never move
1098
- // out of `self`.
1099
- let consumer = unsafe { self.map_unchecked_mut(|v| &mut v.0) };
1100
-
1101
- ready!(consumer.poll_consume(
1102
- cx,
1103
- store.as_context_mut(),
1104
- source.reborrow(),
1105
- finish
1106
- ))?;
1107
-
1108
- Poll::Ready(Ok(if source.remaining(store) == 0 {
1109
- // Here we return `StreamResult::Completed` even though
1110
- // we've consumed the last item we'll ever consume. That's
1111
- // because the ABI expects `ReturnCode::Completed(1)` rather
1112
- // than `ReturnCode::Dropped(1)`. In any case, we won't be
1113
- // called again since the future will have resolved.
1114
- StreamResult::Completed
1115
- } else {
1116
- StreamResult::Cancelled
1117
- }))
1118
- }
1119
- }
1120
-
1121
- self.instance
1122
- .set_consumer(store, self.id, TransmitKind::Future, Consumer(consumer));
1123
- }
1124
-
1125
- /// Convert this `FutureReader` into a [`Val`].
1126
- // See TODO comment for `FutureAny`; this is prone to handle leakage.
1127
- pub fn into_val(self) -> Val {
1128
- Val::Future(FutureAny(self.id.rep()))
1129
- }
1130
-
1131
- /// Attempt to convert the specified [`Val`] to a `FutureReader`.
1132
- pub fn from_val(
1133
- mut store: impl AsContextMut<Data: Send>,
1134
- instance: Instance,
1135
- value: &Val,
1136
- ) -> Result<Self> {
1137
- let Val::Future(FutureAny(rep)) = value else {
1138
- bail!("expected `future`; got `{}`", value.desc());
1139
- };
1140
- let store = store.as_context_mut();
1141
- let id = TableId::<TransmitHandle>::new(*rep);
1142
- instance.concurrent_state_mut(store.0).get_mut(id)?; // Just make sure it's present
1143
- Ok(Self::new_(id, instance))
1144
- }
1145
-
1146
- /// Transfer ownership of the read end of a future from a guest to the host.
1147
- fn lift_from_index(cx: &mut LiftContext<'_>, ty: InterfaceType, index: u32) -> Result<Self> {
1148
- match ty {
1149
- InterfaceType::Future(src) => {
1150
- let handle_table = cx
1151
- .instance_mut()
1152
- .table_for_transmit(TransmitIndex::Future(src));
1153
- let (rep, is_done) = handle_table.future_remove_readable(src, index)?;
1154
- if is_done {
1155
- bail!("cannot lift future after being notified that the writable end dropped");
1156
- }
1157
- let id = TableId::<TransmitHandle>::new(rep);
1158
- let concurrent_state = cx.instance_mut().concurrent_state_mut();
1159
- let future = concurrent_state.get_mut(id)?;
1160
- future.common.handle = None;
1161
- let state = future.state;
1162
-
1163
- if concurrent_state.get_mut(state)?.done {
1164
- bail!("cannot lift future after previous read succeeded");
1165
- }
1166
-
1167
- Ok(Self::new_(id, cx.instance_handle()))
1168
- }
1169
- _ => func::bad_type_info(),
1170
- }
1171
- }
1172
-
1173
- /// Close this `FutureReader`, writing the default value.
1174
- ///
1175
- /// # Panics
1176
- ///
1177
- /// Panics if the store that the [`Accessor`] is derived from does not own
1178
- /// this future. Usage of this future after calling `close` will also cause
1179
- /// a panic.
1180
- pub fn close(&mut self, mut store: impl AsContextMut) {
1181
- // `self` should never be used again, but leave an invalid handle there just in case.
1182
- let id = mem::replace(&mut self.id, TableId::new(u32::MAX));
1183
- self.instance
1184
- .host_drop_reader(store.as_context_mut().0, id, TransmitKind::Future)
1185
- .unwrap();
1186
- }
1187
-
1188
- /// Convenience method around [`Self::close`].
1189
- pub fn close_with(&mut self, accessor: impl AsAccessor) {
1190
- accessor.as_accessor().with(|access| self.close(access))
1191
- }
1192
-
1193
- /// Returns a [`GuardedFutureReader`] which will auto-close this future on
1194
- /// drop and clean it up from the store.
1195
- ///
1196
- /// Note that the `accessor` provided must own this future and is
1197
- /// additionally transferred to the `GuardedFutureReader` return value.
1198
- pub fn guard<A>(self, accessor: A) -> GuardedFutureReader<T, A>
1199
- where
1200
- A: AsAccessor,
1201
- {
1202
- GuardedFutureReader::new(accessor, self)
1203
- }
1204
- }
1205
-
1206
- impl<T> fmt::Debug for FutureReader<T> {
1207
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1208
- f.debug_struct("FutureReader")
1209
- .field("id", &self.id)
1210
- .field("instance", &self.instance)
1211
- .finish()
1212
- }
1213
- }
1214
-
1215
- /// Transfer ownership of the read end of a future from the host to a guest.
1216
- pub(crate) fn lower_future_to_index<U>(
1217
- rep: u32,
1218
- cx: &mut LowerContext<'_, U>,
1219
- ty: InterfaceType,
1220
- ) -> Result<u32> {
1221
- match ty {
1222
- InterfaceType::Future(dst) => {
1223
- let concurrent_state = cx.instance_mut().concurrent_state_mut();
1224
- let id = TableId::<TransmitHandle>::new(rep);
1225
- let state = concurrent_state.get_mut(id)?.state;
1226
- let rep = concurrent_state.get_mut(state)?.read_handle.rep();
1227
-
1228
- let handle = cx
1229
- .instance_mut()
1230
- .table_for_transmit(TransmitIndex::Future(dst))
1231
- .future_insert_read(dst, rep)?;
1232
-
1233
- cx.instance_mut()
1234
- .concurrent_state_mut()
1235
- .get_mut(id)?
1236
- .common
1237
- .handle = Some(handle);
1238
-
1239
- Ok(handle)
1240
- }
1241
- _ => func::bad_type_info(),
1242
- }
1243
- }
1244
-
1245
- // SAFETY: This relies on the `ComponentType` implementation for `u32` being
1246
- // safe and correct since we lift and lower future handles as `u32`s.
1247
- unsafe impl<T: Send + Sync> func::ComponentType for FutureReader<T> {
1248
- const ABI: CanonicalAbiInfo = CanonicalAbiInfo::SCALAR4;
1249
-
1250
- type Lower = <u32 as func::ComponentType>::Lower;
1251
-
1252
- fn typecheck(ty: &InterfaceType, _types: &InstanceType<'_>) -> Result<()> {
1253
- match ty {
1254
- InterfaceType::Future(_) => Ok(()),
1255
- other => bail!("expected `future`, found `{}`", func::desc(other)),
1256
- }
1257
- }
1258
- }
1259
-
1260
- // SAFETY: See the comment on the `ComponentType` `impl` for this type.
1261
- unsafe impl<T: Send + Sync> func::Lower for FutureReader<T> {
1262
- fn linear_lower_to_flat<U>(
1263
- &self,
1264
- cx: &mut LowerContext<'_, U>,
1265
- ty: InterfaceType,
1266
- dst: &mut MaybeUninit<Self::Lower>,
1267
- ) -> Result<()> {
1268
- lower_future_to_index(self.id.rep(), cx, ty)?.linear_lower_to_flat(
1269
- cx,
1270
- InterfaceType::U32,
1271
- dst,
1272
- )
1273
- }
1274
-
1275
- fn linear_lower_to_memory<U>(
1276
- &self,
1277
- cx: &mut LowerContext<'_, U>,
1278
- ty: InterfaceType,
1279
- offset: usize,
1280
- ) -> Result<()> {
1281
- lower_future_to_index(self.id.rep(), cx, ty)?.linear_lower_to_memory(
1282
- cx,
1283
- InterfaceType::U32,
1284
- offset,
1285
- )
1286
- }
1287
- }
1288
-
1289
- // SAFETY: See the comment on the `ComponentType` `impl` for this type.
1290
- unsafe impl<T: Send + Sync> func::Lift for FutureReader<T> {
1291
- fn linear_lift_from_flat(
1292
- cx: &mut LiftContext<'_>,
1293
- ty: InterfaceType,
1294
- src: &Self::Lower,
1295
- ) -> Result<Self> {
1296
- let index = u32::linear_lift_from_flat(cx, InterfaceType::U32, src)?;
1297
- Self::lift_from_index(cx, ty, index)
1298
- }
1299
-
1300
- fn linear_lift_from_memory(
1301
- cx: &mut LiftContext<'_>,
1302
- ty: InterfaceType,
1303
- bytes: &[u8],
1304
- ) -> Result<Self> {
1305
- let index = u32::linear_lift_from_memory(cx, InterfaceType::U32, bytes)?;
1306
- Self::lift_from_index(cx, ty, index)
1307
- }
1308
- }
1309
-
1310
- /// A [`FutureReader`] paired with an [`Accessor`].
1311
- ///
1312
- /// This is an RAII wrapper around [`FutureReader`] that ensures it is closed
1313
- /// when dropped. This can be created through [`GuardedFutureReader::new`] or
1314
- /// [`FutureReader::guard`].
1315
- pub struct GuardedFutureReader<T, A>
1316
- where
1317
- A: AsAccessor,
1318
- {
1319
- // This field is `None` to implement the conversion from this guard back to
1320
- // `FutureReader`. When `None` is seen in the destructor it will cause the
1321
- // destructor to do nothing.
1322
- reader: Option<FutureReader<T>>,
1323
- accessor: A,
1324
- }
1325
-
1326
- impl<T, A> GuardedFutureReader<T, A>
1327
- where
1328
- A: AsAccessor,
1329
- {
1330
- /// Create a new `GuardedFutureReader` with the specified `accessor` and `reader`.
1331
- pub fn new(accessor: A, reader: FutureReader<T>) -> Self {
1332
- Self {
1333
- reader: Some(reader),
1334
- accessor,
1335
- }
1336
- }
1337
-
1338
- /// Extracts the underlying [`FutureReader`] from this guard, returning it
1339
- /// back.
1340
- pub fn into_future(self) -> FutureReader<T> {
1341
- self.into()
1342
- }
1343
- }
1344
-
1345
- impl<T, A> From<GuardedFutureReader<T, A>> for FutureReader<T>
1346
- where
1347
- A: AsAccessor,
1348
- {
1349
- fn from(mut guard: GuardedFutureReader<T, A>) -> Self {
1350
- guard.reader.take().unwrap()
1351
- }
1352
- }
1353
-
1354
- impl<T, A> Drop for GuardedFutureReader<T, A>
1355
- where
1356
- A: AsAccessor,
1357
- {
1358
- fn drop(&mut self) {
1359
- if let Some(reader) = &mut self.reader {
1360
- reader.close_with(&self.accessor)
1361
- }
1362
- }
1363
- }
1364
-
1365
- /// Represents the readable end of a Component Model `stream`.
1366
- ///
1367
- /// Note that `StreamReader` instances must be disposed of using `close`;
1368
- /// otherwise the in-store representation will leak and the writer end will hang
1369
- /// indefinitely. Consider using [`GuardedStreamReader`] to ensure that
1370
- /// disposal happens automatically.
1371
- pub struct StreamReader<T> {
1372
- instance: Instance,
1373
- id: TableId<TransmitHandle>,
1374
- _phantom: PhantomData<T>,
1375
- }
1376
-
1377
- impl<T> StreamReader<T> {
1378
- /// Create a new stream with the specified producer.
1379
- pub fn new<S: AsContextMut>(
1380
- instance: Instance,
1381
- store: S,
1382
- producer: impl StreamProducer<S::Data, Item = T>,
1383
- ) -> Self
1384
- where
1385
- T: func::Lower + func::Lift + Send + Sync + 'static,
1386
- {
1387
- Self::new_(
1388
- instance.new_transmit(store, TransmitKind::Stream, producer),
1389
- instance,
1390
- )
1391
- }
1392
-
1393
- fn new_(id: TableId<TransmitHandle>, instance: Instance) -> Self {
1394
- Self {
1395
- instance,
1396
- id,
1397
- _phantom: PhantomData,
1398
- }
1399
- }
1400
-
1401
- /// Set the consumer that accepts the items delivered to this stream.
1402
- pub fn pipe<S: AsContextMut>(self, store: S, consumer: impl StreamConsumer<S::Data, Item = T>)
1403
- where
1404
- T: 'static,
1405
- {
1406
- self.instance
1407
- .set_consumer(store, self.id, TransmitKind::Stream, consumer);
1408
- }
1409
-
1410
- /// Convert this `StreamReader` into a [`Val`].
1411
- // See TODO comment for `StreamAny`; this is prone to handle leakage.
1412
- pub fn into_val(self) -> Val {
1413
- Val::Stream(StreamAny(self.id.rep()))
1414
- }
1415
-
1416
- /// Attempt to convert the specified [`Val`] to a `StreamReader`.
1417
- pub fn from_val(
1418
- mut store: impl AsContextMut<Data: Send>,
1419
- instance: Instance,
1420
- value: &Val,
1421
- ) -> Result<Self> {
1422
- let Val::Stream(StreamAny(rep)) = value else {
1423
- bail!("expected `stream`; got `{}`", value.desc());
1424
- };
1425
- let store = store.as_context_mut();
1426
- let id = TableId::<TransmitHandle>::new(*rep);
1427
- instance.concurrent_state_mut(store.0).get_mut(id)?; // Just make sure it's present
1428
- Ok(Self::new_(id, instance))
1429
- }
1430
-
1431
- /// Transfer ownership of the read end of a stream from a guest to the host.
1432
- fn lift_from_index(cx: &mut LiftContext<'_>, ty: InterfaceType, index: u32) -> Result<Self> {
1433
- match ty {
1434
- InterfaceType::Stream(src) => {
1435
- let handle_table = cx
1436
- .instance_mut()
1437
- .table_for_transmit(TransmitIndex::Stream(src));
1438
- let (rep, is_done) = handle_table.stream_remove_readable(src, index)?;
1439
- if is_done {
1440
- bail!("cannot lift stream after being notified that the writable end dropped");
1441
- }
1442
- let id = TableId::<TransmitHandle>::new(rep);
1443
- cx.instance_mut()
1444
- .concurrent_state_mut()
1445
- .get_mut(id)?
1446
- .common
1447
- .handle = None;
1448
- Ok(Self::new_(id, cx.instance_handle()))
1449
- }
1450
- _ => func::bad_type_info(),
1451
- }
1452
- }
1453
-
1454
- /// Close this `StreamReader`, writing the default value.
1455
- ///
1456
- /// # Panics
1457
- ///
1458
- /// Panics if the store that the [`Accessor`] is derived from does not own
1459
- /// this future. Usage of this future after calling `close` will also cause
1460
- /// a panic.
1461
- pub fn close(&mut self, mut store: impl AsContextMut) {
1462
- // `self` should never be used again, but leave an invalid handle there just in case.
1463
- let id = mem::replace(&mut self.id, TableId::new(u32::MAX));
1464
- self.instance
1465
- .host_drop_reader(store.as_context_mut().0, id, TransmitKind::Stream)
1466
- .unwrap()
1467
- }
1468
-
1469
- /// Convenience method around [`Self::close`].
1470
- pub fn close_with(&mut self, accessor: impl AsAccessor) {
1471
- accessor.as_accessor().with(|access| self.close(access))
1472
- }
1473
-
1474
- /// Returns a [`GuardedStreamReader`] which will auto-close this stream on
1475
- /// drop and clean it up from the store.
1476
- ///
1477
- /// Note that the `accessor` provided must own this future and is
1478
- /// additionally transferred to the `GuardedStreamReader` return value.
1479
- pub fn guard<A>(self, accessor: A) -> GuardedStreamReader<T, A>
1480
- where
1481
- A: AsAccessor,
1482
- {
1483
- GuardedStreamReader::new(accessor, self)
1484
- }
1485
- }
1486
-
1487
- impl<T> fmt::Debug for StreamReader<T> {
1488
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1489
- f.debug_struct("StreamReader")
1490
- .field("id", &self.id)
1491
- .field("instance", &self.instance)
1492
- .finish()
1493
- }
1494
- }
1495
-
1496
- /// Transfer ownership of the read end of a stream from the host to a guest.
1497
- pub(crate) fn lower_stream_to_index<U>(
1498
- rep: u32,
1499
- cx: &mut LowerContext<'_, U>,
1500
- ty: InterfaceType,
1501
- ) -> Result<u32> {
1502
- match ty {
1503
- InterfaceType::Stream(dst) => {
1504
- let concurrent_state = cx.instance_mut().concurrent_state_mut();
1505
- let id = TableId::<TransmitHandle>::new(rep);
1506
- let state = concurrent_state.get_mut(id)?.state;
1507
- let rep = concurrent_state.get_mut(state)?.read_handle.rep();
1508
-
1509
- let handle = cx
1510
- .instance_mut()
1511
- .table_for_transmit(TransmitIndex::Stream(dst))
1512
- .stream_insert_read(dst, rep)?;
1513
-
1514
- cx.instance_mut()
1515
- .concurrent_state_mut()
1516
- .get_mut(id)?
1517
- .common
1518
- .handle = Some(handle);
1519
-
1520
- Ok(handle)
1521
- }
1522
- _ => func::bad_type_info(),
1523
- }
1524
- }
1525
-
1526
- // SAFETY: This relies on the `ComponentType` implementation for `u32` being
1527
- // safe and correct since we lift and lower stream handles as `u32`s.
1528
- unsafe impl<T: Send + Sync> func::ComponentType for StreamReader<T> {
1529
- const ABI: CanonicalAbiInfo = CanonicalAbiInfo::SCALAR4;
1530
-
1531
- type Lower = <u32 as func::ComponentType>::Lower;
1532
-
1533
- fn typecheck(ty: &InterfaceType, _types: &InstanceType<'_>) -> Result<()> {
1534
- match ty {
1535
- InterfaceType::Stream(_) => Ok(()),
1536
- other => bail!("expected `stream`, found `{}`", func::desc(other)),
1537
- }
1538
- }
1539
- }
1540
-
1541
- // SAFETY: See the comment on the `ComponentType` `impl` for this type.
1542
- unsafe impl<T: Send + Sync> func::Lower for StreamReader<T> {
1543
- fn linear_lower_to_flat<U>(
1544
- &self,
1545
- cx: &mut LowerContext<'_, U>,
1546
- ty: InterfaceType,
1547
- dst: &mut MaybeUninit<Self::Lower>,
1548
- ) -> Result<()> {
1549
- lower_stream_to_index(self.id.rep(), cx, ty)?.linear_lower_to_flat(
1550
- cx,
1551
- InterfaceType::U32,
1552
- dst,
1553
- )
1554
- }
1555
-
1556
- fn linear_lower_to_memory<U>(
1557
- &self,
1558
- cx: &mut LowerContext<'_, U>,
1559
- ty: InterfaceType,
1560
- offset: usize,
1561
- ) -> Result<()> {
1562
- lower_stream_to_index(self.id.rep(), cx, ty)?.linear_lower_to_memory(
1563
- cx,
1564
- InterfaceType::U32,
1565
- offset,
1566
- )
1567
- }
1568
- }
1569
-
1570
- // SAFETY: See the comment on the `ComponentType` `impl` for this type.
1571
- unsafe impl<T: Send + Sync> func::Lift for StreamReader<T> {
1572
- fn linear_lift_from_flat(
1573
- cx: &mut LiftContext<'_>,
1574
- ty: InterfaceType,
1575
- src: &Self::Lower,
1576
- ) -> Result<Self> {
1577
- let index = u32::linear_lift_from_flat(cx, InterfaceType::U32, src)?;
1578
- Self::lift_from_index(cx, ty, index)
1579
- }
1580
-
1581
- fn linear_lift_from_memory(
1582
- cx: &mut LiftContext<'_>,
1583
- ty: InterfaceType,
1584
- bytes: &[u8],
1585
- ) -> Result<Self> {
1586
- let index = u32::linear_lift_from_memory(cx, InterfaceType::U32, bytes)?;
1587
- Self::lift_from_index(cx, ty, index)
1588
- }
1589
- }
1590
-
1591
- /// A [`StreamReader`] paired with an [`Accessor`].
1592
- ///
1593
- /// This is an RAII wrapper around [`StreamReader`] that ensures it is closed
1594
- /// when dropped. This can be created through [`GuardedStreamReader::new`] or
1595
- /// [`StreamReader::guard`].
1596
- pub struct GuardedStreamReader<T, A>
1597
- where
1598
- A: AsAccessor,
1599
- {
1600
- // This field is `None` to implement the conversion from this guard back to
1601
- // `StreamReader`. When `None` is seen in the destructor it will cause the
1602
- // destructor to do nothing.
1603
- reader: Option<StreamReader<T>>,
1604
- accessor: A,
1605
- }
1606
-
1607
- impl<T, A> GuardedStreamReader<T, A>
1608
- where
1609
- A: AsAccessor,
1610
- {
1611
- /// Create a new `GuardedStreamReader` with the specified `accessor` and
1612
- /// `reader`.
1613
- pub fn new(accessor: A, reader: StreamReader<T>) -> Self {
1614
- Self {
1615
- reader: Some(reader),
1616
- accessor,
1617
- }
1618
- }
1619
-
1620
- /// Extracts the underlying [`StreamReader`] from this guard, returning it
1621
- /// back.
1622
- pub fn into_stream(self) -> StreamReader<T> {
1623
- self.into()
1624
- }
1625
- }
1626
-
1627
- impl<T, A> From<GuardedStreamReader<T, A>> for StreamReader<T>
1628
- where
1629
- A: AsAccessor,
1630
- {
1631
- fn from(mut guard: GuardedStreamReader<T, A>) -> Self {
1632
- guard.reader.take().unwrap()
1633
- }
1634
- }
1635
-
1636
- impl<T, A> Drop for GuardedStreamReader<T, A>
1637
- where
1638
- A: AsAccessor,
1639
- {
1640
- fn drop(&mut self) {
1641
- if let Some(reader) = &mut self.reader {
1642
- reader.close_with(&self.accessor)
1643
- }
1644
- }
1645
- }
1646
-
1647
- /// Represents a Component Model `error-context`.
1648
- pub struct ErrorContext {
1649
- rep: u32,
1650
- }
1651
-
1652
- impl ErrorContext {
1653
- pub(crate) fn new(rep: u32) -> Self {
1654
- Self { rep }
1655
- }
1656
-
1657
- /// Convert this `ErrorContext` into a [`Val`].
1658
- pub fn into_val(self) -> Val {
1659
- Val::ErrorContext(ErrorContextAny(self.rep))
1660
- }
1661
-
1662
- /// Attempt to convert the specified [`Val`] to a `ErrorContext`.
1663
- pub fn from_val(_: impl AsContextMut, value: &Val) -> Result<Self> {
1664
- let Val::ErrorContext(ErrorContextAny(rep)) = value else {
1665
- bail!("expected `error-context`; got `{}`", value.desc());
1666
- };
1667
- Ok(Self::new(*rep))
1668
- }
1669
-
1670
- fn lift_from_index(cx: &mut LiftContext<'_>, ty: InterfaceType, index: u32) -> Result<Self> {
1671
- match ty {
1672
- InterfaceType::ErrorContext(src) => {
1673
- let rep = cx
1674
- .instance_mut()
1675
- .table_for_error_context(src)
1676
- .error_context_rep(index)?;
1677
-
1678
- Ok(Self { rep })
1679
- }
1680
- _ => func::bad_type_info(),
1681
- }
1682
- }
1683
- }
1684
-
1685
- pub(crate) fn lower_error_context_to_index<U>(
1686
- rep: u32,
1687
- cx: &mut LowerContext<'_, U>,
1688
- ty: InterfaceType,
1689
- ) -> Result<u32> {
1690
- match ty {
1691
- InterfaceType::ErrorContext(dst) => {
1692
- let tbl = cx.instance_mut().table_for_error_context(dst);
1693
- tbl.error_context_insert(rep)
1694
- }
1695
- _ => func::bad_type_info(),
1696
- }
1697
- }
1698
- // SAFETY: This relies on the `ComponentType` implementation for `u32` being
1699
- // safe and correct since we lift and lower future handles as `u32`s.
1700
- unsafe impl func::ComponentType for ErrorContext {
1701
- const ABI: CanonicalAbiInfo = CanonicalAbiInfo::SCALAR4;
1702
-
1703
- type Lower = <u32 as func::ComponentType>::Lower;
1704
-
1705
- fn typecheck(ty: &InterfaceType, _types: &InstanceType<'_>) -> Result<()> {
1706
- match ty {
1707
- InterfaceType::ErrorContext(_) => Ok(()),
1708
- other => bail!("expected `error`, found `{}`", func::desc(other)),
1709
- }
1710
- }
1711
- }
1712
-
1713
- // SAFETY: See the comment on the `ComponentType` `impl` for this type.
1714
- unsafe impl func::Lower for ErrorContext {
1715
- fn linear_lower_to_flat<T>(
1716
- &self,
1717
- cx: &mut LowerContext<'_, T>,
1718
- ty: InterfaceType,
1719
- dst: &mut MaybeUninit<Self::Lower>,
1720
- ) -> Result<()> {
1721
- lower_error_context_to_index(self.rep, cx, ty)?.linear_lower_to_flat(
1722
- cx,
1723
- InterfaceType::U32,
1724
- dst,
1725
- )
1726
- }
1727
-
1728
- fn linear_lower_to_memory<T>(
1729
- &self,
1730
- cx: &mut LowerContext<'_, T>,
1731
- ty: InterfaceType,
1732
- offset: usize,
1733
- ) -> Result<()> {
1734
- lower_error_context_to_index(self.rep, cx, ty)?.linear_lower_to_memory(
1735
- cx,
1736
- InterfaceType::U32,
1737
- offset,
1738
- )
1739
- }
1740
- }
1741
-
1742
- // SAFETY: See the comment on the `ComponentType` `impl` for this type.
1743
- unsafe impl func::Lift for ErrorContext {
1744
- fn linear_lift_from_flat(
1745
- cx: &mut LiftContext<'_>,
1746
- ty: InterfaceType,
1747
- src: &Self::Lower,
1748
- ) -> Result<Self> {
1749
- let index = u32::linear_lift_from_flat(cx, InterfaceType::U32, src)?;
1750
- Self::lift_from_index(cx, ty, index)
1751
- }
1752
-
1753
- fn linear_lift_from_memory(
1754
- cx: &mut LiftContext<'_>,
1755
- ty: InterfaceType,
1756
- bytes: &[u8],
1757
- ) -> Result<Self> {
1758
- let index = u32::linear_lift_from_memory(cx, InterfaceType::U32, bytes)?;
1759
- Self::lift_from_index(cx, ty, index)
1760
- }
1761
- }
1762
-
1763
- /// Represents the read or write end of a stream or future.
1764
- pub(super) struct TransmitHandle {
1765
- pub(super) common: WaitableCommon,
1766
- /// See `TransmitState`
1767
- state: TableId<TransmitState>,
1768
- }
1769
-
1770
- impl TransmitHandle {
1771
- fn new(state: TableId<TransmitState>) -> Self {
1772
- Self {
1773
- common: WaitableCommon::default(),
1774
- state,
1775
- }
1776
- }
1777
- }
1778
-
1779
- impl TableDebug for TransmitHandle {
1780
- fn type_name() -> &'static str {
1781
- "TransmitHandle"
1782
- }
1783
- }
1784
-
1785
- /// Represents the state of a stream or future.
1786
- struct TransmitState {
1787
- /// The write end of the stream or future.
1788
- write_handle: TableId<TransmitHandle>,
1789
- /// The read end of the stream or future.
1790
- read_handle: TableId<TransmitHandle>,
1791
- /// See `WriteState`
1792
- write: WriteState,
1793
- /// See `ReadState`
1794
- read: ReadState,
1795
- /// Whether futher values may be transmitted via this stream or future.
1796
- done: bool,
1797
- }
1798
-
1799
- impl Default for TransmitState {
1800
- fn default() -> Self {
1801
- Self {
1802
- write_handle: TableId::new(u32::MAX),
1803
- read_handle: TableId::new(u32::MAX),
1804
- read: ReadState::Open,
1805
- write: WriteState::Open,
1806
- done: false,
1807
- }
1808
- }
1809
- }
1810
-
1811
- impl TableDebug for TransmitState {
1812
- fn type_name() -> &'static str {
1813
- "TransmitState"
1814
- }
1815
- }
1816
-
1817
- type PollStream = Box<
1818
- dyn Fn() -> Pin<Box<dyn Future<Output = Result<StreamResult>> + Send + 'static>> + Send + Sync,
1819
- >;
1820
-
1821
- /// Represents the state of the write end of a stream or future.
1822
- enum WriteState {
1823
- /// The write end is open, but no write is pending.
1824
- Open,
1825
- /// The write end is owned by a guest task and a write is pending.
1826
- GuestReady {
1827
- ty: TransmitIndex,
1828
- flat_abi: Option<FlatAbi>,
1829
- options: Options,
1830
- address: usize,
1831
- count: usize,
1832
- handle: u32,
1833
- },
1834
- /// The write end is owned by the host, which is ready to produce items.
1835
- HostReady {
1836
- produce: PollStream,
1837
- guest_offset: usize,
1838
- cancel: bool,
1839
- cancel_waker: Option<Waker>,
1840
- },
1841
- /// The write end has been dropped.
1842
- Dropped,
1843
- }
1844
-
1845
- impl fmt::Debug for WriteState {
1846
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1847
- match self {
1848
- Self::Open => f.debug_tuple("Open").finish(),
1849
- Self::GuestReady { .. } => f.debug_tuple("GuestReady").finish(),
1850
- Self::HostReady { .. } => f.debug_tuple("HostReady").finish(),
1851
- Self::Dropped => f.debug_tuple("Dropped").finish(),
1852
- }
1853
- }
1854
- }
1855
-
1856
- /// Represents the state of the read end of a stream or future.
1857
- enum ReadState {
1858
- /// The read end is open, but no read is pending.
1859
- Open,
1860
- /// The read end is owned by a guest task and a read is pending.
1861
- GuestReady {
1862
- ty: TransmitIndex,
1863
- flat_abi: Option<FlatAbi>,
1864
- options: Options,
1865
- address: usize,
1866
- count: usize,
1867
- handle: u32,
1868
- },
1869
- /// The read end is owned by a host task, and it is ready to consume items.
1870
- HostReady {
1871
- consume: PollStream,
1872
- guest_offset: usize,
1873
- cancel: bool,
1874
- cancel_waker: Option<Waker>,
1875
- },
1876
- /// Both the read and write ends are owned by the host.
1877
- HostToHost {
1878
- accept: Box<
1879
- dyn for<'a> Fn(
1880
- &'a mut UntypedWriteBuffer<'a>,
1881
- )
1882
- -> Pin<Box<dyn Future<Output = Result<StreamResult>> + Send + 'a>>
1883
- + Send
1884
- + Sync,
1885
- >,
1886
- buffer: Vec<u8>,
1887
- limit: usize,
1888
- },
1889
- /// The read end has been dropped.
1890
- Dropped,
1891
- }
1892
-
1893
- impl fmt::Debug for ReadState {
1894
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1895
- match self {
1896
- Self::Open => f.debug_tuple("Open").finish(),
1897
- Self::GuestReady { .. } => f.debug_tuple("GuestReady").finish(),
1898
- Self::HostReady { .. } => f.debug_tuple("HostReady").finish(),
1899
- Self::HostToHost { .. } => f.debug_tuple("HostToHost").finish(),
1900
- Self::Dropped => f.debug_tuple("Dropped").finish(),
1901
- }
1902
- }
1903
- }
1904
-
1905
- fn return_code(kind: TransmitKind, state: StreamResult, guest_offset: usize) -> ReturnCode {
1906
- let count = guest_offset.try_into().unwrap();
1907
- match state {
1908
- StreamResult::Dropped => ReturnCode::Dropped(count),
1909
- StreamResult::Completed => ReturnCode::completed(kind, count),
1910
- StreamResult::Cancelled => ReturnCode::Cancelled(count),
1911
- }
1912
- }
1913
-
1914
- impl Instance {
1915
- fn new_transmit<S: AsContextMut, P: StreamProducer<S::Data>>(
1916
- self,
1917
- mut store: S,
1918
- kind: TransmitKind,
1919
- producer: P,
1920
- ) -> TableId<TransmitHandle>
1921
- where
1922
- P::Item: func::Lower,
1923
- {
1924
- let mut store = store.as_context_mut();
1925
- let token = StoreToken::new(store.as_context_mut());
1926
- let state = self.concurrent_state_mut(store.0);
1927
- let (_, read) = state.new_transmit().unwrap();
1928
- let producer = Arc::new(Mutex::new(Some((Box::pin(producer), P::Buffer::default()))));
1929
- let id = state.get_mut(read).unwrap().state;
1930
- let produce = Box::new(move || {
1931
- let producer = producer.clone();
1932
- async move {
1933
- let (mut mine, mut buffer) = producer.lock().unwrap().take().unwrap();
1934
-
1935
- let (result, cancelled) = if buffer.remaining().is_empty() {
1936
- future::poll_fn(|cx| {
1937
- tls::get(|store| {
1938
- let transmit = self.concurrent_state_mut(store).get_mut(id).unwrap();
1939
-
1940
- let &WriteState::HostReady { cancel, .. } = &transmit.write else {
1941
- unreachable!();
1942
- };
1943
-
1944
- let mut host_buffer =
1945
- if let ReadState::HostToHost { buffer, .. } = &mut transmit.read {
1946
- Some(Cursor::new(mem::take(buffer)))
1947
- } else {
1948
- None
1949
- };
1950
-
1951
- let poll = mine.as_mut().poll_produce(
1952
- cx,
1953
- token.as_context_mut(store),
1954
- Destination {
1955
- instance: self,
1956
- id,
1957
- buffer: &mut buffer,
1958
- host_buffer: host_buffer.as_mut(),
1959
- _phantom: PhantomData,
1960
- },
1961
- cancel,
1962
- );
1963
-
1964
- let transmit = self.concurrent_state_mut(store).get_mut(id).unwrap();
1965
-
1966
- let host_offset = if let (
1967
- Some(host_buffer),
1968
- ReadState::HostToHost { buffer, limit, .. },
1969
- ) = (host_buffer, &mut transmit.read)
1970
- {
1971
- *limit = usize::try_from(host_buffer.position()).unwrap();
1972
- *buffer = host_buffer.into_inner();
1973
- *limit
1974
- } else {
1975
- 0
1976
- };
1977
-
1978
- {
1979
- let WriteState::HostReady {
1980
- guest_offset,
1981
- cancel,
1982
- cancel_waker,
1983
- ..
1984
- } = &mut transmit.write
1985
- else {
1986
- unreachable!();
1987
- };
1988
-
1989
- if poll.is_pending() {
1990
- if !buffer.remaining().is_empty()
1991
- || *guest_offset > 0
1992
- || host_offset > 0
1993
- {
1994
- return Poll::Ready(Err(anyhow!(
1995
- "StreamProducer::poll_produce returned Poll::Pending \
1996
- after producing at least one item"
1997
- )));
1998
- }
1999
- *cancel_waker = Some(cx.waker().clone());
2000
- } else {
2001
- *cancel_waker = None;
2002
- *cancel = false;
2003
- }
2004
- }
2005
-
2006
- poll.map(|v| v.map(|result| (result, cancel)))
2007
- })
2008
- })
2009
- .await?
2010
- } else {
2011
- (StreamResult::Completed, false)
2012
- };
2013
-
2014
- let (guest_offset, host_offset, count) = tls::get(|store| {
2015
- let transmit = self.concurrent_state_mut(store).get_mut(id).unwrap();
2016
- let (count, host_offset) = match &transmit.read {
2017
- &ReadState::GuestReady { count, .. } => (count, 0),
2018
- &ReadState::HostToHost { limit, .. } => (1, limit),
2019
- _ => unreachable!(),
2020
- };
2021
- let guest_offset = match &transmit.write {
2022
- &WriteState::HostReady { guest_offset, .. } => guest_offset,
2023
- _ => unreachable!(),
2024
- };
2025
- (guest_offset, host_offset, count)
2026
- });
2027
-
2028
- match result {
2029
- StreamResult::Completed => {
2030
- if count > 1
2031
- && buffer.remaining().is_empty()
2032
- && guest_offset == 0
2033
- && host_offset == 0
2034
- {
2035
- bail!(
2036
- "StreamProducer::poll_produce returned StreamResult::Completed \
2037
- without producing any items"
2038
- );
2039
- }
2040
- }
2041
- StreamResult::Cancelled => {
2042
- if !cancelled {
2043
- bail!(
2044
- "StreamProducer::poll_produce returned StreamResult::Cancelled \
2045
- without being given a `finish` parameter value of true"
2046
- );
2047
- }
2048
- }
2049
- StreamResult::Dropped => {}
2050
- }
2051
-
2052
- let write_buffer = !buffer.remaining().is_empty() || host_offset > 0;
2053
-
2054
- *producer.lock().unwrap() = Some((mine, buffer));
2055
-
2056
- if write_buffer {
2057
- self.write(token, id, producer, kind).await?;
2058
- }
2059
-
2060
- Ok(result)
2061
- }
2062
- .boxed()
2063
- });
2064
- state.get_mut(id).unwrap().write = WriteState::HostReady {
2065
- produce,
2066
- guest_offset: 0,
2067
- cancel: false,
2068
- cancel_waker: None,
2069
- };
2070
- read
2071
- }
2072
-
2073
- fn set_consumer<S: AsContextMut, C: StreamConsumer<S::Data>>(
2074
- self,
2075
- mut store: S,
2076
- id: TableId<TransmitHandle>,
2077
- kind: TransmitKind,
2078
- consumer: C,
2079
- ) {
2080
- let mut store = store.as_context_mut();
2081
- let token = StoreToken::new(store.as_context_mut());
2082
- let state = self.concurrent_state_mut(store.0);
2083
- let id = state.get_mut(id).unwrap().state;
2084
- let transmit = state.get_mut(id).unwrap();
2085
- let consumer = Arc::new(Mutex::new(Some(Box::pin(consumer))));
2086
- let consume_with_buffer = {
2087
- let consumer = consumer.clone();
2088
- async move |mut host_buffer: Option<&mut dyn WriteBuffer<C::Item>>| {
2089
- let mut mine = consumer.lock().unwrap().take().unwrap();
2090
-
2091
- let host_buffer_remaining_before =
2092
- host_buffer.as_deref_mut().map(|v| v.remaining().len());
2093
-
2094
- let (result, cancelled) = future::poll_fn(|cx| {
2095
- tls::get(|store| {
2096
- let cancel =
2097
- match &self.concurrent_state_mut(store).get_mut(id).unwrap().read {
2098
- &ReadState::HostReady { cancel, .. } => cancel,
2099
- ReadState::Open => false,
2100
- _ => unreachable!(),
2101
- };
2102
-
2103
- let poll = mine.as_mut().poll_consume(
2104
- cx,
2105
- token.as_context_mut(store),
2106
- Source {
2107
- instance: self,
2108
- id,
2109
- host_buffer: host_buffer.as_deref_mut(),
2110
- },
2111
- cancel,
2112
- );
2113
-
2114
- if let ReadState::HostReady {
2115
- cancel_waker,
2116
- cancel,
2117
- ..
2118
- } = &mut self.concurrent_state_mut(store).get_mut(id).unwrap().read
2119
- {
2120
- if poll.is_pending() {
2121
- *cancel_waker = Some(cx.waker().clone());
2122
- } else {
2123
- *cancel_waker = None;
2124
- *cancel = false;
2125
- }
2126
- }
2127
-
2128
- poll.map(|v| v.map(|result| (result, cancel)))
2129
- })
2130
- })
2131
- .await?;
2132
-
2133
- let (guest_offset, count) = tls::get(|store| {
2134
- let transmit = self.concurrent_state_mut(store).get_mut(id).unwrap();
2135
- (
2136
- match &transmit.read {
2137
- &ReadState::HostReady { guest_offset, .. } => guest_offset,
2138
- ReadState::Open => 0,
2139
- _ => unreachable!(),
2140
- },
2141
- match &transmit.write {
2142
- &WriteState::GuestReady { count, .. } => count,
2143
- WriteState::HostReady { .. } => host_buffer_remaining_before.unwrap(),
2144
- _ => unreachable!(),
2145
- },
2146
- )
2147
- });
2148
-
2149
- match result {
2150
- StreamResult::Completed => {
2151
- if count > 0
2152
- && guest_offset == 0
2153
- && host_buffer_remaining_before
2154
- .zip(host_buffer.map(|v| v.remaining().len()))
2155
- .map(|(before, after)| before == after)
2156
- .unwrap_or(false)
2157
- {
2158
- bail!(
2159
- "StreamConsumer::poll_consume returned StreamResult::Completed \
2160
- without consuming any items"
2161
- );
2162
- }
2163
-
2164
- if let TransmitKind::Future = kind {
2165
- tls::get(|store| {
2166
- self.concurrent_state_mut(store).get_mut(id).unwrap().done = true;
2167
- });
2168
- }
2169
- }
2170
- StreamResult::Cancelled => {
2171
- if !cancelled {
2172
- bail!(
2173
- "StreamConsumer::poll_consume returned StreamResult::Cancelled \
2174
- without being given a `finish` parameter value of true"
2175
- );
2176
- }
2177
- }
2178
- StreamResult::Dropped => {}
2179
- }
2180
-
2181
- *consumer.lock().unwrap() = Some(mine);
2182
-
2183
- Ok(result)
2184
- }
2185
- };
2186
- let consume = {
2187
- let consume = consume_with_buffer.clone();
2188
- Box::new(move || {
2189
- let consume = consume.clone();
2190
- async move { consume(None).await }.boxed()
2191
- })
2192
- };
2193
-
2194
- match &transmit.write {
2195
- WriteState::Open => {
2196
- transmit.read = ReadState::HostReady {
2197
- consume,
2198
- guest_offset: 0,
2199
- cancel: false,
2200
- cancel_waker: None,
2201
- };
2202
- }
2203
- WriteState::GuestReady { .. } => {
2204
- let future = consume();
2205
- transmit.read = ReadState::HostReady {
2206
- consume,
2207
- guest_offset: 0,
2208
- cancel: false,
2209
- cancel_waker: None,
2210
- };
2211
- self.pipe_from_guest(store.0, kind, id, future);
2212
- }
2213
- WriteState::HostReady { .. } => {
2214
- let WriteState::HostReady { produce, .. } = mem::replace(
2215
- &mut transmit.write,
2216
- WriteState::HostReady {
2217
- produce: Box::new(|| unreachable!()),
2218
- guest_offset: 0,
2219
- cancel: false,
2220
- cancel_waker: None,
2221
- },
2222
- ) else {
2223
- unreachable!();
2224
- };
2225
-
2226
- transmit.read = ReadState::HostToHost {
2227
- accept: Box::new(move |input| {
2228
- let consume = consume_with_buffer.clone();
2229
- async move { consume(Some(input.get_mut::<C::Item>())).await }.boxed()
2230
- }),
2231
- buffer: Vec::new(),
2232
- limit: 0,
2233
- };
2234
-
2235
- let future = async move {
2236
- loop {
2237
- if tls::get(|store| {
2238
- anyhow::Ok(matches!(
2239
- self.concurrent_state_mut(store).get_mut(id)?.read,
2240
- ReadState::Dropped
2241
- ))
2242
- })? {
2243
- break Ok(());
2244
- }
2245
-
2246
- match produce().await? {
2247
- StreamResult::Completed | StreamResult::Cancelled => {}
2248
- StreamResult::Dropped => break Ok(()),
2249
- }
2250
-
2251
- if let TransmitKind::Future = kind {
2252
- break Ok(());
2253
- }
2254
- }
2255
- }
2256
- .map(move |result| {
2257
- tls::get(|store| self.concurrent_state_mut(store).delete_transmit(id))?;
2258
- result
2259
- });
2260
-
2261
- state.push_future(Box::pin(future));
2262
- }
2263
- WriteState::Dropped => {
2264
- let reader = transmit.read_handle;
2265
- self.host_drop_reader(store.0, reader, kind).unwrap();
2266
- }
2267
- }
2268
- }
2269
-
2270
- async fn write<D: 'static, P: Send + 'static, T: func::Lower + 'static, B: WriteBuffer<T>>(
2271
- self,
2272
- token: StoreToken<D>,
2273
- id: TableId<TransmitState>,
2274
- pair: Arc<Mutex<Option<(P, B)>>>,
2275
- kind: TransmitKind,
2276
- ) -> Result<()> {
2277
- let (read, guest_offset) = tls::get(|store| {
2278
- let transmit = self.concurrent_state_mut(store).get_mut(id)?;
2279
-
2280
- let guest_offset = if let &WriteState::HostReady { guest_offset, .. } = &transmit.write
2281
- {
2282
- Some(guest_offset)
2283
- } else {
2284
- None
2285
- };
2286
-
2287
- anyhow::Ok((
2288
- mem::replace(&mut transmit.read, ReadState::Open),
2289
- guest_offset,
2290
- ))
2291
- })?;
2292
-
2293
- match read {
2294
- ReadState::GuestReady {
2295
- ty,
2296
- flat_abi,
2297
- options,
2298
- address,
2299
- count,
2300
- handle,
2301
- } => {
2302
- let guest_offset = guest_offset.unwrap();
2303
-
2304
- if let TransmitKind::Future = kind {
2305
- tls::get(|store| {
2306
- self.concurrent_state_mut(store).get_mut(id)?.done = true;
2307
- anyhow::Ok(())
2308
- })?;
2309
- }
2310
-
2311
- let old_remaining = pair.lock().unwrap().as_mut().unwrap().1.remaining().len();
2312
- let accept = {
2313
- let pair = pair.clone();
2314
- move |mut store: StoreContextMut<D>| {
2315
- lower::<T, B, D>(
2316
- store.as_context_mut(),
2317
- self,
2318
- &options,
2319
- ty,
2320
- address + (T::SIZE32 * guest_offset),
2321
- count - guest_offset,
2322
- &mut pair.lock().unwrap().as_mut().unwrap().1,
2323
- )?;
2324
- anyhow::Ok(())
2325
- }
2326
- };
2327
-
2328
- if guest_offset < count {
2329
- if T::MAY_REQUIRE_REALLOC {
2330
- // For payloads which may require a realloc call, use a
2331
- // oneshot::channel and background task. This is
2332
- // necessary because calling the guest while there are
2333
- // host embedder frames on the stack is unsound.
2334
- let (tx, rx) = oneshot::channel();
2335
- tls::get(move |store| {
2336
- self.concurrent_state_mut(store).push_high_priority(
2337
- WorkItem::WorkerFunction(AlwaysMut::new(Box::new(
2338
- move |store, _| {
2339
- _ = tx.send(accept(token.as_context_mut(store))?);
2340
- Ok(())
2341
- },
2342
- ))),
2343
- )
2344
- });
2345
- rx.await?
2346
- } else {
2347
- // Optimize flat payloads (i.e. those which do not
2348
- // require calling the guest's realloc function) by
2349
- // lowering directly instead of using a oneshot::channel
2350
- // and background task.
2351
- tls::get(|store| accept(token.as_context_mut(store)))?
2352
- };
2353
- }
2354
-
2355
- tls::get(|store| {
2356
- let count =
2357
- old_remaining - pair.lock().unwrap().as_mut().unwrap().1.remaining().len();
2358
-
2359
- let transmit = self.concurrent_state_mut(store).get_mut(id)?;
2360
-
2361
- let WriteState::HostReady { guest_offset, .. } = &mut transmit.write else {
2362
- unreachable!();
2363
- };
2364
-
2365
- *guest_offset += count;
2366
-
2367
- transmit.read = ReadState::GuestReady {
2368
- ty,
2369
- flat_abi,
2370
- options,
2371
- address,
2372
- count,
2373
- handle,
2374
- };
2375
-
2376
- anyhow::Ok(())
2377
- })?;
2378
-
2379
- Ok(())
2380
- }
2381
-
2382
- ReadState::HostToHost {
2383
- accept,
2384
- mut buffer,
2385
- limit,
2386
- } => {
2387
- let mut state = StreamResult::Completed;
2388
- let mut position = 0;
2389
-
2390
- while !matches!(state, StreamResult::Dropped) && position < limit {
2391
- let mut slice_buffer = SliceBuffer::new(buffer, position, limit);
2392
- state = accept(&mut UntypedWriteBuffer::new(&mut slice_buffer)).await?;
2393
- (buffer, position, _) = slice_buffer.into_parts();
2394
- }
2395
-
2396
- {
2397
- let (mine, mut buffer) = pair.lock().unwrap().take().unwrap();
2398
-
2399
- while !(matches!(state, StreamResult::Dropped) || buffer.remaining().is_empty())
2400
- {
2401
- state = accept(&mut UntypedWriteBuffer::new(&mut buffer)).await?;
2402
- }
2403
-
2404
- *pair.lock().unwrap() = Some((mine, buffer));
2405
- }
2406
-
2407
- tls::get(|store| {
2408
- self.concurrent_state_mut(store).get_mut(id)?.read = match state {
2409
- StreamResult::Dropped => ReadState::Dropped,
2410
- StreamResult::Completed | StreamResult::Cancelled => {
2411
- ReadState::HostToHost {
2412
- accept,
2413
- buffer,
2414
- limit: 0,
2415
- }
2416
- }
2417
- };
2418
-
2419
- anyhow::Ok(())
2420
- })?;
2421
- Ok(())
2422
- }
2423
-
2424
- _ => unreachable!(),
2425
- }
2426
- }
2427
-
2428
- fn pipe_from_guest(
2429
- self,
2430
- store: &mut dyn VMStore,
2431
- kind: TransmitKind,
2432
- id: TableId<TransmitState>,
2433
- future: Pin<Box<dyn Future<Output = Result<StreamResult>> + Send + 'static>>,
2434
- ) {
2435
- let future = async move {
2436
- let stream_state = future.await?;
2437
- tls::get(|store| {
2438
- let state = self.concurrent_state_mut(store);
2439
- let transmit = state.get_mut(id)?;
2440
- let ReadState::HostReady {
2441
- consume,
2442
- guest_offset,
2443
- ..
2444
- } = mem::replace(&mut transmit.read, ReadState::Open)
2445
- else {
2446
- unreachable!();
2447
- };
2448
- let code = return_code(kind, stream_state, guest_offset);
2449
- transmit.read = match stream_state {
2450
- StreamResult::Dropped => ReadState::Dropped,
2451
- StreamResult::Completed | StreamResult::Cancelled => ReadState::HostReady {
2452
- consume,
2453
- guest_offset: 0,
2454
- cancel: false,
2455
- cancel_waker: None,
2456
- },
2457
- };
2458
- let WriteState::GuestReady { ty, handle, .. } =
2459
- mem::replace(&mut transmit.write, WriteState::Open)
2460
- else {
2461
- unreachable!();
2462
- };
2463
- state.send_write_result(ty, id, handle, code)?;
2464
- Ok(())
2465
- })
2466
- };
2467
-
2468
- self.concurrent_state_mut(store).push_future(future.boxed());
2469
- }
2470
-
2471
- fn pipe_to_guest(
2472
- self,
2473
- store: &mut dyn VMStore,
2474
- kind: TransmitKind,
2475
- id: TableId<TransmitState>,
2476
- future: Pin<Box<dyn Future<Output = Result<StreamResult>> + Send + 'static>>,
2477
- ) {
2478
- let future = async move {
2479
- let stream_state = future.await?;
2480
- tls::get(|store| {
2481
- let state = self.concurrent_state_mut(store);
2482
- let transmit = state.get_mut(id)?;
2483
- let WriteState::HostReady {
2484
- produce,
2485
- guest_offset,
2486
- ..
2487
- } = mem::replace(&mut transmit.write, WriteState::Open)
2488
- else {
2489
- unreachable!();
2490
- };
2491
- let code = return_code(kind, stream_state, guest_offset);
2492
- transmit.write = match stream_state {
2493
- StreamResult::Dropped => WriteState::Dropped,
2494
- StreamResult::Completed | StreamResult::Cancelled => WriteState::HostReady {
2495
- produce,
2496
- guest_offset: 0,
2497
- cancel: false,
2498
- cancel_waker: None,
2499
- },
2500
- };
2501
- let ReadState::GuestReady { ty, handle, .. } =
2502
- mem::replace(&mut transmit.read, ReadState::Open)
2503
- else {
2504
- unreachable!();
2505
- };
2506
- state.send_read_result(ty, id, handle, code)?;
2507
- Ok(())
2508
- })
2509
- };
2510
-
2511
- self.concurrent_state_mut(store).push_future(future.boxed());
2512
- }
2513
-
2514
- /// Drop the read end of a stream or future read from the host.
2515
- fn host_drop_reader(
2516
- self,
2517
- store: &mut dyn VMStore,
2518
- id: TableId<TransmitHandle>,
2519
- kind: TransmitKind,
2520
- ) -> Result<()> {
2521
- let transmit_id = self.concurrent_state_mut(store).get_mut(id)?.state;
2522
- let state = self.concurrent_state_mut(store);
2523
- let transmit = state
2524
- .get_mut(transmit_id)
2525
- .with_context(|| format!("error closing reader {transmit_id:?}"))?;
2526
- log::trace!(
2527
- "host_drop_reader state {transmit_id:?}; read state {:?} write state {:?}",
2528
- transmit.read,
2529
- transmit.write
2530
- );
2531
-
2532
- transmit.read = ReadState::Dropped;
2533
-
2534
- // If the write end is already dropped, it should stay dropped,
2535
- // otherwise, it should be opened.
2536
- let new_state = if let WriteState::Dropped = &transmit.write {
2537
- WriteState::Dropped
2538
- } else {
2539
- WriteState::Open
2540
- };
2541
-
2542
- let write_handle = transmit.write_handle;
2543
-
2544
- match mem::replace(&mut transmit.write, new_state) {
2545
- // If a guest is waiting to write, notify it that the read end has
2546
- // been dropped.
2547
- WriteState::GuestReady { ty, handle, .. } => {
2548
- state.update_event(
2549
- write_handle.rep(),
2550
- match ty {
2551
- TransmitIndex::Future(ty) => Event::FutureWrite {
2552
- code: ReturnCode::Dropped(0),
2553
- pending: Some((ty, handle)),
2554
- },
2555
- TransmitIndex::Stream(ty) => Event::StreamWrite {
2556
- code: ReturnCode::Dropped(0),
2557
- pending: Some((ty, handle)),
2558
- },
2559
- },
2560
- )?;
2561
- }
2562
-
2563
- WriteState::HostReady { .. } => {}
2564
-
2565
- WriteState::Open => {
2566
- state.update_event(
2567
- write_handle.rep(),
2568
- match kind {
2569
- TransmitKind::Future => Event::FutureWrite {
2570
- code: ReturnCode::Dropped(0),
2571
- pending: None,
2572
- },
2573
- TransmitKind::Stream => Event::StreamWrite {
2574
- code: ReturnCode::Dropped(0),
2575
- pending: None,
2576
- },
2577
- },
2578
- )?;
2579
- }
2580
-
2581
- WriteState::Dropped => {
2582
- log::trace!("host_drop_reader delete {transmit_id:?}");
2583
- state.delete_transmit(transmit_id)?;
2584
- }
2585
- }
2586
- Ok(())
2587
- }
2588
-
2589
- /// Drop the write end of a stream or future read from the host.
2590
- fn host_drop_writer<U>(
2591
- self,
2592
- store: StoreContextMut<U>,
2593
- id: TableId<TransmitHandle>,
2594
- on_drop_open: Option<fn() -> Result<()>>,
2595
- ) -> Result<()> {
2596
- let transmit_id = self.concurrent_state_mut(store.0).get_mut(id)?.state;
2597
- let transmit = self
2598
- .concurrent_state_mut(store.0)
2599
- .get_mut(transmit_id)
2600
- .with_context(|| format!("error closing writer {transmit_id:?}"))?;
2601
- log::trace!(
2602
- "host_drop_writer state {transmit_id:?}; write state {:?} read state {:?}",
2603
- transmit.read,
2604
- transmit.write
2605
- );
2606
-
2607
- // Existing queued transmits must be updated with information for the impending writer closure
2608
- match &mut transmit.write {
2609
- WriteState::GuestReady { .. } => {
2610
- unreachable!("can't call `host_drop_writer` on a guest-owned writer");
2611
- }
2612
- WriteState::HostReady { .. } => {}
2613
- v @ WriteState::Open => {
2614
- if let (Some(on_drop_open), false) = (
2615
- on_drop_open,
2616
- transmit.done || matches!(transmit.read, ReadState::Dropped),
2617
- ) {
2618
- on_drop_open()?;
2619
- } else {
2620
- *v = WriteState::Dropped;
2621
- }
2622
- }
2623
- WriteState::Dropped => unreachable!("write state is already dropped"),
2624
- }
2625
-
2626
- let transmit = self.concurrent_state_mut(store.0).get_mut(transmit_id)?;
2627
-
2628
- // If the existing read state is dropped, then there's nothing to read
2629
- // and we can keep it that way.
2630
- //
2631
- // If the read state was any other state, then we must set the new state to open
2632
- // to indicate that there *is* data to be read
2633
- let new_state = if let ReadState::Dropped = &transmit.read {
2634
- ReadState::Dropped
2635
- } else {
2636
- ReadState::Open
2637
- };
2638
-
2639
- let read_handle = transmit.read_handle;
2640
-
2641
- // Swap in the new read state
2642
- match mem::replace(&mut transmit.read, new_state) {
2643
- // If the guest was ready to read, then we cannot drop the reader (or writer);
2644
- // we must deliver the event, and update the state associated with the handle to
2645
- // represent that a read must be performed
2646
- ReadState::GuestReady { ty, handle, .. } => {
2647
- // Ensure the final read of the guest is queued, with appropriate closure indicator
2648
- self.concurrent_state_mut(store.0).update_event(
2649
- read_handle.rep(),
2650
- match ty {
2651
- TransmitIndex::Future(ty) => Event::FutureRead {
2652
- code: ReturnCode::Dropped(0),
2653
- pending: Some((ty, handle)),
2654
- },
2655
- TransmitIndex::Stream(ty) => Event::StreamRead {
2656
- code: ReturnCode::Dropped(0),
2657
- pending: Some((ty, handle)),
2658
- },
2659
- },
2660
- )?;
2661
- }
2662
-
2663
- ReadState::HostReady { .. } | ReadState::HostToHost { .. } => {}
2664
-
2665
- // If the read state is open, then there are no registered readers of the stream/future
2666
- ReadState::Open => {
2667
- self.concurrent_state_mut(store.0).update_event(
2668
- read_handle.rep(),
2669
- match on_drop_open {
2670
- Some(_) => Event::FutureRead {
2671
- code: ReturnCode::Dropped(0),
2672
- pending: None,
2673
- },
2674
- None => Event::StreamRead {
2675
- code: ReturnCode::Dropped(0),
2676
- pending: None,
2677
- },
2678
- },
2679
- )?;
2680
- }
2681
-
2682
- // If the read state was already dropped, then we can remove the transmit state completely
2683
- // (both writer and reader have been dropped)
2684
- ReadState::Dropped => {
2685
- log::trace!("host_drop_writer delete {transmit_id:?}");
2686
- self.concurrent_state_mut(store.0)
2687
- .delete_transmit(transmit_id)?;
2688
- }
2689
- }
2690
- Ok(())
2691
- }
2692
-
2693
- /// Drop the writable end of the specified stream or future from the guest.
2694
- pub(super) fn guest_drop_writable<T>(
2695
- self,
2696
- store: StoreContextMut<T>,
2697
- ty: TransmitIndex,
2698
- writer: u32,
2699
- ) -> Result<()> {
2700
- let table = self.id().get_mut(store.0).table_for_transmit(ty);
2701
- let transmit_rep = match ty {
2702
- TransmitIndex::Future(ty) => table.future_remove_writable(ty, writer)?,
2703
- TransmitIndex::Stream(ty) => table.stream_remove_writable(ty, writer)?,
2704
- };
2705
-
2706
- let id = TableId::<TransmitHandle>::new(transmit_rep);
2707
- log::trace!("guest_drop_writable: drop writer {id:?}");
2708
- match ty {
2709
- TransmitIndex::Stream(_) => self.host_drop_writer(store, id, None),
2710
- TransmitIndex::Future(_) => self.host_drop_writer(
2711
- store,
2712
- id,
2713
- Some(|| {
2714
- Err(anyhow!(
2715
- "cannot drop future write end without first writing a value"
2716
- ))
2717
- }),
2718
- ),
2719
- }
2720
- }
2721
-
2722
- /// Copy `count` items from `read_address` to `write_address` for the
2723
- /// specified stream or future.
2724
- fn copy<T: 'static>(
2725
- self,
2726
- mut store: StoreContextMut<T>,
2727
- flat_abi: Option<FlatAbi>,
2728
- write_ty: TransmitIndex,
2729
- write_options: &Options,
2730
- write_address: usize,
2731
- read_ty: TransmitIndex,
2732
- read_options: &Options,
2733
- read_address: usize,
2734
- count: usize,
2735
- rep: u32,
2736
- ) -> Result<()> {
2737
- let types = self.id().get(store.0).component().types().clone();
2738
- match (write_ty, read_ty) {
2739
- (TransmitIndex::Future(write_ty), TransmitIndex::Future(read_ty)) => {
2740
- assert_eq!(count, 1);
2741
-
2742
- let val = types[types[write_ty].ty]
2743
- .payload
2744
- .map(|ty| {
2745
- let abi = types.canonical_abi(&ty);
2746
- // FIXME: needs to read an i64 for memory64
2747
- if write_address % usize::try_from(abi.align32)? != 0 {
2748
- bail!("write pointer not aligned");
2749
- }
2750
-
2751
- let lift =
2752
- &mut LiftContext::new(store.0.store_opaque_mut(), write_options, self);
2753
- let bytes = lift
2754
- .memory()
2755
- .get(write_address..)
2756
- .and_then(|b| b.get(..usize::try_from(abi.size32).unwrap()))
2757
- .ok_or_else(|| {
2758
- anyhow::anyhow!("write pointer out of bounds of memory")
2759
- })?;
2760
-
2761
- Val::load(lift, ty, bytes)
2762
- })
2763
- .transpose()?;
2764
-
2765
- if let Some(val) = val {
2766
- let lower =
2767
- &mut LowerContext::new(store.as_context_mut(), read_options, &types, self);
2768
- let ty = types[types[read_ty].ty].payload.unwrap();
2769
- let ptr = func::validate_inbounds_dynamic(
2770
- types.canonical_abi(&ty),
2771
- lower.as_slice_mut(),
2772
- &ValRaw::u32(read_address.try_into().unwrap()),
2773
- )?;
2774
- val.store(lower, ty, ptr)?;
2775
- }
2776
- }
2777
- (TransmitIndex::Stream(write_ty), TransmitIndex::Stream(read_ty)) => {
2778
- if let Some(flat_abi) = flat_abi {
2779
- // Fast path memcpy for "flat" (i.e. no pointers or handles) payloads:
2780
- let length_in_bytes = usize::try_from(flat_abi.size).unwrap() * count;
2781
- if length_in_bytes > 0 {
2782
- if write_address % usize::try_from(flat_abi.align)? != 0 {
2783
- bail!("write pointer not aligned");
2784
- }
2785
- if read_address % usize::try_from(flat_abi.align)? != 0 {
2786
- bail!("read pointer not aligned");
2787
- }
2788
-
2789
- let store_opaque = store.0.store_opaque_mut();
2790
-
2791
- {
2792
- let src = write_options
2793
- .memory(store_opaque)
2794
- .get(write_address..)
2795
- .and_then(|b| b.get(..length_in_bytes))
2796
- .ok_or_else(|| {
2797
- anyhow::anyhow!("write pointer out of bounds of memory")
2798
- })?
2799
- .as_ptr();
2800
- let dst = read_options
2801
- .memory_mut(store_opaque)
2802
- .get_mut(read_address..)
2803
- .and_then(|b| b.get_mut(..length_in_bytes))
2804
- .ok_or_else(|| {
2805
- anyhow::anyhow!("read pointer out of bounds of memory")
2806
- })?
2807
- .as_mut_ptr();
2808
- // SAFETY: Both `src` and `dst` have been validated
2809
- // above.
2810
- unsafe { src.copy_to(dst, length_in_bytes) };
2811
- }
2812
- }
2813
- } else {
2814
- let store_opaque = store.0.store_opaque_mut();
2815
- let lift = &mut LiftContext::new(store_opaque, write_options, self);
2816
- let ty = types[types[write_ty].ty].payload.unwrap();
2817
- let abi = lift.types.canonical_abi(&ty);
2818
- let size = usize::try_from(abi.size32).unwrap();
2819
- if write_address % usize::try_from(abi.align32)? != 0 {
2820
- bail!("write pointer not aligned");
2821
- }
2822
- let bytes = lift
2823
- .memory()
2824
- .get(write_address..)
2825
- .and_then(|b| b.get(..size * count))
2826
- .ok_or_else(|| anyhow::anyhow!("write pointer out of bounds of memory"))?;
2827
-
2828
- let values = (0..count)
2829
- .map(|index| Val::load(lift, ty, &bytes[(index * size)..][..size]))
2830
- .collect::<Result<Vec<_>>>()?;
2831
-
2832
- let id = TableId::<TransmitHandle>::new(rep);
2833
- log::trace!("copy values {values:?} for {id:?}");
2834
-
2835
- let lower =
2836
- &mut LowerContext::new(store.as_context_mut(), read_options, &types, self);
2837
- let ty = types[types[read_ty].ty].payload.unwrap();
2838
- let abi = lower.types.canonical_abi(&ty);
2839
- if read_address % usize::try_from(abi.align32)? != 0 {
2840
- bail!("read pointer not aligned");
2841
- }
2842
- let size = usize::try_from(abi.size32).unwrap();
2843
- lower
2844
- .as_slice_mut()
2845
- .get_mut(read_address..)
2846
- .and_then(|b| b.get_mut(..size * count))
2847
- .ok_or_else(|| anyhow::anyhow!("read pointer out of bounds of memory"))?;
2848
- let mut ptr = read_address;
2849
- for value in values {
2850
- value.store(lower, ty, ptr)?;
2851
- ptr += size
2852
- }
2853
- }
2854
- }
2855
- _ => unreachable!(),
2856
- }
2857
-
2858
- Ok(())
2859
- }
2860
-
2861
- fn check_bounds(
2862
- self,
2863
- store: &StoreOpaque,
2864
- options: &Options,
2865
- ty: TransmitIndex,
2866
- address: usize,
2867
- count: usize,
2868
- ) -> Result<()> {
2869
- let types = self.id().get(store).component().types().clone();
2870
- let size = usize::try_from(
2871
- match ty {
2872
- TransmitIndex::Future(ty) => types[types[ty].ty]
2873
- .payload
2874
- .map(|ty| types.canonical_abi(&ty).size32),
2875
- TransmitIndex::Stream(ty) => types[types[ty].ty]
2876
- .payload
2877
- .map(|ty| types.canonical_abi(&ty).size32),
2878
- }
2879
- .unwrap_or(0),
2880
- )
2881
- .unwrap();
2882
-
2883
- if count > 0 && size > 0 {
2884
- options
2885
- .memory(store)
2886
- .get(address..)
2887
- .and_then(|b| b.get(..(size * count)))
2888
- .map(drop)
2889
- .ok_or_else(|| anyhow::anyhow!("read pointer out of bounds of memory"))
2890
- } else {
2891
- Ok(())
2892
- }
2893
- }
2894
-
2895
- /// Write to the specified stream or future from the guest.
2896
- pub(super) fn guest_write<T: 'static>(
2897
- self,
2898
- mut store: StoreContextMut<T>,
2899
- ty: TransmitIndex,
2900
- options: OptionsIndex,
2901
- flat_abi: Option<FlatAbi>,
2902
- handle: u32,
2903
- address: u32,
2904
- count: u32,
2905
- ) -> Result<ReturnCode> {
2906
- let address = usize::try_from(address).unwrap();
2907
- let count = usize::try_from(count).unwrap();
2908
- let options = Options::new_index(store.0, self, options);
2909
- self.check_bounds(store.0, &options, ty, address, count)?;
2910
- let (rep, state) = self.id().get_mut(store.0).get_mut_by_index(ty, handle)?;
2911
- let TransmitLocalState::Write { done } = *state else {
2912
- bail!(
2913
- "invalid handle {handle}; expected `Write`; got {:?}",
2914
- *state
2915
- );
2916
- };
2917
-
2918
- if done {
2919
- bail!("cannot write to stream after being notified that the readable end dropped");
2920
- }
2921
-
2922
- *state = TransmitLocalState::Busy;
2923
- let transmit_handle = TableId::<TransmitHandle>::new(rep);
2924
- let concurrent_state = self.concurrent_state_mut(store.0);
2925
- let transmit_id = concurrent_state.get_mut(transmit_handle)?.state;
2926
- let transmit = concurrent_state.get_mut(transmit_id)?;
2927
- log::trace!(
2928
- "guest_write {count} to {transmit_handle:?} (handle {handle}; state {transmit_id:?}); {:?}",
2929
- transmit.read
2930
- );
2931
-
2932
- if transmit.done {
2933
- bail!("cannot write to future after previous write succeeded or readable end dropped");
2934
- }
2935
-
2936
- let new_state = if let ReadState::Dropped = &transmit.read {
2937
- ReadState::Dropped
2938
- } else {
2939
- ReadState::Open
2940
- };
2941
-
2942
- let set_guest_ready = |me: &mut ConcurrentState| {
2943
- let transmit = me.get_mut(transmit_id)?;
2944
- assert!(matches!(&transmit.write, WriteState::Open));
2945
- transmit.write = WriteState::GuestReady {
2946
- ty,
2947
- flat_abi,
2948
- options,
2949
- address,
2950
- count,
2951
- handle,
2952
- };
2953
- Ok::<_, crate::Error>(())
2954
- };
2955
-
2956
- let mut result = match mem::replace(&mut transmit.read, new_state) {
2957
- ReadState::GuestReady {
2958
- ty: read_ty,
2959
- flat_abi: read_flat_abi,
2960
- options: read_options,
2961
- address: read_address,
2962
- count: read_count,
2963
- handle: read_handle,
2964
- } => {
2965
- assert_eq!(flat_abi, read_flat_abi);
2966
-
2967
- if let TransmitIndex::Future(_) = ty {
2968
- transmit.done = true;
2969
- }
2970
-
2971
- // Note that zero-length reads and writes are handling specially
2972
- // by the spec to allow each end to signal readiness to the
2973
- // other. Quoting the spec:
2974
- //
2975
- // ```
2976
- // The meaning of a read or write when the length is 0 is that
2977
- // the caller is querying the "readiness" of the other
2978
- // side. When a 0-length read/write rendezvous with a
2979
- // non-0-length read/write, only the 0-length read/write
2980
- // completes; the non-0-length read/write is kept pending (and
2981
- // ready for a subsequent rendezvous).
2982
- //
2983
- // In the corner case where a 0-length read and write
2984
- // rendezvous, only the writer is notified of readiness. To
2985
- // avoid livelock, the Canonical ABI requires that a writer must
2986
- // (eventually) follow a completed 0-length write with a
2987
- // non-0-length write that is allowed to block (allowing the
2988
- // reader end to run and rendezvous with its own non-0-length
2989
- // read).
2990
- // ```
2991
-
2992
- let write_complete = count == 0 || read_count > 0;
2993
- let read_complete = count > 0;
2994
- let read_buffer_remaining = count < read_count;
2995
-
2996
- let read_handle_rep = transmit.read_handle.rep();
2997
-
2998
- let count = count.min(read_count);
2999
-
3000
- self.copy(
3001
- store.as_context_mut(),
3002
- flat_abi,
3003
- ty,
3004
- &options,
3005
- address,
3006
- read_ty,
3007
- &read_options,
3008
- read_address,
3009
- count,
3010
- rep,
3011
- )?;
3012
-
3013
- let instance = self.id().get_mut(store.0);
3014
- let types = instance.component().types();
3015
- let item_size = payload(ty, types)
3016
- .map(|ty| usize::try_from(types.canonical_abi(&ty).size32).unwrap())
3017
- .unwrap_or(0);
3018
- let concurrent_state = instance.concurrent_state_mut();
3019
- if read_complete {
3020
- let count = u32::try_from(count).unwrap();
3021
- let total = if let Some(Event::StreamRead {
3022
- code: ReturnCode::Completed(old_total),
3023
- ..
3024
- }) = concurrent_state.take_event(read_handle_rep)?
3025
- {
3026
- count + old_total
3027
- } else {
3028
- count
3029
- };
3030
-
3031
- let code = ReturnCode::completed(ty.kind(), total);
3032
-
3033
- concurrent_state.send_read_result(read_ty, transmit_id, read_handle, code)?;
3034
- }
3035
-
3036
- if read_buffer_remaining {
3037
- let transmit = concurrent_state.get_mut(transmit_id)?;
3038
- transmit.read = ReadState::GuestReady {
3039
- ty: read_ty,
3040
- flat_abi: read_flat_abi,
3041
- options: read_options,
3042
- address: read_address + (count * item_size),
3043
- count: read_count - count,
3044
- handle: read_handle,
3045
- };
3046
- }
3047
-
3048
- if write_complete {
3049
- ReturnCode::completed(ty.kind(), count.try_into().unwrap())
3050
- } else {
3051
- set_guest_ready(concurrent_state)?;
3052
- ReturnCode::Blocked
3053
- }
3054
- }
3055
-
3056
- ReadState::HostReady {
3057
- consume,
3058
- guest_offset,
3059
- cancel,
3060
- cancel_waker,
3061
- } => {
3062
- assert!(cancel_waker.is_none());
3063
- assert!(!cancel);
3064
- assert_eq!(0, guest_offset);
3065
-
3066
- if let TransmitIndex::Future(_) = ty {
3067
- transmit.done = true;
3068
- }
3069
-
3070
- set_guest_ready(concurrent_state)?;
3071
- self.consume(store.0, ty.kind(), transmit_id, consume, 0, false)?
3072
- }
3073
-
3074
- ReadState::HostToHost { .. } => unreachable!(),
3075
-
3076
- ReadState::Open => {
3077
- set_guest_ready(concurrent_state)?;
3078
- ReturnCode::Blocked
3079
- }
3080
-
3081
- ReadState::Dropped => {
3082
- if let TransmitIndex::Future(_) = ty {
3083
- transmit.done = true;
3084
- }
3085
-
3086
- ReturnCode::Dropped(0)
3087
- }
3088
- };
3089
-
3090
- if result == ReturnCode::Blocked && !options.async_() {
3091
- result = self.wait_for_write(store.0, transmit_handle)?;
3092
- }
3093
-
3094
- if result != ReturnCode::Blocked {
3095
- *self.id().get_mut(store.0).get_mut_by_index(ty, handle)?.1 =
3096
- TransmitLocalState::Write {
3097
- done: matches!(
3098
- (result, ty),
3099
- (ReturnCode::Dropped(_), TransmitIndex::Stream(_))
3100
- ),
3101
- };
3102
- }
3103
-
3104
- log::trace!(
3105
- "guest_write result for {transmit_handle:?} (handle {handle}; state {transmit_id:?}): {result:?}",
3106
- );
3107
-
3108
- Ok(result)
3109
- }
3110
-
3111
- /// Handle a host- or guest-initiated write by delivering the item(s) to the
3112
- /// `StreamConsumer` for the specified stream or future.
3113
- fn consume(
3114
- self,
3115
- store: &mut dyn VMStore,
3116
- kind: TransmitKind,
3117
- transmit_id: TableId<TransmitState>,
3118
- consume: PollStream,
3119
- guest_offset: usize,
3120
- cancel: bool,
3121
- ) -> Result<ReturnCode> {
3122
- let mut future = consume();
3123
- self.concurrent_state_mut(store).get_mut(transmit_id)?.read = ReadState::HostReady {
3124
- consume,
3125
- guest_offset,
3126
- cancel,
3127
- cancel_waker: None,
3128
- };
3129
- let poll = self.set_tls(store, || {
3130
- future
3131
- .as_mut()
3132
- .poll(&mut Context::from_waker(&Waker::noop()))
3133
- });
3134
-
3135
- Ok(match poll {
3136
- Poll::Ready(state) => {
3137
- let transmit = self.concurrent_state_mut(store).get_mut(transmit_id)?;
3138
- let ReadState::HostReady { guest_offset, .. } = &mut transmit.read else {
3139
- unreachable!();
3140
- };
3141
- let code = return_code(kind, state?, mem::replace(guest_offset, 0));
3142
- transmit.write = WriteState::Open;
3143
- code
3144
- }
3145
- Poll::Pending => {
3146
- self.pipe_from_guest(store, kind, transmit_id, future);
3147
- ReturnCode::Blocked
3148
- }
3149
- })
3150
- }
3151
-
3152
- /// Read from the specified stream or future from the guest.
3153
- pub(super) fn guest_read<T: 'static>(
3154
- self,
3155
- mut store: StoreContextMut<T>,
3156
- ty: TransmitIndex,
3157
- options: OptionsIndex,
3158
- flat_abi: Option<FlatAbi>,
3159
- handle: u32,
3160
- address: u32,
3161
- count: u32,
3162
- ) -> Result<ReturnCode> {
3163
- let address = usize::try_from(address).unwrap();
3164
- let count = usize::try_from(count).unwrap();
3165
- let options = Options::new_index(store.0, self, options);
3166
- self.check_bounds(store.0, &options, ty, address, count)?;
3167
- let (rep, state) = self.id().get_mut(store.0).get_mut_by_index(ty, handle)?;
3168
- let TransmitLocalState::Read { done } = *state else {
3169
- bail!("invalid handle {handle}; expected `Read`; got {:?}", *state);
3170
- };
3171
-
3172
- if done {
3173
- bail!("cannot read from stream after being notified that the writable end dropped");
3174
- }
3175
-
3176
- *state = TransmitLocalState::Busy;
3177
- let transmit_handle = TableId::<TransmitHandle>::new(rep);
3178
- let concurrent_state = self.concurrent_state_mut(store.0);
3179
- let transmit_id = concurrent_state.get_mut(transmit_handle)?.state;
3180
- let transmit = concurrent_state.get_mut(transmit_id)?;
3181
- log::trace!(
3182
- "guest_read {count} from {transmit_handle:?} (handle {handle}; state {transmit_id:?}); {:?}",
3183
- transmit.write
3184
- );
3185
-
3186
- if transmit.done {
3187
- bail!("cannot read from future after previous read succeeded");
3188
- }
3189
-
3190
- let new_state = if let WriteState::Dropped = &transmit.write {
3191
- WriteState::Dropped
3192
- } else {
3193
- WriteState::Open
3194
- };
3195
-
3196
- let set_guest_ready = |me: &mut ConcurrentState| {
3197
- let transmit = me.get_mut(transmit_id)?;
3198
- assert!(matches!(&transmit.read, ReadState::Open));
3199
- transmit.read = ReadState::GuestReady {
3200
- ty,
3201
- flat_abi,
3202
- options,
3203
- address,
3204
- count,
3205
- handle,
3206
- };
3207
- Ok::<_, crate::Error>(())
3208
- };
3209
-
3210
- let mut result = match mem::replace(&mut transmit.write, new_state) {
3211
- WriteState::GuestReady {
3212
- ty: write_ty,
3213
- flat_abi: write_flat_abi,
3214
- options: write_options,
3215
- address: write_address,
3216
- count: write_count,
3217
- handle: write_handle,
3218
- } => {
3219
- assert_eq!(flat_abi, write_flat_abi);
3220
-
3221
- if let TransmitIndex::Future(_) = ty {
3222
- transmit.done = true;
3223
- }
3224
-
3225
- let write_handle_rep = transmit.write_handle.rep();
3226
-
3227
- // See the comment in `guest_write` for the
3228
- // `ReadState::GuestReady` case concerning zero-length reads and
3229
- // writes.
3230
-
3231
- let write_complete = write_count == 0 || count > 0;
3232
- let read_complete = write_count > 0;
3233
- let write_buffer_remaining = count < write_count;
3234
-
3235
- let count = count.min(write_count);
3236
-
3237
- self.copy(
3238
- store.as_context_mut(),
3239
- flat_abi,
3240
- write_ty,
3241
- &write_options,
3242
- write_address,
3243
- ty,
3244
- &options,
3245
- address,
3246
- count,
3247
- rep,
3248
- )?;
3249
-
3250
- let instance = self.id().get_mut(store.0);
3251
- let types = instance.component().types();
3252
- let item_size = payload(ty, types)
3253
- .map(|ty| usize::try_from(types.canonical_abi(&ty).size32).unwrap())
3254
- .unwrap_or(0);
3255
- let concurrent_state = instance.concurrent_state_mut();
3256
-
3257
- if write_complete {
3258
- let count = u32::try_from(count).unwrap();
3259
- let total = if let Some(Event::StreamWrite {
3260
- code: ReturnCode::Completed(old_total),
3261
- ..
3262
- }) = concurrent_state.take_event(write_handle_rep)?
3263
- {
3264
- count + old_total
3265
- } else {
3266
- count
3267
- };
3268
-
3269
- let code = ReturnCode::completed(ty.kind(), total);
3270
-
3271
- concurrent_state.send_write_result(
3272
- write_ty,
3273
- transmit_id,
3274
- write_handle,
3275
- code,
3276
- )?;
3277
- }
3278
-
3279
- if write_buffer_remaining {
3280
- let transmit = concurrent_state.get_mut(transmit_id)?;
3281
- transmit.write = WriteState::GuestReady {
3282
- ty: write_ty,
3283
- flat_abi: write_flat_abi,
3284
- options: write_options,
3285
- address: write_address + (count * item_size),
3286
- count: write_count - count,
3287
- handle: write_handle,
3288
- };
3289
- }
3290
-
3291
- if read_complete {
3292
- ReturnCode::completed(ty.kind(), count.try_into().unwrap())
3293
- } else {
3294
- set_guest_ready(concurrent_state)?;
3295
- ReturnCode::Blocked
3296
- }
3297
- }
3298
-
3299
- WriteState::HostReady {
3300
- produce,
3301
- guest_offset,
3302
- cancel,
3303
- cancel_waker,
3304
- } => {
3305
- assert!(cancel_waker.is_none());
3306
- assert!(!cancel);
3307
- assert_eq!(0, guest_offset);
3308
-
3309
- if let TransmitIndex::Future(_) = ty {
3310
- transmit.done = true;
3311
- }
3312
-
3313
- set_guest_ready(concurrent_state)?;
3314
-
3315
- self.produce(store.0, ty.kind(), transmit_id, produce, 0, false)?
3316
- }
3317
-
3318
- WriteState::Open => {
3319
- set_guest_ready(concurrent_state)?;
3320
- ReturnCode::Blocked
3321
- }
3322
-
3323
- WriteState::Dropped => ReturnCode::Dropped(0),
3324
- };
3325
-
3326
- if result == ReturnCode::Blocked && !options.async_() {
3327
- result = self.wait_for_read(store.0, transmit_handle)?;
3328
- }
3329
-
3330
- if result != ReturnCode::Blocked {
3331
- *self.id().get_mut(store.0).get_mut_by_index(ty, handle)?.1 =
3332
- TransmitLocalState::Read {
3333
- done: matches!(
3334
- (result, ty),
3335
- (ReturnCode::Dropped(_), TransmitIndex::Stream(_))
3336
- ),
3337
- };
3338
- }
3339
-
3340
- log::trace!(
3341
- "guest_read result for {transmit_handle:?} (handle {handle}; state {transmit_id:?}): {result:?}",
3342
- );
3343
-
3344
- Ok(result)
3345
- }
3346
-
3347
- /// Handle a host- or guest-initiated read by polling the `StreamProducer`
3348
- /// for the specified stream or future for items.
3349
- fn produce(
3350
- self,
3351
- store: &mut dyn VMStore,
3352
- kind: TransmitKind,
3353
- transmit_id: TableId<TransmitState>,
3354
- produce: PollStream,
3355
- guest_offset: usize,
3356
- cancel: bool,
3357
- ) -> Result<ReturnCode> {
3358
- let mut future = produce();
3359
- self.concurrent_state_mut(store).get_mut(transmit_id)?.write = WriteState::HostReady {
3360
- produce,
3361
- guest_offset,
3362
- cancel,
3363
- cancel_waker: None,
3364
- };
3365
- let poll = self.set_tls(store, || {
3366
- future
3367
- .as_mut()
3368
- .poll(&mut Context::from_waker(&Waker::noop()))
3369
- });
3370
-
3371
- Ok(match poll {
3372
- Poll::Ready(state) => {
3373
- let transmit = self.concurrent_state_mut(store).get_mut(transmit_id)?;
3374
- let WriteState::HostReady { guest_offset, .. } = &mut transmit.write else {
3375
- unreachable!();
3376
- };
3377
- let code = return_code(kind, state?, mem::replace(guest_offset, 0));
3378
- transmit.read = ReadState::Open;
3379
- code
3380
- }
3381
- Poll::Pending => {
3382
- self.pipe_to_guest(store, kind, transmit_id, future);
3383
- ReturnCode::Blocked
3384
- }
3385
- })
3386
- }
3387
-
3388
- fn wait_for_write(
3389
- self,
3390
- store: &mut dyn VMStore,
3391
- handle: TableId<TransmitHandle>,
3392
- ) -> Result<ReturnCode> {
3393
- let waitable = Waitable::Transmit(handle);
3394
- self.wait_for_event(store, waitable)?;
3395
- let event = waitable.take_event(self.concurrent_state_mut(store))?;
3396
- if let Some(event @ (Event::StreamWrite { code, .. } | Event::FutureWrite { code, .. })) =
3397
- event
3398
- {
3399
- waitable.on_delivery(self.id().get_mut(store), event);
3400
- Ok(code)
3401
- } else {
3402
- unreachable!()
3403
- }
3404
- }
3405
-
3406
- /// Cancel a pending stream or future write.
3407
- fn cancel_write(
3408
- self,
3409
- store: &mut dyn VMStore,
3410
- transmit_id: TableId<TransmitState>,
3411
- async_: bool,
3412
- ) -> Result<ReturnCode> {
3413
- let state = self.concurrent_state_mut(store);
3414
- let transmit = state.get_mut(transmit_id)?;
3415
- log::trace!(
3416
- "host_cancel_write state {transmit_id:?}; write state {:?} read state {:?}",
3417
- transmit.read,
3418
- transmit.write
3419
- );
3420
-
3421
- let code = if let Some(event) =
3422
- Waitable::Transmit(transmit.write_handle).take_event(state)?
3423
- {
3424
- let (Event::FutureWrite { code, .. } | Event::StreamWrite { code, .. }) = event else {
3425
- unreachable!();
3426
- };
3427
- match (code, event) {
3428
- (ReturnCode::Completed(count), Event::StreamWrite { .. }) => {
3429
- ReturnCode::Cancelled(count)
3430
- }
3431
- (ReturnCode::Dropped(_) | ReturnCode::Completed(_), _) => code,
3432
- _ => unreachable!(),
3433
- }
3434
- } else if let ReadState::HostReady {
3435
- cancel,
3436
- cancel_waker,
3437
- ..
3438
- } = &mut state.get_mut(transmit_id)?.read
3439
- {
3440
- *cancel = true;
3441
- if let Some(waker) = cancel_waker.take() {
3442
- waker.wake();
3443
- }
3444
-
3445
- if async_ {
3446
- ReturnCode::Blocked
3447
- } else {
3448
- let handle = self
3449
- .concurrent_state_mut(store)
3450
- .get_mut(transmit_id)?
3451
- .write_handle;
3452
- self.wait_for_write(store, handle)?
3453
- }
3454
- } else {
3455
- ReturnCode::Cancelled(0)
3456
- };
3457
-
3458
- let transmit = self.concurrent_state_mut(store).get_mut(transmit_id)?;
3459
-
3460
- match &transmit.write {
3461
- WriteState::GuestReady { .. } => {
3462
- transmit.write = WriteState::Open;
3463
- }
3464
- WriteState::HostReady { .. } => todo!("support host write cancellation"),
3465
- WriteState::Open | WriteState::Dropped => {}
3466
- }
3467
-
3468
- log::trace!("cancelled write {transmit_id:?}: {code:?}");
3469
-
3470
- Ok(code)
3471
- }
3472
-
3473
- fn wait_for_read(
3474
- self,
3475
- store: &mut dyn VMStore,
3476
- handle: TableId<TransmitHandle>,
3477
- ) -> Result<ReturnCode> {
3478
- let waitable = Waitable::Transmit(handle);
3479
- self.wait_for_event(store, waitable)?;
3480
- let event = waitable.take_event(self.concurrent_state_mut(store))?;
3481
- if let Some(event @ (Event::StreamRead { code, .. } | Event::FutureRead { code, .. })) =
3482
- event
3483
- {
3484
- waitable.on_delivery(self.id().get_mut(store), event);
3485
- Ok(code)
3486
- } else {
3487
- unreachable!()
3488
- }
3489
- }
3490
-
3491
- /// Cancel a pending stream or future read.
3492
- fn cancel_read(
3493
- self,
3494
- store: &mut dyn VMStore,
3495
- transmit_id: TableId<TransmitState>,
3496
- async_: bool,
3497
- ) -> Result<ReturnCode> {
3498
- let state = self.concurrent_state_mut(store);
3499
- let transmit = state.get_mut(transmit_id)?;
3500
- log::trace!(
3501
- "host_cancel_read state {transmit_id:?}; read state {:?} write state {:?}",
3502
- transmit.read,
3503
- transmit.write
3504
- );
3505
-
3506
- let code = if let Some(event) =
3507
- Waitable::Transmit(transmit.read_handle).take_event(state)?
3508
- {
3509
- let (Event::FutureRead { code, .. } | Event::StreamRead { code, .. }) = event else {
3510
- unreachable!();
3511
- };
3512
- match (code, event) {
3513
- (ReturnCode::Completed(count), Event::StreamRead { .. }) => {
3514
- ReturnCode::Cancelled(count)
3515
- }
3516
- (ReturnCode::Dropped(_) | ReturnCode::Completed(_), _) => code,
3517
- _ => unreachable!(),
3518
- }
3519
- } else if let WriteState::HostReady {
3520
- cancel,
3521
- cancel_waker,
3522
- ..
3523
- } = &mut state.get_mut(transmit_id)?.write
3524
- {
3525
- *cancel = true;
3526
- if let Some(waker) = cancel_waker.take() {
3527
- waker.wake();
3528
- }
3529
-
3530
- if async_ {
3531
- ReturnCode::Blocked
3532
- } else {
3533
- let handle = self
3534
- .concurrent_state_mut(store)
3535
- .get_mut(transmit_id)?
3536
- .read_handle;
3537
- self.wait_for_read(store, handle)?
3538
- }
3539
- } else {
3540
- ReturnCode::Cancelled(0)
3541
- };
3542
-
3543
- let transmit = self.concurrent_state_mut(store).get_mut(transmit_id)?;
3544
-
3545
- match &transmit.read {
3546
- ReadState::GuestReady { .. } => {
3547
- transmit.read = ReadState::Open;
3548
- }
3549
- ReadState::HostReady { .. } | ReadState::HostToHost { .. } => {
3550
- todo!("support host read cancellation")
3551
- }
3552
- ReadState::Open | ReadState::Dropped => {}
3553
- }
3554
-
3555
- log::trace!("cancelled read {transmit_id:?}: {code:?}");
3556
-
3557
- Ok(code)
3558
- }
3559
-
3560
- /// Cancel a pending write for the specified stream or future from the guest.
3561
- fn guest_cancel_write(
3562
- self,
3563
- store: &mut dyn VMStore,
3564
- ty: TransmitIndex,
3565
- async_: bool,
3566
- writer: u32,
3567
- ) -> Result<ReturnCode> {
3568
- let (rep, state) =
3569
- get_mut_by_index_from(self.id().get_mut(store).table_for_transmit(ty), ty, writer)?;
3570
- let id = TableId::<TransmitHandle>::new(rep);
3571
- log::trace!("guest cancel write {id:?} (handle {writer})");
3572
- match state {
3573
- TransmitLocalState::Write { .. } => {
3574
- bail!("stream or future write cancelled when no write is pending")
3575
- }
3576
- TransmitLocalState::Read { .. } => {
3577
- bail!("passed read end to `{{stream|future}}.cancel-write`")
3578
- }
3579
- TransmitLocalState::Busy => {}
3580
- }
3581
- let transmit_id = self.concurrent_state_mut(store).get_mut(id)?.state;
3582
- let code = self.cancel_write(store, transmit_id, async_)?;
3583
- if !matches!(code, ReturnCode::Blocked) {
3584
- let state =
3585
- get_mut_by_index_from(self.id().get_mut(store).table_for_transmit(ty), ty, writer)?
3586
- .1;
3587
- if let TransmitLocalState::Busy = state {
3588
- *state = TransmitLocalState::Write { done: false };
3589
- }
3590
- }
3591
- Ok(code)
3592
- }
3593
-
3594
- /// Cancel a pending read for the specified stream or future from the guest.
3595
- fn guest_cancel_read(
3596
- self,
3597
- store: &mut dyn VMStore,
3598
- ty: TransmitIndex,
3599
- async_: bool,
3600
- reader: u32,
3601
- ) -> Result<ReturnCode> {
3602
- let (rep, state) =
3603
- get_mut_by_index_from(self.id().get_mut(store).table_for_transmit(ty), ty, reader)?;
3604
- let id = TableId::<TransmitHandle>::new(rep);
3605
- log::trace!("guest cancel read {id:?} (handle {reader})");
3606
- match state {
3607
- TransmitLocalState::Read { .. } => {
3608
- bail!("stream or future read cancelled when no read is pending")
3609
- }
3610
- TransmitLocalState::Write { .. } => {
3611
- bail!("passed write end to `{{stream|future}}.cancel-read`")
3612
- }
3613
- TransmitLocalState::Busy => {}
3614
- }
3615
- let transmit_id = self.concurrent_state_mut(store).get_mut(id)?.state;
3616
- let code = self.cancel_read(store, transmit_id, async_)?;
3617
- if !matches!(code, ReturnCode::Blocked) {
3618
- let state =
3619
- get_mut_by_index_from(self.id().get_mut(store).table_for_transmit(ty), ty, reader)?
3620
- .1;
3621
- if let TransmitLocalState::Busy = state {
3622
- *state = TransmitLocalState::Read { done: false };
3623
- }
3624
- }
3625
- Ok(code)
3626
- }
3627
-
3628
- /// Drop the readable end of the specified stream or future from the guest.
3629
- fn guest_drop_readable(
3630
- self,
3631
- store: &mut dyn VMStore,
3632
- ty: TransmitIndex,
3633
- reader: u32,
3634
- ) -> Result<()> {
3635
- let table = self.id().get_mut(store).table_for_transmit(ty);
3636
- let (rep, _is_done) = match ty {
3637
- TransmitIndex::Stream(ty) => table.stream_remove_readable(ty, reader)?,
3638
- TransmitIndex::Future(ty) => table.future_remove_readable(ty, reader)?,
3639
- };
3640
- let kind = match ty {
3641
- TransmitIndex::Stream(_) => TransmitKind::Stream,
3642
- TransmitIndex::Future(_) => TransmitKind::Future,
3643
- };
3644
- let id = TableId::<TransmitHandle>::new(rep);
3645
- log::trace!("guest_drop_readable: drop reader {id:?}");
3646
- self.host_drop_reader(store, id, kind)
3647
- }
3648
-
3649
- /// Create a new error context for the given component.
3650
- pub(crate) fn error_context_new(
3651
- self,
3652
- store: &mut StoreOpaque,
3653
- ty: TypeComponentLocalErrorContextTableIndex,
3654
- options: OptionsIndex,
3655
- debug_msg_address: u32,
3656
- debug_msg_len: u32,
3657
- ) -> Result<u32> {
3658
- let options = Options::new_index(store, self, options);
3659
- let lift_ctx = &mut LiftContext::new(store, &options, self);
3660
- // Read string from guest memory
3661
- let address = usize::try_from(debug_msg_address)?;
3662
- let len = usize::try_from(debug_msg_len)?;
3663
- lift_ctx
3664
- .memory()
3665
- .get(address..)
3666
- .and_then(|b| b.get(..len))
3667
- .ok_or_else(|| anyhow::anyhow!("invalid debug message pointer: out of bounds"))?;
3668
- let message = WasmStr::new(address, len, lift_ctx)?;
3669
-
3670
- // Create a new ErrorContext that is tracked along with other concurrent state
3671
- let err_ctx = ErrorContextState {
3672
- debug_msg: message
3673
- .to_str_from_memory(options.memory(store))?
3674
- .to_string(),
3675
- };
3676
- let state = self.concurrent_state_mut(store);
3677
- let table_id = state.push(err_ctx)?;
3678
- let global_ref_count_idx =
3679
- TypeComponentGlobalErrorContextTableIndex::from_u32(table_id.rep());
3680
-
3681
- // Add to the global error context ref counts
3682
- let _ = state
3683
- .global_error_context_ref_counts
3684
- .insert(global_ref_count_idx, GlobalErrorContextRefCount(1));
3685
-
3686
- // Error context are tracked both locally (to a single component instance) and globally
3687
- // the counts for both must stay in sync.
3688
- //
3689
- // Here we reflect the newly created global concurrent error context state into the
3690
- // component instance's locally tracked count, along with the appropriate key into the global
3691
- // ref tracking data structures to enable later lookup
3692
- let local_idx = self
3693
- .id()
3694
- .get_mut(store)
3695
- .table_for_error_context(ty)
3696
- .error_context_insert(table_id.rep())?;
3697
-
3698
- Ok(local_idx)
3699
- }
3700
-
3701
- /// Retrieve the debug message from the specified error context.
3702
- pub(super) fn error_context_debug_message<T>(
3703
- self,
3704
- store: StoreContextMut<T>,
3705
- ty: TypeComponentLocalErrorContextTableIndex,
3706
- options: OptionsIndex,
3707
- err_ctx_handle: u32,
3708
- debug_msg_address: u32,
3709
- ) -> Result<()> {
3710
- // Retrieve the error context and internal debug message
3711
- let handle_table_id_rep = self
3712
- .id()
3713
- .get_mut(store.0)
3714
- .table_for_error_context(ty)
3715
- .error_context_rep(err_ctx_handle)?;
3716
-
3717
- let state = self.concurrent_state_mut(store.0);
3718
- // Get the state associated with the error context
3719
- let ErrorContextState { debug_msg } =
3720
- state.get_mut(TableId::<ErrorContextState>::new(handle_table_id_rep))?;
3721
- let debug_msg = debug_msg.clone();
3722
-
3723
- let options = Options::new_index(store.0, self, options);
3724
- let types = self.id().get(store.0).component().types().clone();
3725
- let lower_cx = &mut LowerContext::new(store, &options, &types, self);
3726
- let debug_msg_address = usize::try_from(debug_msg_address)?;
3727
- // Lower the string into the component's memory
3728
- let offset = lower_cx
3729
- .as_slice_mut()
3730
- .get(debug_msg_address..)
3731
- .and_then(|b| b.get(..debug_msg.bytes().len()))
3732
- .map(|_| debug_msg_address)
3733
- .ok_or_else(|| anyhow::anyhow!("invalid debug message pointer: out of bounds"))?;
3734
- debug_msg
3735
- .as_str()
3736
- .linear_lower_to_memory(lower_cx, InterfaceType::String, offset)?;
3737
-
3738
- Ok(())
3739
- }
3740
-
3741
- /// Implements the `future.cancel-read` intrinsic.
3742
- pub(crate) fn future_cancel_read(
3743
- self,
3744
- store: &mut dyn VMStore,
3745
- ty: TypeFutureTableIndex,
3746
- async_: bool,
3747
- reader: u32,
3748
- ) -> Result<u32> {
3749
- self.guest_cancel_read(store, TransmitIndex::Future(ty), async_, reader)
3750
- .map(|v| v.encode())
3751
- }
3752
-
3753
- /// Implements the `future.cancel-write` intrinsic.
3754
- pub(crate) fn future_cancel_write(
3755
- self,
3756
- store: &mut dyn VMStore,
3757
- ty: TypeFutureTableIndex,
3758
- async_: bool,
3759
- writer: u32,
3760
- ) -> Result<u32> {
3761
- self.guest_cancel_write(store, TransmitIndex::Future(ty), async_, writer)
3762
- .map(|v| v.encode())
3763
- }
3764
-
3765
- /// Implements the `stream.cancel-read` intrinsic.
3766
- pub(crate) fn stream_cancel_read(
3767
- self,
3768
- store: &mut dyn VMStore,
3769
- ty: TypeStreamTableIndex,
3770
- async_: bool,
3771
- reader: u32,
3772
- ) -> Result<u32> {
3773
- self.guest_cancel_read(store, TransmitIndex::Stream(ty), async_, reader)
3774
- .map(|v| v.encode())
3775
- }
3776
-
3777
- /// Implements the `stream.cancel-write` intrinsic.
3778
- pub(crate) fn stream_cancel_write(
3779
- self,
3780
- store: &mut dyn VMStore,
3781
- ty: TypeStreamTableIndex,
3782
- async_: bool,
3783
- writer: u32,
3784
- ) -> Result<u32> {
3785
- self.guest_cancel_write(store, TransmitIndex::Stream(ty), async_, writer)
3786
- .map(|v| v.encode())
3787
- }
3788
-
3789
- /// Implements the `future.drop-readable` intrinsic.
3790
- pub(crate) fn future_drop_readable(
3791
- self,
3792
- store: &mut dyn VMStore,
3793
- ty: TypeFutureTableIndex,
3794
- reader: u32,
3795
- ) -> Result<()> {
3796
- self.guest_drop_readable(store, TransmitIndex::Future(ty), reader)
3797
- }
3798
-
3799
- /// Implements the `stream.drop-readable` intrinsic.
3800
- pub(crate) fn stream_drop_readable(
3801
- self,
3802
- store: &mut dyn VMStore,
3803
- ty: TypeStreamTableIndex,
3804
- reader: u32,
3805
- ) -> Result<()> {
3806
- self.guest_drop_readable(store, TransmitIndex::Stream(ty), reader)
3807
- }
3808
- }
3809
-
3810
- impl ComponentInstance {
3811
- fn table_for_transmit(self: Pin<&mut Self>, ty: TransmitIndex) -> &mut HandleTable {
3812
- let (tables, types) = self.guest_tables();
3813
- let runtime_instance = match ty {
3814
- TransmitIndex::Stream(ty) => types[ty].instance,
3815
- TransmitIndex::Future(ty) => types[ty].instance,
3816
- };
3817
- &mut tables[runtime_instance]
3818
- }
3819
-
3820
- fn table_for_error_context(
3821
- self: Pin<&mut Self>,
3822
- ty: TypeComponentLocalErrorContextTableIndex,
3823
- ) -> &mut HandleTable {
3824
- let (tables, types) = self.guest_tables();
3825
- let runtime_instance = types[ty].instance;
3826
- &mut tables[runtime_instance]
3827
- }
3828
-
3829
- fn get_mut_by_index(
3830
- self: Pin<&mut Self>,
3831
- ty: TransmitIndex,
3832
- index: u32,
3833
- ) -> Result<(u32, &mut TransmitLocalState)> {
3834
- get_mut_by_index_from(self.table_for_transmit(ty), ty, index)
3835
- }
3836
-
3837
- /// Allocate a new future or stream and grant ownership of both the read and
3838
- /// write ends to the (sub-)component instance to which the specified
3839
- /// `TransmitIndex` belongs.
3840
- fn guest_new(mut self: Pin<&mut Self>, ty: TransmitIndex) -> Result<ResourcePair> {
3841
- let (write, read) = self.as_mut().concurrent_state_mut().new_transmit()?;
3842
-
3843
- let table = self.as_mut().table_for_transmit(ty);
3844
- let (read_handle, write_handle) = match ty {
3845
- TransmitIndex::Future(ty) => (
3846
- table.future_insert_read(ty, read.rep())?,
3847
- table.future_insert_write(ty, write.rep())?,
3848
- ),
3849
- TransmitIndex::Stream(ty) => (
3850
- table.stream_insert_read(ty, read.rep())?,
3851
- table.stream_insert_write(ty, write.rep())?,
3852
- ),
3853
- };
3854
-
3855
- let state = self.as_mut().concurrent_state_mut();
3856
- state.get_mut(read)?.common.handle = Some(read_handle);
3857
- state.get_mut(write)?.common.handle = Some(write_handle);
3858
-
3859
- Ok(ResourcePair {
3860
- write: write_handle,
3861
- read: read_handle,
3862
- })
3863
- }
3864
-
3865
- /// Drop the specified error context.
3866
- pub(crate) fn error_context_drop(
3867
- mut self: Pin<&mut Self>,
3868
- ty: TypeComponentLocalErrorContextTableIndex,
3869
- error_context: u32,
3870
- ) -> Result<()> {
3871
- let local_handle_table = self.as_mut().table_for_error_context(ty);
3872
-
3873
- let rep = local_handle_table.error_context_drop(error_context)?;
3874
-
3875
- let global_ref_count_idx = TypeComponentGlobalErrorContextTableIndex::from_u32(rep);
3876
-
3877
- let state = self.concurrent_state_mut();
3878
- let GlobalErrorContextRefCount(global_ref_count) = state
3879
- .global_error_context_ref_counts
3880
- .get_mut(&global_ref_count_idx)
3881
- .expect("retrieve concurrent state for error context during drop");
3882
-
3883
- // Reduce the component-global ref count, removing tracking if necessary
3884
- assert!(*global_ref_count >= 1);
3885
- *global_ref_count -= 1;
3886
- if *global_ref_count == 0 {
3887
- state
3888
- .global_error_context_ref_counts
3889
- .remove(&global_ref_count_idx);
3890
-
3891
- state
3892
- .delete(TableId::<ErrorContextState>::new(rep))
3893
- .context("deleting component-global error context data")?;
3894
- }
3895
-
3896
- Ok(())
3897
- }
3898
-
3899
- /// Transfer ownership of the specified stream or future read end from one
3900
- /// guest to another.
3901
- fn guest_transfer(
3902
- mut self: Pin<&mut Self>,
3903
- src_idx: u32,
3904
- src: TransmitIndex,
3905
- dst: TransmitIndex,
3906
- ) -> Result<u32> {
3907
- let src_table = self.as_mut().table_for_transmit(src);
3908
- let (rep, is_done) = match src {
3909
- TransmitIndex::Future(idx) => src_table.future_remove_readable(idx, src_idx)?,
3910
- TransmitIndex::Stream(idx) => src_table.stream_remove_readable(idx, src_idx)?,
3911
- };
3912
- if is_done {
3913
- bail!("cannot lift after being notified that the writable end dropped");
3914
- }
3915
- let dst_table = self.as_mut().table_for_transmit(dst);
3916
- let handle = match dst {
3917
- TransmitIndex::Future(idx) => dst_table.future_insert_read(idx, rep),
3918
- TransmitIndex::Stream(idx) => dst_table.stream_insert_read(idx, rep),
3919
- }?;
3920
- self.concurrent_state_mut()
3921
- .get_mut(TableId::<TransmitHandle>::new(rep))?
3922
- .common
3923
- .handle = Some(handle);
3924
- Ok(handle)
3925
- }
3926
-
3927
- /// Implements the `future.new` intrinsic.
3928
- pub(crate) fn future_new(
3929
- self: Pin<&mut Self>,
3930
- ty: TypeFutureTableIndex,
3931
- ) -> Result<ResourcePair> {
3932
- self.guest_new(TransmitIndex::Future(ty))
3933
- }
3934
-
3935
- /// Implements the `stream.new` intrinsic.
3936
- pub(crate) fn stream_new(
3937
- self: Pin<&mut Self>,
3938
- ty: TypeStreamTableIndex,
3939
- ) -> Result<ResourcePair> {
3940
- self.guest_new(TransmitIndex::Stream(ty))
3941
- }
3942
-
3943
- /// Transfer ownership of the specified future read end from one guest to
3944
- /// another.
3945
- pub(crate) fn future_transfer(
3946
- self: Pin<&mut Self>,
3947
- src_idx: u32,
3948
- src: TypeFutureTableIndex,
3949
- dst: TypeFutureTableIndex,
3950
- ) -> Result<u32> {
3951
- self.guest_transfer(
3952
- src_idx,
3953
- TransmitIndex::Future(src),
3954
- TransmitIndex::Future(dst),
3955
- )
3956
- }
3957
-
3958
- /// Transfer ownership of the specified stream read end from one guest to
3959
- /// another.
3960
- pub(crate) fn stream_transfer(
3961
- self: Pin<&mut Self>,
3962
- src_idx: u32,
3963
- src: TypeStreamTableIndex,
3964
- dst: TypeStreamTableIndex,
3965
- ) -> Result<u32> {
3966
- self.guest_transfer(
3967
- src_idx,
3968
- TransmitIndex::Stream(src),
3969
- TransmitIndex::Stream(dst),
3970
- )
3971
- }
3972
-
3973
- /// Copy the specified error context from one component to another.
3974
- pub(crate) fn error_context_transfer(
3975
- mut self: Pin<&mut Self>,
3976
- src_idx: u32,
3977
- src: TypeComponentLocalErrorContextTableIndex,
3978
- dst: TypeComponentLocalErrorContextTableIndex,
3979
- ) -> Result<u32> {
3980
- let rep = self
3981
- .as_mut()
3982
- .table_for_error_context(src)
3983
- .error_context_rep(src_idx)?;
3984
- let dst_idx = self
3985
- .as_mut()
3986
- .table_for_error_context(dst)
3987
- .error_context_insert(rep)?;
3988
-
3989
- // Update the global (cross-subcomponent) count for error contexts
3990
- // as the new component has essentially created a new reference that will
3991
- // be dropped/handled independently
3992
- let global_ref_count = self
3993
- .concurrent_state_mut()
3994
- .global_error_context_ref_counts
3995
- .get_mut(&TypeComponentGlobalErrorContextTableIndex::from_u32(rep))
3996
- .context("global ref count present for existing (sub)component error context")?;
3997
- global_ref_count.0 += 1;
3998
-
3999
- Ok(dst_idx)
4000
- }
4001
- }
4002
-
4003
- impl ConcurrentState {
4004
- fn send_write_result(
4005
- &mut self,
4006
- ty: TransmitIndex,
4007
- id: TableId<TransmitState>,
4008
- handle: u32,
4009
- code: ReturnCode,
4010
- ) -> Result<()> {
4011
- let write_handle = self.get_mut(id)?.write_handle.rep();
4012
- self.set_event(
4013
- write_handle,
4014
- match ty {
4015
- TransmitIndex::Future(ty) => Event::FutureWrite {
4016
- code,
4017
- pending: Some((ty, handle)),
4018
- },
4019
- TransmitIndex::Stream(ty) => Event::StreamWrite {
4020
- code,
4021
- pending: Some((ty, handle)),
4022
- },
4023
- },
4024
- )
4025
- }
4026
-
4027
- fn send_read_result(
4028
- &mut self,
4029
- ty: TransmitIndex,
4030
- id: TableId<TransmitState>,
4031
- handle: u32,
4032
- code: ReturnCode,
4033
- ) -> Result<()> {
4034
- let read_handle = self.get_mut(id)?.read_handle.rep();
4035
- self.set_event(
4036
- read_handle,
4037
- match ty {
4038
- TransmitIndex::Future(ty) => Event::FutureRead {
4039
- code,
4040
- pending: Some((ty, handle)),
4041
- },
4042
- TransmitIndex::Stream(ty) => Event::StreamRead {
4043
- code,
4044
- pending: Some((ty, handle)),
4045
- },
4046
- },
4047
- )
4048
- }
4049
-
4050
- fn take_event(&mut self, waitable: u32) -> Result<Option<Event>> {
4051
- Waitable::Transmit(TableId::<TransmitHandle>::new(waitable)).take_event(self)
4052
- }
4053
-
4054
- fn set_event(&mut self, waitable: u32, event: Event) -> Result<()> {
4055
- Waitable::Transmit(TableId::<TransmitHandle>::new(waitable)).set_event(self, Some(event))
4056
- }
4057
-
4058
- /// Set or update the event for the specified waitable.
4059
- ///
4060
- /// If there is already an event set for this waitable, we assert that it is
4061
- /// of the same variant as the new one and reuse the `ReturnCode` count and
4062
- /// the `pending` field if applicable.
4063
- // TODO: This is a bit awkward due to how
4064
- // `Event::{Stream,Future}{Write,Read}` and
4065
- // `ReturnCode::{Completed,Dropped,Cancelled}` are currently represented.
4066
- // Consider updating those representations in a way that allows this
4067
- // function to be simplified.
4068
- fn update_event(&mut self, waitable: u32, event: Event) -> Result<()> {
4069
- let waitable = Waitable::Transmit(TableId::<TransmitHandle>::new(waitable));
4070
-
4071
- fn update_code(old: ReturnCode, new: ReturnCode) -> ReturnCode {
4072
- let (ReturnCode::Completed(count)
4073
- | ReturnCode::Dropped(count)
4074
- | ReturnCode::Cancelled(count)) = old
4075
- else {
4076
- unreachable!()
4077
- };
4078
-
4079
- match new {
4080
- ReturnCode::Dropped(0) => ReturnCode::Dropped(count),
4081
- ReturnCode::Cancelled(0) => ReturnCode::Cancelled(count),
4082
- _ => unreachable!(),
4083
- }
4084
- }
4085
-
4086
- let event = match (waitable.take_event(self)?, event) {
4087
- (None, _) => event,
4088
- (Some(old @ Event::FutureWrite { .. }), Event::FutureWrite { .. }) => old,
4089
- (Some(old @ Event::FutureRead { .. }), Event::FutureRead { .. }) => old,
4090
- (
4091
- Some(Event::StreamWrite {
4092
- code: old_code,
4093
- pending: old_pending,
4094
- }),
4095
- Event::StreamWrite { code, pending },
4096
- ) => Event::StreamWrite {
4097
- code: update_code(old_code, code),
4098
- pending: old_pending.or(pending),
4099
- },
4100
- (
4101
- Some(Event::StreamRead {
4102
- code: old_code,
4103
- pending: old_pending,
4104
- }),
4105
- Event::StreamRead { code, pending },
4106
- ) => Event::StreamRead {
4107
- code: update_code(old_code, code),
4108
- pending: old_pending.or(pending),
4109
- },
4110
- _ => unreachable!(),
4111
- };
4112
-
4113
- waitable.set_event(self, Some(event))
4114
- }
4115
-
4116
- /// Allocate a new future or stream, including the `TransmitState` and the
4117
- /// `TransmitHandle`s corresponding to the read and write ends.
4118
- fn new_transmit(&mut self) -> Result<(TableId<TransmitHandle>, TableId<TransmitHandle>)> {
4119
- let state_id = self.push(TransmitState::default())?;
4120
-
4121
- let write = self.push(TransmitHandle::new(state_id))?;
4122
- let read = self.push(TransmitHandle::new(state_id))?;
4123
-
4124
- let state = self.get_mut(state_id)?;
4125
- state.write_handle = write;
4126
- state.read_handle = read;
4127
-
4128
- log::trace!("new transmit: state {state_id:?}; write {write:?}; read {read:?}",);
4129
-
4130
- Ok((write, read))
4131
- }
4132
-
4133
- /// Delete the specified future or stream, including the read and write ends.
4134
- fn delete_transmit(&mut self, state_id: TableId<TransmitState>) -> Result<()> {
4135
- let state = self.delete(state_id)?;
4136
- self.delete(state.write_handle)?;
4137
- self.delete(state.read_handle)?;
4138
-
4139
- log::trace!(
4140
- "delete transmit: state {state_id:?}; write {:?}; read {:?}",
4141
- state.write_handle,
4142
- state.read_handle,
4143
- );
4144
-
4145
- Ok(())
4146
- }
4147
- }
4148
-
4149
- pub(crate) struct ResourcePair {
4150
- pub(crate) write: u32,
4151
- pub(crate) read: u32,
4152
- }
4153
-
4154
- #[cfg(test)]
4155
- mod tests {
4156
- use super::*;
4157
- use crate::{Engine, Store};
4158
- use core::future::pending;
4159
- use core::pin::pin;
4160
- use std::sync::LazyLock;
4161
-
4162
- static ENGINE: LazyLock<Engine> = LazyLock::new(Engine::default);
4163
-
4164
- fn poll_future_producer<T>(rx: Pin<&mut T>, finish: bool) -> Poll<Result<Option<T::Item>>>
4165
- where
4166
- T: FutureProducer<()>,
4167
- {
4168
- rx.poll_produce(
4169
- &mut Context::from_waker(Waker::noop()),
4170
- Store::new(&ENGINE, ()).as_context_mut(),
4171
- finish,
4172
- )
4173
- }
4174
-
4175
- #[test]
4176
- fn future_producer() {
4177
- let mut fut = pin!(async { anyhow::Ok(()) });
4178
- assert!(matches!(
4179
- poll_future_producer(fut.as_mut(), false),
4180
- Poll::Ready(Ok(Some(()))),
4181
- ));
4182
-
4183
- let mut fut = pin!(async { anyhow::Ok(()) });
4184
- assert!(matches!(
4185
- poll_future_producer(fut.as_mut(), true),
4186
- Poll::Ready(Ok(Some(()))),
4187
- ));
4188
-
4189
- let mut fut = pin!(pending::<Result<()>>());
4190
- assert!(matches!(
4191
- poll_future_producer(fut.as_mut(), false),
4192
- Poll::Pending,
4193
- ));
4194
- assert!(matches!(
4195
- poll_future_producer(fut.as_mut(), true),
4196
- Poll::Ready(Ok(None)),
4197
- ));
4198
-
4199
- let (tx, rx) = oneshot::channel();
4200
- let mut rx = pin!(rx);
4201
- assert!(matches!(
4202
- poll_future_producer(rx.as_mut(), false),
4203
- Poll::Pending,
4204
- ));
4205
- assert!(matches!(
4206
- poll_future_producer(rx.as_mut(), true),
4207
- Poll::Ready(Ok(None)),
4208
- ));
4209
- tx.send(()).unwrap();
4210
- assert!(matches!(
4211
- poll_future_producer(rx.as_mut(), true),
4212
- Poll::Ready(Ok(Some(()))),
4213
- ));
4214
-
4215
- let (tx, rx) = oneshot::channel();
4216
- let mut rx = pin!(rx);
4217
- tx.send(()).unwrap();
4218
- assert!(matches!(
4219
- poll_future_producer(rx.as_mut(), false),
4220
- Poll::Ready(Ok(Some(()))),
4221
- ));
4222
-
4223
- let (tx, rx) = oneshot::channel::<()>();
4224
- let mut rx = pin!(rx);
4225
- drop(tx);
4226
- assert!(matches!(
4227
- poll_future_producer(rx.as_mut(), false),
4228
- Poll::Ready(Err(..)),
4229
- ));
4230
-
4231
- let (tx, rx) = oneshot::channel::<()>();
4232
- let mut rx = pin!(rx);
4233
- drop(tx);
4234
- assert!(matches!(
4235
- poll_future_producer(rx.as_mut(), true),
4236
- Poll::Ready(Err(..)),
4237
- ));
4238
- }
4239
- }