wasmtime 20.0.2 → 21.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2089) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +129 -124
  3. data/ext/Cargo.toml +8 -6
  4. data/ext/cargo-vendor/cobs-0.2.3/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cobs-0.2.3/Cargo.toml +39 -0
  6. data/ext/cargo-vendor/cobs-0.2.3/LICENSE-APACHE +202 -0
  7. data/ext/cargo-vendor/cobs-0.2.3/LICENSE-MIT +19 -0
  8. data/ext/cargo-vendor/cobs-0.2.3/README.md +23 -0
  9. data/ext/cargo-vendor/cobs-0.2.3/src/dec.rs +360 -0
  10. data/ext/cargo-vendor/cobs-0.2.3/src/enc.rs +216 -0
  11. data/ext/cargo-vendor/cobs-0.2.3/src/lib.rs +14 -0
  12. data/ext/cargo-vendor/cobs-0.2.3/tests/test.rs +265 -0
  13. data/ext/cargo-vendor/cranelift-bforest-0.108.1/.cargo-checksum.json +1 -0
  14. data/ext/cargo-vendor/cranelift-bforest-0.108.1/Cargo.toml +40 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.108.1/.cargo-checksum.json +1 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.108.1/Cargo.toml +189 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.108.1/build.rs +266 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/alias_analysis.rs +403 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/context.rs +395 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ctxhash.rs +167 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph/elaborate.rs +835 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph.rs +839 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/incremental_cache.rs +256 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/instructions.rs +1020 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/abi.rs +1580 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/args.rs +721 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit.rs +3846 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit_tests.rs +7902 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/imms.rs +1213 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/mod.rs +3094 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/regs.rs +288 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst.isle +4225 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/lower/isle.rs +810 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/pcc.rs +568 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/mod.rs +449 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/abi.rs +1051 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/args.rs +1938 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit.rs +2681 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit_tests.rs +2197 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/mod.rs +1975 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/regs.rs +168 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/vector.rs +1144 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst.isle +2969 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower/isle.rs +625 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower.isle +2883 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/abi.rs +1037 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/args.rs +314 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit.rs +3646 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/imms.rs +202 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/mod.rs +3421 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/regs.rs +180 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/abi.rs +1410 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/args.rs +2256 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit.rs +4311 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_tests.rs +5171 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/mod.rs +2838 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/regs.rs +276 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst.isle +5294 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower/isle.rs +1064 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.isle +4808 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.rs +337 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/pcc.rs +1014 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/lib.rs +106 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/abi.rs +2506 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/blockorder.rs +465 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/isle.rs +903 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/lower.rs +1432 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/mod.rs +555 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/reg.rs +522 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/valueregs.rs +138 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/vcode.rs +1741 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/nan_canonicalization.rs +130 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/arithmetic.isle +240 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/icmp.isle +215 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ranges.rs +131 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/remove_constant_phis.rs +419 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/scoped_hash_map.rs +310 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/settings.rs +590 -0
  79. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/.cargo-checksum.json +1 -0
  80. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/Cargo.toml +35 -0
  81. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/gen_inst.rs +1278 -0
  82. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/gen_isle.rs +519 -0
  83. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/gen_settings.rs +508 -0
  84. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/gen_types.rs +75 -0
  85. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/riscv64.rs +168 -0
  86. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/x86.rs +414 -0
  87. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isle.rs +126 -0
  88. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/lib.rs +98 -0
  89. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/shared/settings.rs +348 -0
  90. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/srcgen.rs +464 -0
  91. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/.cargo-checksum.json +1 -0
  92. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/Cargo.toml +22 -0
  93. data/ext/cargo-vendor/cranelift-control-0.108.1/.cargo-checksum.json +1 -0
  94. data/ext/cargo-vendor/cranelift-control-0.108.1/Cargo.toml +30 -0
  95. data/ext/cargo-vendor/cranelift-entity-0.108.1/.cargo-checksum.json +1 -0
  96. data/ext/cargo-vendor/cranelift-entity-0.108.1/Cargo.toml +52 -0
  97. data/ext/cargo-vendor/cranelift-entity-0.108.1/src/lib.rs +381 -0
  98. data/ext/cargo-vendor/cranelift-frontend-0.108.1/.cargo-checksum.json +1 -0
  99. data/ext/cargo-vendor/cranelift-frontend-0.108.1/Cargo.toml +67 -0
  100. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/switch.rs +696 -0
  101. data/ext/cargo-vendor/cranelift-isle-0.108.1/.cargo-checksum.json +1 -0
  102. data/ext/cargo-vendor/cranelift-isle-0.108.1/Cargo.toml +46 -0
  103. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/codegen.rs +886 -0
  104. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/disjointsets.rs +169 -0
  105. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/lib.rs +33 -0
  106. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/sema.rs +2492 -0
  107. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/serialize.rs +846 -0
  108. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/stablemapset.rs +79 -0
  109. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/trie_again.rs +684 -0
  110. data/ext/cargo-vendor/cranelift-native-0.108.1/.cargo-checksum.json +1 -0
  111. data/ext/cargo-vendor/cranelift-native-0.108.1/Cargo.toml +43 -0
  112. data/ext/cargo-vendor/cranelift-wasm-0.108.1/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/cranelift-wasm-0.108.1/Cargo.toml +109 -0
  114. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator.rs +3687 -0
  115. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/environ/dummy.rs +906 -0
  116. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/environ/spec.rs +945 -0
  117. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/sections_translator.rs +389 -0
  118. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +1 -0
  119. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +48 -0
  120. data/ext/cargo-vendor/embedded-io-0.4.0/.cargo-checksum.json +1 -0
  121. data/ext/cargo-vendor/embedded-io-0.4.0/CHANGELOG.md +28 -0
  122. data/ext/cargo-vendor/embedded-io-0.4.0/Cargo.toml +73 -0
  123. data/ext/cargo-vendor/embedded-io-0.4.0/LICENSE-APACHE +201 -0
  124. data/ext/cargo-vendor/embedded-io-0.4.0/LICENSE-MIT +25 -0
  125. data/ext/cargo-vendor/embedded-io-0.4.0/README.md +33 -0
  126. data/ext/cargo-vendor/embedded-io-0.4.0/ci.sh +21 -0
  127. data/ext/cargo-vendor/embedded-io-0.4.0/rust-toolchain.toml +3 -0
  128. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/futures_io.rs +65 -0
  129. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/mod.rs +40 -0
  130. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/std_io.rs +107 -0
  131. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/tokio.rs +108 -0
  132. data/ext/cargo-vendor/embedded-io-0.4.0/src/asynch.rs +230 -0
  133. data/ext/cargo-vendor/embedded-io-0.4.0/src/blocking.rs +309 -0
  134. data/ext/cargo-vendor/embedded-io-0.4.0/src/fmt.rs +228 -0
  135. data/ext/cargo-vendor/embedded-io-0.4.0/src/lib.rs +125 -0
  136. data/ext/cargo-vendor/libm-0.2.8/.cargo-checksum.json +1 -0
  137. data/ext/cargo-vendor/libm-0.2.8/CHANGELOG.md +123 -0
  138. data/ext/cargo-vendor/libm-0.2.8/CONTRIBUTING.md +95 -0
  139. data/ext/cargo-vendor/libm-0.2.8/Cargo.toml +45 -0
  140. data/ext/cargo-vendor/libm-0.2.8/LICENSE-APACHE +201 -0
  141. data/ext/cargo-vendor/libm-0.2.8/LICENSE-MIT +25 -0
  142. data/ext/cargo-vendor/libm-0.2.8/README.md +51 -0
  143. data/ext/cargo-vendor/libm-0.2.8/build.rs +463 -0
  144. data/ext/cargo-vendor/libm-0.2.8/src/lib.rs +59 -0
  145. data/ext/cargo-vendor/libm-0.2.8/src/libm_helper.rs +171 -0
  146. data/ext/cargo-vendor/libm-0.2.8/src/math/acos.rs +112 -0
  147. data/ext/cargo-vendor/libm-0.2.8/src/math/acosf.rs +79 -0
  148. data/ext/cargo-vendor/libm-0.2.8/src/math/acosh.rs +27 -0
  149. data/ext/cargo-vendor/libm-0.2.8/src/math/acoshf.rs +26 -0
  150. data/ext/cargo-vendor/libm-0.2.8/src/math/asin.rs +119 -0
  151. data/ext/cargo-vendor/libm-0.2.8/src/math/asinf.rs +72 -0
  152. data/ext/cargo-vendor/libm-0.2.8/src/math/asinh.rs +40 -0
  153. data/ext/cargo-vendor/libm-0.2.8/src/math/asinhf.rs +39 -0
  154. data/ext/cargo-vendor/libm-0.2.8/src/math/atan.rs +184 -0
  155. data/ext/cargo-vendor/libm-0.2.8/src/math/atan2.rs +126 -0
  156. data/ext/cargo-vendor/libm-0.2.8/src/math/atan2f.rs +91 -0
  157. data/ext/cargo-vendor/libm-0.2.8/src/math/atanf.rs +112 -0
  158. data/ext/cargo-vendor/libm-0.2.8/src/math/atanh.rs +37 -0
  159. data/ext/cargo-vendor/libm-0.2.8/src/math/atanhf.rs +37 -0
  160. data/ext/cargo-vendor/libm-0.2.8/src/math/cbrt.rs +113 -0
  161. data/ext/cargo-vendor/libm-0.2.8/src/math/cbrtf.rs +75 -0
  162. data/ext/cargo-vendor/libm-0.2.8/src/math/ceil.rs +82 -0
  163. data/ext/cargo-vendor/libm-0.2.8/src/math/ceilf.rs +65 -0
  164. data/ext/cargo-vendor/libm-0.2.8/src/math/copysign.rs +12 -0
  165. data/ext/cargo-vendor/libm-0.2.8/src/math/copysignf.rs +12 -0
  166. data/ext/cargo-vendor/libm-0.2.8/src/math/cos.rs +73 -0
  167. data/ext/cargo-vendor/libm-0.2.8/src/math/cosf.rs +83 -0
  168. data/ext/cargo-vendor/libm-0.2.8/src/math/cosh.rs +38 -0
  169. data/ext/cargo-vendor/libm-0.2.8/src/math/coshf.rs +38 -0
  170. data/ext/cargo-vendor/libm-0.2.8/src/math/erf.rs +318 -0
  171. data/ext/cargo-vendor/libm-0.2.8/src/math/erff.rs +230 -0
  172. data/ext/cargo-vendor/libm-0.2.8/src/math/exp.rs +154 -0
  173. data/ext/cargo-vendor/libm-0.2.8/src/math/exp10.rs +22 -0
  174. data/ext/cargo-vendor/libm-0.2.8/src/math/exp10f.rs +22 -0
  175. data/ext/cargo-vendor/libm-0.2.8/src/math/exp2.rs +394 -0
  176. data/ext/cargo-vendor/libm-0.2.8/src/math/exp2f.rs +135 -0
  177. data/ext/cargo-vendor/libm-0.2.8/src/math/expf.rs +101 -0
  178. data/ext/cargo-vendor/libm-0.2.8/src/math/expm1.rs +144 -0
  179. data/ext/cargo-vendor/libm-0.2.8/src/math/expm1f.rs +134 -0
  180. data/ext/cargo-vendor/libm-0.2.8/src/math/expo2.rs +14 -0
  181. data/ext/cargo-vendor/libm-0.2.8/src/math/fabs.rs +41 -0
  182. data/ext/cargo-vendor/libm-0.2.8/src/math/fabsf.rs +41 -0
  183. data/ext/cargo-vendor/libm-0.2.8/src/math/fdim.rs +22 -0
  184. data/ext/cargo-vendor/libm-0.2.8/src/math/fdimf.rs +22 -0
  185. data/ext/cargo-vendor/libm-0.2.8/src/math/fenv.rs +27 -0
  186. data/ext/cargo-vendor/libm-0.2.8/src/math/floor.rs +81 -0
  187. data/ext/cargo-vendor/libm-0.2.8/src/math/floorf.rs +66 -0
  188. data/ext/cargo-vendor/libm-0.2.8/src/math/fma.rs +232 -0
  189. data/ext/cargo-vendor/libm-0.2.8/src/math/fmaf.rs +117 -0
  190. data/ext/cargo-vendor/libm-0.2.8/src/math/fmax.rs +12 -0
  191. data/ext/cargo-vendor/libm-0.2.8/src/math/fmaxf.rs +12 -0
  192. data/ext/cargo-vendor/libm-0.2.8/src/math/fmin.rs +12 -0
  193. data/ext/cargo-vendor/libm-0.2.8/src/math/fminf.rs +12 -0
  194. data/ext/cargo-vendor/libm-0.2.8/src/math/fmod.rs +80 -0
  195. data/ext/cargo-vendor/libm-0.2.8/src/math/fmodf.rs +89 -0
  196. data/ext/cargo-vendor/libm-0.2.8/src/math/frexp.rs +20 -0
  197. data/ext/cargo-vendor/libm-0.2.8/src/math/frexpf.rs +21 -0
  198. data/ext/cargo-vendor/libm-0.2.8/src/math/hypot.rs +74 -0
  199. data/ext/cargo-vendor/libm-0.2.8/src/math/hypotf.rs +43 -0
  200. data/ext/cargo-vendor/libm-0.2.8/src/math/ilogb.rs +32 -0
  201. data/ext/cargo-vendor/libm-0.2.8/src/math/ilogbf.rs +32 -0
  202. data/ext/cargo-vendor/libm-0.2.8/src/math/j0.rs +422 -0
  203. data/ext/cargo-vendor/libm-0.2.8/src/math/j0f.rs +359 -0
  204. data/ext/cargo-vendor/libm-0.2.8/src/math/j1.rs +414 -0
  205. data/ext/cargo-vendor/libm-0.2.8/src/math/j1f.rs +380 -0
  206. data/ext/cargo-vendor/libm-0.2.8/src/math/jn.rs +343 -0
  207. data/ext/cargo-vendor/libm-0.2.8/src/math/jnf.rs +259 -0
  208. data/ext/cargo-vendor/libm-0.2.8/src/math/k_cos.rs +62 -0
  209. data/ext/cargo-vendor/libm-0.2.8/src/math/k_cosf.rs +29 -0
  210. data/ext/cargo-vendor/libm-0.2.8/src/math/k_expo2.rs +14 -0
  211. data/ext/cargo-vendor/libm-0.2.8/src/math/k_expo2f.rs +14 -0
  212. data/ext/cargo-vendor/libm-0.2.8/src/math/k_sin.rs +57 -0
  213. data/ext/cargo-vendor/libm-0.2.8/src/math/k_sinf.rs +30 -0
  214. data/ext/cargo-vendor/libm-0.2.8/src/math/k_tan.rs +105 -0
  215. data/ext/cargo-vendor/libm-0.2.8/src/math/k_tanf.rs +46 -0
  216. data/ext/cargo-vendor/libm-0.2.8/src/math/ldexp.rs +4 -0
  217. data/ext/cargo-vendor/libm-0.2.8/src/math/ldexpf.rs +4 -0
  218. data/ext/cargo-vendor/libm-0.2.8/src/math/lgamma.rs +6 -0
  219. data/ext/cargo-vendor/libm-0.2.8/src/math/lgamma_r.rs +320 -0
  220. data/ext/cargo-vendor/libm-0.2.8/src/math/lgammaf.rs +6 -0
  221. data/ext/cargo-vendor/libm-0.2.8/src/math/lgammaf_r.rs +255 -0
  222. data/ext/cargo-vendor/libm-0.2.8/src/math/log.rs +117 -0
  223. data/ext/cargo-vendor/libm-0.2.8/src/math/log10.rs +117 -0
  224. data/ext/cargo-vendor/libm-0.2.8/src/math/log10f.rs +91 -0
  225. data/ext/cargo-vendor/libm-0.2.8/src/math/log1p.rs +143 -0
  226. data/ext/cargo-vendor/libm-0.2.8/src/math/log1pf.rs +98 -0
  227. data/ext/cargo-vendor/libm-0.2.8/src/math/log2.rs +106 -0
  228. data/ext/cargo-vendor/libm-0.2.8/src/math/log2f.rs +87 -0
  229. data/ext/cargo-vendor/libm-0.2.8/src/math/logf.rs +65 -0
  230. data/ext/cargo-vendor/libm-0.2.8/src/math/mod.rs +370 -0
  231. data/ext/cargo-vendor/libm-0.2.8/src/math/modf.rs +34 -0
  232. data/ext/cargo-vendor/libm-0.2.8/src/math/modff.rs +33 -0
  233. data/ext/cargo-vendor/libm-0.2.8/src/math/nextafter.rs +37 -0
  234. data/ext/cargo-vendor/libm-0.2.8/src/math/nextafterf.rs +37 -0
  235. data/ext/cargo-vendor/libm-0.2.8/src/math/pow.rs +637 -0
  236. data/ext/cargo-vendor/libm-0.2.8/src/math/powf.rs +342 -0
  237. data/ext/cargo-vendor/libm-0.2.8/src/math/rem_pio2.rs +233 -0
  238. data/ext/cargo-vendor/libm-0.2.8/src/math/rem_pio2_large.rs +470 -0
  239. data/ext/cargo-vendor/libm-0.2.8/src/math/rem_pio2f.rs +67 -0
  240. data/ext/cargo-vendor/libm-0.2.8/src/math/remainder.rs +5 -0
  241. data/ext/cargo-vendor/libm-0.2.8/src/math/remainderf.rs +5 -0
  242. data/ext/cargo-vendor/libm-0.2.8/src/math/remquo.rs +110 -0
  243. data/ext/cargo-vendor/libm-0.2.8/src/math/remquof.rs +97 -0
  244. data/ext/cargo-vendor/libm-0.2.8/src/math/rint.rs +58 -0
  245. data/ext/cargo-vendor/libm-0.2.8/src/math/rintf.rs +58 -0
  246. data/ext/cargo-vendor/libm-0.2.8/src/math/round.rs +28 -0
  247. data/ext/cargo-vendor/libm-0.2.8/src/math/roundf.rs +30 -0
  248. data/ext/cargo-vendor/libm-0.2.8/src/math/scalbn.rs +33 -0
  249. data/ext/cargo-vendor/libm-0.2.8/src/math/scalbnf.rs +29 -0
  250. data/ext/cargo-vendor/libm-0.2.8/src/math/sin.rs +88 -0
  251. data/ext/cargo-vendor/libm-0.2.8/src/math/sincos.rs +134 -0
  252. data/ext/cargo-vendor/libm-0.2.8/src/math/sincosf.rs +185 -0
  253. data/ext/cargo-vendor/libm-0.2.8/src/math/sinf.rs +93 -0
  254. data/ext/cargo-vendor/libm-0.2.8/src/math/sinh.rs +49 -0
  255. data/ext/cargo-vendor/libm-0.2.8/src/math/sinhf.rs +30 -0
  256. data/ext/cargo-vendor/libm-0.2.8/src/math/sqrt.rs +280 -0
  257. data/ext/cargo-vendor/libm-0.2.8/src/math/sqrtf.rs +170 -0
  258. data/ext/cargo-vendor/libm-0.2.8/src/math/tan.rs +70 -0
  259. data/ext/cargo-vendor/libm-0.2.8/src/math/tanf.rs +78 -0
  260. data/ext/cargo-vendor/libm-0.2.8/src/math/tanh.rs +53 -0
  261. data/ext/cargo-vendor/libm-0.2.8/src/math/tanhf.rs +39 -0
  262. data/ext/cargo-vendor/libm-0.2.8/src/math/tgamma.rs +208 -0
  263. data/ext/cargo-vendor/libm-0.2.8/src/math/tgammaf.rs +6 -0
  264. data/ext/cargo-vendor/libm-0.2.8/src/math/trunc.rs +40 -0
  265. data/ext/cargo-vendor/libm-0.2.8/src/math/truncf.rs +42 -0
  266. data/ext/cargo-vendor/postcard-1.0.8/.cargo-checksum.json +1 -0
  267. data/ext/cargo-vendor/postcard-1.0.8/CHANGELOG.md +141 -0
  268. data/ext/cargo-vendor/postcard-1.0.8/Cargo.toml +100 -0
  269. data/ext/cargo-vendor/postcard-1.0.8/LICENSE-APACHE +201 -0
  270. data/ext/cargo-vendor/postcard-1.0.8/LICENSE-MIT +25 -0
  271. data/ext/cargo-vendor/postcard-1.0.8/README.md +146 -0
  272. data/ext/cargo-vendor/postcard-1.0.8/spec/LICENSE-CC-BY-SA +427 -0
  273. data/ext/cargo-vendor/postcard-1.0.8/spec/book.toml +6 -0
  274. data/ext/cargo-vendor/postcard-1.0.8/spec/src/SUMMARY.md +6 -0
  275. data/ext/cargo-vendor/postcard-1.0.8/spec/src/glossary.md +17 -0
  276. data/ext/cargo-vendor/postcard-1.0.8/spec/src/intro.md +12 -0
  277. data/ext/cargo-vendor/postcard-1.0.8/spec/src/serde-data-model.md +190 -0
  278. data/ext/cargo-vendor/postcard-1.0.8/spec/src/wire-format.md +327 -0
  279. data/ext/cargo-vendor/postcard-1.0.8/src/accumulator.rs +367 -0
  280. data/ext/cargo-vendor/postcard-1.0.8/src/de/deserializer.rs +599 -0
  281. data/ext/cargo-vendor/postcard-1.0.8/src/de/flavors.rs +468 -0
  282. data/ext/cargo-vendor/postcard-1.0.8/src/de/mod.rs +568 -0
  283. data/ext/cargo-vendor/postcard-1.0.8/src/error.rs +95 -0
  284. data/ext/cargo-vendor/postcard-1.0.8/src/fixint.rs +189 -0
  285. data/ext/cargo-vendor/postcard-1.0.8/src/lib.rs +143 -0
  286. data/ext/cargo-vendor/postcard-1.0.8/src/max_size.rs +233 -0
  287. data/ext/cargo-vendor/postcard-1.0.8/src/schema.rs +282 -0
  288. data/ext/cargo-vendor/postcard-1.0.8/src/ser/flavors.rs +722 -0
  289. data/ext/cargo-vendor/postcard-1.0.8/src/ser/mod.rs +866 -0
  290. data/ext/cargo-vendor/postcard-1.0.8/src/ser/serializer.rs +564 -0
  291. data/ext/cargo-vendor/postcard-1.0.8/src/varint.rs +103 -0
  292. data/ext/cargo-vendor/postcard-1.0.8/tests/accumulator.rs +57 -0
  293. data/ext/cargo-vendor/postcard-1.0.8/tests/crc.rs +60 -0
  294. data/ext/cargo-vendor/postcard-1.0.8/tests/loopback.rs +248 -0
  295. data/ext/cargo-vendor/postcard-1.0.8/tests/max_size.rs +101 -0
  296. data/ext/cargo-vendor/postcard-1.0.8/tests/schema.rs +107 -0
  297. data/ext/cargo-vendor/rb-sys-0.9.100/.cargo-checksum.json +1 -0
  298. data/ext/cargo-vendor/rb-sys-0.9.100/Cargo.toml +58 -0
  299. data/ext/cargo-vendor/rb-sys-0.9.100/build/main.rs +267 -0
  300. data/ext/cargo-vendor/rb-sys-0.9.100/build/stable_api_config.rs +139 -0
  301. data/ext/cargo-vendor/rb-sys-0.9.100/src/bindings.rs +21 -0
  302. data/ext/cargo-vendor/rb-sys-0.9.100/src/tracking_allocator.rs +266 -0
  303. data/ext/cargo-vendor/rb-sys-build-0.9.100/.cargo-checksum.json +1 -0
  304. data/ext/cargo-vendor/rb-sys-build-0.9.100/Cargo.toml +62 -0
  305. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/bindings/stable_api.rs +203 -0
  306. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/bindings.rs +254 -0
  307. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/cc.rs +374 -0
  308. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/utils.rs +52 -0
  309. data/ext/cargo-vendor/wasi-common-21.0.1/.cargo-checksum.json +1 -0
  310. data/ext/cargo-vendor/wasi-common-21.0.1/Cargo.toml +223 -0
  311. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/async_.rs +293 -0
  312. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/main.rs +21 -0
  313. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/sync.rs +279 -0
  314. data/ext/cargo-vendor/wasm-encoder-0.207.0/.cargo-checksum.json +1 -0
  315. data/ext/cargo-vendor/wasm-encoder-0.207.0/Cargo.toml +45 -0
  316. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/code.rs +3502 -0
  317. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/data.rs +186 -0
  318. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/elements.rs +221 -0
  319. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/globals.rs +112 -0
  320. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/imports.rs +157 -0
  321. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/memories.rs +128 -0
  322. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tables.rs +134 -0
  323. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/types.rs +678 -0
  324. data/ext/cargo-vendor/wasmparser-0.207.0/.cargo-checksum.json +1 -0
  325. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.lock +659 -0
  326. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.toml +95 -0
  327. data/ext/cargo-vendor/wasmparser-0.207.0/src/binary_reader.rs +1867 -0
  328. data/ext/cargo-vendor/wasmparser-0.207.0/src/lib.rs +805 -0
  329. data/ext/cargo-vendor/wasmparser-0.207.0/src/limits.rs +78 -0
  330. data/ext/cargo-vendor/wasmparser-0.207.0/src/map.rs +137 -0
  331. data/ext/cargo-vendor/wasmparser-0.207.0/src/parser.rs +1636 -0
  332. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/canonicals.rs +121 -0
  333. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/instances.rs +164 -0
  334. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/names.rs +102 -0
  335. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/start.rs +31 -0
  336. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/types.rs +551 -0
  337. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/code.rs +146 -0
  338. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/coredumps.rs +244 -0
  339. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/custom.rs +64 -0
  340. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/data.rs +96 -0
  341. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/dylink0.rs +110 -0
  342. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/elements.rs +152 -0
  343. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/globals.rs +51 -0
  344. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/linking.rs +450 -0
  345. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/memories.rs +57 -0
  346. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/names.rs +159 -0
  347. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/operators.rs +430 -0
  348. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/reloc.rs +301 -0
  349. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/tables.rs +93 -0
  350. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types/matches.rs +277 -0
  351. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types.rs +1773 -0
  352. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core.rs +43 -0
  353. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers.rs +316 -0
  354. data/ext/cargo-vendor/wasmparser-0.207.0/src/resources.rs +235 -0
  355. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/component.rs +3242 -0
  356. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core/canonical.rs +233 -0
  357. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core.rs +1450 -0
  358. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/func.rs +331 -0
  359. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/names.rs +947 -0
  360. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/operators.rs +4117 -0
  361. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/types.rs +4492 -0
  362. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator.rs +1786 -0
  363. data/ext/cargo-vendor/wasmprinter-0.207.0/.cargo-checksum.json +1 -0
  364. data/ext/cargo-vendor/wasmprinter-0.207.0/Cargo.toml +50 -0
  365. data/ext/cargo-vendor/wasmprinter-0.207.0/src/lib.rs +3226 -0
  366. data/ext/cargo-vendor/wasmprinter-0.207.0/src/operator.rs +1164 -0
  367. data/ext/cargo-vendor/wasmprinter-0.207.0/tests/all.rs +293 -0
  368. data/ext/cargo-vendor/wasmtime-21.0.1/.cargo-checksum.json +1 -0
  369. data/ext/cargo-vendor/wasmtime-21.0.1/Cargo.toml +386 -0
  370. data/ext/cargo-vendor/wasmtime-21.0.1/build.rs +37 -0
  371. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/code_builder.rs +275 -0
  372. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/runtime.rs +176 -0
  373. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile.rs +910 -0
  374. data/ext/cargo-vendor/wasmtime-21.0.1/src/config.rs +2904 -0
  375. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine/serialization.rs +887 -0
  376. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine.rs +728 -0
  377. data/ext/cargo-vendor/wasmtime-21.0.1/src/lib.rs +328 -0
  378. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/jitdump.rs +67 -0
  379. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/perfmap.rs +48 -0
  380. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/vtune.rs +81 -0
  381. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent.rs +106 -0
  382. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code.rs +102 -0
  383. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code_memory.rs +337 -0
  384. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/component.rs +661 -0
  385. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/host.rs +440 -0
  386. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/options.rs +555 -0
  387. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/typed.rs +2498 -0
  388. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func.rs +746 -0
  389. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/instance.rs +814 -0
  390. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/linker.rs +783 -0
  391. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/matching.rs +217 -0
  392. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/mod.rs +783 -0
  393. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resource_table.rs +355 -0
  394. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resources.rs +1133 -0
  395. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/storage.rs +43 -0
  396. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/store.rs +29 -0
  397. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/types.rs +892 -0
  398. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/values.rs +980 -0
  399. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/coredump.rs +342 -0
  400. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/debug.rs +166 -0
  401. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/global.rs +310 -0
  402. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/table.rs +477 -0
  403. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals.rs +236 -0
  404. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func/typed.rs +899 -0
  405. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func.rs +2627 -0
  406. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/disabled/anyref.rs +46 -0
  407. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/disabled/externref.rs +50 -0
  408. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/disabled/rooting.rs +224 -0
  409. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/anyref.rs +473 -0
  410. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/externref.rs +650 -0
  411. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/i31.rs +346 -0
  412. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/rooting.rs +1588 -0
  413. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc.rs +89 -0
  414. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instance.rs +992 -0
  415. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instantiate.rs +346 -0
  416. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/limits.rs +399 -0
  417. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/linker.rs +1506 -0
  418. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/memory.rs +998 -0
  419. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module/registry.rs +353 -0
  420. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module.rs +1295 -0
  421. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/profiling.rs +221 -0
  422. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/resources.rs +33 -0
  423. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/signatures.rs +216 -0
  424. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/stack.rs +73 -0
  425. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/context.rs +243 -0
  426. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/data.rs +301 -0
  427. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/func_refs.rs +90 -0
  428. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store.rs +2820 -0
  429. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/func.rs +139 -0
  430. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/global.rs +68 -0
  431. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/memory.rs +287 -0
  432. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/table.rs +29 -0
  433. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline.rs +78 -0
  434. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trap.rs +642 -0
  435. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/type_registry.rs +807 -0
  436. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types/matching.rs +421 -0
  437. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types.rs +2239 -0
  438. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/unix.rs +40 -0
  439. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/v128.rs +131 -0
  440. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/values.rs +966 -0
  441. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/arch/aarch64.rs +76 -0
  442. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/arch/x86_64.rs +41 -0
  443. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/async_yield.rs +35 -0
  444. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/libcalls.rs +571 -0
  445. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/resources.rs +352 -0
  446. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component.rs +860 -0
  447. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/const_expr.rs +102 -0
  448. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/cow.rs +893 -0
  449. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/debug_builtins.rs +59 -0
  450. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/export.rs +108 -0
  451. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/disabled.rs +24 -0
  452. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/drc.rs +968 -0
  453. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/externref.rs +116 -0
  454. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/free_list.rs +771 -0
  455. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled.rs +18 -0
  456. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_ref.rs +491 -0
  457. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_runtime.rs +506 -0
  458. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/host_data.rs +82 -0
  459. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/i31.rs +87 -0
  460. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc.rs +245 -0
  461. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/imports.rs +29 -0
  462. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/on_demand.rs +218 -0
  463. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +93 -0
  464. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +66 -0
  465. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +705 -0
  466. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +1000 -0
  467. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/table_pool.rs +233 -0
  468. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +245 -0
  469. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling.rs +656 -0
  470. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator.rs +798 -0
  471. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance.rs +1519 -0
  472. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/libcalls.rs +834 -0
  473. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/memory.rs +744 -0
  474. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mmap.rs +220 -0
  475. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mmap_vec.rs +162 -0
  476. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/module_id.rs +43 -0
  477. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/enabled.rs +214 -0
  478. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/mod.rs +54 -0
  479. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/pkru.rs +104 -0
  480. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/sys.rs +114 -0
  481. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/send_sync_ptr.rs +106 -0
  482. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/store_box.rs +37 -0
  483. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/capi.rs +200 -0
  484. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/mmap.rs +112 -0
  485. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/mod.rs +34 -0
  486. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/traphandlers.rs +55 -0
  487. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/vm.rs +109 -0
  488. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/mmap.rs +95 -0
  489. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/mod.rs +24 -0
  490. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/traphandlers.rs +47 -0
  491. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/mod.rs +25 -0
  492. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/machports.rs +416 -0
  493. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/mmap.rs +162 -0
  494. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/mod.rs +35 -0
  495. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/signals.rs +401 -0
  496. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/unwind.rs +150 -0
  497. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/vm.rs +215 -0
  498. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/mmap.rs +221 -0
  499. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/mod.rs +20 -0
  500. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/traphandlers.rs +104 -0
  501. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/table.rs +847 -0
  502. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/parking_spot.rs +623 -0
  503. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/shared_memory.rs +233 -0
  504. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/shared_memory_disabled.rs +101 -0
  505. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers/backtrace.rs +267 -0
  506. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers/coredump_disabled.rs +16 -0
  507. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers/coredump_enabled.rs +42 -0
  508. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers.rs +768 -0
  509. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext/vm_host_func_context.rs +138 -0
  510. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext.rs +1337 -0
  511. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm.rs +287 -0
  512. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/windows.rs +35 -0
  513. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime.rs +110 -0
  514. data/ext/cargo-vendor/wasmtime-21.0.1/src/sync_nostd.rs +255 -0
  515. data/ext/cargo-vendor/wasmtime-21.0.1/src/sync_std.rs +52 -0
  516. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/.cargo-checksum.json +1 -0
  517. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/Cargo.toml +22 -0
  518. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/src/lib.rs +83 -0
  519. data/ext/cargo-vendor/wasmtime-cache-21.0.1/.cargo-checksum.json +1 -0
  520. data/ext/cargo-vendor/wasmtime-cache-21.0.1/Cargo.toml +88 -0
  521. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/lib.rs +235 -0
  522. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/.cargo-checksum.json +1 -0
  523. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/Cargo.toml +79 -0
  524. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/bindgen.rs +436 -0
  525. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/component.rs +1295 -0
  526. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen.rs +576 -0
  527. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen_no_std.rs +16 -0
  528. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/.cargo-checksum.json +1 -0
  529. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/Cargo.toml +25 -0
  530. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/src/lib.rs +182 -0
  531. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/.cargo-checksum.json +1 -0
  532. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/Cargo.toml +114 -0
  533. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler/component.rs +968 -0
  534. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler.rs +1383 -0
  535. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/gc.rs +252 -0
  536. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/attr.rs +320 -0
  537. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/expression.rs +1248 -0
  538. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/line_program.rs +287 -0
  539. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/mod.rs +256 -0
  540. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/unit.rs +529 -0
  541. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/utils.rs +186 -0
  542. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/write_debuginfo.rs +196 -0
  543. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug.rs +18 -0
  544. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/func_environ.rs +2888 -0
  545. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc/enabled.rs +648 -0
  546. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc.rs +198 -0
  547. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/lib.rs +511 -0
  548. data/ext/cargo-vendor/wasmtime-environ-21.0.1/.cargo-checksum.json +1 -0
  549. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.lock +772 -0
  550. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.toml +154 -0
  551. data/ext/cargo-vendor/wasmtime-environ-21.0.1/examples/factc.rs +198 -0
  552. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/address_map.rs +73 -0
  553. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/mod.rs +419 -0
  554. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_artifacts.rs +315 -0
  555. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_environ.rs +1337 -0
  556. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_types.rs +362 -0
  557. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/trap_encoding.rs +70 -0
  558. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/compiler.rs +20 -0
  559. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/dfg.rs +691 -0
  560. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/info.rs +672 -0
  561. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/adapt.rs +455 -0
  562. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate.rs +978 -0
  563. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types.rs +1029 -0
  564. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder/resources.rs +233 -0
  565. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder.rs +997 -0
  566. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component.rs +107 -0
  567. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/demangling.rs +28 -0
  568. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/core_types.rs +25 -0
  569. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/signature.rs +119 -0
  570. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/trampoline.rs +3234 -0
  571. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/transcode.rs +90 -0
  572. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/traps.rs +116 -0
  573. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact.rs +714 -0
  574. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/lib.rs +161 -0
  575. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module.rs +697 -0
  576. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_artifacts.rs +146 -0
  577. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_types.rs +91 -0
  578. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/scopevec.rs +80 -0
  579. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/stack_map.rs +37 -0
  580. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/trap_encoding.rs +189 -0
  581. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/tunables.rs +168 -0
  582. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/vmoffsets.rs +1015 -0
  583. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/.cargo-checksum.json +1 -0
  584. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/Cargo.toml +64 -0
  585. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/build.rs +38 -0
  586. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/lib.rs +328 -0
  587. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/unix.rs +490 -0
  588. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/windows.rs +166 -0
  589. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/.cargo-checksum.json +1 -0
  590. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/Cargo.toml +67 -0
  591. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/.cargo-checksum.json +1 -0
  592. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/Cargo.toml +51 -0
  593. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/lib.rs +109 -0
  594. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/libc.rs +163 -0
  595. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/miri.rs +10 -0
  596. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/win.rs +49 -0
  597. data/ext/cargo-vendor/wasmtime-slab-21.0.1/.cargo-checksum.json +1 -0
  598. data/ext/cargo-vendor/wasmtime-slab-21.0.1/Cargo.toml +21 -0
  599. data/ext/cargo-vendor/wasmtime-slab-21.0.1/src/lib.rs +498 -0
  600. data/ext/cargo-vendor/wasmtime-types-21.0.1/.cargo-checksum.json +1 -0
  601. data/ext/cargo-vendor/wasmtime-types-21.0.1/Cargo.toml +55 -0
  602. data/ext/cargo-vendor/wasmtime-types-21.0.1/src/error.rs +81 -0
  603. data/ext/cargo-vendor/wasmtime-types-21.0.1/src/lib.rs +1572 -0
  604. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/.cargo-checksum.json +1 -0
  605. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/Cargo.toml +32 -0
  606. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/.cargo-checksum.json +1 -0
  607. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/Cargo.toml +200 -0
  608. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/bindings.rs +280 -0
  609. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ctx.rs +667 -0
  610. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/filesystem.rs +446 -0
  611. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/lib.rs +426 -0
  612. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview0.rs +877 -0
  613. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview1.rs +2660 -0
  614. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/api.rs +198 -0
  615. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/async_.rs +397 -0
  616. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/main.rs +91 -0
  617. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/preview1.rs +251 -0
  618. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/sync.rs +331 -0
  619. data/ext/cargo-vendor/wasmtime-winch-21.0.1/.cargo-checksum.json +1 -0
  620. data/ext/cargo-vendor/wasmtime-winch-21.0.1/Cargo.toml +81 -0
  621. data/ext/cargo-vendor/wasmtime-winch-21.0.1/src/compiler.rs +261 -0
  622. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/.cargo-checksum.json +1 -0
  623. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/Cargo.toml +46 -0
  624. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/lib.rs +2541 -0
  625. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/rust.rs +421 -0
  626. data/ext/cargo-vendor/wiggle-21.0.1/.cargo-checksum.json +1 -0
  627. data/ext/cargo-vendor/wiggle-21.0.1/Cargo.toml +123 -0
  628. data/ext/cargo-vendor/wiggle-generate-21.0.1/.cargo-checksum.json +1 -0
  629. data/ext/cargo-vendor/wiggle-generate-21.0.1/Cargo.toml +66 -0
  630. data/ext/cargo-vendor/wiggle-macro-21.0.1/.cargo-checksum.json +1 -0
  631. data/ext/cargo-vendor/wiggle-macro-21.0.1/Cargo.toml +55 -0
  632. data/ext/cargo-vendor/winch-codegen-0.19.1/.cargo-checksum.json +1 -0
  633. data/ext/cargo-vendor/winch-codegen-0.19.1/Cargo.toml +76 -0
  634. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/context.rs +534 -0
  635. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/env.rs +440 -0
  636. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/mod.rs +882 -0
  637. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/abi.rs +291 -0
  638. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/address.rs +143 -0
  639. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/asm.rs +380 -0
  640. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/masm.rs +566 -0
  641. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/mod.rs +158 -0
  642. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/regs.rs +161 -0
  643. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/reg.rs +73 -0
  644. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/asm.rs +1423 -0
  645. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/masm.rs +1120 -0
  646. data/ext/cargo-vendor/winch-codegen-0.19.1/src/masm.rs +941 -0
  647. data/ext/cargo-vendor/winch-codegen-0.19.1/src/regalloc.rs +65 -0
  648. data/ext/cargo-vendor/winch-codegen-0.19.1/src/regset.rs +194 -0
  649. data/ext/cargo-vendor/winch-codegen-0.19.1/src/visitor.rs +2144 -0
  650. data/ext/cargo-vendor/wit-parser-0.207.0/.cargo-checksum.json +1 -0
  651. data/ext/cargo-vendor/wit-parser-0.207.0/Cargo.toml +109 -0
  652. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/resolve.rs +1442 -0
  653. data/ext/cargo-vendor/wit-parser-0.207.0/src/decoding.rs +1764 -0
  654. data/ext/cargo-vendor/wit-parser-0.207.0/src/lib.rs +777 -0
  655. data/ext/cargo-vendor/wit-parser-0.207.0/src/live.rs +126 -0
  656. data/ext/cargo-vendor/wit-parser-0.207.0/src/resolve.rs +2337 -0
  657. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +5 -0
  658. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-return-borrow.wit.result +5 -0
  659. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit +7 -0
  660. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit.result +5 -0
  661. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit +8 -0
  662. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit.result +5 -0
  663. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow3.wit +7 -0
  664. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow3.wit.result +5 -0
  665. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow4.wit +7 -0
  666. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow4.wit.result +5 -0
  667. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow5.wit +7 -0
  668. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow5.wit.result +5 -0
  669. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit +7 -0
  670. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit.result +5 -0
  671. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit +11 -0
  672. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit.result +5 -0
  673. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8/deps/baz.wit +9 -0
  674. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8/foo.wit +7 -0
  675. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8.wit.result +8 -0
  676. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit +24 -0
  677. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit.json +231 -0
  678. data/ext/src/lib.rs +1 -0
  679. data/ext/src/ruby_api/config.rs +1 -12
  680. data/ext/src/ruby_api/engine.rs +3 -6
  681. data/ext/src/ruby_api/store.rs +68 -5
  682. data/lib/wasmtime/version.rb +1 -1
  683. metadata +1601 -1408
  684. data/ext/cargo-vendor/bincode-1.3.3/.cargo-checksum.json +0 -1
  685. data/ext/cargo-vendor/bincode-1.3.3/Cargo.toml +0 -37
  686. data/ext/cargo-vendor/bincode-1.3.3/LICENSE.md +0 -21
  687. data/ext/cargo-vendor/bincode-1.3.3/readme.md +0 -112
  688. data/ext/cargo-vendor/bincode-1.3.3/src/byteorder.rs +0 -385
  689. data/ext/cargo-vendor/bincode-1.3.3/src/config/endian.rs +0 -27
  690. data/ext/cargo-vendor/bincode-1.3.3/src/config/int.rs +0 -682
  691. data/ext/cargo-vendor/bincode-1.3.3/src/config/legacy.rs +0 -253
  692. data/ext/cargo-vendor/bincode-1.3.3/src/config/limit.rs +0 -49
  693. data/ext/cargo-vendor/bincode-1.3.3/src/config/mod.rs +0 -408
  694. data/ext/cargo-vendor/bincode-1.3.3/src/config/trailing.rs +0 -37
  695. data/ext/cargo-vendor/bincode-1.3.3/src/de/mod.rs +0 -515
  696. data/ext/cargo-vendor/bincode-1.3.3/src/de/read.rs +0 -202
  697. data/ext/cargo-vendor/bincode-1.3.3/src/error.rs +0 -115
  698. data/ext/cargo-vendor/bincode-1.3.3/src/internal.rs +0 -124
  699. data/ext/cargo-vendor/bincode-1.3.3/src/lib.rs +0 -201
  700. data/ext/cargo-vendor/bincode-1.3.3/src/ser/mod.rs +0 -772
  701. data/ext/cargo-vendor/bincode-1.3.3/tests/test.rs +0 -899
  702. data/ext/cargo-vendor/cranelift-bforest-0.107.2/.cargo-checksum.json +0 -1
  703. data/ext/cargo-vendor/cranelift-bforest-0.107.2/Cargo.toml +0 -40
  704. data/ext/cargo-vendor/cranelift-codegen-0.107.2/.cargo-checksum.json +0 -1
  705. data/ext/cargo-vendor/cranelift-codegen-0.107.2/Cargo.toml +0 -178
  706. data/ext/cargo-vendor/cranelift-codegen-0.107.2/build.rs +0 -396
  707. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/alias_analysis.rs +0 -403
  708. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/context.rs +0 -386
  709. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ctxhash.rs +0 -167
  710. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/egraph/elaborate.rs +0 -835
  711. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/egraph.rs +0 -838
  712. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/fx.rs +0 -105
  713. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/incremental_cache.rs +0 -256
  714. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/instructions.rs +0 -1019
  715. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/abi.rs +0 -1707
  716. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/args.rs +0 -779
  717. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/emit.rs +0 -3932
  718. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/emit_tests.rs +0 -7919
  719. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/imms.rs +0 -1218
  720. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/mod.rs +0 -3083
  721. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/regs.rs +0 -292
  722. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst.isle +0 -4218
  723. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/lower/isle.rs +0 -884
  724. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/pcc.rs +0 -565
  725. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/mod.rs +0 -432
  726. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/abi.rs +0 -1109
  727. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/args.rs +0 -1968
  728. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/emit.rs +0 -3466
  729. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/emit_tests.rs +0 -2146
  730. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/mod.rs +0 -2041
  731. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/regs.rs +0 -175
  732. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/vector.rs +0 -1162
  733. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst.isle +0 -2944
  734. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/lower/isle.rs +0 -625
  735. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/lower.isle +0 -2872
  736. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/abi.rs +0 -1047
  737. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/args.rs +0 -347
  738. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/emit.rs +0 -3646
  739. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/imms.rs +0 -202
  740. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/mod.rs +0 -3423
  741. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/regs.rs +0 -187
  742. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/abi.rs +0 -1369
  743. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/args.rs +0 -2289
  744. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/emit.rs +0 -4383
  745. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/emit_tests.rs +0 -5131
  746. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/mod.rs +0 -2798
  747. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/regs.rs +0 -276
  748. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst.isle +0 -5304
  749. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/lower/isle.rs +0 -1066
  750. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/lower.isle +0 -4809
  751. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/lower.rs +0 -339
  752. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/pcc.rs +0 -1003
  753. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/lib.rs +0 -106
  754. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/abi.rs +0 -2594
  755. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/blockorder.rs +0 -465
  756. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/isle.rs +0 -914
  757. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/lower.rs +0 -1452
  758. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/mod.rs +0 -555
  759. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/reg.rs +0 -562
  760. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/valueregs.rs +0 -132
  761. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/vcode.rs +0 -1807
  762. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/nan_canonicalization.rs +0 -110
  763. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/arithmetic.isle +0 -179
  764. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/icmp.isle +0 -197
  765. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/remove_constant_phis.rs +0 -420
  766. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/scoped_hash_map.rs +0 -310
  767. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/settings.rs +0 -591
  768. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/.cargo-checksum.json +0 -1
  769. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/Cargo.toml +0 -35
  770. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/gen_inst.rs +0 -1784
  771. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/gen_settings.rs +0 -508
  772. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/gen_types.rs +0 -75
  773. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/isa/riscv64.rs +0 -160
  774. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/isa/x86.rs +0 -402
  775. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/lib.rs +0 -59
  776. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/shared/settings.rs +0 -355
  777. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/srcgen.rs +0 -470
  778. data/ext/cargo-vendor/cranelift-codegen-shared-0.107.2/.cargo-checksum.json +0 -1
  779. data/ext/cargo-vendor/cranelift-codegen-shared-0.107.2/Cargo.toml +0 -22
  780. data/ext/cargo-vendor/cranelift-control-0.107.2/.cargo-checksum.json +0 -1
  781. data/ext/cargo-vendor/cranelift-control-0.107.2/Cargo.toml +0 -30
  782. data/ext/cargo-vendor/cranelift-entity-0.107.2/.cargo-checksum.json +0 -1
  783. data/ext/cargo-vendor/cranelift-entity-0.107.2/Cargo.toml +0 -50
  784. data/ext/cargo-vendor/cranelift-entity-0.107.2/src/lib.rs +0 -317
  785. data/ext/cargo-vendor/cranelift-frontend-0.107.2/.cargo-checksum.json +0 -1
  786. data/ext/cargo-vendor/cranelift-frontend-0.107.2/Cargo.toml +0 -69
  787. data/ext/cargo-vendor/cranelift-frontend-0.107.2/src/switch.rs +0 -654
  788. data/ext/cargo-vendor/cranelift-isle-0.107.2/.cargo-checksum.json +0 -1
  789. data/ext/cargo-vendor/cranelift-isle-0.107.2/Cargo.toml +0 -46
  790. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/codegen.rs +0 -886
  791. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/lib.rs +0 -271
  792. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/sema.rs +0 -2492
  793. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/serialize.rs +0 -846
  794. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/trie_again.rs +0 -683
  795. data/ext/cargo-vendor/cranelift-native-0.107.2/.cargo-checksum.json +0 -1
  796. data/ext/cargo-vendor/cranelift-native-0.107.2/Cargo.toml +0 -45
  797. data/ext/cargo-vendor/cranelift-wasm-0.107.2/.cargo-checksum.json +0 -1
  798. data/ext/cargo-vendor/cranelift-wasm-0.107.2/Cargo.toml +0 -107
  799. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/code_translator.rs +0 -3683
  800. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/environ/dummy.rs +0 -912
  801. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/environ/spec.rs +0 -945
  802. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/sections_translator.rs +0 -409
  803. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.21/.cargo-checksum.json +0 -1
  804. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.21/Cargo.toml +0 -48
  805. data/ext/cargo-vendor/rb-sys-0.9.97/.cargo-checksum.json +0 -1
  806. data/ext/cargo-vendor/rb-sys-0.9.97/Cargo.toml +0 -54
  807. data/ext/cargo-vendor/rb-sys-0.9.97/build/main.rs +0 -238
  808. data/ext/cargo-vendor/rb-sys-0.9.97/build/stable_api_config.rs +0 -133
  809. data/ext/cargo-vendor/rb-sys-0.9.97/src/bindings.rs +0 -20
  810. data/ext/cargo-vendor/rb-sys-0.9.97/src/tracking_allocator.rs +0 -265
  811. data/ext/cargo-vendor/rb-sys-build-0.9.97/.cargo-checksum.json +0 -1
  812. data/ext/cargo-vendor/rb-sys-build-0.9.97/Cargo.toml +0 -62
  813. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/bindings/stable_api.rs +0 -202
  814. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/bindings.rs +0 -250
  815. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/cc.rs +0 -365
  816. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/utils.rs +0 -52
  817. data/ext/cargo-vendor/wasi-common-20.0.2/.cargo-checksum.json +0 -1
  818. data/ext/cargo-vendor/wasi-common-20.0.2/Cargo.toml +0 -220
  819. data/ext/cargo-vendor/wasi-common-20.0.2/tests/all/async_.rs +0 -293
  820. data/ext/cargo-vendor/wasi-common-20.0.2/tests/all/main.rs +0 -21
  821. data/ext/cargo-vendor/wasi-common-20.0.2/tests/all/sync.rs +0 -279
  822. data/ext/cargo-vendor/wasm-encoder-0.202.0/.cargo-checksum.json +0 -1
  823. data/ext/cargo-vendor/wasm-encoder-0.202.0/Cargo.toml +0 -43
  824. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/code.rs +0 -3444
  825. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/data.rs +0 -185
  826. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/elements.rs +0 -220
  827. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/globals.rs +0 -101
  828. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/imports.rs +0 -156
  829. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/memories.rs +0 -111
  830. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/tables.rs +0 -116
  831. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/types.rs +0 -673
  832. data/ext/cargo-vendor/wasmparser-0.202.0/.cargo-checksum.json +0 -1
  833. data/ext/cargo-vendor/wasmparser-0.202.0/Cargo.lock +0 -744
  834. data/ext/cargo-vendor/wasmparser-0.202.0/Cargo.toml +0 -66
  835. data/ext/cargo-vendor/wasmparser-0.202.0/src/binary_reader.rs +0 -1849
  836. data/ext/cargo-vendor/wasmparser-0.202.0/src/lib.rs +0 -766
  837. data/ext/cargo-vendor/wasmparser-0.202.0/src/limits.rs +0 -64
  838. data/ext/cargo-vendor/wasmparser-0.202.0/src/parser.rs +0 -1611
  839. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/canonicals.rs +0 -120
  840. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/instances.rs +0 -163
  841. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/names.rs +0 -102
  842. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/start.rs +0 -30
  843. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/types.rs +0 -549
  844. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/code.rs +0 -146
  845. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/coredumps.rs +0 -243
  846. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/custom.rs +0 -63
  847. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/data.rs +0 -96
  848. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/dylink0.rs +0 -109
  849. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/elements.rs +0 -152
  850. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/globals.rs +0 -49
  851. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/linking.rs +0 -449
  852. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/memories.rs +0 -56
  853. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/names.rs +0 -156
  854. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/operators.rs +0 -411
  855. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/tables.rs +0 -87
  856. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/types/matches.rs +0 -277
  857. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/types.rs +0 -1680
  858. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core.rs +0 -41
  859. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers.rs +0 -316
  860. data/ext/cargo-vendor/wasmparser-0.202.0/src/resources.rs +0 -235
  861. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/component.rs +0 -3238
  862. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/core/canonical.rs +0 -233
  863. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/core.rs +0 -1400
  864. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/func.rs +0 -338
  865. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/names.rs +0 -929
  866. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/operators.rs +0 -4076
  867. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/types.rs +0 -4449
  868. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator.rs +0 -1619
  869. data/ext/cargo-vendor/wasmprinter-0.202.0/.cargo-checksum.json +0 -1
  870. data/ext/cargo-vendor/wasmprinter-0.202.0/Cargo.toml +0 -45
  871. data/ext/cargo-vendor/wasmprinter-0.202.0/src/lib.rs +0 -3202
  872. data/ext/cargo-vendor/wasmprinter-0.202.0/src/operator.rs +0 -1131
  873. data/ext/cargo-vendor/wasmprinter-0.202.0/tests/all.rs +0 -279
  874. data/ext/cargo-vendor/wasmtime-20.0.2/.cargo-checksum.json +0 -1
  875. data/ext/cargo-vendor/wasmtime-20.0.2/Cargo.toml +0 -268
  876. data/ext/cargo-vendor/wasmtime-20.0.2/src/compile/code_builder.rs +0 -201
  877. data/ext/cargo-vendor/wasmtime-20.0.2/src/compile/runtime.rs +0 -175
  878. data/ext/cargo-vendor/wasmtime-20.0.2/src/compile.rs +0 -897
  879. data/ext/cargo-vendor/wasmtime-20.0.2/src/config.rs +0 -2695
  880. data/ext/cargo-vendor/wasmtime-20.0.2/src/engine/serialization.rs +0 -849
  881. data/ext/cargo-vendor/wasmtime-20.0.2/src/engine.rs +0 -741
  882. data/ext/cargo-vendor/wasmtime-20.0.2/src/lib.rs +0 -303
  883. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent/jitdump.rs +0 -66
  884. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent/perfmap.rs +0 -47
  885. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent/vtune.rs +0 -80
  886. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent.rs +0 -105
  887. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/code.rs +0 -102
  888. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/code_memory.rs +0 -335
  889. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/component.rs +0 -661
  890. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func/host.rs +0 -439
  891. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func/options.rs +0 -554
  892. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func/typed.rs +0 -2484
  893. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func.rs +0 -747
  894. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/instance.rs +0 -804
  895. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/linker.rs +0 -786
  896. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/matching.rs +0 -217
  897. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/mod.rs +0 -756
  898. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/resource_table.rs +0 -350
  899. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/resources.rs +0 -1133
  900. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/storage.rs +0 -43
  901. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/store.rs +0 -28
  902. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/types.rs +0 -892
  903. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/values.rs +0 -978
  904. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/coredump.rs +0 -336
  905. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/debug.rs +0 -165
  906. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/externals/global.rs +0 -300
  907. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/externals/table.rs +0 -480
  908. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/externals.rs +0 -236
  909. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/func/typed.rs +0 -898
  910. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/func.rs +0 -2633
  911. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/disabled/anyref.rs +0 -46
  912. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/disabled/externref.rs +0 -50
  913. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/disabled/rooting.rs +0 -222
  914. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/anyref.rs +0 -472
  915. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/externref.rs +0 -644
  916. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/i31.rs +0 -345
  917. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/rooting.rs +0 -1543
  918. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc.rs +0 -87
  919. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/instance.rs +0 -992
  920. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/instantiate.rs +0 -345
  921. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/limits.rs +0 -398
  922. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/linker.rs +0 -1521
  923. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/memory.rs +0 -999
  924. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/module/registry.rs +0 -354
  925. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/module.rs +0 -1295
  926. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/profiling.rs +0 -224
  927. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/resources.rs +0 -33
  928. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/signatures.rs +0 -216
  929. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/stack.rs +0 -73
  930. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store/context.rs +0 -243
  931. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store/data.rs +0 -289
  932. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store/func_refs.rs +0 -85
  933. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store.rs +0 -2796
  934. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/func.rs +0 -138
  935. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/global.rs +0 -68
  936. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/memory.rs +0 -286
  937. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/table.rs +0 -34
  938. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline.rs +0 -77
  939. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trap.rs +0 -641
  940. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/type_registry.rs +0 -632
  941. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/types/matching.rs +0 -367
  942. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/types.rs +0 -1378
  943. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/unix.rs +0 -39
  944. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/v128.rs +0 -131
  945. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/values.rs +0 -945
  946. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/windows.rs +0 -34
  947. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime.rs +0 -112
  948. data/ext/cargo-vendor/wasmtime-asm-macros-20.0.2/.cargo-checksum.json +0 -1
  949. data/ext/cargo-vendor/wasmtime-asm-macros-20.0.2/Cargo.toml +0 -22
  950. data/ext/cargo-vendor/wasmtime-asm-macros-20.0.2/src/lib.rs +0 -81
  951. data/ext/cargo-vendor/wasmtime-cache-20.0.2/.cargo-checksum.json +0 -1
  952. data/ext/cargo-vendor/wasmtime-cache-20.0.2/Cargo.toml +0 -81
  953. data/ext/cargo-vendor/wasmtime-cache-20.0.2/src/lib.rs +0 -235
  954. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/.cargo-checksum.json +0 -1
  955. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/Cargo.toml +0 -67
  956. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/src/bindgen.rs +0 -390
  957. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/src/component.rs +0 -1295
  958. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/tests/codegen.rs +0 -342
  959. data/ext/cargo-vendor/wasmtime-component-util-20.0.2/.cargo-checksum.json +0 -1
  960. data/ext/cargo-vendor/wasmtime-component-util-20.0.2/Cargo.toml +0 -25
  961. data/ext/cargo-vendor/wasmtime-component-util-20.0.2/src/lib.rs +0 -180
  962. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/.cargo-checksum.json +0 -1
  963. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/Cargo.toml +0 -114
  964. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/compiler/component.rs +0 -962
  965. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/compiler.rs +0 -1369
  966. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/gc.rs +0 -239
  967. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/attr.rs +0 -345
  968. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/expression.rs +0 -1252
  969. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/line_program.rs +0 -282
  970. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/mod.rs +0 -126
  971. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/unit.rs +0 -522
  972. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/utils.rs +0 -187
  973. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/write_debuginfo.rs +0 -187
  974. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug.rs +0 -18
  975. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/func_environ.rs +0 -2672
  976. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/gc/enabled.rs +0 -649
  977. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/gc.rs +0 -198
  978. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/lib.rs +0 -505
  979. data/ext/cargo-vendor/wasmtime-environ-20.0.2/.cargo-checksum.json +0 -1
  980. data/ext/cargo-vendor/wasmtime-environ-20.0.2/Cargo.lock +0 -782
  981. data/ext/cargo-vendor/wasmtime-environ-20.0.2/Cargo.toml +0 -144
  982. data/ext/cargo-vendor/wasmtime-environ-20.0.2/examples/factc.rs +0 -205
  983. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/address_map.rs +0 -72
  984. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/mod.rs +0 -389
  985. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/module_artifacts.rs +0 -300
  986. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/trap_encoding.rs +0 -69
  987. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/compiler.rs +0 -19
  988. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/dfg.rs +0 -690
  989. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/info.rs +0 -672
  990. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/translate/adapt.rs +0 -459
  991. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/translate.rs +0 -965
  992. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/types/resources.rs +0 -234
  993. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/types.rs +0 -1972
  994. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component.rs +0 -103
  995. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/demangling.rs +0 -28
  996. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/core_types.rs +0 -24
  997. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/signature.rs +0 -135
  998. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/trampoline.rs +0 -3233
  999. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/transcode.rs +0 -89
  1000. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/traps.rs +0 -115
  1001. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact.rs +0 -711
  1002. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/lib.rs +0 -70
  1003. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module.rs +0 -780
  1004. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module_artifacts.rs +0 -145
  1005. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module_environ.rs +0 -1288
  1006. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module_types.rs +0 -122
  1007. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/scopevec.rs +0 -78
  1008. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/stack_map.rs +0 -36
  1009. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/trap_encoding.rs +0 -188
  1010. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/tunables.rs +0 -158
  1011. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/vmoffsets.rs +0 -952
  1012. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/.cargo-checksum.json +0 -1
  1013. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/Cargo.toml +0 -63
  1014. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/build.rs +0 -26
  1015. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/src/lib.rs +0 -328
  1016. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/src/unix.rs +0 -265
  1017. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/src/windows.rs +0 -166
  1018. data/ext/cargo-vendor/wasmtime-jit-debug-20.0.2/.cargo-checksum.json +0 -1
  1019. data/ext/cargo-vendor/wasmtime-jit-debug-20.0.2/Cargo.toml +0 -67
  1020. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/.cargo-checksum.json +0 -1
  1021. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/Cargo.toml +0 -47
  1022. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/lib.rs +0 -108
  1023. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/libc.rs +0 -149
  1024. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/miri.rs +0 -10
  1025. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/win.rs +0 -45
  1026. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/.cargo-checksum.json +0 -1
  1027. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/Cargo.toml +0 -147
  1028. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/build.rs +0 -24
  1029. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/arch/aarch64.rs +0 -76
  1030. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/arch/x86_64.rs +0 -41
  1031. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/async_yield.rs +0 -35
  1032. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/component/libcalls.rs +0 -571
  1033. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/component/resources.rs +0 -351
  1034. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/component.rs +0 -860
  1035. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/cow.rs +0 -888
  1036. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/debug_builtins.rs +0 -59
  1037. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/export.rs +0 -108
  1038. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/disabled.rs +0 -23
  1039. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled/drc.rs +0 -963
  1040. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled/externref.rs +0 -115
  1041. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled/free_list.rs +0 -767
  1042. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled.rs +0 -18
  1043. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/gc_ref.rs +0 -486
  1044. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/gc_runtime.rs +0 -503
  1045. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/host_data.rs +0 -81
  1046. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/i31.rs +0 -86
  1047. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc.rs +0 -244
  1048. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/imports.rs +0 -27
  1049. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/on_demand.rs +0 -217
  1050. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/gc_heap_pool.rs +0 -92
  1051. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/index_allocator.rs +0 -704
  1052. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/memory_pool.rs +0 -996
  1053. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/stack_pool.rs +0 -242
  1054. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/table_pool.rs +0 -231
  1055. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling.rs +0 -699
  1056. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator.rs +0 -780
  1057. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance.rs +0 -1566
  1058. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/lib.rs +0 -289
  1059. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/libcalls.rs +0 -777
  1060. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/memory.rs +0 -751
  1061. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mmap.rs +0 -214
  1062. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mmap_vec.rs +0 -201
  1063. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/module_id.rs +0 -43
  1064. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/enabled.rs +0 -213
  1065. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/mod.rs +0 -54
  1066. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/pkru.rs +0 -104
  1067. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/sys.rs +0 -113
  1068. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/send_sync_ptr.rs +0 -106
  1069. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/store_box.rs +0 -35
  1070. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/capi.rs +0 -189
  1071. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/mmap.rs +0 -111
  1072. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/mod.rs +0 -24
  1073. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/traphandlers.rs +0 -55
  1074. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/vm.rs +0 -108
  1075. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/mmap.rs +0 -94
  1076. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/mod.rs +0 -10
  1077. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/traphandlers.rs +0 -47
  1078. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/mod.rs +0 -33
  1079. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/machports.rs +0 -416
  1080. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/mmap.rs +0 -151
  1081. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/mod.rs +0 -21
  1082. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/signals.rs +0 -401
  1083. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/unwind.rs +0 -149
  1084. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/vm.rs +0 -208
  1085. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/mmap.rs +0 -216
  1086. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/mod.rs +0 -6
  1087. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/traphandlers.rs +0 -104
  1088. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/table.rs +0 -851
  1089. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/threads/parking_spot.rs +0 -621
  1090. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/threads/shared_memory.rs +0 -230
  1091. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/threads/shared_memory_disabled.rs +0 -100
  1092. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers/backtrace.rs +0 -265
  1093. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers/coredump_disabled.rs +0 -16
  1094. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers/coredump_enabled.rs +0 -40
  1095. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers.rs +0 -785
  1096. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/vmcontext/vm_host_func_context.rs +0 -137
  1097. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/vmcontext.rs +0 -1293
  1098. data/ext/cargo-vendor/wasmtime-slab-20.0.2/.cargo-checksum.json +0 -1
  1099. data/ext/cargo-vendor/wasmtime-slab-20.0.2/Cargo.toml +0 -21
  1100. data/ext/cargo-vendor/wasmtime-slab-20.0.2/src/lib.rs +0 -493
  1101. data/ext/cargo-vendor/wasmtime-types-20.0.2/.cargo-checksum.json +0 -1
  1102. data/ext/cargo-vendor/wasmtime-types-20.0.2/Cargo.toml +0 -36
  1103. data/ext/cargo-vendor/wasmtime-types-20.0.2/src/error.rs +0 -59
  1104. data/ext/cargo-vendor/wasmtime-types-20.0.2/src/lib.rs +0 -832
  1105. data/ext/cargo-vendor/wasmtime-versioned-export-macros-20.0.2/.cargo-checksum.json +0 -1
  1106. data/ext/cargo-vendor/wasmtime-versioned-export-macros-20.0.2/Cargo.toml +0 -32
  1107. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/.cargo-checksum.json +0 -1
  1108. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/Cargo.toml +0 -194
  1109. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/bindings.rs +0 -283
  1110. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/ctx.rs +0 -659
  1111. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/filesystem.rs +0 -433
  1112. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/lib.rs +0 -404
  1113. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/preview0.rs +0 -879
  1114. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/preview1.rs +0 -2601
  1115. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/api.rs +0 -194
  1116. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/async_.rs +0 -397
  1117. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/main.rs +0 -91
  1118. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/preview1.rs +0 -251
  1119. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/sync.rs +0 -333
  1120. data/ext/cargo-vendor/wasmtime-winch-20.0.2/.cargo-checksum.json +0 -1
  1121. data/ext/cargo-vendor/wasmtime-winch-20.0.2/Cargo.toml +0 -81
  1122. data/ext/cargo-vendor/wasmtime-winch-20.0.2/src/compiler.rs +0 -257
  1123. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/.cargo-checksum.json +0 -1
  1124. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/Cargo.toml +0 -41
  1125. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/src/lib.rs +0 -2213
  1126. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/src/rust.rs +0 -421
  1127. data/ext/cargo-vendor/wiggle-20.0.2/.cargo-checksum.json +0 -1
  1128. data/ext/cargo-vendor/wiggle-20.0.2/Cargo.toml +0 -122
  1129. data/ext/cargo-vendor/wiggle-generate-20.0.2/.cargo-checksum.json +0 -1
  1130. data/ext/cargo-vendor/wiggle-generate-20.0.2/Cargo.toml +0 -65
  1131. data/ext/cargo-vendor/wiggle-generate-20.0.2/LICENSE +0 -220
  1132. data/ext/cargo-vendor/wiggle-macro-20.0.2/.cargo-checksum.json +0 -1
  1133. data/ext/cargo-vendor/wiggle-macro-20.0.2/Cargo.toml +0 -55
  1134. data/ext/cargo-vendor/wiggle-macro-20.0.2/LICENSE +0 -220
  1135. data/ext/cargo-vendor/winch-codegen-0.18.2/.cargo-checksum.json +0 -1
  1136. data/ext/cargo-vendor/winch-codegen-0.18.2/Cargo.toml +0 -81
  1137. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/context.rs +0 -534
  1138. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/env.rs +0 -435
  1139. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/mod.rs +0 -756
  1140. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/abi.rs +0 -291
  1141. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/address.rs +0 -144
  1142. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/asm.rs +0 -252
  1143. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/masm.rs +0 -573
  1144. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/mod.rs +0 -154
  1145. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/regs.rs +0 -149
  1146. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/reg.rs +0 -86
  1147. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/x64/asm.rs +0 -1423
  1148. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/x64/masm.rs +0 -1256
  1149. data/ext/cargo-vendor/winch-codegen-0.18.2/src/masm.rs +0 -947
  1150. data/ext/cargo-vendor/winch-codegen-0.18.2/src/regalloc.rs +0 -65
  1151. data/ext/cargo-vendor/winch-codegen-0.18.2/src/regset.rs +0 -194
  1152. data/ext/cargo-vendor/winch-codegen-0.18.2/src/visitor.rs +0 -2149
  1153. data/ext/cargo-vendor/wit-parser-0.202.0/.cargo-checksum.json +0 -1
  1154. data/ext/cargo-vendor/wit-parser-0.202.0/Cargo.toml +0 -101
  1155. data/ext/cargo-vendor/wit-parser-0.202.0/src/ast/resolve.rs +0 -1443
  1156. data/ext/cargo-vendor/wit-parser-0.202.0/src/decoding.rs +0 -1764
  1157. data/ext/cargo-vendor/wit-parser-0.202.0/src/lib.rs +0 -765
  1158. data/ext/cargo-vendor/wit-parser-0.202.0/src/live.rs +0 -111
  1159. data/ext/cargo-vendor/wit-parser-0.202.0/src/resolve.rs +0 -2240
  1160. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/resources-multiple-returns-borrow.wit.json +0 -74
  1161. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/resources-return-borrow.wit.json +0 -69
  1162. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-top-level-resources.wit +0 -24
  1163. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-top-level-resources.wit.json +0 -240
  1164. data/ext/src/ruby_api/config/tracked_memory_creator.rs +0 -82
  1165. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/LICENSE +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/README.md +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/src/lib.rs +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/src/map.rs +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/src/node.rs +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/src/path.rs +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/src/pool.rs +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.108.1}/src/set.rs +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/LICENSE +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/README.md +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/benches/x64-evex-encoding.rs +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/binemit/mod.rs +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/binemit/stack_map.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/bitset.rs +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/cfg_printer.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/constant_hash.rs +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/cursor.rs +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/data_value.rs +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/dbg.rs +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/dce.rs +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/dominator_tree.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/egraph/cost.rs +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/flowgraph.rs +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/inst_predicates.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/atomic_rmw_op.rs +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/builder.rs +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/condcodes.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/constant.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/dfg.rs +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/dynamic_type.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/entities.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/extfunc.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/extname.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/function.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/globalvalue.rs +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/immediates.rs +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/jumptable.rs +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/known_symbol.rs +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/layout.rs +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/libcall.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/memflags.rs +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/memtype.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/mod.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/pcc.rs +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/progpoint.rs +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/sourceloc.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/stackslot.rs +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/trapcode.rs +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/ir/types.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/inst/unwind.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/inst_neon.isle +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/lower.isle +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/lower.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/mod.rs +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/aarch64/settings.rs +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/call_conv.rs +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/inst/encode.rs +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/inst/imms.rs +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/inst/unwind.rs +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/inst_vector.isle +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/lower.rs +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/mod.rs +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/riscv64/settings.rs +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/inst/unwind.rs +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/inst.isle +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/lower/isle.rs +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/lower.isle +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/lower.rs +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/mod.rs +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/s390x/settings.rs +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/unwind/systemv.rs +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/unwind/winx64.rs +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/unwind.rs +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/encoding/evex.rs +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/encoding/mod.rs +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/encoding/rex.rs +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/encoding/vex.rs +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/inst/emit_state.rs +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/inst/unwind.rs +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/mod.rs +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isa/x64/settings.rs +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/isle_prelude.rs +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/iterators.rs +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/legalizer/globalvalue.rs +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/legalizer/mod.rs +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/loop_analysis.rs +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/machinst/buffer.rs +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/machinst/compile.rs +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/machinst/helpers.rs +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/machinst/inst_common.rs +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/machinst/pcc.rs +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/README.md +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/bitops.isle +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/cprop.isle +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/extends.isle +0 -0
  1271. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/generated_code.rs +0 -0
  1272. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/remat.isle +0 -0
  1273. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/selects.isle +0 -0
  1274. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/shifts.isle +0 -0
  1275. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/spaceship.isle +0 -0
  1276. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/spectre.isle +0 -0
  1277. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts/vector.isle +0 -0
  1278. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/opts.rs +0 -0
  1279. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/prelude.isle +0 -0
  1280. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/prelude_lower.isle +0 -0
  1281. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/prelude_opt.isle +0 -0
  1282. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/print_errors.rs +0 -0
  1283. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/result.rs +0 -0
  1284. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/souper_harvest.rs +0 -0
  1285. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/timing.rs +0 -0
  1286. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/unionfind.rs +0 -0
  1287. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/unreachable_code.rs +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/value_label.rs +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/verifier/mod.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.108.1}/src/write.rs +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/LICENSE +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/README.md +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/formats.rs +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/instructions.rs +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/isa.rs +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/mod.rs +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/operands.rs +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/settings.rs +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/types.rs +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/cdsl/typevar.rs +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/constant_hash.rs +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/error.rs +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/isa/arm64.rs +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/isa/mod.rs +0 -0
  1305. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/isa/s390x.rs +0 -0
  1306. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/shared/entities.rs +0 -0
  1307. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/shared/formats.rs +0 -0
  1308. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/shared/immediates.rs +0 -0
  1309. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/shared/instructions.rs +0 -0
  1310. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/shared/mod.rs +0 -0
  1311. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/shared/types.rs +0 -0
  1312. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.108.1}/src/unique_table.rs +0 -0
  1313. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.108.1}/LICENSE +0 -0
  1314. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.108.1}/README.md +0 -0
  1315. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.108.1}/src/constant_hash.rs +0 -0
  1316. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.108.1}/src/constants.rs +0 -0
  1317. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.108.1}/src/lib.rs +0 -0
  1318. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.108.1}/LICENSE +0 -0
  1319. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.108.1}/README.md +0 -0
  1320. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.108.1}/src/chaos.rs +0 -0
  1321. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.108.1}/src/lib.rs +0 -0
  1322. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.108.1}/src/zero_sized.rs +0 -0
  1323. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/LICENSE +0 -0
  1324. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/README.md +0 -0
  1325. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/boxed_slice.rs +0 -0
  1326. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/iter.rs +0 -0
  1327. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/keys.rs +0 -0
  1328. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/list.rs +0 -0
  1329. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/map.rs +0 -0
  1330. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/packed_option.rs +0 -0
  1331. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/primary.rs +0 -0
  1332. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/set.rs +0 -0
  1333. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/sparse.rs +0 -0
  1334. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.108.1}/src/unsigned.rs +0 -0
  1335. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.108.1}/LICENSE +0 -0
  1336. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.108.1}/README.md +0 -0
  1337. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.108.1}/src/frontend.rs +0 -0
  1338. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.108.1}/src/lib.rs +0 -0
  1339. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.108.1}/src/ssa.rs +0 -0
  1340. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.108.1}/src/variable.rs +0 -0
  1341. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/README.md +0 -0
  1342. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/build.rs +0 -0
  1343. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/bad_converters.isle +0 -0
  1344. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1345. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1346. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/error1.isle +0 -0
  1347. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/extra_parens.isle +0 -0
  1348. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/impure_expression.isle +0 -0
  1349. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/impure_rhs.isle +0 -0
  1350. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1351. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/fail/multi_prio.isle +0 -0
  1352. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/borrows.isle +0 -0
  1353. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/borrows_main.rs +0 -0
  1354. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/iflets.isle +0 -0
  1355. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/iflets_main.rs +0 -0
  1356. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/multi_constructor.isle +0 -0
  1357. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/multi_constructor_main.rs +0 -0
  1358. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/multi_extractor.isle +0 -0
  1359. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/multi_extractor_main.rs +0 -0
  1360. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/test.isle +0 -0
  1361. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/link/test_main.rs +0 -0
  1362. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/bound_var.isle +0 -0
  1363. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/construct_and_extract.isle +0 -0
  1364. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/conversions.isle +0 -0
  1365. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/conversions_extern.isle +0 -0
  1366. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/let.isle +0 -0
  1367. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/nodebug.isle +0 -0
  1368. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1369. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/test2.isle +0 -0
  1370. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/test3.isle +0 -0
  1371. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/test4.isle +0 -0
  1372. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/pass/tutorial.isle +0 -0
  1373. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/run/iconst.isle +0 -0
  1374. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/run/iconst_main.rs +0 -0
  1375. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/run/let_shadowing.isle +0 -0
  1376. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/isle_examples/run/let_shadowing_main.rs +0 -0
  1377. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/ast.rs +0 -0
  1378. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/compile.rs +0 -0
  1379. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/error.rs +0 -0
  1380. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/lexer.rs +0 -0
  1381. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/log.rs +0 -0
  1382. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/overlap.rs +0 -0
  1383. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/src/parser.rs +0 -0
  1384. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.108.1}/tests/run_tests.rs +0 -0
  1385. /data/ext/cargo-vendor/{cranelift-native-0.107.2 → cranelift-native-0.108.1}/LICENSE +0 -0
  1386. /data/ext/cargo-vendor/{cranelift-native-0.107.2 → cranelift-native-0.108.1}/README.md +0 -0
  1387. /data/ext/cargo-vendor/{cranelift-native-0.107.2 → cranelift-native-0.108.1}/src/lib.rs +0 -0
  1388. /data/ext/cargo-vendor/{cranelift-native-0.107.2 → cranelift-native-0.108.1}/src/riscv.rs +0 -0
  1389. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/LICENSE +0 -0
  1390. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/README.md +0 -0
  1391. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/code_translator/bounds_checks.rs +0 -0
  1392. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/environ/mod.rs +0 -0
  1393. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/func_translator.rs +0 -0
  1394. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/heap.rs +0 -0
  1395. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/lib.rs +0 -0
  1396. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/module_translator.rs +0 -0
  1397. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/state.rs +0 -0
  1398. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/table.rs +0 -0
  1399. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.108.1}/src/translation_utils.rs +0 -0
  1400. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/README.md +0 -0
  1401. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/src/clocks.rs +0 -0
  1402. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/src/lib.rs +0 -0
  1403. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/src/noop_scheduler.rs +0 -0
  1404. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/clocks.rs +0 -0
  1405. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/common/mod.rs +0 -0
  1406. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/random.rs +0 -0
  1407. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/scheduler.rs +0 -0
  1408. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/LICENSE-APACHE +0 -0
  1409. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/LICENSE-MIT +0 -0
  1410. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/bin/release.sh +0 -0
  1411. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/build/features.rs +0 -0
  1412. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/build/version.rs +0 -0
  1413. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/readme.md +0 -0
  1414. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/hidden.rs +0 -0
  1415. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/lib.rs +0 -0
  1416. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/macros.rs +0 -0
  1417. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/memory.rs +0 -0
  1418. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/ruby_abi_version.rs +0 -0
  1419. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/special_consts.rs +0 -0
  1420. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/compiled.c +0 -0
  1421. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/compiled.rs +0 -0
  1422. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_2_6.rs +0 -0
  1423. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_2_7.rs +0 -0
  1424. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_0.rs +0 -0
  1425. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_1.rs +0 -0
  1426. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_2.rs +0 -0
  1427. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_3.rs +0 -0
  1428. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api.rs +0 -0
  1429. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/symbol.rs +0 -0
  1430. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/utils.rs +0 -0
  1431. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/value_type.rs +0 -0
  1432. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/LICENSE-APACHE +0 -0
  1433. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/LICENSE-MIT +0 -0
  1434. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/bindings/sanitizer.rs +0 -0
  1435. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/bindings/wrapper.h +0 -0
  1436. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/lib.rs +0 -0
  1437. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config/flags.rs +0 -0
  1438. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config/library.rs +0 -0
  1439. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config/search_path.rs +0 -0
  1440. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config.rs +0 -0
  1441. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/LICENSE +0 -0
  1442. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/README.md +0 -0
  1443. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/clocks.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/ctx.rs +0 -0
  1445. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/dir.rs +0 -0
  1446. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/error.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/file.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/lib.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/pipe.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/random.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sched/subscription.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sched.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/snapshots/mod.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/snapshots/preview_0.rs +0 -0
  1455. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/snapshots/preview_1/error.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/snapshots/preview_1.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/string_array.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/clocks.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/dir.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/file.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/mod.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/net.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/sched/unix.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/sched/windows.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/sched.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/sync/stdio.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/table.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/dir.rs +0 -0
  1469. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/file.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/mod.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/net.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/sched/unix.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/sched/windows.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/sched.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/src/tokio/stdio.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/witx/preview0/typenames.witx +0 -0
  1477. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/witx/preview0/wasi_unstable.witx +0 -0
  1478. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/witx/preview1/typenames.witx +0 -0
  1479. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-21.0.1}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1480. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/LICENSE +0 -0
  1481. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/README.md +0 -0
  1482. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/aliases.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/builder.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/canonicals.rs +0 -0
  1485. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/components.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/exports.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/imports.rs +0 -0
  1488. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/instances.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/modules.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/names.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/start.rs +0 -0
  1492. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component/types.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/component.rs +0 -0
  1494. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/custom.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/dump.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/exports.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/functions.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/linking.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/names.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/producers.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/start.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core/tags.rs +0 -0
  1503. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/core.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/lib.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasm-encoder-0.207.0}/src/raw.rs +0 -0
  1506. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/README.md +0 -0
  1507. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/benches/benchmark.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/examples/simple.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/component/aliases.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/component/exports.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/component/imports.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/component.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/branch_hinting.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/exports.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/functions.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/imports.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/init.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/producers.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/src/readers/core/tags.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.207.0}/tests/big-module.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmprinter-0.207.0}/LICENSE +0 -0
  1522. /data/ext/cargo-vendor/{wasmprinter-0.202.0 → wasmprinter-0.207.0}/README.md +0 -0
  1523. /data/ext/cargo-vendor/{wasmprinter-0.202.0 → wasmtime-21.0.1}/LICENSE +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-21.0.1}/README.md +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/proptest-regressions → wasmtime-21.0.1/proptest-regressions/runtime/vm}/instance/allocator/pooling/memory_pool.txt +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-21.0.1}/src/runtime/gc/disabled/i31.rs +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-21.0.1}/src/runtime/gc/disabled.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-21.0.1}/src/runtime/gc/enabled.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-21.0.1}/src/runtime/uninhabited.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/arch/mod.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/arch/riscv64.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/arch/s390x.S +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/arch/s390x.rs +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/helpers.c +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/mpk/disabled.rs +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/sys/custom/unwind.rs +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/sys/miri/unwind.rs +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/sys/miri/vm.rs +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/sys/unix/macos_traphandlers.rs +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/sys/windows/unwind.rs +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/sys/windows/vm.rs +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-21.0.1/src/runtime/vm}/threads/mod.rs +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-cache-21.0.1}/LICENSE +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/build.rs +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/src/config/tests.rs +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/src/config.rs +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/src/tests.rs +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/src/worker/tests/system_time_stub.rs +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/src/worker/tests.rs +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/src/worker.rs +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-21.0.1}/tests/cache_write_default_config.rs +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/build.rs +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/src/lib.rs +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/char.wit +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/conventions.wit +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/dead-code.wit +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/direct-import.wit +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/empty.wit +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/flags.wit +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/floats.wit +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/function-new.wit +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/integers.wit +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/lists.wit +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/many-arguments.wit +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/multi-return.wit +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/multiversion/root.wit +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/records.wit +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/rename.wit +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/resources-export.wit +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/resources-import.wit +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/share-types.wit +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/simple-functions.wit +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/simple-lists.wit +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/simple-wasi.wit +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/small-anonymous.wit +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/smoke-default.wit +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/smoke-export.wit +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/smoke.wit +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/strings.wit +0 -0
  1582. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/unversioned-foo.wit +0 -0
  1583. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/use-paths.wit +0 -0
  1584. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/variants.wit +0 -0
  1585. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/wat.wit +0 -0
  1586. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-21.0.1}/tests/codegen/worlds-with-types.wit +0 -0
  1587. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cranelift-21.0.1}/LICENSE +0 -0
  1588. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/SECURITY.md +0 -0
  1589. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/builder.rs +0 -0
  1590. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/compiled_function.rs +0 -0
  1591. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/debug/transform/address_transform.rs +0 -0
  1592. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/debug/transform/range_info_builder.rs +0 -0
  1593. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/debug/transform/refs.rs +0 -0
  1594. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/debug/transform/simulate.rs +0 -0
  1595. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/gc/disabled.rs +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/isa_builder.rs +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-21.0.1}/src/obj.rs +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-environ-21.0.1}/LICENSE +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/address_map.rs +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/builtin.rs +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/component/artifacts.rs +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/component/translate/inline.rs +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/component/vmcomponent_offsets.rs +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/gc.rs +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/obj.rs +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-21.0.1}/src/ref_bits.rs +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-fiber-21.0.1}/LICENSE +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/unix/aarch64.rs +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/unix/arm.rs +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/unix/riscv64.rs +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/unix/s390x.S +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/unix/x86.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/unix/x86_64.rs +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-21.0.1}/src/windows.c +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-jit-debug-20.0.2 → wasmtime-jit-debug-21.0.1}/README.md +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-jit-debug-20.0.2 → wasmtime-jit-debug-21.0.1}/src/gdb_jit_int.rs +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-jit-debug-20.0.2 → wasmtime-jit-debug-21.0.1}/src/lib.rs +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-jit-debug-20.0.2 → wasmtime-jit-debug-21.0.1}/src/perf_jitdump.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-types-21.0.1}/LICENSE +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-20.0.2 → wasmtime-versioned-export-macros-21.0.1}/src/lib.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2 → wasmtime-wasi-21.0.1}/LICENSE +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/README.md +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/clocks/host.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/clocks.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/error.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/clocks.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/env.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/exit.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/filesystem/sync.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/filesystem.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/instance_network.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/io.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/mod.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/network.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/random.rs +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/tcp.rs +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/tcp_create_socket.rs +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/udp.rs +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/host/udp_create_socket.rs +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/ip_name_lookup.rs +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/network.rs +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/pipe.rs +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/poll.rs +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/random.rs +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/runtime.rs +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/stdio/worker_thread_stdin.rs +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/stdio.rs +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/stream.rs +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/tcp.rs +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/udp.rs +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/src/write_stream.rs +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/tests/process_stdin.rs +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/command-extended.wit +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/command.wit +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/environment.wit +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/exit.wit +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/imports.wit +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/run.wit +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/stdio.wit +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/cli/terminal.wit +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/clocks/wall-clock.wit +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/clocks/world.wit +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/filesystem/preopens.wit +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/filesystem/types.wit +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/filesystem/world.wit +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/http/handler.wit +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/http/proxy.wit +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/http/types.wit +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/io/error.wit +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/io/poll.wit +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/io/streams.wit +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/io/world.wit +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/random/insecure-seed.wit +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/random/insecure.wit +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/random/random.wit +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/random/world.wit +0 -0
  1678. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/instance-network.wit +0 -0
  1679. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1680. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/network.wit +0 -0
  1681. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1682. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/tcp.wit +0 -0
  1683. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1684. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/udp.wit +0 -0
  1685. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/deps/sockets/world.wit +0 -0
  1686. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/wit/test.wit +0 -0
  1687. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/witx/preview0/typenames.witx +0 -0
  1688. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/witx/preview0/wasi_unstable.witx +0 -0
  1689. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/witx/preview1/typenames.witx +0 -0
  1690. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-21.0.1}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1691. /data/ext/cargo-vendor/{wasmtime-winch-20.0.2 → wasmtime-winch-21.0.1}/LICENSE +0 -0
  1692. /data/ext/cargo-vendor/{wasmtime-winch-20.0.2 → wasmtime-winch-21.0.1}/src/builder.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasmtime-winch-20.0.2 → wasmtime-winch-21.0.1}/src/lib.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-20.0.2 → wasmtime-wit-bindgen-21.0.1}/src/source.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-20.0.2 → wasmtime-wit-bindgen-21.0.1}/src/types.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasmtime-types-20.0.2 → wiggle-21.0.1}/LICENSE +0 -0
  1697. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/README.md +0 -0
  1698. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/src/borrow.rs +0 -0
  1699. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/src/error.rs +0 -0
  1700. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/src/guest_type.rs +0 -0
  1701. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/src/lib.rs +0 -0
  1702. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/src/region.rs +0 -0
  1703. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-21.0.1}/src/wasmtime.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wiggle-generate-21.0.1}/LICENSE +0 -0
  1705. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/README.md +0 -0
  1706. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/codegen_settings.rs +0 -0
  1707. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/config.rs +0 -0
  1708. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/funcs.rs +0 -0
  1709. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/lib.rs +0 -0
  1710. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/lifetimes.rs +0 -0
  1711. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/module_trait.rs +0 -0
  1712. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/names.rs +0 -0
  1713. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/types/error.rs +0 -0
  1714. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/types/flags.rs +0 -0
  1715. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/types/handle.rs +0 -0
  1716. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/types/mod.rs +0 -0
  1717. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/types/record.rs +0 -0
  1718. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/types/variant.rs +0 -0
  1719. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-21.0.1}/src/wasmtime.rs +0 -0
  1720. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-macro-21.0.1}/LICENSE +0 -0
  1721. /data/ext/cargo-vendor/{wiggle-macro-20.0.2 → wiggle-macro-21.0.1}/src/lib.rs +0 -0
  1722. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/LICENSE +0 -0
  1723. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/build.rs +0 -0
  1724. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/abi/local.rs +0 -0
  1725. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/abi/mod.rs +0 -0
  1726. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/codegen/bounds.rs +0 -0
  1727. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/codegen/builtin.rs +0 -0
  1728. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/codegen/call.rs +0 -0
  1729. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/codegen/control.rs +0 -0
  1730. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/frame/mod.rs +0 -0
  1731. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/isa/mod.rs +0 -0
  1732. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/isa/x64/abi.rs +0 -0
  1733. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/isa/x64/address.rs +0 -0
  1734. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/isa/x64/mod.rs +0 -0
  1735. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/isa/x64/regs.rs +0 -0
  1736. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/lib.rs +0 -0
  1737. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.19.1}/src/stack.rs +0 -0
  1738. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/README.md +0 -0
  1739. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/abi.rs +0 -0
  1740. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/ast/lex.rs +0 -0
  1741. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/ast/toposort.rs +0 -0
  1742. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/ast.rs +0 -0
  1743. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/docs.rs +0 -0
  1744. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/serde_.rs +0 -0
  1745. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/src/sizealign.rs +0 -0
  1746. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/all.rs +0 -0
  1747. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/comments.wit +0 -0
  1748. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/comments.wit.json +0 -0
  1749. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  1750. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  1751. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/complex-include/root.wit +0 -0
  1752. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/complex-include.wit.json +0 -0
  1753. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  1754. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/cross-package-resource/foo.wit +0 -0
  1755. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/cross-package-resource.wit.json +0 -0
  1756. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  1757. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  1758. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/diamond1/join.wit +0 -0
  1759. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/diamond1.wit.json +0 -0
  1760. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  1761. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  1762. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
  1763. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/disambiguate-diamond.wit.json +0 -0
  1764. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/empty.wit +0 -0
  1765. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/empty.wit.json +0 -0
  1766. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  1767. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  1768. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  1769. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  1770. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  1771. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  1772. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  1773. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps/root.wit +0 -0
  1774. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  1775. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  1776. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  1777. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  1778. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  1779. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  1780. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  1781. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  1782. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union/root.wit +0 -0
  1783. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps-union.wit.json +0 -0
  1784. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/foreign-deps.wit.json +0 -0
  1785. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/functions.wit +0 -0
  1786. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/functions.wit.json +0 -0
  1787. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  1788. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  1789. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/ignore-files-deps/world.wit +0 -0
  1790. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/ignore-files-deps.wit.json +0 -0
  1791. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/import-export-overlap1.wit +0 -0
  1792. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/import-export-overlap1.wit.json +0 -0
  1793. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/import-export-overlap2.wit +0 -0
  1794. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/import-export-overlap2.wit.json +0 -0
  1795. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/include-reps.wit +0 -0
  1796. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/include-reps.wit.json +0 -0
  1797. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kebab-name-include-with.wit +0 -0
  1798. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
  1799. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kinds-of-deps/a.wit +0 -0
  1800. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  1801. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  1802. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  1803. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  1804. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/kinds-of-deps.wit.json +0 -0
  1805. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/many-names/a.wit +0 -0
  1806. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/many-names/b.wit +0 -0
  1807. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/many-names.wit.json +0 -0
  1808. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/multi-file/bar.wit +0 -0
  1809. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/multi-file/cycle-a.wit +0 -0
  1810. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/multi-file/cycle-b.wit +0 -0
  1811. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/multi-file/foo.wit +0 -0
  1812. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/multi-file.wit.json +0 -0
  1813. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  1814. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  1815. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  1816. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/package-syntax1.wit +0 -0
  1817. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/package-syntax1.wit.json +0 -0
  1818. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/package-syntax3.wit +0 -0
  1819. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/package-syntax3.wit.json +0 -0
  1820. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/package-syntax4.wit +0 -0
  1821. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/package-syntax4.wit.json +0 -0
  1822. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1823. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  1824. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/async.wit.result +0 -0
  1825. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  1826. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-function.wit +0 -0
  1827. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  1828. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
  1829. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  1830. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
  1831. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  1832. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
  1833. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  1834. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
  1835. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  1836. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  1837. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1838. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  1839. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  1840. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  1841. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  1842. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  1843. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  1844. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  1845. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  1846. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  1847. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  1848. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  1849. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  1850. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  1851. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  1852. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  1853. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  1854. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  1855. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  1856. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  1857. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  1858. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  1859. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  1860. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  1861. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  1862. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  1863. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  1864. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  1865. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  1866. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  1867. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  1868. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  1869. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  1870. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  1871. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  1872. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  1873. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  1874. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  1875. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  1876. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  1877. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  1878. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  1879. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  1880. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  1881. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  1882. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  1883. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  1884. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  1885. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  1886. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  1887. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  1888. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  1889. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  1890. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/conflicting-package.wit.result +0 -0
  1891. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle.wit +0 -0
  1892. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
  1893. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle2.wit +0 -0
  1894. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  1895. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle3.wit +0 -0
  1896. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  1897. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle4.wit +0 -0
  1898. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  1899. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle5.wit +0 -0
  1900. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  1901. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1902. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1903. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  1904. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  1905. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  1906. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  1907. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  1908. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  1909. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  1910. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  1911. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  1912. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  1913. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  1914. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  1916. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  1917. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/export-twice.wit +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-twice.wit +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  1934. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  1935. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  1936. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  1937. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
  1938. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  1939. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  1940. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  1941. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1942. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1943. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  1944. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  1945. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  1946. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  1947. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  1948. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  1949. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  1950. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  1951. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/keyword.wit +0 -0
  1952. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  1953. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/missing-package.wit +0 -0
  1954. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  1955. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  1956. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  1957. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -0
  1958. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  1959. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  1960. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  1961. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  1962. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  1963. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  1964. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  1965. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  1966. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  1967. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  1968. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  1969. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  1970. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  1971. /data/ext/cargo-vendor/{wit-parser-0.202.0/tests/ui → wit-parser-0.207.0/tests/ui/parse-fail}/resources-multiple-returns-borrow.wit +0 -0
  1972. /data/ext/cargo-vendor/{wit-parser-0.202.0/tests/ui → wit-parser-0.207.0/tests/ui/parse-fail}/resources-return-borrow.wit +0 -0
  1973. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  1974. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  1975. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  1976. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  1977. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  1978. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  1979. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  1980. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  1981. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  1982. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  1983. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  1984. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  1985. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  1986. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  1987. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  1988. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  1989. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  1990. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  1991. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  1992. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  1993. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  1994. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  1995. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  1996. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  1997. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  1998. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  1999. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2000. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2001. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2002. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2003. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2004. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2005. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2006. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  2007. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2008. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2009. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2010. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2011. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2012. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2013. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2014. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2015. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2016. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2017. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2018. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2019. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2020. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2021. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2022. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2023. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2024. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2025. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2026. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2027. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2028. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2029. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2030. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2031. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2032. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/random.wit +0 -0
  2033. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/random.wit.json +0 -0
  2034. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-empty.wit +0 -0
  2035. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-empty.wit.json +0 -0
  2036. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2037. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2038. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-multiple.wit +0 -0
  2039. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-multiple.wit.json +0 -0
  2040. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-return-own.wit +0 -0
  2041. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources-return-own.wit.json +0 -0
  2042. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources.wit +0 -0
  2043. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources.wit.json +0 -0
  2044. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources1.wit +0 -0
  2045. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/resources1.wit.json +0 -0
  2046. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/same-name-import-export.wit +0 -0
  2047. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/same-name-import-export.wit.json +0 -0
  2048. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/shared-types.wit +0 -0
  2049. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/shared-types.wit.json +0 -0
  2050. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/simple-wasm-text.wat +0 -0
  2051. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/simple-wasm-text.wit.json +0 -0
  2052. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/stress-export-elaborate.wit +0 -0
  2053. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/stress-export-elaborate.wit.json +0 -0
  2054. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/type-then-eof.wit +0 -0
  2055. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/type-then-eof.wit.json +0 -0
  2056. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/types.wit +0 -0
  2057. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/types.wit.json +0 -0
  2058. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/union-fuzz-1.wit +0 -0
  2059. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/union-fuzz-1.wit.json +0 -0
  2060. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/union-fuzz-2.wit +0 -0
  2061. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/union-fuzz-2.wit.json +0 -0
  2062. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/use-chain.wit +0 -0
  2063. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/use-chain.wit.json +0 -0
  2064. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/use.wit +0 -0
  2065. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/use.wit.json +0 -0
  2066. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2067. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2068. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/versions/foo.wit +0 -0
  2069. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/versions.wit.json +0 -0
  2070. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/wasi.wit +0 -0
  2071. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/wasi.wit.json +0 -0
  2072. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-diamond.wit +0 -0
  2073. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-diamond.wit.json +0 -0
  2074. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-iface-no-collide.wit +0 -0
  2075. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-iface-no-collide.wit.json +0 -0
  2076. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-implicit-import1.wit +0 -0
  2077. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-implicit-import1.wit.json +0 -0
  2078. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-implicit-import2.wit +0 -0
  2079. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-implicit-import2.wit.json +0 -0
  2080. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-implicit-import3.wit +0 -0
  2081. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-implicit-import3.wit.json +0 -0
  2082. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-same-fields4.wit +0 -0
  2083. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-same-fields4.wit.json +0 -0
  2084. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-top-level-funcs.wit +0 -0
  2085. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2086. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/worlds-union-dedup.wit +0 -0
  2087. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/worlds-union-dedup.wit.json +0 -0
  2088. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/worlds-with-types.wit +0 -0
  2089. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.207.0}/tests/ui/worlds-with-types.wit.json +0 -0
@@ -0,0 +1,2660 @@
1
+ //! Bindings for WASIp1 aka Preview 1 aka `wasi_snapshot_preview1`.
2
+ //!
3
+ //! This module contains runtime support for configuring and executing
4
+ //! WASIp1-using core WebAssembly modules. Support for WASIp1 is built on top of
5
+ //! support for WASIp2 available at [the crate root](crate), but that's just an
6
+ //! internal implementation detail.
7
+ //!
8
+ //! Unlike the crate root support for WASIp1 centers around two APIs:
9
+ //!
10
+ //! * [`WasiP1Ctx`]
11
+ //! * [`add_to_linker_sync`] (or [`add_to_linker_async`])
12
+ //!
13
+ //! First a [`WasiCtxBuilder`] will be used and finalized with the [`build_p1`]
14
+ //! method to create a [`WasiCtx`]. Next a [`wasmtime::Linker`] is configured
15
+ //! with WASI imports by using the `add_to_linker_*` desired (sync or async
16
+ //! depending on [`Config::async_support`]).
17
+ //!
18
+ //! Note that WASIp1 is not as extensible or configurable as WASIp2 so the
19
+ //! support in this module is enough to run wasm modules but any customization
20
+ //! beyond that [`WasiCtxBuilder`] already supports is not possible yet.
21
+ //!
22
+ //! [`WasiCtxBuilder`]: crate::WasiCtxBuilder
23
+ //! [`build_p1`]: crate::WasiCtxBuilder::build_p1
24
+ //! [`Config::async_support`]: wasmtime::Config::async_support
25
+ //!
26
+ //! # Components vs Modules
27
+ //!
28
+ //! Note that WASIp1 does not work for components at this time, only core wasm
29
+ //! modules. That means this module is only for users of [`wasmtime::Module`]
30
+ //! and [`wasmtime::Linker`], for example. If you're using
31
+ //! [`wasmtime::component::Component`] or [`wasmtime::component::Linker`] you'll
32
+ //! want the WASIp2 [support this crate has](crate) instead.
33
+ //!
34
+ //! # Examples
35
+ //!
36
+ //! ```no_run
37
+ //! use wasmtime::{Result, Engine, Linker, Module, Store};
38
+ //! use wasmtime_wasi::preview1::{self, WasiP1Ctx};
39
+ //! use wasmtime_wasi::WasiCtxBuilder;
40
+ //!
41
+ //! // An example of executing a WASIp1 "command"
42
+ //! fn main() -> Result<()> {
43
+ //! let args = std::env::args().skip(1).collect::<Vec<_>>();
44
+ //! let engine = Engine::default();
45
+ //! let module = Module::from_file(&engine, &args[0])?;
46
+ //!
47
+ //! let mut linker: Linker<WasiP1Ctx> = Linker::new(&engine);
48
+ //! preview1::add_to_linker_async(&mut linker, |t| t)?;
49
+ //! let pre = linker.instantiate_pre(&module)?;
50
+ //!
51
+ //! let wasi_ctx = WasiCtxBuilder::new()
52
+ //! .inherit_stdio()
53
+ //! .inherit_env()
54
+ //! .args(&args)
55
+ //! .build_p1();
56
+ //!
57
+ //! let mut store = Store::new(&engine, wasi_ctx);
58
+ //! let instance = pre.instantiate(&mut store)?;
59
+ //! let func = instance.get_typed_func::<(), ()>(&mut store, "_start")?;
60
+ //! func.call(&mut store, ())?;
61
+ //!
62
+ //! Ok(())
63
+ //! }
64
+ //! ```
65
+
66
+ use crate::bindings::{
67
+ cli::{
68
+ stderr, stdin, stdout, terminal_input, terminal_output, terminal_stderr, terminal_stdin,
69
+ terminal_stdout,
70
+ },
71
+ clocks::{monotonic_clock, wall_clock},
72
+ filesystem::{preopens, types as filesystem},
73
+ io::{poll, streams},
74
+ };
75
+ use crate::{FsError, IsATTY, ResourceTable, StreamError, StreamResult, WasiCtx, WasiView};
76
+ use anyhow::{bail, Context};
77
+ use std::borrow::Borrow;
78
+ use std::collections::{BTreeMap, HashSet};
79
+ use std::mem::{self, size_of, size_of_val};
80
+ use std::ops::{Deref, DerefMut};
81
+ use std::slice;
82
+ use std::sync::atomic::{AtomicU64, Ordering};
83
+ use std::sync::Arc;
84
+ use system_interface::fs::FileIoExt;
85
+ use wasmtime::component::Resource;
86
+ use wiggle::tracing::instrument;
87
+ use wiggle::{GuestError, GuestPtr, GuestStrCow, GuestType};
88
+
89
+ // Bring all WASI traits in scope that this implementation builds on.
90
+ use crate::bindings::cli::environment::Host as _;
91
+ use crate::bindings::filesystem::types::HostDescriptor as _;
92
+ use crate::bindings::io::poll::Host as _;
93
+ use crate::bindings::random::random::Host as _;
94
+
95
+ /// Structure containing state for WASIp1.
96
+ ///
97
+ /// This structure is created through [`WasiCtxBuilder::build_p1`] and is
98
+ /// configured through the various methods of [`WasiCtxBuilder`]. This structure
99
+ /// itself implements generated traits for WASIp1 as well as [`WasiView`] to
100
+ /// have access to WASIp2.
101
+ ///
102
+ /// Instances of [`WasiP1Ctx`] are typically stored within the `T` of
103
+ /// [`Store<T>`](wasmtime::Store).
104
+ ///
105
+ /// [`WasiCtxBuilder::build_p1`]: crate::WasiCtxBuilder::build_p1
106
+ /// [`WasiCtxBuilder`]: crate::WasiCtxBuilder
107
+ ///
108
+ /// # Examples
109
+ ///
110
+ /// ```no_run
111
+ /// use wasmtime::{Result, Linker};
112
+ /// use wasmtime_wasi::preview1::{self, WasiP1Ctx};
113
+ /// use wasmtime_wasi::WasiCtxBuilder;
114
+ ///
115
+ /// struct MyState {
116
+ /// // ... custom state as necessary ...
117
+ ///
118
+ /// wasi: WasiP1Ctx,
119
+ /// }
120
+ ///
121
+ /// impl MyState {
122
+ /// fn new() -> MyState {
123
+ /// MyState {
124
+ /// // .. initialize custom state if needed ..
125
+ ///
126
+ /// wasi: WasiCtxBuilder::new()
127
+ /// .arg("./foo.wasm")
128
+ /// // .. more customization if necesssary ..
129
+ /// .build_p1(),
130
+ /// }
131
+ /// }
132
+ /// }
133
+ ///
134
+ /// fn add_to_linker(linker: &mut Linker<MyState>) -> Result<()> {
135
+ /// preview1::add_to_linker_sync(linker, |my_state| &mut my_state.wasi)?;
136
+ /// Ok(())
137
+ /// }
138
+ /// ```
139
+ pub struct WasiP1Ctx {
140
+ table: ResourceTable,
141
+ wasi: WasiCtx,
142
+ adapter: WasiPreview1Adapter,
143
+ }
144
+
145
+ impl WasiP1Ctx {
146
+ pub(crate) fn new(wasi: WasiCtx) -> Self {
147
+ Self {
148
+ table: ResourceTable::new(),
149
+ wasi,
150
+ adapter: WasiPreview1Adapter::new(),
151
+ }
152
+ }
153
+ }
154
+
155
+ impl WasiView for WasiP1Ctx {
156
+ fn table(&mut self) -> &mut ResourceTable {
157
+ &mut self.table
158
+ }
159
+ fn ctx(&mut self) -> &mut WasiCtx {
160
+ &mut self.wasi
161
+ }
162
+ }
163
+
164
+ #[derive(Debug)]
165
+ struct File {
166
+ /// The handle to the preview2 descriptor of type [`crate::filesystem::Descriptor::File`].
167
+ fd: Resource<filesystem::Descriptor>,
168
+
169
+ /// The current-position pointer.
170
+ position: Arc<AtomicU64>,
171
+
172
+ /// In append mode, all writes append to the file.
173
+ append: bool,
174
+
175
+ /// When blocking, read and write calls dispatch to blocking_read and
176
+ /// blocking_check_write on the underlying streams. When false, read and write
177
+ /// dispatch to stream's plain read and check_write.
178
+ blocking_mode: BlockingMode,
179
+ }
180
+
181
+ #[derive(Clone, Copy, Debug)]
182
+ enum BlockingMode {
183
+ Blocking,
184
+ NonBlocking,
185
+ }
186
+ impl BlockingMode {
187
+ fn from_fdflags(flags: &types::Fdflags) -> Self {
188
+ if flags.contains(types::Fdflags::NONBLOCK) {
189
+ BlockingMode::NonBlocking
190
+ } else {
191
+ BlockingMode::Blocking
192
+ }
193
+ }
194
+ async fn read(
195
+ &self,
196
+ host: &mut impl streams::Host,
197
+ input_stream: Resource<streams::InputStream>,
198
+ max_size: usize,
199
+ ) -> Result<Vec<u8>, types::Error> {
200
+ let max_size = max_size.try_into().unwrap_or(u64::MAX);
201
+ match self {
202
+ BlockingMode::Blocking => {
203
+ match streams::HostInputStream::blocking_read(host, input_stream, max_size).await {
204
+ Ok(r) if r.is_empty() => Err(types::Errno::Intr.into()),
205
+ Ok(r) => Ok(r),
206
+ Err(StreamError::Closed) => Ok(Vec::new()),
207
+ Err(e) => Err(e.into()),
208
+ }
209
+ }
210
+
211
+ BlockingMode::NonBlocking => {
212
+ match streams::HostInputStream::read(host, input_stream, max_size).await {
213
+ Ok(r) => Ok(r),
214
+ Err(StreamError::Closed) => Ok(Vec::new()),
215
+ Err(e) => Err(e.into()),
216
+ }
217
+ }
218
+ }
219
+ }
220
+ async fn write(
221
+ &self,
222
+ host: &mut (impl streams::Host + poll::Host),
223
+ output_stream: Resource<streams::OutputStream>,
224
+ bytes: GuestPtr<'_, [u8]>,
225
+ ) -> StreamResult<usize> {
226
+ use streams::HostOutputStream as Streams;
227
+
228
+ let bytes = bytes.as_cow().map_err(|e| StreamError::Trap(e.into()))?;
229
+ let mut bytes = &bytes[..];
230
+
231
+ match self {
232
+ BlockingMode::Blocking => {
233
+ let total = bytes.len();
234
+ while !bytes.is_empty() {
235
+ // NOTE: blocking_write_and_flush takes at most one 4k buffer.
236
+ let len = bytes.len().min(4096);
237
+ let (chunk, rest) = bytes.split_at(len);
238
+ bytes = rest;
239
+
240
+ Streams::blocking_write_and_flush(
241
+ host,
242
+ output_stream.borrowed(),
243
+ Vec::from(chunk),
244
+ )
245
+ .await?
246
+ }
247
+
248
+ Ok(total)
249
+ }
250
+ BlockingMode::NonBlocking => {
251
+ let n = match Streams::check_write(host, output_stream.borrowed()) {
252
+ Ok(n) => n,
253
+ Err(StreamError::Closed) => 0,
254
+ Err(e) => Err(e)?,
255
+ };
256
+
257
+ let len = bytes.len().min(n as usize);
258
+ if len == 0 {
259
+ return Ok(0);
260
+ }
261
+
262
+ match Streams::write(host, output_stream.borrowed(), bytes[..len].to_vec()) {
263
+ Ok(()) => {}
264
+ Err(StreamError::Closed) => return Ok(0),
265
+ Err(e) => Err(e)?,
266
+ }
267
+
268
+ match Streams::blocking_flush(host, output_stream.borrowed()).await {
269
+ Ok(()) => {}
270
+ Err(StreamError::Closed) => return Ok(0),
271
+ Err(e) => Err(e)?,
272
+ };
273
+
274
+ Ok(len)
275
+ }
276
+ }
277
+ }
278
+ }
279
+
280
+ #[derive(Debug)]
281
+ enum Descriptor {
282
+ Stdin {
283
+ stream: Resource<streams::InputStream>,
284
+ isatty: IsATTY,
285
+ },
286
+ Stdout {
287
+ stream: Resource<streams::OutputStream>,
288
+ isatty: IsATTY,
289
+ },
290
+ Stderr {
291
+ stream: Resource<streams::OutputStream>,
292
+ isatty: IsATTY,
293
+ },
294
+ /// A fd of type [`crate::filesystem::Descriptor::Dir`]
295
+ Directory {
296
+ fd: Resource<filesystem::Descriptor>,
297
+ /// The path this directory was preopened as.
298
+ /// `None` means this directory was opened using `open-at`.
299
+ preopen_path: Option<String>,
300
+ },
301
+ /// A fd of type [`crate::filesystem::Descriptor::File`]
302
+ File(File),
303
+ }
304
+
305
+ #[derive(Debug, Default)]
306
+ struct WasiPreview1Adapter {
307
+ descriptors: Option<Descriptors>,
308
+ }
309
+
310
+ #[derive(Debug, Default)]
311
+ struct Descriptors {
312
+ used: BTreeMap<u32, Descriptor>,
313
+ free: Vec<u32>,
314
+ }
315
+
316
+ impl Deref for Descriptors {
317
+ type Target = BTreeMap<u32, Descriptor>;
318
+
319
+ fn deref(&self) -> &Self::Target {
320
+ &self.used
321
+ }
322
+ }
323
+
324
+ impl DerefMut for Descriptors {
325
+ fn deref_mut(&mut self) -> &mut Self::Target {
326
+ &mut self.used
327
+ }
328
+ }
329
+
330
+ impl Descriptors {
331
+ /// Initializes [Self] using `preopens`
332
+ fn new(
333
+ host: &mut (impl preopens::Host
334
+ + stdin::Host
335
+ + stdout::Host
336
+ + stderr::Host
337
+ + terminal_stdin::Host
338
+ + terminal_stdout::Host
339
+ + terminal_stderr::Host
340
+ + terminal_input::Host
341
+ + terminal_output::Host
342
+ + ?Sized),
343
+ ) -> Result<Self, types::Error> {
344
+ let mut descriptors = Self::default();
345
+ descriptors.push(Descriptor::Stdin {
346
+ stream: host
347
+ .get_stdin()
348
+ .context("failed to call `get-stdin`")
349
+ .map_err(types::Error::trap)?,
350
+ isatty: if let Some(term_in) = host
351
+ .get_terminal_stdin()
352
+ .context("failed to call `get-terminal-stdin`")
353
+ .map_err(types::Error::trap)?
354
+ {
355
+ terminal_input::HostTerminalInput::drop(host, term_in)
356
+ .context("failed to call `drop-terminal-input`")
357
+ .map_err(types::Error::trap)?;
358
+ IsATTY::Yes
359
+ } else {
360
+ IsATTY::No
361
+ },
362
+ })?;
363
+ descriptors.push(Descriptor::Stdout {
364
+ stream: host
365
+ .get_stdout()
366
+ .context("failed to call `get-stdout`")
367
+ .map_err(types::Error::trap)?,
368
+ isatty: if let Some(term_out) = host
369
+ .get_terminal_stdout()
370
+ .context("failed to call `get-terminal-stdout`")
371
+ .map_err(types::Error::trap)?
372
+ {
373
+ terminal_output::HostTerminalOutput::drop(host, term_out)
374
+ .context("failed to call `drop-terminal-output`")
375
+ .map_err(types::Error::trap)?;
376
+ IsATTY::Yes
377
+ } else {
378
+ IsATTY::No
379
+ },
380
+ })?;
381
+ descriptors.push(Descriptor::Stderr {
382
+ stream: host
383
+ .get_stderr()
384
+ .context("failed to call `get-stderr`")
385
+ .map_err(types::Error::trap)?,
386
+ isatty: if let Some(term_out) = host
387
+ .get_terminal_stderr()
388
+ .context("failed to call `get-terminal-stderr`")
389
+ .map_err(types::Error::trap)?
390
+ {
391
+ terminal_output::HostTerminalOutput::drop(host, term_out)
392
+ .context("failed to call `drop-terminal-output`")
393
+ .map_err(types::Error::trap)?;
394
+ IsATTY::Yes
395
+ } else {
396
+ IsATTY::No
397
+ },
398
+ })?;
399
+
400
+ for dir in host
401
+ .get_directories()
402
+ .context("failed to call `get-directories`")
403
+ .map_err(types::Error::trap)?
404
+ {
405
+ descriptors.push(Descriptor::Directory {
406
+ fd: dir.0,
407
+ preopen_path: Some(dir.1),
408
+ })?;
409
+ }
410
+ Ok(descriptors)
411
+ }
412
+
413
+ /// Returns next descriptor number, which was never assigned
414
+ fn unused(&self) -> Result<u32> {
415
+ match self.last_key_value() {
416
+ Some((fd, _)) => {
417
+ if let Some(fd) = fd.checked_add(1) {
418
+ return Ok(fd);
419
+ }
420
+ if self.len() == u32::MAX as usize {
421
+ return Err(types::Errno::Loop.into());
422
+ }
423
+ // TODO: Optimize
424
+ Ok((0..u32::MAX)
425
+ .rev()
426
+ .find(|fd| !self.contains_key(fd))
427
+ .expect("failed to find an unused file descriptor"))
428
+ }
429
+ None => Ok(0),
430
+ }
431
+ }
432
+
433
+ /// Removes the [Descriptor] corresponding to `fd`
434
+ fn remove(&mut self, fd: types::Fd) -> Option<Descriptor> {
435
+ let fd = fd.into();
436
+ let desc = self.used.remove(&fd)?;
437
+ self.free.push(fd);
438
+ Some(desc)
439
+ }
440
+
441
+ /// Pushes the [Descriptor] returning corresponding number.
442
+ /// This operation will try to reuse numbers previously removed via [`Self::remove`]
443
+ /// and rely on [`Self::unused`] if no free numbers are recorded
444
+ fn push(&mut self, desc: Descriptor) -> Result<u32> {
445
+ let fd = if let Some(fd) = self.free.pop() {
446
+ fd
447
+ } else {
448
+ self.unused()?
449
+ };
450
+ assert!(self.insert(fd, desc).is_none());
451
+ Ok(fd)
452
+ }
453
+ }
454
+
455
+ impl WasiPreview1Adapter {
456
+ fn new() -> Self {
457
+ Self::default()
458
+ }
459
+ }
460
+
461
+ /// A mutably-borrowed [`WasiPreview1View`] implementation, which provides access to the stored
462
+ /// state. It can be thought of as an in-flight [`WasiPreview1Adapter`] transaction, all
463
+ /// changes will be recorded in the underlying [`WasiPreview1Adapter`] returned by
464
+ /// [`WasiPreview1View::adapter_mut`] on [`Drop`] of this struct.
465
+ // NOTE: This exists for the most part just due to the fact that `bindgen` generates methods with
466
+ // `&mut self` receivers and so this struct lets us extend the lifetime of the `&mut self` borrow
467
+ // of the [`WasiPreview1View`] to provide means to return mutably and immutably borrowed [`Descriptors`]
468
+ // without having to rely on something like `Arc<Mutex<Descriptors>>`, while also being able to
469
+ // call methods like [`Descriptor::is_file`] and hiding complexity from preview1 method implementations.
470
+ struct Transaction<'a> {
471
+ view: &'a mut WasiP1Ctx,
472
+ descriptors: Descriptors,
473
+ }
474
+
475
+ impl Drop for Transaction<'_> {
476
+ /// Record changes in the [`WasiPreview1Adapter`] returned by [`WasiPreview1View::adapter_mut`]
477
+ fn drop(&mut self) {
478
+ let descriptors = mem::take(&mut self.descriptors);
479
+ self.view.adapter.descriptors = Some(descriptors);
480
+ }
481
+ }
482
+
483
+ impl Transaction<'_> {
484
+ /// Borrows [`Descriptor`] corresponding to `fd`.
485
+ ///
486
+ /// # Errors
487
+ ///
488
+ /// Returns [`types::Errno::Badf`] if no [`Descriptor`] is found
489
+ fn get_descriptor(&self, fd: types::Fd) -> Result<&Descriptor> {
490
+ let fd = fd.into();
491
+ let desc = self.descriptors.get(&fd).ok_or(types::Errno::Badf)?;
492
+ Ok(desc)
493
+ }
494
+
495
+ /// Borrows [`File`] corresponding to `fd`
496
+ /// if it describes a [`Descriptor::File`]
497
+ fn get_file(&self, fd: types::Fd) -> Result<&File> {
498
+ let fd = fd.into();
499
+ match self.descriptors.get(&fd) {
500
+ Some(Descriptor::File(file)) => Ok(file),
501
+ _ => Err(types::Errno::Badf.into()),
502
+ }
503
+ }
504
+
505
+ /// Mutably borrows [`File`] corresponding to `fd`
506
+ /// if it describes a [`Descriptor::File`]
507
+ fn get_file_mut(&mut self, fd: types::Fd) -> Result<&mut File> {
508
+ let fd = fd.into();
509
+ match self.descriptors.get_mut(&fd) {
510
+ Some(Descriptor::File(file)) => Ok(file),
511
+ _ => Err(types::Errno::Badf.into()),
512
+ }
513
+ }
514
+
515
+ /// Borrows [`File`] corresponding to `fd`
516
+ /// if it describes a [`Descriptor::File`]
517
+ ///
518
+ /// # Errors
519
+ ///
520
+ /// Returns [`types::Errno::Spipe`] if the descriptor corresponds to stdio
521
+ fn get_seekable(&self, fd: types::Fd) -> Result<&File> {
522
+ let fd = fd.into();
523
+ match self.descriptors.get(&fd) {
524
+ Some(Descriptor::File(file)) => Ok(file),
525
+ Some(
526
+ Descriptor::Stdin { .. } | Descriptor::Stdout { .. } | Descriptor::Stderr { .. },
527
+ ) => {
528
+ // NOTE: legacy implementation returns SPIPE here
529
+ Err(types::Errno::Spipe.into())
530
+ }
531
+ _ => Err(types::Errno::Badf.into()),
532
+ }
533
+ }
534
+
535
+ /// Returns [`filesystem::Descriptor`] corresponding to `fd`
536
+ fn get_fd(&self, fd: types::Fd) -> Result<Resource<filesystem::Descriptor>> {
537
+ match self.get_descriptor(fd)? {
538
+ Descriptor::File(File { fd, .. }) => Ok(fd.borrowed()),
539
+ Descriptor::Directory { fd, .. } => Ok(fd.borrowed()),
540
+ Descriptor::Stdin { .. } | Descriptor::Stdout { .. } | Descriptor::Stderr { .. } => {
541
+ Err(types::Errno::Badf.into())
542
+ }
543
+ }
544
+ }
545
+
546
+ /// Returns [`filesystem::Descriptor`] corresponding to `fd`
547
+ /// if it describes a [`Descriptor::File`]
548
+ fn get_file_fd(&self, fd: types::Fd) -> Result<Resource<filesystem::Descriptor>> {
549
+ self.get_file(fd).map(|File { fd, .. }| fd.borrowed())
550
+ }
551
+
552
+ /// Returns [`filesystem::Descriptor`] corresponding to `fd`
553
+ /// if it describes a [`Descriptor::Directory`]
554
+ fn get_dir_fd(&self, fd: types::Fd) -> Result<Resource<filesystem::Descriptor>> {
555
+ let fd = fd.into();
556
+ match self.descriptors.get(&fd) {
557
+ Some(Descriptor::Directory { fd, .. }) => Ok(fd.borrowed()),
558
+ _ => Err(types::Errno::Badf.into()),
559
+ }
560
+ }
561
+ }
562
+
563
+ impl WasiP1Ctx {
564
+ /// Lazily initializes [`WasiPreview1Adapter`] returned by [`WasiPreview1View::adapter_mut`]
565
+ /// and returns [`Transaction`] on success
566
+ fn transact(&mut self) -> Result<Transaction<'_>, types::Error> {
567
+ let descriptors = if let Some(descriptors) = self.adapter.descriptors.take() {
568
+ descriptors
569
+ } else {
570
+ Descriptors::new(self)?
571
+ }
572
+ .into();
573
+ Ok(Transaction {
574
+ view: self,
575
+ descriptors,
576
+ })
577
+ }
578
+
579
+ /// Lazily initializes [`WasiPreview1Adapter`] returned by [`WasiPreview1View::adapter_mut`]
580
+ /// and returns [`filesystem::Descriptor`] corresponding to `fd`
581
+ fn get_fd(&mut self, fd: types::Fd) -> Result<Resource<filesystem::Descriptor>, types::Error> {
582
+ let st = self.transact()?;
583
+ let fd = st.get_fd(fd)?;
584
+ Ok(fd)
585
+ }
586
+
587
+ /// Lazily initializes [`WasiPreview1Adapter`] returned by [`WasiPreview1View::adapter_mut`]
588
+ /// and returns [`filesystem::Descriptor`] corresponding to `fd`
589
+ /// if it describes a [`Descriptor::File`] of [`crate::filesystem::File`] type
590
+ fn get_file_fd(
591
+ &mut self,
592
+ fd: types::Fd,
593
+ ) -> Result<Resource<filesystem::Descriptor>, types::Error> {
594
+ let st = self.transact()?;
595
+ let fd = st.get_file_fd(fd)?;
596
+ Ok(fd)
597
+ }
598
+
599
+ /// Lazily initializes [`WasiPreview1Adapter`] returned by [`WasiPreview1View::adapter_mut`]
600
+ /// and returns [`filesystem::Descriptor`] corresponding to `fd`
601
+ /// if it describes a [`Descriptor::File`] or [`Descriptor::PreopenDirectory`]
602
+ /// of [`crate::filesystem::Dir`] type
603
+ fn get_dir_fd(
604
+ &mut self,
605
+ fd: types::Fd,
606
+ ) -> Result<Resource<filesystem::Descriptor>, types::Error> {
607
+ let st = self.transact()?;
608
+ let fd = st.get_dir_fd(fd)?;
609
+ Ok(fd)
610
+ }
611
+ }
612
+
613
+ /// Adds asynchronous versions of all WASIp1 functions to the
614
+ /// [`wasmtime::Linker`] provided.
615
+ ///
616
+ /// This method will add WASIp1 functions to `linker`. The `f` closure provided
617
+ /// is used to project from the `T` state that `Linker` is associated with to a
618
+ /// [`WasiP1Ctx`]. If `T` is `WasiP1Ctx` itself then this is the identity
619
+ /// closure, but otherwise it must project out the field where `WasiP1Ctx` is
620
+ /// stored within `T`.
621
+ ///
622
+ /// The state provided by `f` is used to implement all WASIp1 functions and
623
+ /// provides configuration to know what to return.
624
+ ///
625
+ /// Note that this function is intended for use with
626
+ /// [`Config::async_support(true)`]. If you're looking for a synchronous version
627
+ /// see [`add_to_linker_sync`].
628
+ ///
629
+ /// [`Config::async_support(true)`]: wasmtime::Config::async_support
630
+ ///
631
+ /// # Examples
632
+ ///
633
+ /// If the `T` in `Linker<T>` is just `WasiP1Ctx`:
634
+ ///
635
+ /// ```no_run
636
+ /// use wasmtime::{Result, Linker, Engine, Config};
637
+ /// use wasmtime_wasi::preview1::{self, WasiP1Ctx};
638
+ ///
639
+ /// fn main() -> Result<()> {
640
+ /// let mut config = Config::new();
641
+ /// config.async_support(true);
642
+ /// let engine = Engine::new(&config)?;
643
+ ///
644
+ /// let mut linker: Linker<WasiP1Ctx> = Linker::new(&engine);
645
+ /// preview1::add_to_linker_async(&mut linker, |cx| cx)?;
646
+ ///
647
+ /// // ... continue to add more to `linker` as necessary and use it ...
648
+ ///
649
+ /// Ok(())
650
+ /// }
651
+ /// ```
652
+ ///
653
+ /// If the `T` in `Linker<T>` is custom state:
654
+ ///
655
+ /// ```no_run
656
+ /// use wasmtime::{Result, Linker, Engine, Config};
657
+ /// use wasmtime_wasi::preview1::{self, WasiP1Ctx};
658
+ ///
659
+ /// struct MyState {
660
+ /// // .. other custom state here ..
661
+ ///
662
+ /// wasi: WasiP1Ctx,
663
+ /// }
664
+ ///
665
+ /// fn main() -> Result<()> {
666
+ /// let mut config = Config::new();
667
+ /// config.async_support(true);
668
+ /// let engine = Engine::new(&config)?;
669
+ ///
670
+ /// let mut linker: Linker<MyState> = Linker::new(&engine);
671
+ /// preview1::add_to_linker_async(&mut linker, |cx| &mut cx.wasi)?;
672
+ ///
673
+ /// // ... continue to add more to `linker` as necessary and use it ...
674
+ ///
675
+ /// Ok(())
676
+ /// }
677
+ /// ```
678
+ pub fn add_to_linker_async<T: Send>(
679
+ linker: &mut wasmtime::Linker<T>,
680
+ f: impl Fn(&mut T) -> &mut WasiP1Ctx + Copy + Send + Sync + 'static,
681
+ ) -> anyhow::Result<()> {
682
+ crate::preview1::wasi_snapshot_preview1::add_to_linker(linker, f)
683
+ }
684
+
685
+ /// Adds synchronous versions of all WASIp1 functions to the
686
+ /// [`wasmtime::Linker`] provided.
687
+ ///
688
+ /// This method will add WASIp1 functions to `linker`. The `f` closure provided
689
+ /// is used to project from the `T` state that `Linker` is associated with to a
690
+ /// [`WasiP1Ctx`]. If `T` is `WasiP1Ctx` itself then this is the identity
691
+ /// closure, but otherwise it must project out the field where `WasiP1Ctx` is
692
+ /// stored within `T`.
693
+ ///
694
+ /// The state provided by `f` is used to implement all WASIp1 functions and
695
+ /// provides configuration to know what to return.
696
+ ///
697
+ /// Note that this function is intended for use with
698
+ /// [`Config::async_support(false)`]. If you're looking for a synchronous version
699
+ /// see [`add_to_linker_async`].
700
+ ///
701
+ /// [`Config::async_support(false)`]: wasmtime::Config::async_support
702
+ ///
703
+ /// # Examples
704
+ ///
705
+ /// If the `T` in `Linker<T>` is just `WasiP1Ctx`:
706
+ ///
707
+ /// ```no_run
708
+ /// use wasmtime::{Result, Linker, Engine, Config};
709
+ /// use wasmtime_wasi::preview1::{self, WasiP1Ctx};
710
+ ///
711
+ /// fn main() -> Result<()> {
712
+ /// let mut config = Config::new();
713
+ /// config.async_support(true);
714
+ /// let engine = Engine::new(&config)?;
715
+ ///
716
+ /// let mut linker: Linker<WasiP1Ctx> = Linker::new(&engine);
717
+ /// preview1::add_to_linker_async(&mut linker, |cx| cx)?;
718
+ ///
719
+ /// // ... continue to add more to `linker` as necessary and use it ...
720
+ ///
721
+ /// Ok(())
722
+ /// }
723
+ /// ```
724
+ ///
725
+ /// If the `T` in `Linker<T>` is custom state:
726
+ ///
727
+ /// ```no_run
728
+ /// use wasmtime::{Result, Linker, Engine, Config};
729
+ /// use wasmtime_wasi::preview1::{self, WasiP1Ctx};
730
+ ///
731
+ /// struct MyState {
732
+ /// // .. other custom state here ..
733
+ ///
734
+ /// wasi: WasiP1Ctx,
735
+ /// }
736
+ ///
737
+ /// fn main() -> Result<()> {
738
+ /// let mut config = Config::new();
739
+ /// config.async_support(true);
740
+ /// let engine = Engine::new(&config)?;
741
+ ///
742
+ /// let mut linker: Linker<MyState> = Linker::new(&engine);
743
+ /// preview1::add_to_linker_async(&mut linker, |cx| &mut cx.wasi)?;
744
+ ///
745
+ /// // ... continue to add more to `linker` as necessary and use it ...
746
+ ///
747
+ /// Ok(())
748
+ /// }
749
+ /// ```
750
+ pub fn add_to_linker_sync<T: Send>(
751
+ linker: &mut wasmtime::Linker<T>,
752
+ f: impl Fn(&mut T) -> &mut WasiP1Ctx + Copy + Send + Sync + 'static,
753
+ ) -> anyhow::Result<()> {
754
+ crate::preview1::sync::add_wasi_snapshot_preview1_to_linker(linker, f)
755
+ }
756
+
757
+ // Generate the wasi_snapshot_preview1::WasiSnapshotPreview1 trait,
758
+ // and the module types.
759
+ // None of the generated modules, traits, or types should be used externally
760
+ // to this module.
761
+ wiggle::from_witx!({
762
+ witx: ["$CARGO_MANIFEST_DIR/witx/preview1/wasi_snapshot_preview1.witx"],
763
+ async: {
764
+ wasi_snapshot_preview1::{
765
+ fd_advise, fd_close, fd_datasync, fd_fdstat_get, fd_filestat_get, fd_filestat_set_size,
766
+ fd_filestat_set_times, fd_read, fd_pread, fd_seek, fd_sync, fd_readdir, fd_write,
767
+ fd_pwrite, poll_oneoff, path_create_directory, path_filestat_get,
768
+ path_filestat_set_times, path_link, path_open, path_readlink, path_remove_directory,
769
+ path_rename, path_symlink, path_unlink_file
770
+ }
771
+ },
772
+ errors: { errno => trappable Error },
773
+ });
774
+
775
+ pub(crate) mod sync {
776
+ use anyhow::Result;
777
+ use std::future::Future;
778
+
779
+ wiggle::wasmtime_integration!({
780
+ witx: ["$CARGO_MANIFEST_DIR/witx/preview1/wasi_snapshot_preview1.witx"],
781
+ target: super,
782
+ block_on[in_tokio]: {
783
+ wasi_snapshot_preview1::{
784
+ fd_advise, fd_close, fd_datasync, fd_fdstat_get, fd_filestat_get, fd_filestat_set_size,
785
+ fd_filestat_set_times, fd_read, fd_pread, fd_seek, fd_sync, fd_readdir, fd_write,
786
+ fd_pwrite, poll_oneoff, path_create_directory, path_filestat_get,
787
+ path_filestat_set_times, path_link, path_open, path_readlink, path_remove_directory,
788
+ path_rename, path_symlink, path_unlink_file
789
+ }
790
+ },
791
+ errors: { errno => trappable Error },
792
+ });
793
+
794
+ // Small wrapper around `in_tokio` to add a `Result` layer which is always
795
+ // `Ok`
796
+ fn in_tokio<F: Future>(future: F) -> Result<F::Output> {
797
+ Ok(crate::runtime::in_tokio(future))
798
+ }
799
+ }
800
+
801
+ impl wiggle::GuestErrorType for types::Errno {
802
+ fn success() -> Self {
803
+ Self::Success
804
+ }
805
+ }
806
+
807
+ impl From<StreamError> for types::Error {
808
+ fn from(err: StreamError) -> Self {
809
+ match err {
810
+ StreamError::Closed => types::Errno::Io.into(),
811
+ StreamError::LastOperationFailed(e) => match e.downcast::<std::io::Error>() {
812
+ Ok(err) => filesystem::ErrorCode::from(err).into(),
813
+ Err(e) => {
814
+ tracing::debug!("dropping error {e:?}");
815
+ types::Errno::Io.into()
816
+ }
817
+ },
818
+ StreamError::Trap(e) => types::Error::trap(e),
819
+ }
820
+ }
821
+ }
822
+
823
+ impl From<FsError> for types::Error {
824
+ fn from(err: FsError) -> Self {
825
+ match err.downcast() {
826
+ Ok(code) => code.into(),
827
+ Err(e) => types::Error::trap(e),
828
+ }
829
+ }
830
+ }
831
+
832
+ fn systimespec(set: bool, ts: types::Timestamp, now: bool) -> Result<filesystem::NewTimestamp> {
833
+ if set && now {
834
+ Err(types::Errno::Inval.into())
835
+ } else if set {
836
+ Ok(filesystem::NewTimestamp::Timestamp(filesystem::Datetime {
837
+ seconds: ts / 1_000_000_000,
838
+ nanoseconds: (ts % 1_000_000_000) as _,
839
+ }))
840
+ } else if now {
841
+ Ok(filesystem::NewTimestamp::Now)
842
+ } else {
843
+ Ok(filesystem::NewTimestamp::NoChange)
844
+ }
845
+ }
846
+
847
+ impl TryFrom<wall_clock::Datetime> for types::Timestamp {
848
+ type Error = types::Errno;
849
+
850
+ fn try_from(
851
+ wall_clock::Datetime {
852
+ seconds,
853
+ nanoseconds,
854
+ }: wall_clock::Datetime,
855
+ ) -> Result<Self, Self::Error> {
856
+ types::Timestamp::from(seconds)
857
+ .checked_mul(1_000_000_000)
858
+ .and_then(|ns| ns.checked_add(nanoseconds.into()))
859
+ .ok_or(types::Errno::Overflow)
860
+ }
861
+ }
862
+
863
+ impl From<types::Lookupflags> for filesystem::PathFlags {
864
+ fn from(flags: types::Lookupflags) -> Self {
865
+ if flags.contains(types::Lookupflags::SYMLINK_FOLLOW) {
866
+ filesystem::PathFlags::SYMLINK_FOLLOW
867
+ } else {
868
+ filesystem::PathFlags::empty()
869
+ }
870
+ }
871
+ }
872
+
873
+ impl From<types::Oflags> for filesystem::OpenFlags {
874
+ fn from(flags: types::Oflags) -> Self {
875
+ let mut out = filesystem::OpenFlags::empty();
876
+ if flags.contains(types::Oflags::CREAT) {
877
+ out |= filesystem::OpenFlags::CREATE;
878
+ }
879
+ if flags.contains(types::Oflags::DIRECTORY) {
880
+ out |= filesystem::OpenFlags::DIRECTORY;
881
+ }
882
+ if flags.contains(types::Oflags::EXCL) {
883
+ out |= filesystem::OpenFlags::EXCLUSIVE;
884
+ }
885
+ if flags.contains(types::Oflags::TRUNC) {
886
+ out |= filesystem::OpenFlags::TRUNCATE;
887
+ }
888
+ out
889
+ }
890
+ }
891
+
892
+ impl From<types::Advice> for filesystem::Advice {
893
+ fn from(advice: types::Advice) -> Self {
894
+ match advice {
895
+ types::Advice::Normal => filesystem::Advice::Normal,
896
+ types::Advice::Sequential => filesystem::Advice::Sequential,
897
+ types::Advice::Random => filesystem::Advice::Random,
898
+ types::Advice::Willneed => filesystem::Advice::WillNeed,
899
+ types::Advice::Dontneed => filesystem::Advice::DontNeed,
900
+ types::Advice::Noreuse => filesystem::Advice::NoReuse,
901
+ }
902
+ }
903
+ }
904
+
905
+ impl TryFrom<filesystem::DescriptorType> for types::Filetype {
906
+ type Error = anyhow::Error;
907
+
908
+ fn try_from(ty: filesystem::DescriptorType) -> Result<Self, Self::Error> {
909
+ match ty {
910
+ filesystem::DescriptorType::RegularFile => Ok(types::Filetype::RegularFile),
911
+ filesystem::DescriptorType::Directory => Ok(types::Filetype::Directory),
912
+ filesystem::DescriptorType::BlockDevice => Ok(types::Filetype::BlockDevice),
913
+ filesystem::DescriptorType::CharacterDevice => Ok(types::Filetype::CharacterDevice),
914
+ // preview1 never had a FIFO code.
915
+ filesystem::DescriptorType::Fifo => Ok(types::Filetype::Unknown),
916
+ // TODO: Add a way to disginguish between FILETYPE_SOCKET_STREAM and
917
+ // FILETYPE_SOCKET_DGRAM.
918
+ filesystem::DescriptorType::Socket => {
919
+ bail!("sockets are not currently supported")
920
+ }
921
+ filesystem::DescriptorType::SymbolicLink => Ok(types::Filetype::SymbolicLink),
922
+ filesystem::DescriptorType::Unknown => Ok(types::Filetype::Unknown),
923
+ }
924
+ }
925
+ }
926
+
927
+ impl From<IsATTY> for types::Filetype {
928
+ fn from(isatty: IsATTY) -> Self {
929
+ match isatty {
930
+ IsATTY::Yes => types::Filetype::CharacterDevice,
931
+ IsATTY::No => types::Filetype::Unknown,
932
+ }
933
+ }
934
+ }
935
+
936
+ impl From<filesystem::ErrorCode> for types::Errno {
937
+ fn from(code: filesystem::ErrorCode) -> Self {
938
+ match code {
939
+ filesystem::ErrorCode::Access => types::Errno::Acces,
940
+ filesystem::ErrorCode::WouldBlock => types::Errno::Again,
941
+ filesystem::ErrorCode::Already => types::Errno::Already,
942
+ filesystem::ErrorCode::BadDescriptor => types::Errno::Badf,
943
+ filesystem::ErrorCode::Busy => types::Errno::Busy,
944
+ filesystem::ErrorCode::Deadlock => types::Errno::Deadlk,
945
+ filesystem::ErrorCode::Quota => types::Errno::Dquot,
946
+ filesystem::ErrorCode::Exist => types::Errno::Exist,
947
+ filesystem::ErrorCode::FileTooLarge => types::Errno::Fbig,
948
+ filesystem::ErrorCode::IllegalByteSequence => types::Errno::Ilseq,
949
+ filesystem::ErrorCode::InProgress => types::Errno::Inprogress,
950
+ filesystem::ErrorCode::Interrupted => types::Errno::Intr,
951
+ filesystem::ErrorCode::Invalid => types::Errno::Inval,
952
+ filesystem::ErrorCode::Io => types::Errno::Io,
953
+ filesystem::ErrorCode::IsDirectory => types::Errno::Isdir,
954
+ filesystem::ErrorCode::Loop => types::Errno::Loop,
955
+ filesystem::ErrorCode::TooManyLinks => types::Errno::Mlink,
956
+ filesystem::ErrorCode::MessageSize => types::Errno::Msgsize,
957
+ filesystem::ErrorCode::NameTooLong => types::Errno::Nametoolong,
958
+ filesystem::ErrorCode::NoDevice => types::Errno::Nodev,
959
+ filesystem::ErrorCode::NoEntry => types::Errno::Noent,
960
+ filesystem::ErrorCode::NoLock => types::Errno::Nolck,
961
+ filesystem::ErrorCode::InsufficientMemory => types::Errno::Nomem,
962
+ filesystem::ErrorCode::InsufficientSpace => types::Errno::Nospc,
963
+ filesystem::ErrorCode::Unsupported => types::Errno::Notsup,
964
+ filesystem::ErrorCode::NotDirectory => types::Errno::Notdir,
965
+ filesystem::ErrorCode::NotEmpty => types::Errno::Notempty,
966
+ filesystem::ErrorCode::NotRecoverable => types::Errno::Notrecoverable,
967
+ filesystem::ErrorCode::NoTty => types::Errno::Notty,
968
+ filesystem::ErrorCode::NoSuchDevice => types::Errno::Nxio,
969
+ filesystem::ErrorCode::Overflow => types::Errno::Overflow,
970
+ filesystem::ErrorCode::NotPermitted => types::Errno::Perm,
971
+ filesystem::ErrorCode::Pipe => types::Errno::Pipe,
972
+ filesystem::ErrorCode::ReadOnly => types::Errno::Rofs,
973
+ filesystem::ErrorCode::InvalidSeek => types::Errno::Spipe,
974
+ filesystem::ErrorCode::TextFileBusy => types::Errno::Txtbsy,
975
+ filesystem::ErrorCode::CrossDevice => types::Errno::Xdev,
976
+ }
977
+ }
978
+ }
979
+
980
+ impl From<std::num::TryFromIntError> for types::Error {
981
+ fn from(_: std::num::TryFromIntError) -> Self {
982
+ types::Errno::Overflow.into()
983
+ }
984
+ }
985
+
986
+ impl From<GuestError> for types::Error {
987
+ fn from(err: GuestError) -> Self {
988
+ use wiggle::GuestError::*;
989
+ match err {
990
+ InvalidFlagValue { .. } => types::Errno::Inval.into(),
991
+ InvalidEnumValue { .. } => types::Errno::Inval.into(),
992
+ // As per
993
+ // https://github.com/WebAssembly/wasi/blob/main/legacy/tools/witx-docs.md#pointers
994
+ //
995
+ // > If a misaligned pointer is passed to a function, the function
996
+ // > shall trap.
997
+ // >
998
+ // > If an out-of-bounds pointer is passed to a function and the
999
+ // > function needs to dereference it, the function shall trap.
1000
+ //
1001
+ // so this turns OOB and misalignment errors into traps.
1002
+ PtrOverflow { .. } | PtrOutOfBounds { .. } | PtrNotAligned { .. } => {
1003
+ types::Error::trap(err.into())
1004
+ }
1005
+ PtrBorrowed { .. } => types::Errno::Fault.into(),
1006
+ InvalidUtf8 { .. } => types::Errno::Ilseq.into(),
1007
+ TryFromIntError { .. } => types::Errno::Overflow.into(),
1008
+ SliceLengthsDiffer { .. } => types::Errno::Fault.into(),
1009
+ BorrowCheckerOutOfHandles { .. } => types::Errno::Fault.into(),
1010
+ InFunc { err, .. } => types::Error::from(*err),
1011
+ }
1012
+ }
1013
+ }
1014
+
1015
+ impl From<filesystem::ErrorCode> for types::Error {
1016
+ fn from(code: filesystem::ErrorCode) -> Self {
1017
+ types::Errno::from(code).into()
1018
+ }
1019
+ }
1020
+
1021
+ impl From<wasmtime::component::ResourceTableError> for types::Error {
1022
+ fn from(err: wasmtime::component::ResourceTableError) -> Self {
1023
+ types::Error::trap(err.into())
1024
+ }
1025
+ }
1026
+
1027
+ type Result<T, E = types::Error> = std::result::Result<T, E>;
1028
+
1029
+ fn write_bytes<'a>(
1030
+ ptr: impl Borrow<GuestPtr<'a, u8>>,
1031
+ buf: &[u8],
1032
+ ) -> Result<GuestPtr<'a, u8>, types::Error> {
1033
+ // NOTE: legacy implementation always returns Inval errno
1034
+
1035
+ let len = u32::try_from(buf.len())?;
1036
+
1037
+ let ptr = ptr.borrow();
1038
+ ptr.as_array(len).copy_from_slice(buf)?;
1039
+ let next = ptr.add(len)?;
1040
+ Ok(next)
1041
+ }
1042
+
1043
+ fn write_byte<'a>(ptr: impl Borrow<GuestPtr<'a, u8>>, byte: u8) -> Result<GuestPtr<'a, u8>> {
1044
+ let ptr = ptr.borrow();
1045
+ ptr.write(byte)?;
1046
+ let next = ptr.add(1)?;
1047
+ Ok(next)
1048
+ }
1049
+
1050
+ fn read_str<'a>(ptr: impl Borrow<GuestPtr<'a, str>>) -> Result<GuestStrCow<'a>> {
1051
+ let s = ptr.borrow().as_cow()?;
1052
+ Ok(s)
1053
+ }
1054
+
1055
+ fn read_string<'a>(ptr: impl Borrow<GuestPtr<'a, str>>) -> Result<String> {
1056
+ read_str(ptr).map(|s| s.to_string())
1057
+ }
1058
+
1059
+ // Find first non-empty buffer.
1060
+ fn first_non_empty_ciovec<'a, 'b>(
1061
+ ciovs: &'a types::CiovecArray<'b>,
1062
+ ) -> Result<Option<GuestPtr<'a, [u8]>>> {
1063
+ for iov in ciovs.iter() {
1064
+ let iov = iov?.read()?;
1065
+ if iov.buf_len == 0 {
1066
+ continue;
1067
+ }
1068
+ return Ok(Some(iov.buf.as_array(iov.buf_len)));
1069
+ }
1070
+ Ok(None)
1071
+ }
1072
+
1073
+ // Find first non-empty buffer.
1074
+ fn first_non_empty_iovec<'a>(iovs: &types::IovecArray<'a>) -> Result<Option<GuestPtr<'a, [u8]>>> {
1075
+ for iov in iovs.iter() {
1076
+ let iov = iov?.read()?;
1077
+ if iov.buf_len == 0 {
1078
+ continue;
1079
+ }
1080
+ return Ok(Some(iov.buf.as_array(iov.buf_len)));
1081
+ }
1082
+ Ok(None)
1083
+ }
1084
+
1085
+ #[async_trait::async_trait]
1086
+ // Implement the WasiSnapshotPreview1 trait using only the traits that are
1087
+ // required for T, i.e., in terms of the preview 2 wit interface, and state
1088
+ // stored in the WasiPreview1Adapter struct.
1089
+ impl wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiP1Ctx {
1090
+ #[instrument(skip(self))]
1091
+ fn args_get<'b>(
1092
+ &mut self,
1093
+ argv: &GuestPtr<'b, GuestPtr<'b, u8>>,
1094
+ argv_buf: &GuestPtr<'b, u8>,
1095
+ ) -> Result<(), types::Error> {
1096
+ self.get_arguments()
1097
+ .context("failed to call `get-arguments`")
1098
+ .map_err(types::Error::trap)?
1099
+ .into_iter()
1100
+ .try_fold((*argv, *argv_buf), |(argv, argv_buf), arg| -> Result<_> {
1101
+ argv.write(argv_buf)?;
1102
+ let argv = argv.add(1)?;
1103
+
1104
+ let argv_buf = write_bytes(argv_buf, arg.as_bytes())?;
1105
+ let argv_buf = write_byte(argv_buf, 0)?;
1106
+
1107
+ Ok((argv, argv_buf))
1108
+ })?;
1109
+ Ok(())
1110
+ }
1111
+
1112
+ #[instrument(skip(self))]
1113
+ fn args_sizes_get(&mut self) -> Result<(types::Size, types::Size), types::Error> {
1114
+ let args = self
1115
+ .get_arguments()
1116
+ .context("failed to call `get-arguments`")
1117
+ .map_err(types::Error::trap)?;
1118
+ let num = args.len().try_into().map_err(|_| types::Errno::Overflow)?;
1119
+ let len = args
1120
+ .iter()
1121
+ .map(|buf| buf.len() + 1) // Each argument is expected to be `\0` terminated.
1122
+ .sum::<usize>()
1123
+ .try_into()
1124
+ .map_err(|_| types::Errno::Overflow)?;
1125
+ Ok((num, len))
1126
+ }
1127
+
1128
+ #[instrument(skip(self))]
1129
+ fn environ_get<'b>(
1130
+ &mut self,
1131
+ environ: &GuestPtr<'b, GuestPtr<'b, u8>>,
1132
+ environ_buf: &GuestPtr<'b, u8>,
1133
+ ) -> Result<(), types::Error> {
1134
+ self.get_environment()
1135
+ .context("failed to call `get-environment`")
1136
+ .map_err(types::Error::trap)?
1137
+ .into_iter()
1138
+ .try_fold(
1139
+ (*environ, *environ_buf),
1140
+ |(environ, environ_buf), (k, v)| -> Result<_, types::Error> {
1141
+ environ.write(environ_buf)?;
1142
+ let environ = environ.add(1)?;
1143
+
1144
+ let environ_buf = write_bytes(environ_buf, k.as_bytes())?;
1145
+ let environ_buf = write_byte(environ_buf, b'=')?;
1146
+ let environ_buf = write_bytes(environ_buf, v.as_bytes())?;
1147
+ let environ_buf = write_byte(environ_buf, 0)?;
1148
+
1149
+ Ok((environ, environ_buf))
1150
+ },
1151
+ )?;
1152
+ Ok(())
1153
+ }
1154
+
1155
+ #[instrument(skip(self))]
1156
+ fn environ_sizes_get(&mut self) -> Result<(types::Size, types::Size), types::Error> {
1157
+ let environ = self
1158
+ .get_environment()
1159
+ .context("failed to call `get-environment`")
1160
+ .map_err(types::Error::trap)?;
1161
+ let num = environ.len().try_into()?;
1162
+ let len = environ
1163
+ .iter()
1164
+ .map(|(k, v)| k.len() + 1 + v.len() + 1) // Key/value pairs are expected to be joined with `=`s, and terminated with `\0`s.
1165
+ .sum::<usize>()
1166
+ .try_into()?;
1167
+ Ok((num, len))
1168
+ }
1169
+
1170
+ #[instrument(skip(self))]
1171
+ fn clock_res_get(&mut self, id: types::Clockid) -> Result<types::Timestamp, types::Error> {
1172
+ let res = match id {
1173
+ types::Clockid::Realtime => wall_clock::Host::resolution(self)
1174
+ .context("failed to call `wall_clock::resolution`")
1175
+ .map_err(types::Error::trap)?
1176
+ .try_into()?,
1177
+ types::Clockid::Monotonic => monotonic_clock::Host::resolution(self)
1178
+ .context("failed to call `monotonic_clock::resolution`")
1179
+ .map_err(types::Error::trap)?,
1180
+ types::Clockid::ProcessCputimeId | types::Clockid::ThreadCputimeId => {
1181
+ return Err(types::Errno::Badf.into())
1182
+ }
1183
+ };
1184
+ Ok(res)
1185
+ }
1186
+
1187
+ #[instrument(skip(self))]
1188
+ fn clock_time_get(
1189
+ &mut self,
1190
+ id: types::Clockid,
1191
+ _precision: types::Timestamp,
1192
+ ) -> Result<types::Timestamp, types::Error> {
1193
+ let now = match id {
1194
+ types::Clockid::Realtime => wall_clock::Host::now(self)
1195
+ .context("failed to call `wall_clock::now`")
1196
+ .map_err(types::Error::trap)?
1197
+ .try_into()?,
1198
+ types::Clockid::Monotonic => monotonic_clock::Host::now(self)
1199
+ .context("failed to call `monotonic_clock::now`")
1200
+ .map_err(types::Error::trap)?,
1201
+ types::Clockid::ProcessCputimeId | types::Clockid::ThreadCputimeId => {
1202
+ return Err(types::Errno::Badf.into())
1203
+ }
1204
+ };
1205
+ Ok(now)
1206
+ }
1207
+
1208
+ #[instrument(skip(self))]
1209
+ async fn fd_advise(
1210
+ &mut self,
1211
+ fd: types::Fd,
1212
+ offset: types::Filesize,
1213
+ len: types::Filesize,
1214
+ advice: types::Advice,
1215
+ ) -> Result<(), types::Error> {
1216
+ let fd = self.get_file_fd(fd)?;
1217
+ self.advise(fd, offset, len, advice.into())
1218
+ .await
1219
+ .map_err(|e| {
1220
+ e.try_into()
1221
+ .context("failed to call `advise`")
1222
+ .unwrap_or_else(types::Error::trap)
1223
+ })
1224
+ }
1225
+
1226
+ /// Force the allocation of space in a file.
1227
+ /// NOTE: This is similar to `posix_fallocate` in POSIX.
1228
+ #[instrument(skip(self))]
1229
+ fn fd_allocate(
1230
+ &mut self,
1231
+ fd: types::Fd,
1232
+ _offset: types::Filesize,
1233
+ _len: types::Filesize,
1234
+ ) -> Result<(), types::Error> {
1235
+ self.get_file_fd(fd)?;
1236
+ Err(types::Errno::Notsup.into())
1237
+ }
1238
+
1239
+ /// Close a file descriptor.
1240
+ /// NOTE: This is similar to `close` in POSIX.
1241
+ #[instrument(skip(self))]
1242
+ async fn fd_close(&mut self, fd: types::Fd) -> Result<(), types::Error> {
1243
+ let desc = self
1244
+ .transact()?
1245
+ .descriptors
1246
+ .remove(fd)
1247
+ .ok_or(types::Errno::Badf)?;
1248
+ match desc {
1249
+ Descriptor::Stdin { stream, .. } => streams::HostInputStream::drop(self, stream)
1250
+ .context("failed to call `drop` on `input-stream`"),
1251
+ Descriptor::Stdout { stream, .. } | Descriptor::Stderr { stream, .. } => {
1252
+ streams::HostOutputStream::drop(self, stream)
1253
+ .context("failed to call `drop` on `output-stream`")
1254
+ }
1255
+ Descriptor::File(File { fd, .. }) | Descriptor::Directory { fd, .. } => {
1256
+ filesystem::HostDescriptor::drop(self, fd).context("failed to call `drop`")
1257
+ }
1258
+ }
1259
+ .map_err(types::Error::trap)
1260
+ }
1261
+
1262
+ /// Synchronize the data of a file to disk.
1263
+ /// NOTE: This is similar to `fdatasync` in POSIX.
1264
+ #[instrument(skip(self))]
1265
+ async fn fd_datasync(&mut self, fd: types::Fd) -> Result<(), types::Error> {
1266
+ let fd = self.get_file_fd(fd)?;
1267
+ self.sync_data(fd).await.map_err(|e| {
1268
+ e.try_into()
1269
+ .context("failed to call `sync-data`")
1270
+ .unwrap_or_else(types::Error::trap)
1271
+ })
1272
+ }
1273
+
1274
+ /// Get the attributes of a file descriptor.
1275
+ /// NOTE: This returns similar flags to `fsync(fd, F_GETFL)` in POSIX, as well as additional fields.
1276
+ #[instrument(skip(self))]
1277
+ async fn fd_fdstat_get(&mut self, fd: types::Fd) -> Result<types::Fdstat, types::Error> {
1278
+ let (fd, blocking, append) = match self.transact()?.get_descriptor(fd)? {
1279
+ Descriptor::Stdin { isatty, .. } => {
1280
+ let fs_rights_base = types::Rights::FD_READ;
1281
+ return Ok(types::Fdstat {
1282
+ fs_filetype: (*isatty).into(),
1283
+ fs_flags: types::Fdflags::empty(),
1284
+ fs_rights_base,
1285
+ fs_rights_inheriting: fs_rights_base,
1286
+ });
1287
+ }
1288
+ Descriptor::Stdout { isatty, .. } | Descriptor::Stderr { isatty, .. } => {
1289
+ let fs_rights_base = types::Rights::FD_WRITE;
1290
+ return Ok(types::Fdstat {
1291
+ fs_filetype: (*isatty).into(),
1292
+ fs_flags: types::Fdflags::empty(),
1293
+ fs_rights_base,
1294
+ fs_rights_inheriting: fs_rights_base,
1295
+ });
1296
+ }
1297
+ Descriptor::Directory {
1298
+ preopen_path: Some(_),
1299
+ ..
1300
+ } => {
1301
+ // Hard-coded set or rights expected by many userlands:
1302
+ let fs_rights_base = types::Rights::PATH_CREATE_DIRECTORY
1303
+ | types::Rights::PATH_CREATE_FILE
1304
+ | types::Rights::PATH_LINK_SOURCE
1305
+ | types::Rights::PATH_LINK_TARGET
1306
+ | types::Rights::PATH_OPEN
1307
+ | types::Rights::FD_READDIR
1308
+ | types::Rights::PATH_READLINK
1309
+ | types::Rights::PATH_RENAME_SOURCE
1310
+ | types::Rights::PATH_RENAME_TARGET
1311
+ | types::Rights::PATH_SYMLINK
1312
+ | types::Rights::PATH_REMOVE_DIRECTORY
1313
+ | types::Rights::PATH_UNLINK_FILE
1314
+ | types::Rights::PATH_FILESTAT_GET
1315
+ | types::Rights::PATH_FILESTAT_SET_TIMES
1316
+ | types::Rights::FD_FILESTAT_GET
1317
+ | types::Rights::FD_FILESTAT_SET_TIMES;
1318
+
1319
+ let fs_rights_inheriting = fs_rights_base
1320
+ | types::Rights::FD_DATASYNC
1321
+ | types::Rights::FD_READ
1322
+ | types::Rights::FD_SEEK
1323
+ | types::Rights::FD_FDSTAT_SET_FLAGS
1324
+ | types::Rights::FD_SYNC
1325
+ | types::Rights::FD_TELL
1326
+ | types::Rights::FD_WRITE
1327
+ | types::Rights::FD_ADVISE
1328
+ | types::Rights::FD_ALLOCATE
1329
+ | types::Rights::FD_FILESTAT_GET
1330
+ | types::Rights::FD_FILESTAT_SET_SIZE
1331
+ | types::Rights::FD_FILESTAT_SET_TIMES
1332
+ | types::Rights::POLL_FD_READWRITE;
1333
+
1334
+ return Ok(types::Fdstat {
1335
+ fs_filetype: types::Filetype::Directory,
1336
+ fs_flags: types::Fdflags::empty(),
1337
+ fs_rights_base,
1338
+ fs_rights_inheriting,
1339
+ });
1340
+ }
1341
+ Descriptor::Directory { fd, .. } => (fd.borrowed(), BlockingMode::Blocking, false),
1342
+ Descriptor::File(File {
1343
+ fd,
1344
+ blocking_mode,
1345
+ append,
1346
+ ..
1347
+ }) => (fd.borrowed(), *blocking_mode, *append),
1348
+ };
1349
+ let flags = self.get_flags(fd.borrowed()).await.map_err(|e| {
1350
+ e.try_into()
1351
+ .context("failed to call `get-flags`")
1352
+ .unwrap_or_else(types::Error::trap)
1353
+ })?;
1354
+ let fs_filetype = self
1355
+ .get_type(fd.borrowed())
1356
+ .await
1357
+ .map_err(|e| {
1358
+ e.try_into()
1359
+ .context("failed to call `get-type`")
1360
+ .unwrap_or_else(types::Error::trap)
1361
+ })?
1362
+ .try_into()
1363
+ .map_err(types::Error::trap)?;
1364
+ let mut fs_flags = types::Fdflags::empty();
1365
+ let mut fs_rights_base = types::Rights::all();
1366
+ if let types::Filetype::Directory = fs_filetype {
1367
+ fs_rights_base &= !types::Rights::FD_SEEK;
1368
+ }
1369
+ if !flags.contains(filesystem::DescriptorFlags::READ) {
1370
+ fs_rights_base &= !types::Rights::FD_READ;
1371
+ }
1372
+ if !flags.contains(filesystem::DescriptorFlags::WRITE) {
1373
+ fs_rights_base &= !types::Rights::FD_WRITE;
1374
+ }
1375
+ if flags.contains(filesystem::DescriptorFlags::DATA_INTEGRITY_SYNC) {
1376
+ fs_flags |= types::Fdflags::DSYNC;
1377
+ }
1378
+ if flags.contains(filesystem::DescriptorFlags::REQUESTED_WRITE_SYNC) {
1379
+ fs_flags |= types::Fdflags::RSYNC;
1380
+ }
1381
+ if flags.contains(filesystem::DescriptorFlags::FILE_INTEGRITY_SYNC) {
1382
+ fs_flags |= types::Fdflags::SYNC;
1383
+ }
1384
+ if append {
1385
+ fs_flags |= types::Fdflags::APPEND;
1386
+ }
1387
+ if matches!(blocking, BlockingMode::NonBlocking) {
1388
+ fs_flags |= types::Fdflags::NONBLOCK;
1389
+ }
1390
+ Ok(types::Fdstat {
1391
+ fs_filetype,
1392
+ fs_flags,
1393
+ fs_rights_base,
1394
+ fs_rights_inheriting: fs_rights_base,
1395
+ })
1396
+ }
1397
+
1398
+ /// Adjust the flags associated with a file descriptor.
1399
+ /// NOTE: This is similar to `fcntl(fd, F_SETFL, flags)` in POSIX.
1400
+ #[instrument(skip(self))]
1401
+ fn fd_fdstat_set_flags(
1402
+ &mut self,
1403
+ fd: types::Fd,
1404
+ flags: types::Fdflags,
1405
+ ) -> Result<(), types::Error> {
1406
+ let mut st = self.transact()?;
1407
+ let File {
1408
+ append,
1409
+ blocking_mode,
1410
+ ..
1411
+ } = st.get_file_mut(fd)?;
1412
+
1413
+ // Only support changing the NONBLOCK or APPEND flags.
1414
+ if flags.contains(types::Fdflags::DSYNC)
1415
+ || flags.contains(types::Fdflags::SYNC)
1416
+ || flags.contains(types::Fdflags::RSYNC)
1417
+ {
1418
+ return Err(types::Errno::Inval.into());
1419
+ }
1420
+ *append = flags.contains(types::Fdflags::APPEND);
1421
+ *blocking_mode = BlockingMode::from_fdflags(&flags);
1422
+ Ok(())
1423
+ }
1424
+
1425
+ /// Does not do anything if `fd` corresponds to a valid descriptor and returns `[types::Errno::Badf]` error otherwise.
1426
+ #[instrument(skip(self))]
1427
+ fn fd_fdstat_set_rights(
1428
+ &mut self,
1429
+ fd: types::Fd,
1430
+ _fs_rights_base: types::Rights,
1431
+ _fs_rights_inheriting: types::Rights,
1432
+ ) -> Result<(), types::Error> {
1433
+ self.get_fd(fd)?;
1434
+ Ok(())
1435
+ }
1436
+
1437
+ /// Return the attributes of an open file.
1438
+ #[instrument(skip(self))]
1439
+ async fn fd_filestat_get(&mut self, fd: types::Fd) -> Result<types::Filestat, types::Error> {
1440
+ let t = self.transact()?;
1441
+ let desc = t.get_descriptor(fd)?;
1442
+ match desc {
1443
+ Descriptor::Stdin { isatty, .. }
1444
+ | Descriptor::Stdout { isatty, .. }
1445
+ | Descriptor::Stderr { isatty, .. } => Ok(types::Filestat {
1446
+ dev: 0,
1447
+ ino: 0,
1448
+ filetype: (*isatty).into(),
1449
+ nlink: 0,
1450
+ size: 0,
1451
+ atim: 0,
1452
+ mtim: 0,
1453
+ ctim: 0,
1454
+ }),
1455
+ Descriptor::Directory { fd, .. } | Descriptor::File(File { fd, .. }) => {
1456
+ let fd = fd.borrowed();
1457
+ drop(t);
1458
+ let filesystem::DescriptorStat {
1459
+ type_,
1460
+ link_count: nlink,
1461
+ size,
1462
+ data_access_timestamp,
1463
+ data_modification_timestamp,
1464
+ status_change_timestamp,
1465
+ } = self.stat(fd.borrowed()).await.map_err(|e| {
1466
+ e.try_into()
1467
+ .context("failed to call `stat`")
1468
+ .unwrap_or_else(types::Error::trap)
1469
+ })?;
1470
+ let metadata_hash = self.metadata_hash(fd).await.map_err(|e| {
1471
+ e.try_into()
1472
+ .context("failed to call `metadata_hash`")
1473
+ .unwrap_or_else(types::Error::trap)
1474
+ })?;
1475
+ let filetype = type_.try_into().map_err(types::Error::trap)?;
1476
+ let zero = wall_clock::Datetime {
1477
+ seconds: 0,
1478
+ nanoseconds: 0,
1479
+ };
1480
+ let atim = data_access_timestamp.unwrap_or(zero).try_into()?;
1481
+ let mtim = data_modification_timestamp.unwrap_or(zero).try_into()?;
1482
+ let ctim = status_change_timestamp.unwrap_or(zero).try_into()?;
1483
+ Ok(types::Filestat {
1484
+ dev: 1,
1485
+ ino: metadata_hash.lower,
1486
+ filetype,
1487
+ nlink,
1488
+ size,
1489
+ atim,
1490
+ mtim,
1491
+ ctim,
1492
+ })
1493
+ }
1494
+ }
1495
+ }
1496
+
1497
+ /// Adjust the size of an open file. If this increases the file's size, the extra bytes are filled with zeros.
1498
+ /// NOTE: This is similar to `ftruncate` in POSIX.
1499
+ #[instrument(skip(self))]
1500
+ async fn fd_filestat_set_size(
1501
+ &mut self,
1502
+ fd: types::Fd,
1503
+ size: types::Filesize,
1504
+ ) -> Result<(), types::Error> {
1505
+ let fd = self.get_file_fd(fd)?;
1506
+ self.set_size(fd, size).await.map_err(|e| {
1507
+ e.try_into()
1508
+ .context("failed to call `set-size`")
1509
+ .unwrap_or_else(types::Error::trap)
1510
+ })
1511
+ }
1512
+
1513
+ /// Adjust the timestamps of an open file or directory.
1514
+ /// NOTE: This is similar to `futimens` in POSIX.
1515
+ #[instrument(skip(self))]
1516
+ async fn fd_filestat_set_times(
1517
+ &mut self,
1518
+ fd: types::Fd,
1519
+ atim: types::Timestamp,
1520
+ mtim: types::Timestamp,
1521
+ fst_flags: types::Fstflags,
1522
+ ) -> Result<(), types::Error> {
1523
+ let atim = systimespec(
1524
+ fst_flags.contains(types::Fstflags::ATIM),
1525
+ atim,
1526
+ fst_flags.contains(types::Fstflags::ATIM_NOW),
1527
+ )?;
1528
+ let mtim = systimespec(
1529
+ fst_flags.contains(types::Fstflags::MTIM),
1530
+ mtim,
1531
+ fst_flags.contains(types::Fstflags::MTIM_NOW),
1532
+ )?;
1533
+
1534
+ let fd = self.get_fd(fd)?;
1535
+ self.set_times(fd, atim, mtim).await.map_err(|e| {
1536
+ e.try_into()
1537
+ .context("failed to call `set-times`")
1538
+ .unwrap_or_else(types::Error::trap)
1539
+ })
1540
+ }
1541
+
1542
+ /// Read from a file descriptor.
1543
+ /// NOTE: This is similar to `readv` in POSIX.
1544
+ #[instrument(skip(self))]
1545
+ async fn fd_read<'a>(
1546
+ &mut self,
1547
+ fd: types::Fd,
1548
+ iovs: &types::IovecArray<'a>,
1549
+ ) -> Result<types::Size, types::Error> {
1550
+ let t = self.transact()?;
1551
+ let desc = t.get_descriptor(fd)?;
1552
+ match desc {
1553
+ Descriptor::File(File {
1554
+ fd,
1555
+ position,
1556
+ // NB: the nonblocking flag is intentionally ignored here and
1557
+ // blocking reads/writes are always performed.
1558
+ blocking_mode: _,
1559
+ ..
1560
+ }) => {
1561
+ let fd = fd.borrowed();
1562
+ let position = position.clone();
1563
+ drop(t);
1564
+ let pos = position.load(Ordering::Relaxed);
1565
+ let file = self.table().get(&fd)?.file()?;
1566
+ let Some(iov) = first_non_empty_iovec(iovs)? else {
1567
+ return Ok(0);
1568
+ };
1569
+ let bytes_read = match (file.as_blocking_file(), iov.as_slice_mut()?) {
1570
+ // Try to read directly into wasm memory where possible
1571
+ // when the current thread can block and additionally wasm
1572
+ // memory isn't shared.
1573
+ (Some(file), Some(mut buf)) => file
1574
+ .read_at(&mut buf, pos)
1575
+ .map_err(|e| StreamError::LastOperationFailed(e.into()))?,
1576
+ // ... otherwise fall back to performing the read on a
1577
+ // blocking thread and which copies the data back into wasm
1578
+ // memory.
1579
+ (_, buf) => {
1580
+ drop(buf);
1581
+ let mut buf = vec![0; iov.len() as usize];
1582
+ let buf = file
1583
+ .spawn_blocking(move |file| -> Result<_, types::Error> {
1584
+ let bytes_read = file
1585
+ .read_at(&mut buf, pos)
1586
+ .map_err(|e| StreamError::LastOperationFailed(e.into()))?;
1587
+ buf.truncate(bytes_read);
1588
+ Ok(buf)
1589
+ })
1590
+ .await?;
1591
+ iov.get_range(0..u32::try_from(buf.len())?)
1592
+ .unwrap()
1593
+ .copy_from_slice(&buf)?;
1594
+ buf.len()
1595
+ }
1596
+ };
1597
+
1598
+ let pos = pos
1599
+ .checked_add(bytes_read.try_into()?)
1600
+ .ok_or(types::Errno::Overflow)?;
1601
+ position.store(pos, Ordering::Relaxed);
1602
+
1603
+ Ok(bytes_read.try_into()?)
1604
+ }
1605
+ Descriptor::Stdin { stream, .. } => {
1606
+ let stream = stream.borrowed();
1607
+ drop(t);
1608
+ let Some(buf) = first_non_empty_iovec(iovs)? else {
1609
+ return Ok(0);
1610
+ };
1611
+ let read = BlockingMode::Blocking
1612
+ .read(self, stream, buf.len().try_into()?)
1613
+ .await?;
1614
+ if read.len() > buf.len().try_into()? {
1615
+ return Err(types::Errno::Range.into());
1616
+ }
1617
+ let buf = buf.get_range(0..u32::try_from(read.len())?).unwrap();
1618
+ buf.copy_from_slice(&read)?;
1619
+ let n = read.len().try_into()?;
1620
+ Ok(n)
1621
+ }
1622
+ _ => return Err(types::Errno::Badf.into()),
1623
+ }
1624
+ }
1625
+
1626
+ /// Read from a file descriptor, without using and updating the file descriptor's offset.
1627
+ /// NOTE: This is similar to `preadv` in POSIX.
1628
+ #[instrument(skip(self))]
1629
+ async fn fd_pread<'a>(
1630
+ &mut self,
1631
+ fd: types::Fd,
1632
+ iovs: &types::IovecArray<'a>,
1633
+ offset: types::Filesize,
1634
+ ) -> Result<types::Size, types::Error> {
1635
+ let t = self.transact()?;
1636
+ let desc = t.get_descriptor(fd)?;
1637
+ let (buf, read) = match desc {
1638
+ Descriptor::File(File {
1639
+ fd, blocking_mode, ..
1640
+ }) => {
1641
+ let fd = fd.borrowed();
1642
+ let blocking_mode = *blocking_mode;
1643
+ drop(t);
1644
+ let Some(buf) = first_non_empty_iovec(iovs)? else {
1645
+ return Ok(0);
1646
+ };
1647
+
1648
+ let stream = self.read_via_stream(fd, offset).map_err(|e| {
1649
+ e.try_into()
1650
+ .context("failed to call `read-via-stream`")
1651
+ .unwrap_or_else(types::Error::trap)
1652
+ })?;
1653
+ let read = blocking_mode
1654
+ .read(self, stream.borrowed(), buf.len().try_into()?)
1655
+ .await;
1656
+ streams::HostInputStream::drop(self, stream).map_err(|e| types::Error::trap(e))?;
1657
+ (buf, read?)
1658
+ }
1659
+ Descriptor::Stdin { .. } => {
1660
+ // NOTE: legacy implementation returns SPIPE here
1661
+ return Err(types::Errno::Spipe.into());
1662
+ }
1663
+ _ => return Err(types::Errno::Badf.into()),
1664
+ };
1665
+ if read.len() > buf.len().try_into()? {
1666
+ return Err(types::Errno::Range.into());
1667
+ }
1668
+ let buf = buf.get_range(0..u32::try_from(read.len())?).unwrap();
1669
+ buf.copy_from_slice(&read)?;
1670
+ let n = read.len().try_into()?;
1671
+ Ok(n)
1672
+ }
1673
+
1674
+ /// Write to a file descriptor.
1675
+ /// NOTE: This is similar to `writev` in POSIX.
1676
+ #[instrument(skip(self))]
1677
+ async fn fd_write<'a>(
1678
+ &mut self,
1679
+ fd: types::Fd,
1680
+ ciovs: &types::CiovecArray<'a>,
1681
+ ) -> Result<types::Size, types::Error> {
1682
+ let t = self.transact()?;
1683
+ let desc = t.get_descriptor(fd)?;
1684
+ match desc {
1685
+ Descriptor::File(File {
1686
+ fd,
1687
+ append,
1688
+ position,
1689
+ // NB: files always use blocking writes regardless of what
1690
+ // they're configured to use since OSes don't have nonblocking
1691
+ // reads/writes anyway. This behavior originated in the first
1692
+ // implementation of WASIp1 where flags were propagated to the
1693
+ // OS and the OS ignored the nonblocking flag for files
1694
+ // generally.
1695
+ blocking_mode: _,
1696
+ }) => {
1697
+ let fd = fd.borrowed();
1698
+ let position = position.clone();
1699
+ let pos = position.load(Ordering::Relaxed);
1700
+ let append = *append;
1701
+ drop(t);
1702
+ let f = self.table().get(&fd)?.file()?;
1703
+ let Some(buf) = first_non_empty_ciovec(ciovs)? else {
1704
+ return Ok(0);
1705
+ };
1706
+
1707
+ let write = move |f: &cap_std::fs::File, buf: &[u8]| {
1708
+ if append {
1709
+ f.append(&buf)
1710
+ } else {
1711
+ f.write_at(&buf, pos)
1712
+ }
1713
+ };
1714
+
1715
+ let nwritten = match f.as_blocking_file() {
1716
+ // If we can block then skip the copy out of wasm memory and
1717
+ // write directly to `f`.
1718
+ Some(f) => write(f, &buf.as_cow()?),
1719
+ // ... otherwise copy out of wasm memory and use
1720
+ // `spawn_blocking` to do this write in a thread that can
1721
+ // block.
1722
+ None => {
1723
+ let buf = buf.to_vec()?;
1724
+ f.spawn_blocking(move |f| write(f, &buf)).await
1725
+ }
1726
+ };
1727
+
1728
+ let nwritten = nwritten.map_err(|e| StreamError::LastOperationFailed(e.into()))?;
1729
+ if append {
1730
+ let len = self.stat(fd).await?;
1731
+ position.store(len.size, Ordering::Relaxed);
1732
+ } else {
1733
+ let pos = pos
1734
+ .checked_add(nwritten as u64)
1735
+ .ok_or(types::Errno::Overflow)?;
1736
+ position.store(pos, Ordering::Relaxed);
1737
+ }
1738
+ Ok(nwritten.try_into()?)
1739
+ }
1740
+ Descriptor::Stdout { stream, .. } | Descriptor::Stderr { stream, .. } => {
1741
+ let stream = stream.borrowed();
1742
+ drop(t);
1743
+ let Some(buf) = first_non_empty_ciovec(ciovs)? else {
1744
+ return Ok(0);
1745
+ };
1746
+ let n = BlockingMode::Blocking
1747
+ .write(self, stream, buf)
1748
+ .await?
1749
+ .try_into()?;
1750
+ Ok(n)
1751
+ }
1752
+ _ => Err(types::Errno::Badf.into()),
1753
+ }
1754
+ }
1755
+
1756
+ /// Write to a file descriptor, without using and updating the file descriptor's offset.
1757
+ /// NOTE: This is similar to `pwritev` in POSIX.
1758
+ #[instrument(skip(self))]
1759
+ async fn fd_pwrite<'a>(
1760
+ &mut self,
1761
+ fd: types::Fd,
1762
+ ciovs: &types::CiovecArray<'a>,
1763
+ offset: types::Filesize,
1764
+ ) -> Result<types::Size, types::Error> {
1765
+ let t = self.transact()?;
1766
+ let desc = t.get_descriptor(fd)?;
1767
+ let n = match desc {
1768
+ Descriptor::File(File {
1769
+ fd, blocking_mode, ..
1770
+ }) => {
1771
+ let fd = fd.borrowed();
1772
+ let blocking_mode = *blocking_mode;
1773
+ drop(t);
1774
+ let Some(buf) = first_non_empty_ciovec(ciovs)? else {
1775
+ return Ok(0);
1776
+ };
1777
+ let stream = self.write_via_stream(fd, offset).map_err(|e| {
1778
+ e.try_into()
1779
+ .context("failed to call `write-via-stream`")
1780
+ .unwrap_or_else(types::Error::trap)
1781
+ })?;
1782
+ let result = blocking_mode.write(self, stream.borrowed(), buf).await;
1783
+ streams::HostOutputStream::drop(self, stream).map_err(|e| types::Error::trap(e))?;
1784
+ result?
1785
+ }
1786
+ Descriptor::Stdout { .. } | Descriptor::Stderr { .. } => {
1787
+ // NOTE: legacy implementation returns SPIPE here
1788
+ return Err(types::Errno::Spipe.into());
1789
+ }
1790
+ _ => return Err(types::Errno::Badf.into()),
1791
+ };
1792
+ Ok(n.try_into()?)
1793
+ }
1794
+
1795
+ /// Return a description of the given preopened file descriptor.
1796
+ #[instrument(skip(self))]
1797
+ fn fd_prestat_get(&mut self, fd: types::Fd) -> Result<types::Prestat, types::Error> {
1798
+ if let Descriptor::Directory {
1799
+ preopen_path: Some(p),
1800
+ ..
1801
+ } = self.transact()?.get_descriptor(fd)?
1802
+ {
1803
+ let pr_name_len = p.len().try_into()?;
1804
+ return Ok(types::Prestat::Dir(types::PrestatDir { pr_name_len }));
1805
+ }
1806
+ Err(types::Errno::Badf.into()) // NOTE: legacy implementation returns BADF here
1807
+ }
1808
+
1809
+ /// Return a description of the given preopened file descriptor.
1810
+ #[instrument(skip(self))]
1811
+ fn fd_prestat_dir_name<'a>(
1812
+ &mut self,
1813
+ fd: types::Fd,
1814
+ path: &GuestPtr<'a, u8>,
1815
+ path_max_len: types::Size,
1816
+ ) -> Result<(), types::Error> {
1817
+ let path_max_len = path_max_len.try_into()?;
1818
+ if let Descriptor::Directory {
1819
+ preopen_path: Some(p),
1820
+ ..
1821
+ } = self.transact()?.get_descriptor(fd)?
1822
+ {
1823
+ if p.len() > path_max_len {
1824
+ return Err(types::Errno::Nametoolong.into());
1825
+ }
1826
+ write_bytes(path, p.as_bytes())?;
1827
+ return Ok(());
1828
+ }
1829
+ Err(types::Errno::Notdir.into()) // NOTE: legacy implementation returns NOTDIR here
1830
+ }
1831
+
1832
+ /// Atomically replace a file descriptor by renumbering another file descriptor.
1833
+ #[instrument(skip(self))]
1834
+ fn fd_renumber(&mut self, from: types::Fd, to: types::Fd) -> Result<(), types::Error> {
1835
+ let mut st = self.transact()?;
1836
+ let desc = st.descriptors.remove(from).ok_or(types::Errno::Badf)?;
1837
+ st.descriptors.insert(to.into(), desc);
1838
+ Ok(())
1839
+ }
1840
+
1841
+ /// Move the offset of a file descriptor.
1842
+ /// NOTE: This is similar to `lseek` in POSIX.
1843
+ #[instrument(skip(self))]
1844
+ async fn fd_seek(
1845
+ &mut self,
1846
+ fd: types::Fd,
1847
+ offset: types::Filedelta,
1848
+ whence: types::Whence,
1849
+ ) -> Result<types::Filesize, types::Error> {
1850
+ let t = self.transact()?;
1851
+ let File { fd, position, .. } = t.get_seekable(fd)?;
1852
+ let fd = fd.borrowed();
1853
+ let position = position.clone();
1854
+ drop(t);
1855
+ let pos = match whence {
1856
+ types::Whence::Set if offset >= 0 => {
1857
+ offset.try_into().map_err(|_| types::Errno::Inval)?
1858
+ }
1859
+ types::Whence::Cur => position
1860
+ .load(Ordering::Relaxed)
1861
+ .checked_add_signed(offset)
1862
+ .ok_or(types::Errno::Inval)?,
1863
+ types::Whence::End => {
1864
+ let filesystem::DescriptorStat { size, .. } = self.stat(fd).await.map_err(|e| {
1865
+ e.try_into()
1866
+ .context("failed to call `stat`")
1867
+ .unwrap_or_else(types::Error::trap)
1868
+ })?;
1869
+ size.checked_add_signed(offset).ok_or(types::Errno::Inval)?
1870
+ }
1871
+ _ => return Err(types::Errno::Inval.into()),
1872
+ };
1873
+ position.store(pos, Ordering::Relaxed);
1874
+ Ok(pos)
1875
+ }
1876
+
1877
+ /// Synchronize the data and metadata of a file to disk.
1878
+ /// NOTE: This is similar to `fsync` in POSIX.
1879
+ #[instrument(skip(self))]
1880
+ async fn fd_sync(&mut self, fd: types::Fd) -> Result<(), types::Error> {
1881
+ let fd = self.get_file_fd(fd)?;
1882
+ self.sync(fd).await.map_err(|e| {
1883
+ e.try_into()
1884
+ .context("failed to call `sync`")
1885
+ .unwrap_or_else(types::Error::trap)
1886
+ })
1887
+ }
1888
+
1889
+ /// Return the current offset of a file descriptor.
1890
+ /// NOTE: This is similar to `lseek(fd, 0, SEEK_CUR)` in POSIX.
1891
+ #[instrument(skip(self))]
1892
+ fn fd_tell(&mut self, fd: types::Fd) -> Result<types::Filesize, types::Error> {
1893
+ let pos = self
1894
+ .transact()?
1895
+ .get_seekable(fd)
1896
+ .map(|File { position, .. }| position.load(Ordering::Relaxed))?;
1897
+ Ok(pos)
1898
+ }
1899
+
1900
+ #[instrument(skip(self))]
1901
+ async fn fd_readdir<'a>(
1902
+ &mut self,
1903
+ fd: types::Fd,
1904
+ buf: &GuestPtr<'a, u8>,
1905
+ buf_len: types::Size,
1906
+ cookie: types::Dircookie,
1907
+ ) -> Result<types::Size, types::Error> {
1908
+ let fd = self.get_dir_fd(fd)?;
1909
+ let stream = self.read_directory(fd.borrowed()).await.map_err(|e| {
1910
+ e.try_into()
1911
+ .context("failed to call `read-directory`")
1912
+ .unwrap_or_else(types::Error::trap)
1913
+ })?;
1914
+ let dir_metadata_hash = self.metadata_hash(fd.borrowed()).await.map_err(|e| {
1915
+ e.try_into()
1916
+ .context("failed to call `metadata-hash`")
1917
+ .unwrap_or_else(types::Error::trap)
1918
+ })?;
1919
+ let cookie = cookie.try_into().map_err(|_| types::Errno::Overflow)?;
1920
+
1921
+ let head = [
1922
+ (
1923
+ types::Dirent {
1924
+ d_next: 1u64.to_le(),
1925
+ d_ino: dir_metadata_hash.lower.to_le(),
1926
+ d_type: types::Filetype::Directory,
1927
+ d_namlen: 1u32.to_le(),
1928
+ },
1929
+ ".".into(),
1930
+ ),
1931
+ (
1932
+ types::Dirent {
1933
+ d_next: 2u64.to_le(),
1934
+ d_ino: dir_metadata_hash.lower.to_le(), // NOTE: incorrect, but legacy implementation returns `fd` inode here
1935
+ d_type: types::Filetype::Directory,
1936
+ d_namlen: 2u32.to_le(),
1937
+ },
1938
+ "..".into(),
1939
+ ),
1940
+ ];
1941
+
1942
+ let mut dir = Vec::new();
1943
+ for (entry, d_next) in self
1944
+ .table()
1945
+ // remove iterator from table and use it directly:
1946
+ .delete(stream)?
1947
+ .into_iter()
1948
+ .zip(3u64..)
1949
+ {
1950
+ let filesystem::DirectoryEntry { type_, name } = entry.map_err(|e| {
1951
+ e.try_into()
1952
+ .context("failed to inspect `read-directory` entry")
1953
+ .unwrap_or_else(types::Error::trap)
1954
+ })?;
1955
+ let metadata_hash = self
1956
+ .metadata_hash_at(fd.borrowed(), filesystem::PathFlags::empty(), name.clone())
1957
+ .await
1958
+ .map_err(|e| {
1959
+ e.try_into()
1960
+ .context("failed to call `metadata-hash-at`")
1961
+ .unwrap_or_else(types::Error::trap)
1962
+ })?;
1963
+ let d_type = type_.try_into().map_err(types::Error::trap)?;
1964
+ let d_namlen: u32 = name.len().try_into().map_err(|_| types::Errno::Overflow)?;
1965
+ dir.push((
1966
+ types::Dirent {
1967
+ d_next: d_next.to_le(),
1968
+ d_ino: metadata_hash.lower.to_le(),
1969
+ d_type, // endian-invariant
1970
+ d_namlen: d_namlen.to_le(),
1971
+ },
1972
+ name,
1973
+ ))
1974
+ }
1975
+
1976
+ // assume that `types::Dirent` size always fits in `u32`
1977
+ const DIRENT_SIZE: u32 = size_of::<types::Dirent>() as _;
1978
+ assert_eq!(
1979
+ types::Dirent::guest_size(),
1980
+ DIRENT_SIZE,
1981
+ "Dirent guest repr and host repr should match"
1982
+ );
1983
+ let mut buf = *buf;
1984
+ let mut cap = buf_len;
1985
+ for (ref entry, path) in head.into_iter().chain(dir.into_iter()).skip(cookie) {
1986
+ let mut path = path.into_bytes();
1987
+ assert_eq!(
1988
+ 1,
1989
+ size_of_val(&entry.d_type),
1990
+ "Dirent member d_type should be endian-invariant"
1991
+ );
1992
+ let entry_len = cap.min(DIRENT_SIZE);
1993
+ let entry = entry as *const _ as _;
1994
+ let entry = unsafe { slice::from_raw_parts(entry, entry_len as _) };
1995
+ cap = cap.checked_sub(entry_len).unwrap();
1996
+ buf = write_bytes(buf, entry)?;
1997
+ if cap == 0 {
1998
+ return Ok(buf_len);
1999
+ }
2000
+
2001
+ if let Ok(cap) = cap.try_into() {
2002
+ // `path` cannot be longer than `usize`, only truncate if `cap` fits in `usize`
2003
+ path.truncate(cap);
2004
+ }
2005
+ cap = cap.checked_sub(path.len() as _).unwrap();
2006
+ buf = write_bytes(buf, &path)?;
2007
+ if cap == 0 {
2008
+ return Ok(buf_len);
2009
+ }
2010
+ }
2011
+ Ok(buf_len.checked_sub(cap).unwrap())
2012
+ }
2013
+
2014
+ #[instrument(skip(self))]
2015
+ async fn path_create_directory<'a>(
2016
+ &mut self,
2017
+ dirfd: types::Fd,
2018
+ path: &GuestPtr<'a, str>,
2019
+ ) -> Result<(), types::Error> {
2020
+ let dirfd = self.get_dir_fd(dirfd)?;
2021
+ let path = read_string(path)?;
2022
+ self.create_directory_at(dirfd.borrowed(), path)
2023
+ .await
2024
+ .map_err(|e| {
2025
+ e.try_into()
2026
+ .context("failed to call `create-directory-at`")
2027
+ .unwrap_or_else(types::Error::trap)
2028
+ })
2029
+ }
2030
+
2031
+ /// Return the attributes of a file or directory.
2032
+ /// NOTE: This is similar to `stat` in POSIX.
2033
+ #[instrument(skip(self))]
2034
+ async fn path_filestat_get<'a>(
2035
+ &mut self,
2036
+ dirfd: types::Fd,
2037
+ flags: types::Lookupflags,
2038
+ path: &GuestPtr<'a, str>,
2039
+ ) -> Result<types::Filestat, types::Error> {
2040
+ let dirfd = self.get_dir_fd(dirfd)?;
2041
+ let path = read_string(path)?;
2042
+ let filesystem::DescriptorStat {
2043
+ type_,
2044
+ link_count: nlink,
2045
+ size,
2046
+ data_access_timestamp,
2047
+ data_modification_timestamp,
2048
+ status_change_timestamp,
2049
+ } = self
2050
+ .stat_at(dirfd.borrowed(), flags.into(), path.clone())
2051
+ .await
2052
+ .map_err(|e| {
2053
+ e.try_into()
2054
+ .context("failed to call `stat-at`")
2055
+ .unwrap_or_else(types::Error::trap)
2056
+ })?;
2057
+ let metadata_hash = self
2058
+ .metadata_hash_at(dirfd, flags.into(), path)
2059
+ .await
2060
+ .map_err(|e| {
2061
+ e.try_into()
2062
+ .context("failed to call `metadata-hash-at`")
2063
+ .unwrap_or_else(types::Error::trap)
2064
+ })?;
2065
+ let filetype = type_.try_into().map_err(types::Error::trap)?;
2066
+ let zero = wall_clock::Datetime {
2067
+ seconds: 0,
2068
+ nanoseconds: 0,
2069
+ };
2070
+ let atim = data_access_timestamp.unwrap_or(zero).try_into()?;
2071
+ let mtim = data_modification_timestamp.unwrap_or(zero).try_into()?;
2072
+ let ctim = status_change_timestamp.unwrap_or(zero).try_into()?;
2073
+ Ok(types::Filestat {
2074
+ dev: 1,
2075
+ ino: metadata_hash.lower,
2076
+ filetype,
2077
+ nlink,
2078
+ size,
2079
+ atim,
2080
+ mtim,
2081
+ ctim,
2082
+ })
2083
+ }
2084
+
2085
+ /// Adjust the timestamps of a file or directory.
2086
+ /// NOTE: This is similar to `utimensat` in POSIX.
2087
+ #[instrument(skip(self))]
2088
+ async fn path_filestat_set_times<'a>(
2089
+ &mut self,
2090
+ dirfd: types::Fd,
2091
+ flags: types::Lookupflags,
2092
+ path: &GuestPtr<'a, str>,
2093
+ atim: types::Timestamp,
2094
+ mtim: types::Timestamp,
2095
+ fst_flags: types::Fstflags,
2096
+ ) -> Result<(), types::Error> {
2097
+ let atim = systimespec(
2098
+ fst_flags.contains(types::Fstflags::ATIM),
2099
+ atim,
2100
+ fst_flags.contains(types::Fstflags::ATIM_NOW),
2101
+ )?;
2102
+ let mtim = systimespec(
2103
+ fst_flags.contains(types::Fstflags::MTIM),
2104
+ mtim,
2105
+ fst_flags.contains(types::Fstflags::MTIM_NOW),
2106
+ )?;
2107
+
2108
+ let dirfd = self.get_dir_fd(dirfd)?;
2109
+ let path = read_string(path)?;
2110
+ self.set_times_at(dirfd, flags.into(), path, atim, mtim)
2111
+ .await
2112
+ .map_err(|e| {
2113
+ e.try_into()
2114
+ .context("failed to call `set-times-at`")
2115
+ .unwrap_or_else(types::Error::trap)
2116
+ })
2117
+ }
2118
+
2119
+ /// Create a hard link.
2120
+ /// NOTE: This is similar to `linkat` in POSIX.
2121
+ #[instrument(skip(self))]
2122
+ async fn path_link<'a>(
2123
+ &mut self,
2124
+ src_fd: types::Fd,
2125
+ src_flags: types::Lookupflags,
2126
+ src_path: &GuestPtr<'a, str>,
2127
+ target_fd: types::Fd,
2128
+ target_path: &GuestPtr<'a, str>,
2129
+ ) -> Result<(), types::Error> {
2130
+ let src_fd = self.get_dir_fd(src_fd)?;
2131
+ let target_fd = self.get_dir_fd(target_fd)?;
2132
+ let src_path = read_string(src_path)?;
2133
+ let target_path = read_string(target_path)?;
2134
+ self.link_at(src_fd, src_flags.into(), src_path, target_fd, target_path)
2135
+ .await
2136
+ .map_err(|e| {
2137
+ e.try_into()
2138
+ .context("failed to call `link-at`")
2139
+ .unwrap_or_else(types::Error::trap)
2140
+ })
2141
+ }
2142
+
2143
+ /// Open a file or directory.
2144
+ /// NOTE: This is similar to `openat` in POSIX.
2145
+ #[instrument(skip(self))]
2146
+ async fn path_open<'a>(
2147
+ &mut self,
2148
+ dirfd: types::Fd,
2149
+ dirflags: types::Lookupflags,
2150
+ path: &GuestPtr<'a, str>,
2151
+ oflags: types::Oflags,
2152
+ fs_rights_base: types::Rights,
2153
+ _fs_rights_inheriting: types::Rights,
2154
+ fdflags: types::Fdflags,
2155
+ ) -> Result<types::Fd, types::Error> {
2156
+ let path = read_string(path)?;
2157
+
2158
+ let mut flags = filesystem::DescriptorFlags::empty();
2159
+ if fs_rights_base.contains(types::Rights::FD_READ) {
2160
+ flags |= filesystem::DescriptorFlags::READ;
2161
+ }
2162
+ if fs_rights_base.contains(types::Rights::FD_WRITE) {
2163
+ flags |= filesystem::DescriptorFlags::WRITE;
2164
+ }
2165
+ if fdflags.contains(types::Fdflags::SYNC) {
2166
+ flags |= filesystem::DescriptorFlags::FILE_INTEGRITY_SYNC;
2167
+ }
2168
+ if fdflags.contains(types::Fdflags::DSYNC) {
2169
+ flags |= filesystem::DescriptorFlags::DATA_INTEGRITY_SYNC;
2170
+ }
2171
+ if fdflags.contains(types::Fdflags::RSYNC) {
2172
+ flags |= filesystem::DescriptorFlags::REQUESTED_WRITE_SYNC;
2173
+ }
2174
+
2175
+ let t = self.transact()?;
2176
+ let dirfd = match t.get_descriptor(dirfd)? {
2177
+ Descriptor::Directory { fd, .. } => fd.borrowed(),
2178
+ Descriptor::File(_) => return Err(types::Errno::Notdir.into()),
2179
+ _ => return Err(types::Errno::Badf.into()),
2180
+ };
2181
+ drop(t);
2182
+ let fd = self
2183
+ .open_at(dirfd, dirflags.into(), path, oflags.into(), flags)
2184
+ .await
2185
+ .map_err(|e| {
2186
+ e.try_into()
2187
+ .context("failed to call `open-at`")
2188
+ .unwrap_or_else(types::Error::trap)
2189
+ })?;
2190
+ let mut t = self.transact()?;
2191
+ let desc = match t.view.table().get(&fd)? {
2192
+ crate::filesystem::Descriptor::Dir(_) => Descriptor::Directory {
2193
+ fd,
2194
+ preopen_path: None,
2195
+ },
2196
+ crate::filesystem::Descriptor::File(_) => Descriptor::File(File {
2197
+ fd,
2198
+ position: Default::default(),
2199
+ append: fdflags.contains(types::Fdflags::APPEND),
2200
+ blocking_mode: BlockingMode::from_fdflags(&fdflags),
2201
+ }),
2202
+ };
2203
+ let fd = t.descriptors.push(desc)?;
2204
+ Ok(fd.into())
2205
+ }
2206
+
2207
+ /// Read the contents of a symbolic link.
2208
+ /// NOTE: This is similar to `readlinkat` in POSIX.
2209
+ #[instrument(skip(self))]
2210
+ async fn path_readlink<'a>(
2211
+ &mut self,
2212
+ dirfd: types::Fd,
2213
+ path: &GuestPtr<'a, str>,
2214
+ buf: &GuestPtr<'a, u8>,
2215
+ buf_len: types::Size,
2216
+ ) -> Result<types::Size, types::Error> {
2217
+ let dirfd = self.get_dir_fd(dirfd)?;
2218
+ let path = read_string(path)?;
2219
+ let mut path = self
2220
+ .readlink_at(dirfd, path)
2221
+ .await
2222
+ .map_err(|e| {
2223
+ e.try_into()
2224
+ .context("failed to call `readlink-at`")
2225
+ .unwrap_or_else(types::Error::trap)
2226
+ })?
2227
+ .into_bytes();
2228
+ if let Ok(buf_len) = buf_len.try_into() {
2229
+ // `path` cannot be longer than `usize`, only truncate if `buf_len` fits in `usize`
2230
+ path.truncate(buf_len);
2231
+ }
2232
+ let n = path.len().try_into().map_err(|_| types::Errno::Overflow)?;
2233
+ write_bytes(buf, &path)?;
2234
+ Ok(n)
2235
+ }
2236
+
2237
+ #[instrument(skip(self))]
2238
+ async fn path_remove_directory<'a>(
2239
+ &mut self,
2240
+ dirfd: types::Fd,
2241
+ path: &GuestPtr<'a, str>,
2242
+ ) -> Result<(), types::Error> {
2243
+ let dirfd = self.get_dir_fd(dirfd)?;
2244
+ let path = read_string(path)?;
2245
+ self.remove_directory_at(dirfd, path).await.map_err(|e| {
2246
+ e.try_into()
2247
+ .context("failed to call `remove-directory-at`")
2248
+ .unwrap_or_else(types::Error::trap)
2249
+ })
2250
+ }
2251
+
2252
+ /// Rename a file or directory.
2253
+ /// NOTE: This is similar to `renameat` in POSIX.
2254
+ #[instrument(skip(self))]
2255
+ async fn path_rename<'a>(
2256
+ &mut self,
2257
+ src_fd: types::Fd,
2258
+ src_path: &GuestPtr<'a, str>,
2259
+ dest_fd: types::Fd,
2260
+ dest_path: &GuestPtr<'a, str>,
2261
+ ) -> Result<(), types::Error> {
2262
+ let src_fd = self.get_dir_fd(src_fd)?;
2263
+ let dest_fd = self.get_dir_fd(dest_fd)?;
2264
+ let src_path = read_string(src_path)?;
2265
+ let dest_path = read_string(dest_path)?;
2266
+ self.rename_at(src_fd, src_path, dest_fd, dest_path)
2267
+ .await
2268
+ .map_err(|e| {
2269
+ e.try_into()
2270
+ .context("failed to call `rename-at`")
2271
+ .unwrap_or_else(types::Error::trap)
2272
+ })
2273
+ }
2274
+
2275
+ #[instrument(skip(self))]
2276
+ async fn path_symlink<'a>(
2277
+ &mut self,
2278
+ src_path: &GuestPtr<'a, str>,
2279
+ dirfd: types::Fd,
2280
+ dest_path: &GuestPtr<'a, str>,
2281
+ ) -> Result<(), types::Error> {
2282
+ let dirfd = self.get_dir_fd(dirfd)?;
2283
+ let src_path = read_string(src_path)?;
2284
+ let dest_path = read_string(dest_path)?;
2285
+ self.symlink_at(dirfd.borrowed(), src_path, dest_path)
2286
+ .await
2287
+ .map_err(|e| {
2288
+ e.try_into()
2289
+ .context("failed to call `symlink-at`")
2290
+ .unwrap_or_else(types::Error::trap)
2291
+ })
2292
+ }
2293
+
2294
+ #[instrument(skip(self))]
2295
+ async fn path_unlink_file<'a>(
2296
+ &mut self,
2297
+ dirfd: types::Fd,
2298
+ path: &GuestPtr<'a, str>,
2299
+ ) -> Result<(), types::Error> {
2300
+ let dirfd = self.get_dir_fd(dirfd)?;
2301
+ let path = path.as_cow()?.to_string();
2302
+ self.unlink_file_at(dirfd.borrowed(), path)
2303
+ .await
2304
+ .map_err(|e| {
2305
+ e.try_into()
2306
+ .context("failed to call `unlink-file-at`")
2307
+ .unwrap_or_else(types::Error::trap)
2308
+ })
2309
+ }
2310
+
2311
+ #[instrument(skip(self))]
2312
+ async fn poll_oneoff<'a>(
2313
+ &mut self,
2314
+ subs: &GuestPtr<'a, types::Subscription>,
2315
+ events: &GuestPtr<'a, types::Event>,
2316
+ nsubscriptions: types::Size,
2317
+ ) -> Result<types::Size, types::Error> {
2318
+ if nsubscriptions == 0 {
2319
+ // Indefinite sleeping is not supported in preview1.
2320
+ return Err(types::Errno::Inval.into());
2321
+ }
2322
+
2323
+ // This is a special case where `poll_oneoff` is just sleeping
2324
+ // on a single relative timer event. This special case was added
2325
+ // after experimental observations showed that std::thread::sleep
2326
+ // results in more consistent sleep times. This design ensures that
2327
+ // wasmtime can handle real-time requirements more accurately.
2328
+ if nsubscriptions == 1 {
2329
+ let sub = subs.read()?;
2330
+ if let types::SubscriptionU::Clock(clocksub) = sub.u {
2331
+ if !clocksub
2332
+ .flags
2333
+ .contains(types::Subclockflags::SUBSCRIPTION_CLOCK_ABSTIME)
2334
+ && self.ctx().allow_blocking_current_thread
2335
+ {
2336
+ std::thread::sleep(std::time::Duration::from_nanos(clocksub.timeout));
2337
+ events.write(types::Event {
2338
+ userdata: sub.userdata,
2339
+ error: types::Errno::Success,
2340
+ type_: types::Eventtype::Clock,
2341
+ fd_readwrite: types::EventFdReadwrite {
2342
+ flags: types::Eventrwflags::empty(),
2343
+ nbytes: 1,
2344
+ },
2345
+ })?;
2346
+ return Ok(1);
2347
+ }
2348
+ }
2349
+ }
2350
+
2351
+ let subs = subs.as_array(nsubscriptions);
2352
+ let events = events.as_array(nsubscriptions);
2353
+
2354
+ let n = usize::try_from(nsubscriptions).unwrap_or(usize::MAX);
2355
+ let mut pollables = Vec::with_capacity(n);
2356
+ for sub in subs.iter() {
2357
+ let sub = sub?.read()?;
2358
+ let p = match sub.u {
2359
+ types::SubscriptionU::Clock(types::SubscriptionClock {
2360
+ id,
2361
+ timeout,
2362
+ flags,
2363
+ ..
2364
+ }) => {
2365
+ let absolute = flags.contains(types::Subclockflags::SUBSCRIPTION_CLOCK_ABSTIME);
2366
+ let (timeout, absolute) = match id {
2367
+ types::Clockid::Monotonic => (timeout, absolute),
2368
+ types::Clockid::Realtime if !absolute => (timeout, false),
2369
+ types::Clockid::Realtime => {
2370
+ let now = wall_clock::Host::now(self)
2371
+ .context("failed to call `wall_clock::now`")
2372
+ .map_err(types::Error::trap)?;
2373
+
2374
+ // Convert `timeout` to `Datetime` format.
2375
+ let seconds = timeout / 1_000_000_000;
2376
+ let nanoseconds = timeout % 1_000_000_000;
2377
+
2378
+ let timeout = if now.seconds < seconds
2379
+ || now.seconds == seconds
2380
+ && u64::from(now.nanoseconds) < nanoseconds
2381
+ {
2382
+ // `now` is less than `timeout`, which is expressable as u64,
2383
+ // substract the nanosecond counts directly
2384
+ now.seconds * 1_000_000_000 + u64::from(now.nanoseconds) - timeout
2385
+ } else {
2386
+ 0
2387
+ };
2388
+ (timeout, false)
2389
+ }
2390
+ _ => return Err(types::Errno::Inval.into()),
2391
+ };
2392
+ if absolute {
2393
+ monotonic_clock::Host::subscribe_instant(self, timeout)
2394
+ .context("failed to call `monotonic_clock::subscribe_instant`")
2395
+ .map_err(types::Error::trap)?
2396
+ } else {
2397
+ monotonic_clock::Host::subscribe_duration(self, timeout)
2398
+ .context("failed to call `monotonic_clock::subscribe_duration`")
2399
+ .map_err(types::Error::trap)?
2400
+ }
2401
+ }
2402
+ types::SubscriptionU::FdRead(types::SubscriptionFdReadwrite {
2403
+ file_descriptor,
2404
+ }) => {
2405
+ let stream = {
2406
+ let t = self.transact()?;
2407
+ let desc = t.get_descriptor(file_descriptor)?;
2408
+ match desc {
2409
+ Descriptor::Stdin { stream, .. } => stream.borrowed(),
2410
+ Descriptor::File(File { fd, position, .. }) => {
2411
+ let pos = position.load(Ordering::Relaxed);
2412
+ let fd = fd.borrowed();
2413
+ drop(t);
2414
+ self.read_via_stream(fd, pos).map_err(|e| {
2415
+ e.try_into()
2416
+ .context("failed to call `read-via-stream`")
2417
+ .unwrap_or_else(types::Error::trap)
2418
+ })?
2419
+ }
2420
+ // TODO: Support sockets
2421
+ _ => return Err(types::Errno::Badf.into()),
2422
+ }
2423
+ };
2424
+ streams::HostInputStream::subscribe(self, stream)
2425
+ .context("failed to call `subscribe` on `input-stream`")
2426
+ .map_err(types::Error::trap)?
2427
+ }
2428
+ types::SubscriptionU::FdWrite(types::SubscriptionFdReadwrite {
2429
+ file_descriptor,
2430
+ }) => {
2431
+ let stream = {
2432
+ let t = self.transact()?;
2433
+ let desc = t.get_descriptor(file_descriptor)?;
2434
+ match desc {
2435
+ Descriptor::Stdout { stream, .. }
2436
+ | Descriptor::Stderr { stream, .. } => stream.borrowed(),
2437
+ Descriptor::File(File {
2438
+ fd,
2439
+ position,
2440
+ append,
2441
+ ..
2442
+ }) => {
2443
+ let fd = fd.borrowed();
2444
+ let position = position.clone();
2445
+ let append = *append;
2446
+ drop(t);
2447
+ if append {
2448
+ self.append_via_stream(fd).map_err(|e| {
2449
+ e.try_into()
2450
+ .context("failed to call `append-via-stream`")
2451
+ .unwrap_or_else(types::Error::trap)
2452
+ })?
2453
+ } else {
2454
+ let pos = position.load(Ordering::Relaxed);
2455
+ self.write_via_stream(fd, pos).map_err(|e| {
2456
+ e.try_into()
2457
+ .context("failed to call `write-via-stream`")
2458
+ .unwrap_or_else(types::Error::trap)
2459
+ })?
2460
+ }
2461
+ }
2462
+ // TODO: Support sockets
2463
+ _ => return Err(types::Errno::Badf.into()),
2464
+ }
2465
+ };
2466
+ streams::HostOutputStream::subscribe(self, stream)
2467
+ .context("failed to call `subscribe` on `output-stream`")
2468
+ .map_err(types::Error::trap)?
2469
+ }
2470
+ };
2471
+ pollables.push(p);
2472
+ }
2473
+ let ready: HashSet<_> = self
2474
+ .poll(pollables)
2475
+ .await
2476
+ .context("failed to call `poll-oneoff`")
2477
+ .map_err(types::Error::trap)?
2478
+ .into_iter()
2479
+ .collect();
2480
+
2481
+ let mut count: types::Size = 0;
2482
+ for (sub, event) in (0..)
2483
+ .zip(subs.iter())
2484
+ .filter_map(|(idx, sub)| ready.contains(&idx).then_some(sub))
2485
+ .zip(events.iter())
2486
+ {
2487
+ let sub = sub?.read()?;
2488
+ let event = event?;
2489
+ let e = match sub.u {
2490
+ types::SubscriptionU::Clock(..) => types::Event {
2491
+ userdata: sub.userdata,
2492
+ error: types::Errno::Success,
2493
+ type_: types::Eventtype::Clock,
2494
+ fd_readwrite: types::EventFdReadwrite {
2495
+ flags: types::Eventrwflags::empty(),
2496
+ nbytes: 0,
2497
+ },
2498
+ },
2499
+ types::SubscriptionU::FdRead(types::SubscriptionFdReadwrite {
2500
+ file_descriptor,
2501
+ }) => {
2502
+ let t = self.transact()?;
2503
+ let desc = t.get_descriptor(file_descriptor)?;
2504
+ match desc {
2505
+ Descriptor::Stdin { .. } => types::Event {
2506
+ userdata: sub.userdata,
2507
+ error: types::Errno::Success,
2508
+ type_: types::Eventtype::FdRead,
2509
+ fd_readwrite: types::EventFdReadwrite {
2510
+ flags: types::Eventrwflags::empty(),
2511
+ nbytes: 1,
2512
+ },
2513
+ },
2514
+ Descriptor::File(File { fd, position, .. }) => {
2515
+ let fd = fd.borrowed();
2516
+ let position = position.clone();
2517
+ drop(t);
2518
+ match self.stat(fd).await? {
2519
+ filesystem::DescriptorStat { size, .. } => {
2520
+ let pos = position.load(Ordering::Relaxed);
2521
+ let nbytes = size.saturating_sub(pos);
2522
+ types::Event {
2523
+ userdata: sub.userdata,
2524
+ error: types::Errno::Success,
2525
+ type_: types::Eventtype::FdRead,
2526
+ fd_readwrite: types::EventFdReadwrite {
2527
+ flags: if nbytes == 0 {
2528
+ types::Eventrwflags::FD_READWRITE_HANGUP
2529
+ } else {
2530
+ types::Eventrwflags::empty()
2531
+ },
2532
+ nbytes: 1,
2533
+ },
2534
+ }
2535
+ }
2536
+ }
2537
+ }
2538
+ // TODO: Support sockets
2539
+ _ => return Err(types::Errno::Badf.into()),
2540
+ }
2541
+ }
2542
+ types::SubscriptionU::FdWrite(types::SubscriptionFdReadwrite {
2543
+ file_descriptor,
2544
+ }) => {
2545
+ let t = self.transact()?;
2546
+ let desc = t.get_descriptor(file_descriptor)?;
2547
+ match desc {
2548
+ Descriptor::Stdout { .. } | Descriptor::Stderr { .. } => types::Event {
2549
+ userdata: sub.userdata,
2550
+ error: types::Errno::Success,
2551
+ type_: types::Eventtype::FdWrite,
2552
+ fd_readwrite: types::EventFdReadwrite {
2553
+ flags: types::Eventrwflags::empty(),
2554
+ nbytes: 1,
2555
+ },
2556
+ },
2557
+ Descriptor::File(_) => types::Event {
2558
+ userdata: sub.userdata,
2559
+ error: types::Errno::Success,
2560
+ type_: types::Eventtype::FdWrite,
2561
+ fd_readwrite: types::EventFdReadwrite {
2562
+ flags: types::Eventrwflags::empty(),
2563
+ nbytes: 1,
2564
+ },
2565
+ },
2566
+ // TODO: Support sockets
2567
+ _ => return Err(types::Errno::Badf.into()),
2568
+ }
2569
+ }
2570
+ };
2571
+ event.write(e)?;
2572
+ count = count
2573
+ .checked_add(1)
2574
+ .ok_or_else(|| types::Error::from(types::Errno::Overflow))?
2575
+ }
2576
+ Ok(count)
2577
+ }
2578
+
2579
+ #[instrument(skip(self))]
2580
+ fn proc_exit(&mut self, status: types::Exitcode) -> anyhow::Error {
2581
+ // Check that the status is within WASI's range.
2582
+ if status >= 126 {
2583
+ return anyhow::Error::msg("exit with invalid exit status outside of [0..126)");
2584
+ }
2585
+ crate::I32Exit(status as i32).into()
2586
+ }
2587
+
2588
+ #[instrument(skip(self))]
2589
+ fn proc_raise(&mut self, _sig: types::Signal) -> Result<(), types::Error> {
2590
+ Err(types::Errno::Notsup.into())
2591
+ }
2592
+
2593
+ #[instrument(skip(self))]
2594
+ fn sched_yield(&mut self) -> Result<(), types::Error> {
2595
+ // No such thing in preview 2. Intentionally left empty.
2596
+ Ok(())
2597
+ }
2598
+
2599
+ #[instrument(skip(self))]
2600
+ fn random_get<'a>(
2601
+ &mut self,
2602
+ buf: &GuestPtr<'a, u8>,
2603
+ buf_len: types::Size,
2604
+ ) -> Result<(), types::Error> {
2605
+ let rand = self
2606
+ .get_random_bytes(buf_len.into())
2607
+ .context("failed to call `get-random-bytes`")
2608
+ .map_err(types::Error::trap)?;
2609
+ write_bytes(buf, &rand)?;
2610
+ Ok(())
2611
+ }
2612
+
2613
+ #[allow(unused_variables)]
2614
+ #[instrument(skip(self))]
2615
+ fn sock_accept(
2616
+ &mut self,
2617
+ fd: types::Fd,
2618
+ flags: types::Fdflags,
2619
+ ) -> Result<types::Fd, types::Error> {
2620
+ todo!("preview1 sock_accept is not implemented")
2621
+ }
2622
+
2623
+ #[allow(unused_variables)]
2624
+ #[instrument(skip(self))]
2625
+ fn sock_recv<'a>(
2626
+ &mut self,
2627
+ fd: types::Fd,
2628
+ ri_data: &types::IovecArray<'a>,
2629
+ ri_flags: types::Riflags,
2630
+ ) -> Result<(types::Size, types::Roflags), types::Error> {
2631
+ todo!("preview1 sock_recv is not implemented")
2632
+ }
2633
+
2634
+ #[allow(unused_variables)]
2635
+ #[instrument(skip(self))]
2636
+ fn sock_send<'a>(
2637
+ &mut self,
2638
+ fd: types::Fd,
2639
+ si_data: &types::CiovecArray<'a>,
2640
+ _si_flags: types::Siflags,
2641
+ ) -> Result<types::Size, types::Error> {
2642
+ todo!("preview1 sock_send is not implemented")
2643
+ }
2644
+
2645
+ #[allow(unused_variables)]
2646
+ #[instrument(skip(self))]
2647
+ fn sock_shutdown(&mut self, fd: types::Fd, how: types::Sdflags) -> Result<(), types::Error> {
2648
+ todo!("preview1 sock_shutdown is not implemented")
2649
+ }
2650
+ }
2651
+
2652
+ trait ResourceExt<T> {
2653
+ fn borrowed(&self) -> Resource<T>;
2654
+ }
2655
+
2656
+ impl<T: 'static> ResourceExt<T> for Resource<T> {
2657
+ fn borrowed(&self) -> Resource<T> {
2658
+ Resource::new_borrow(self.rep())
2659
+ }
2660
+ }