wasmtime 21.0.1 → 23.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2477) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +129 -99
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cranelift-bforest-0.110.2/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.110.2/Cargo.toml +50 -0
  6. data/ext/cargo-vendor/cranelift-bitset-0.110.2/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-bitset-0.110.2/Cargo.toml +60 -0
  8. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/compound.rs +508 -0
  9. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/lib.rs +19 -0
  10. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/scalar.rs +575 -0
  11. data/ext/cargo-vendor/cranelift-bitset-0.110.2/tests/bitset.rs +78 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.110.2/.cargo-checksum.json +1 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.110.2/Cargo.toml +206 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/binemit/stack_map.rs +141 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/context.rs +390 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/data_value.rs +410 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/dominator_tree.rs +727 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/egraph.rs +835 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/inst_predicates.rs +230 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/dfg.rs +1806 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/extfunc.rs +402 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/globalvalue.rs +147 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/immediates.rs +2109 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/instructions.rs +1015 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/jumptable.rs +168 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/mod.rs +110 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/stackslot.rs +208 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/trapcode.rs +148 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/types.rs +643 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/user_stack_maps.rs +101 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/abi.rs +1556 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/args.rs +711 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit.rs +3605 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit_tests.rs +7927 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/imms.rs +1213 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/mod.rs +3058 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/regs.rs +269 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst.isle +4221 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/lower.isle +2969 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/mod.rs +259 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/pcc.rs +568 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/mod.rs +462 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/abi.rs +1029 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/args.rs +2054 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit.rs +2741 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit_tests.rs +2219 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/encode.rs +675 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/imms.rs +374 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/mod.rs +1935 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/vector.rs +1150 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst.isle +3153 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst_vector.isle +1907 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower/isle.rs +654 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower.isle +2953 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/mod.rs +265 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/abi.rs +1016 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/args.rs +298 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit.rs +3421 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit_tests.rs +13388 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/imms.rs +202 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/mod.rs +3395 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/regs.rs +169 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/unwind/systemv.rs +212 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst.isle +5028 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/lower.isle +3983 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/mod.rs +220 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/abi.rs +1390 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/args.rs +2240 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit.rs +4297 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_state.rs +65 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_tests.rs +5171 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/mod.rs +2818 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/regs.rs +275 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/unwind/systemv.rs +198 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst.isle +5299 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/lower.isle +4819 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/mod.rs +239 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/pcc.rs +1014 -0
  81. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isle_prelude.rs +965 -0
  82. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/legalizer/mod.rs +343 -0
  83. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/lib.rs +106 -0
  84. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/abi.rs +2427 -0
  85. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/blockorder.rs +465 -0
  86. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/buffer.rs +2544 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/helpers.rs +23 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/isle.rs +908 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/lower.rs +1462 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/mod.rs +564 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/reg.rs +479 -0
  92. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/valueregs.rs +138 -0
  93. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/vcode.rs +1840 -0
  94. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/opts/cprop.isle +297 -0
  95. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/opts/shifts.isle +307 -0
  96. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude.isle +654 -0
  97. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude_lower.isle +1070 -0
  98. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/timing.rs +296 -0
  99. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/traversals.rs +216 -0
  100. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/verifier/mod.rs +1957 -0
  101. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/write.rs +660 -0
  102. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/.cargo-checksum.json +1 -0
  103. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/Cargo.toml +45 -0
  104. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/types.rs +512 -0
  105. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/typevar.rs +980 -0
  106. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/gen_inst.rs +1278 -0
  107. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/isa/riscv64.rs +174 -0
  108. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/instructions.rs +3760 -0
  109. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/types.rs +143 -0
  110. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/.cargo-checksum.json +1 -0
  111. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/Cargo.toml +31 -0
  112. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/src/constants.rs +28 -0
  113. data/ext/cargo-vendor/cranelift-control-0.110.2/.cargo-checksum.json +1 -0
  114. data/ext/cargo-vendor/cranelift-control-0.110.2/Cargo.toml +39 -0
  115. data/ext/cargo-vendor/cranelift-entity-0.110.2/.cargo-checksum.json +1 -0
  116. data/ext/cargo-vendor/cranelift-entity-0.110.2/Cargo.toml +66 -0
  117. data/ext/cargo-vendor/cranelift-entity-0.110.2/src/set.rs +193 -0
  118. data/ext/cargo-vendor/cranelift-frontend-0.110.2/.cargo-checksum.json +1 -0
  119. data/ext/cargo-vendor/cranelift-frontend-0.110.2/Cargo.toml +87 -0
  120. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/frontend.rs +2867 -0
  121. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/lib.rs +187 -0
  122. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/ssa.rs +1328 -0
  123. data/ext/cargo-vendor/cranelift-isle-0.110.2/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/cranelift-isle-0.110.2/Cargo.toml +60 -0
  125. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/codegen.rs +920 -0
  126. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/parser.rs +562 -0
  127. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/sema.rs +2503 -0
  128. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/trie_again.rs +695 -0
  129. data/ext/cargo-vendor/cranelift-native-0.110.2/.cargo-checksum.json +1 -0
  130. data/ext/cargo-vendor/cranelift-native-0.110.2/Cargo.toml +52 -0
  131. data/ext/cargo-vendor/cranelift-native-0.110.2/src/lib.rs +188 -0
  132. data/ext/cargo-vendor/cranelift-native-0.110.2/src/riscv.rs +128 -0
  133. data/ext/cargo-vendor/cranelift-wasm-0.110.2/.cargo-checksum.json +1 -0
  134. data/ext/cargo-vendor/cranelift-wasm-0.110.2/Cargo.toml +119 -0
  135. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator/bounds_checks.rs +731 -0
  136. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator.rs +3694 -0
  137. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/func_translator.rs +296 -0
  138. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/heap.rs +119 -0
  139. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/module_translator.rs +120 -0
  140. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/sections_translator.rs +333 -0
  141. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/state.rs +522 -0
  142. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/.cargo-checksum.json +1 -0
  143. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/Cargo.toml +69 -0
  144. data/ext/cargo-vendor/object-0.36.3/.cargo-checksum.json +1 -0
  145. data/ext/cargo-vendor/object-0.36.3/CHANGELOG.md +1028 -0
  146. data/ext/cargo-vendor/object-0.36.3/Cargo.toml +180 -0
  147. data/ext/cargo-vendor/object-0.36.3/README.md +60 -0
  148. data/ext/cargo-vendor/object-0.36.3/src/build/bytes.rs +146 -0
  149. data/ext/cargo-vendor/object-0.36.3/src/build/elf.rs +3113 -0
  150. data/ext/cargo-vendor/object-0.36.3/src/common.rs +590 -0
  151. data/ext/cargo-vendor/object-0.36.3/src/elf.rs +6303 -0
  152. data/ext/cargo-vendor/object-0.36.3/src/endian.rs +831 -0
  153. data/ext/cargo-vendor/object-0.36.3/src/macho.rs +3303 -0
  154. data/ext/cargo-vendor/object-0.36.3/src/pod.rs +281 -0
  155. data/ext/cargo-vendor/object-0.36.3/src/read/any.rs +1334 -0
  156. data/ext/cargo-vendor/object-0.36.3/src/read/archive.rs +1133 -0
  157. data/ext/cargo-vendor/object-0.36.3/src/read/coff/comdat.rs +220 -0
  158. data/ext/cargo-vendor/object-0.36.3/src/read/coff/file.rs +381 -0
  159. data/ext/cargo-vendor/object-0.36.3/src/read/coff/relocation.rs +113 -0
  160. data/ext/cargo-vendor/object-0.36.3/src/read/coff/section.rs +619 -0
  161. data/ext/cargo-vendor/object-0.36.3/src/read/coff/symbol.rs +669 -0
  162. data/ext/cargo-vendor/object-0.36.3/src/read/elf/attributes.rs +340 -0
  163. data/ext/cargo-vendor/object-0.36.3/src/read/elf/comdat.rs +186 -0
  164. data/ext/cargo-vendor/object-0.36.3/src/read/elf/file.rs +959 -0
  165. data/ext/cargo-vendor/object-0.36.3/src/read/elf/hash.rs +236 -0
  166. data/ext/cargo-vendor/object-0.36.3/src/read/elf/note.rs +302 -0
  167. data/ext/cargo-vendor/object-0.36.3/src/read/elf/relocation.rs +661 -0
  168. data/ext/cargo-vendor/object-0.36.3/src/read/elf/section.rs +1241 -0
  169. data/ext/cargo-vendor/object-0.36.3/src/read/elf/segment.rs +365 -0
  170. data/ext/cargo-vendor/object-0.36.3/src/read/elf/symbol.rs +654 -0
  171. data/ext/cargo-vendor/object-0.36.3/src/read/elf/version.rs +513 -0
  172. data/ext/cargo-vendor/object-0.36.3/src/read/gnu_compression.rs +36 -0
  173. data/ext/cargo-vendor/object-0.36.3/src/read/macho/dyld_cache.rs +384 -0
  174. data/ext/cargo-vendor/object-0.36.3/src/read/macho/file.rs +779 -0
  175. data/ext/cargo-vendor/object-0.36.3/src/read/macho/load_command.rs +404 -0
  176. data/ext/cargo-vendor/object-0.36.3/src/read/macho/section.rs +420 -0
  177. data/ext/cargo-vendor/object-0.36.3/src/read/macho/segment.rs +317 -0
  178. data/ext/cargo-vendor/object-0.36.3/src/read/macho/symbol.rs +532 -0
  179. data/ext/cargo-vendor/object-0.36.3/src/read/mod.rs +1018 -0
  180. data/ext/cargo-vendor/object-0.36.3/src/read/pe/file.rs +1033 -0
  181. data/ext/cargo-vendor/object-0.36.3/src/read/pe/import.rs +381 -0
  182. data/ext/cargo-vendor/object-0.36.3/src/read/pe/relocation.rs +109 -0
  183. data/ext/cargo-vendor/object-0.36.3/src/read/pe/section.rs +476 -0
  184. data/ext/cargo-vendor/object-0.36.3/src/read/read_cache.rs +261 -0
  185. data/ext/cargo-vendor/object-0.36.3/src/read/traits.rs +589 -0
  186. data/ext/cargo-vendor/object-0.36.3/src/read/wasm.rs +983 -0
  187. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/file.rs +716 -0
  188. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/relocation.rs +138 -0
  189. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/section.rs +452 -0
  190. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/symbol.rs +836 -0
  191. data/ext/cargo-vendor/object-0.36.3/src/write/coff/object.rs +681 -0
  192. data/ext/cargo-vendor/object-0.36.3/src/write/coff/writer.rs +520 -0
  193. data/ext/cargo-vendor/object-0.36.3/src/write/elf/object.rs +897 -0
  194. data/ext/cargo-vendor/object-0.36.3/src/write/elf/writer.rs +2361 -0
  195. data/ext/cargo-vendor/object-0.36.3/src/write/macho.rs +1124 -0
  196. data/ext/cargo-vendor/object-0.36.3/src/write/mod.rs +1023 -0
  197. data/ext/cargo-vendor/object-0.36.3/src/write/pe.rs +849 -0
  198. data/ext/cargo-vendor/object-0.36.3/src/write/xcoff.rs +588 -0
  199. data/ext/cargo-vendor/object-0.36.3/tests/build/elf.rs +254 -0
  200. data/ext/cargo-vendor/object-0.36.3/tests/build/mod.rs +3 -0
  201. data/ext/cargo-vendor/object-0.36.3/tests/integration.rs +3 -0
  202. data/ext/cargo-vendor/object-0.36.3/tests/read/macho.rs +49 -0
  203. data/ext/cargo-vendor/object-0.36.3/tests/read/mod.rs +5 -0
  204. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/bss.rs +244 -0
  205. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/comdat.rs +217 -0
  206. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/common.rs +241 -0
  207. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/elf.rs +302 -0
  208. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/mod.rs +682 -0
  209. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/section_flags.rs +89 -0
  210. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/tls.rs +308 -0
  211. data/ext/cargo-vendor/termcolor-1.4.1/.cargo-checksum.json +1 -0
  212. data/ext/cargo-vendor/termcolor-1.4.1/COPYING +3 -0
  213. data/ext/cargo-vendor/termcolor-1.4.1/Cargo.toml +40 -0
  214. data/ext/cargo-vendor/termcolor-1.4.1/LICENSE-MIT +21 -0
  215. data/ext/cargo-vendor/termcolor-1.4.1/README.md +110 -0
  216. data/ext/cargo-vendor/termcolor-1.4.1/UNLICENSE +24 -0
  217. data/ext/cargo-vendor/termcolor-1.4.1/rustfmt.toml +2 -0
  218. data/ext/cargo-vendor/termcolor-1.4.1/src/lib.rs +2572 -0
  219. data/ext/cargo-vendor/wasi-common-23.0.2/.cargo-checksum.json +1 -0
  220. data/ext/cargo-vendor/wasi-common-23.0.2/Cargo.toml +234 -0
  221. data/ext/cargo-vendor/wasi-common-23.0.2/src/snapshots/preview_0.rs +1080 -0
  222. data/ext/cargo-vendor/wasi-common-23.0.2/src/snapshots/preview_1.rs +1562 -0
  223. data/ext/cargo-vendor/wasi-common-23.0.2/src/string_array.rs +75 -0
  224. data/ext/cargo-vendor/wasi-common-23.0.2/src/sync/sched/windows.rs +221 -0
  225. data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/file.rs +247 -0
  226. data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/mod.rs +135 -0
  227. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/async_.rs +295 -0
  228. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/sync.rs +284 -0
  229. data/ext/cargo-vendor/wasm-encoder-0.212.0/.cargo-checksum.json +1 -0
  230. data/ext/cargo-vendor/wasm-encoder-0.212.0/Cargo.toml +49 -0
  231. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/component/types.rs +771 -0
  232. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/code.rs +3571 -0
  233. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/exports.rs +85 -0
  234. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/globals.rs +100 -0
  235. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/imports.rs +143 -0
  236. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/memories.rs +115 -0
  237. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tables.rs +121 -0
  238. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tags.rs +85 -0
  239. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/types.rs +663 -0
  240. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/lib.rs +218 -0
  241. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/reencode.rs +1804 -0
  242. data/ext/cargo-vendor/wasm-encoder-0.215.0/.cargo-checksum.json +1 -0
  243. data/ext/cargo-vendor/wasm-encoder-0.215.0/Cargo.toml +65 -0
  244. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/types.rs +802 -0
  245. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/code.rs +3947 -0
  246. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/dump.rs +627 -0
  247. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/elements.rs +222 -0
  248. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/exports.rs +85 -0
  249. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/globals.rs +100 -0
  250. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/imports.rs +143 -0
  251. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/memories.rs +115 -0
  252. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/producers.rs +181 -0
  253. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tables.rs +129 -0
  254. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tags.rs +85 -0
  255. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/types.rs +678 -0
  256. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/lib.rs +218 -0
  257. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/reencode.rs +2002 -0
  258. data/ext/cargo-vendor/wasmparser-0.212.0/.cargo-checksum.json +1 -0
  259. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.lock +669 -0
  260. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.toml +112 -0
  261. data/ext/cargo-vendor/wasmparser-0.212.0/src/binary_reader.rs +1968 -0
  262. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/hash.rs +120 -0
  263. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_map/detail.rs +1094 -0
  264. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_map/tests.rs +183 -0
  265. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_map.rs +656 -0
  266. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_set.rs +316 -0
  267. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/map.rs +840 -0
  268. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/mod.rs +24 -0
  269. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/set.rs +660 -0
  270. data/ext/cargo-vendor/wasmparser-0.212.0/src/features.rs +166 -0
  271. data/ext/cargo-vendor/wasmparser-0.212.0/src/lib.rs +814 -0
  272. data/ext/cargo-vendor/wasmparser-0.212.0/src/limits.rs +79 -0
  273. data/ext/cargo-vendor/wasmparser-0.212.0/src/parser.rs +1682 -0
  274. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/imports.rs +130 -0
  275. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/instances.rs +166 -0
  276. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/names.rs +99 -0
  277. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/types.rs +553 -0
  278. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/branch_hinting.rs +59 -0
  279. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/code.rs +142 -0
  280. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/coredumps.rs +278 -0
  281. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/custom.rs +128 -0
  282. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/data.rs +96 -0
  283. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/elements.rs +146 -0
  284. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/globals.rs +61 -0
  285. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/init.rs +57 -0
  286. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/linking.rs +457 -0
  287. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/names.rs +159 -0
  288. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/operators.rs +453 -0
  289. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/producers.rs +84 -0
  290. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/reloc.rs +300 -0
  291. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/tables.rs +93 -0
  292. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/types.rs +1941 -0
  293. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers.rs +315 -0
  294. data/ext/cargo-vendor/wasmparser-0.212.0/src/resources.rs +234 -0
  295. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/component.rs +3252 -0
  296. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core/canonical.rs +233 -0
  297. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core.rs +1454 -0
  298. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/func.rs +331 -0
  299. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/names.rs +1016 -0
  300. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/operators.rs +4230 -0
  301. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/types.rs +4598 -0
  302. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator.rs +1632 -0
  303. data/ext/cargo-vendor/wasmprinter-0.212.0/.cargo-checksum.json +1 -0
  304. data/ext/cargo-vendor/wasmprinter-0.212.0/Cargo.toml +54 -0
  305. data/ext/cargo-vendor/wasmprinter-0.212.0/src/lib.rs +3221 -0
  306. data/ext/cargo-vendor/wasmprinter-0.212.0/src/operator.rs +1189 -0
  307. data/ext/cargo-vendor/wasmprinter-0.212.0/src/print.rs +190 -0
  308. data/ext/cargo-vendor/wasmprinter-0.212.0/tests/all.rs +48 -0
  309. data/ext/cargo-vendor/wasmtime-23.0.2/.cargo-checksum.json +1 -0
  310. data/ext/cargo-vendor/wasmtime-23.0.2/Cargo.toml +399 -0
  311. data/ext/cargo-vendor/wasmtime-23.0.2/build.rs +38 -0
  312. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/code_builder.rs +274 -0
  313. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/runtime.rs +167 -0
  314. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile.rs +881 -0
  315. data/ext/cargo-vendor/wasmtime-23.0.2/src/config.rs +2902 -0
  316. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine/serialization.rs +893 -0
  317. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine.rs +719 -0
  318. data/ext/cargo-vendor/wasmtime-23.0.2/src/lib.rs +406 -0
  319. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/jitdump.rs +65 -0
  320. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/perfmap.rs +47 -0
  321. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/vtune.rs +80 -0
  322. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent.rs +104 -0
  323. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code.rs +102 -0
  324. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code_memory.rs +337 -0
  325. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_0_hello_world.rs +9 -0
  326. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_1_world_imports.rs +17 -0
  327. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_2_world_exports.rs +18 -0
  328. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_3_interface_imports.rs +20 -0
  329. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_4_imported_resources.rs +45 -0
  330. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +29 -0
  331. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_6_exported_resources.rs +26 -0
  332. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/mod.rs +488 -0
  333. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/component.rs +811 -0
  334. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/host.rs +439 -0
  335. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/options.rs +552 -0
  336. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/typed.rs +2497 -0
  337. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func.rs +688 -0
  338. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/instance.rs +846 -0
  339. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/linker.rs +673 -0
  340. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/matching.rs +216 -0
  341. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/mod.rs +663 -0
  342. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resource_table.rs +355 -0
  343. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resources.rs +1132 -0
  344. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/types.rs +897 -0
  345. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/values.rs +979 -0
  346. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/coredump.rs +339 -0
  347. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/debug.rs +165 -0
  348. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/global.rs +310 -0
  349. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/table.rs +480 -0
  350. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func/typed.rs +788 -0
  351. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func.rs +2593 -0
  352. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/disabled/rooting.rs +224 -0
  353. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/anyref.rs +410 -0
  354. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/externref.rs +591 -0
  355. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/i31.rs +299 -0
  356. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/rooting.rs +1590 -0
  357. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/noextern.rs +154 -0
  358. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc.rs +92 -0
  359. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instance.rs +989 -0
  360. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instantiate.rs +332 -0
  361. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/limits.rs +398 -0
  362. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/linker.rs +1498 -0
  363. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/memory.rs +1101 -0
  364. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module/registry.rs +353 -0
  365. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module.rs +1179 -0
  366. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/profiling.rs +280 -0
  367. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/stack.rs +72 -0
  368. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/data.rs +301 -0
  369. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/func_refs.rs +90 -0
  370. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store.rs +2873 -0
  371. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/func.rs +93 -0
  372. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/memory.rs +295 -0
  373. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/table.rs +28 -0
  374. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline.rs +75 -0
  375. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trap.rs +642 -0
  376. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/type_registry.rs +1015 -0
  377. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types/matching.rs +428 -0
  378. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types.rs +2771 -0
  379. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/v128.rs +116 -0
  380. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/values.rs +966 -0
  381. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/arch/riscv64.rs +41 -0
  382. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/libcalls.rs +571 -0
  383. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/resources.rs +351 -0
  384. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component.rs +857 -0
  385. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/const_expr.rs +102 -0
  386. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/cow.rs +988 -0
  387. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/export.rs +108 -0
  388. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/disabled.rs +23 -0
  389. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/drc.rs +964 -0
  390. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/free_list.rs +770 -0
  391. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_ref.rs +490 -0
  392. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_runtime.rs +505 -0
  393. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc.rs +244 -0
  394. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/on_demand.rs +219 -0
  395. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +199 -0
  396. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +93 -0
  397. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  398. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +703 -0
  399. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +990 -0
  400. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  401. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +279 -0
  402. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling.rs +793 -0
  403. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator.rs +808 -0
  404. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance.rs +1518 -0
  405. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/libcalls.rs +832 -0
  406. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/memory.rs +815 -0
  407. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap.rs +217 -0
  408. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap_vec.rs +159 -0
  409. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/module_id.rs +19 -0
  410. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/disabled.rs +43 -0
  411. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/enabled.rs +213 -0
  412. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/mod.rs +59 -0
  413. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/sys.rs +113 -0
  414. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/capi.rs +200 -0
  415. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mmap.rs +112 -0
  416. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mod.rs +34 -0
  417. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/unwind.rs +17 -0
  418. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/vm.rs +105 -0
  419. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/mmap.rs +98 -0
  420. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/unwind.rs +17 -0
  421. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/vm.rs +59 -0
  422. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/mod.rs +36 -0
  423. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/mmap.rs +159 -0
  424. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/signals.rs +407 -0
  425. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/unwind.rs +149 -0
  426. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/vm.rs +190 -0
  427. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/mmap.rs +220 -0
  428. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/unwind.rs +46 -0
  429. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/vm.rs +75 -0
  430. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/table.rs +898 -0
  431. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory.rs +235 -0
  432. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory_disabled.rs +104 -0
  433. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/traphandlers.rs +767 -0
  434. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  435. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext.rs +1246 -0
  436. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm.rs +403 -0
  437. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime.rs +113 -0
  438. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/.cargo-checksum.json +1 -0
  439. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/Cargo.toml +32 -0
  440. data/ext/cargo-vendor/wasmtime-cache-23.0.2/.cargo-checksum.json +1 -0
  441. data/ext/cargo-vendor/wasmtime-cache-23.0.2/Cargo.toml +103 -0
  442. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/config.rs +584 -0
  443. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/lib.rs +235 -0
  444. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/tests.rs +91 -0
  445. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/worker/tests.rs +758 -0
  446. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/worker.rs +890 -0
  447. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/.cargo-checksum.json +1 -0
  448. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/Cargo.toml +106 -0
  449. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/bindgen.rs +500 -0
  450. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/component.rs +1330 -0
  451. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/codegen.rs +698 -0
  452. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char.rs +268 -0
  453. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char_async.rs +291 -0
  454. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions.rs +706 -0
  455. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions_async.rs +757 -0
  456. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code.rs +194 -0
  457. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code_async.rs +213 -0
  458. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import.rs +120 -0
  459. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import_async.rs +132 -0
  460. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty.rs +74 -0
  461. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty_async.rs +80 -0
  462. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags.rs +743 -0
  463. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags_async.rs +791 -0
  464. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats.rs +343 -0
  465. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats_async.rs +376 -0
  466. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new.rs +94 -0
  467. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new_async.rs +103 -0
  468. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers.rs +873 -0
  469. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers_async.rs +976 -0
  470. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists.rs +1924 -0
  471. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists_async.rs +2114 -0
  472. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments.rs +614 -0
  473. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments_async.rs +638 -0
  474. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return.rs +357 -0
  475. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return_async.rs +391 -0
  476. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion.rs +354 -0
  477. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion_async.rs +379 -0
  478. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records.rs +940 -0
  479. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records_async.rs +1008 -0
  480. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename.rs +183 -0
  481. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename_async.rs +202 -0
  482. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export.rs +657 -0
  483. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export_async.rs +712 -0
  484. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import.rs +1088 -0
  485. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import_async.rs +1166 -0
  486. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types.rs +315 -0
  487. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types_async.rs +337 -0
  488. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions.rs +399 -0
  489. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions_async.rs +439 -0
  490. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists.rs +427 -0
  491. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists_async.rs +464 -0
  492. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi.rs +245 -0
  493. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi_async.rs +264 -0
  494. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous.rs +338 -0
  495. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous_async.rs +356 -0
  496. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default.rs +94 -0
  497. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default_async.rs +103 -0
  498. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export.rs +149 -0
  499. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export_async.rs +158 -0
  500. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke.rs +133 -0
  501. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke_async.rs +146 -0
  502. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings.rs +316 -0
  503. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings_async.rs +344 -0
  504. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo.rs +165 -0
  505. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo_async.rs +178 -0
  506. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths.rs +317 -0
  507. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths_async.rs +349 -0
  508. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants.rs +1896 -0
  509. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants_async.rs +2019 -0
  510. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat.rs +145 -0
  511. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat_async.rs +151 -0
  512. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types.rs +175 -0
  513. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types_async.rs +191 -0
  514. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded.rs +65 -0
  515. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/.cargo-checksum.json +1 -0
  516. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/Cargo.toml +35 -0
  517. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/.cargo-checksum.json +1 -0
  518. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/Cargo.toml +125 -0
  519. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler/component.rs +957 -0
  520. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler.rs +1029 -0
  521. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/gc.rs +257 -0
  522. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/address_transform.rs +841 -0
  523. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/attr.rs +328 -0
  524. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/expression.rs +1264 -0
  525. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/line_program.rs +287 -0
  526. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/mod.rs +273 -0
  527. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/range_info_builder.rs +234 -0
  528. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/simulate.rs +423 -0
  529. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/unit.rs +520 -0
  530. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/utils.rs +165 -0
  531. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/write_debuginfo.rs +176 -0
  532. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug.rs +178 -0
  533. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/func_environ.rs +2721 -0
  534. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/gc/enabled.rs +648 -0
  535. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/lib.rs +458 -0
  536. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/obj.rs +545 -0
  537. data/ext/cargo-vendor/wasmtime-environ-23.0.2/.cargo-checksum.json +1 -0
  538. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.lock +792 -0
  539. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.toml +185 -0
  540. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/address_map.rs +73 -0
  541. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/mod.rs +379 -0
  542. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_artifacts.rs +315 -0
  543. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_environ.rs +1264 -0
  544. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_types.rs +455 -0
  545. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/artifacts.rs +68 -0
  546. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/dfg.rs +718 -0
  547. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/info.rs +683 -0
  548. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/names.rs +275 -0
  549. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/adapt.rs +455 -0
  550. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/inline.rs +1333 -0
  551. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate.rs +993 -0
  552. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types.rs +1041 -0
  553. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder/resources.rs +233 -0
  554. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder.rs +976 -0
  555. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component.rs +109 -0
  556. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/fact/trampoline.rs +3234 -0
  557. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/fact/transcode.rs +90 -0
  558. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/fact.rs +714 -0
  559. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/lib.rs +64 -0
  560. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module.rs +702 -0
  561. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module_artifacts.rs +144 -0
  562. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module_types.rs +139 -0
  563. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/ref_bits.rs +36 -0
  564. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/stack_map.rs +31 -0
  565. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/tunables.rs +165 -0
  566. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/vmoffsets.rs +897 -0
  567. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/.cargo-checksum.json +1 -0
  568. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/Cargo.toml +75 -0
  569. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/build.rs +39 -0
  570. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/src/lib.rs +340 -0
  571. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/src/unix.rs +494 -0
  572. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/src/windows.rs +170 -0
  573. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/.cargo-checksum.json +1 -0
  574. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/Cargo.toml +77 -0
  575. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/src/gdb_jit_int.rs +130 -0
  576. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/src/perf_jitdump.rs +293 -0
  577. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/.cargo-checksum.json +1 -0
  578. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/Cargo.toml +62 -0
  579. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/src/libc.rs +164 -0
  580. data/ext/cargo-vendor/wasmtime-slab-23.0.2/.cargo-checksum.json +1 -0
  581. data/ext/cargo-vendor/wasmtime-slab-23.0.2/Cargo.toml +31 -0
  582. data/ext/cargo-vendor/wasmtime-slab-23.0.2/src/lib.rs +498 -0
  583. data/ext/cargo-vendor/wasmtime-types-23.0.2/.cargo-checksum.json +1 -0
  584. data/ext/cargo-vendor/wasmtime-types-23.0.2/Cargo.toml +71 -0
  585. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/lib.rs +1760 -0
  586. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/prelude.rs +86 -0
  587. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/.cargo-checksum.json +1 -0
  588. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/Cargo.toml +40 -0
  589. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/.cargo-checksum.json +1 -0
  590. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/Cargo.toml +215 -0
  591. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/bindings.rs +561 -0
  592. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/ctx.rs +704 -0
  593. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/filesystem.rs +448 -0
  594. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/clocks.rs +109 -0
  595. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/env.rs +18 -0
  596. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/exit.rs +14 -0
  597. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem/sync.rs +525 -0
  598. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem.rs +1091 -0
  599. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/instance_network.rs +18 -0
  600. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/io.rs +391 -0
  601. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/network.rs +545 -0
  602. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/random.rs +45 -0
  603. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/tcp.rs +547 -0
  604. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/tcp_create_socket.rs +18 -0
  605. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/udp.rs +762 -0
  606. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/udp_create_socket.rs +18 -0
  607. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/ip_name_lookup.rs +132 -0
  608. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/lib.rs +419 -0
  609. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/network.rs +113 -0
  610. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/pipe.rs +826 -0
  611. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/poll.rs +245 -0
  612. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview0.rs +983 -0
  613. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview1.rs +2801 -0
  614. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/stdio.rs +596 -0
  615. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/api.rs +197 -0
  616. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/async_.rs +397 -0
  617. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/sync.rs +331 -0
  618. data/ext/cargo-vendor/wasmtime-winch-23.0.2/.cargo-checksum.json +1 -0
  619. data/ext/cargo-vendor/wasmtime-winch-23.0.2/Cargo.toml +92 -0
  620. data/ext/cargo-vendor/wasmtime-winch-23.0.2/src/compiler.rs +242 -0
  621. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/.cargo-checksum.json +1 -0
  622. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/Cargo.toml +57 -0
  623. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/lib.rs +2777 -0
  624. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/rust.rs +427 -0
  625. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/types.rs +202 -0
  626. data/ext/cargo-vendor/wast-215.0.0/.cargo-checksum.json +1 -0
  627. data/ext/cargo-vendor/wast-215.0.0/Cargo.toml +101 -0
  628. data/ext/cargo-vendor/wast-215.0.0/src/component/binary.rs +1014 -0
  629. data/ext/cargo-vendor/wast-215.0.0/src/component/component.rs +320 -0
  630. data/ext/cargo-vendor/wast-215.0.0/src/component/expand.rs +875 -0
  631. data/ext/cargo-vendor/wast-215.0.0/src/component/resolve.rs +988 -0
  632. data/ext/cargo-vendor/wast-215.0.0/src/component.rs +28 -0
  633. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf.rs +610 -0
  634. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf_disabled.rs +41 -0
  635. data/ext/cargo-vendor/wast-215.0.0/src/core/binary.rs +1542 -0
  636. data/ext/cargo-vendor/wast-215.0.0/src/core/expr.rs +2110 -0
  637. data/ext/cargo-vendor/wast-215.0.0/src/core/memory.rs +279 -0
  638. data/ext/cargo-vendor/wast-215.0.0/src/core/module.rs +215 -0
  639. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/deinline_import_export.rs +232 -0
  640. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/names.rs +791 -0
  641. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/types.rs +270 -0
  642. data/ext/cargo-vendor/wast-215.0.0/src/core/table.rs +308 -0
  643. data/ext/cargo-vendor/wast-215.0.0/src/core/types.rs +1057 -0
  644. data/ext/cargo-vendor/wast-215.0.0/src/core.rs +30 -0
  645. data/ext/cargo-vendor/wast-215.0.0/src/lib.rs +556 -0
  646. data/ext/cargo-vendor/wast-215.0.0/src/parser.rs +1434 -0
  647. data/ext/cargo-vendor/wast-215.0.0/src/wat.rs +68 -0
  648. data/ext/cargo-vendor/wat-1.215.0/.cargo-checksum.json +1 -0
  649. data/ext/cargo-vendor/wat-1.215.0/Cargo.toml +56 -0
  650. data/ext/cargo-vendor/wat-1.215.0/src/lib.rs +469 -0
  651. data/ext/cargo-vendor/wiggle-23.0.2/.cargo-checksum.json +1 -0
  652. data/ext/cargo-vendor/wiggle-23.0.2/Cargo.toml +110 -0
  653. data/ext/cargo-vendor/wiggle-23.0.2/src/guest_type.rs +200 -0
  654. data/ext/cargo-vendor/wiggle-23.0.2/src/lib.rs +605 -0
  655. data/ext/cargo-vendor/wiggle-generate-23.0.2/.cargo-checksum.json +1 -0
  656. data/ext/cargo-vendor/wiggle-generate-23.0.2/Cargo.toml +76 -0
  657. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/funcs.rs +434 -0
  658. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/module_trait.rs +89 -0
  659. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/names.rs +299 -0
  660. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/flags.rs +92 -0
  661. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/handle.rs +84 -0
  662. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/mod.rs +129 -0
  663. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/record.rs +129 -0
  664. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/variant.rs +186 -0
  665. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/wasmtime.rs +172 -0
  666. data/ext/cargo-vendor/wiggle-macro-23.0.2/.cargo-checksum.json +1 -0
  667. data/ext/cargo-vendor/wiggle-macro-23.0.2/Cargo.toml +59 -0
  668. data/ext/cargo-vendor/wiggle-macro-23.0.2/build.rs +5 -0
  669. data/ext/cargo-vendor/wiggle-macro-23.0.2/src/lib.rs +233 -0
  670. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +1 -0
  671. data/ext/cargo-vendor/winapi-util-0.1.9/COPYING +3 -0
  672. data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml +53 -0
  673. data/ext/cargo-vendor/winapi-util-0.1.9/LICENSE-MIT +21 -0
  674. data/ext/cargo-vendor/winapi-util-0.1.9/README.md +64 -0
  675. data/ext/cargo-vendor/winapi-util-0.1.9/UNLICENSE +24 -0
  676. data/ext/cargo-vendor/winapi-util-0.1.9/rustfmt.toml +2 -0
  677. data/ext/cargo-vendor/winapi-util-0.1.9/src/console.rs +407 -0
  678. data/ext/cargo-vendor/winapi-util-0.1.9/src/file.rs +166 -0
  679. data/ext/cargo-vendor/winapi-util-0.1.9/src/lib.rs +35 -0
  680. data/ext/cargo-vendor/winapi-util-0.1.9/src/sysinfo.rs +161 -0
  681. data/ext/cargo-vendor/winapi-util-0.1.9/src/win.rs +246 -0
  682. data/ext/cargo-vendor/winch-codegen-0.21.2/.cargo-checksum.json +1 -0
  683. data/ext/cargo-vendor/winch-codegen-0.21.2/Cargo.toml +87 -0
  684. data/ext/cargo-vendor/winch-codegen-0.21.2/src/abi/mod.rs +671 -0
  685. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/context.rs +536 -0
  686. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/control.rs +972 -0
  687. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/env.rs +449 -0
  688. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/mod.rs +878 -0
  689. data/ext/cargo-vendor/winch-codegen-0.21.2/src/frame/mod.rs +258 -0
  690. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/aarch64/asm.rs +430 -0
  691. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/aarch64/masm.rs +572 -0
  692. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/aarch64/regs.rs +161 -0
  693. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/x64/asm.rs +1423 -0
  694. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/x64/masm.rs +1120 -0
  695. data/ext/cargo-vendor/winch-codegen-0.21.2/src/masm.rs +941 -0
  696. data/ext/cargo-vendor/winch-codegen-0.21.2/src/regalloc.rs +65 -0
  697. data/ext/cargo-vendor/winch-codegen-0.21.2/src/stack.rs +439 -0
  698. data/ext/cargo-vendor/winch-codegen-0.21.2/src/visitor.rs +2154 -0
  699. data/ext/cargo-vendor/wit-parser-0.212.0/.cargo-checksum.json +1 -0
  700. data/ext/cargo-vendor/wit-parser-0.212.0/Cargo.toml +112 -0
  701. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/lex.rs +751 -0
  702. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/resolve.rs +1539 -0
  703. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast.rs +1851 -0
  704. data/ext/cargo-vendor/wit-parser-0.212.0/src/decoding.rs +1798 -0
  705. data/ext/cargo-vendor/wit-parser-0.212.0/src/lib.rs +888 -0
  706. data/ext/cargo-vendor/wit-parser-0.212.0/src/live.rs +126 -0
  707. data/ext/cargo-vendor/wit-parser-0.212.0/src/metadata.rs +772 -0
  708. data/ext/cargo-vendor/wit-parser-0.212.0/src/resolve.rs +2740 -0
  709. data/ext/cargo-vendor/wit-parser-0.212.0/src/serde_.rs +124 -0
  710. data/ext/cargo-vendor/wit-parser-0.212.0/tests/all.rs +154 -0
  711. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/complex-include.wit.json +200 -0
  712. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/diamond1.wit.json +59 -0
  713. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/disambiguate-diamond.wit.json +115 -0
  714. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit +118 -0
  715. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit.json +308 -0
  716. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/foreign-deps-union.wit.json +410 -0
  717. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/foreign-deps.wit.json +362 -0
  718. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/ignore-files-deps.wit.json +41 -0
  719. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/import-export-overlap2.wit.json +43 -0
  720. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/include-reps.wit.json +68 -0
  721. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/kinds-of-deps.wit.json +95 -0
  722. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/many-names.wit.json +42 -0
  723. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/a.wit +23 -0
  724. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/b.wit +23 -0
  725. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package.wit.json +250 -0
  726. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file.wit.json +304 -0
  727. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +2 -0
  728. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +2 -0
  729. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/packages.wit +13 -0
  730. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps.wit.json +83 -0
  731. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +9 -0
  732. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +5 -0
  733. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/packages.wit +11 -0
  734. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps.wit.json +116 -0
  735. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit +23 -0
  736. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit.json +130 -0
  737. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit +15 -0
  738. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit.json +87 -0
  739. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit +23 -0
  740. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit.json +130 -0
  741. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit +23 -0
  742. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit.json +130 -0
  743. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit +11 -0
  744. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit.json +70 -0
  745. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate1.wit +8 -0
  746. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
  747. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate2.wit +8 -0
  748. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
  749. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate3.wit +6 -0
  750. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate3.wit.result +8 -0
  751. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate4.wit +8 -0
  752. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate4.wit.result +8 -0
  753. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate5.wit +11 -0
  754. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate5.wit.result +8 -0
  755. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since1.wit +4 -0
  756. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since1.wit.result +5 -0
  757. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since3.wit +5 -0
  758. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since3.wit.result +5 -0
  759. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/conflicting-package.wit.result +10 -0
  760. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit +3 -0
  761. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit.result +1 -0
  762. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit +13 -0
  763. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit.result +8 -0
  764. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit +23 -0
  765. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit.result +1 -0
  766. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit +23 -0
  767. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit.result +5 -0
  768. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +5 -0
  769. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +5 -0
  770. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +9 -0
  771. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-docs.wit.result +10 -0
  772. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit +11 -0
  773. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +5 -0
  774. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +15 -0
  775. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +5 -0
  776. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +8 -0
  777. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/resources-return-borrow.wit.result +8 -0
  778. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow1.wit.result +8 -0
  779. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow2.wit.result +8 -0
  780. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow6.wit.result +8 -0
  781. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow7.wit.result +8 -0
  782. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow8.wit.result +9 -0
  783. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/shared-types.wit.json +87 -0
  784. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit +89 -0
  785. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit.json +583 -0
  786. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/stress-export-elaborate.wit.json +1156 -0
  787. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-diamond.wit.json +124 -0
  788. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-iface-no-collide.wit.json +68 -0
  789. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-implicit-import1.wit.json +81 -0
  790. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-implicit-import2.wit.json +72 -0
  791. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-implicit-import3.wit.json +73 -0
  792. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-same-fields4.wit.json +82 -0
  793. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-top-level-resources.wit.json +237 -0
  794. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/worlds-union-dedup.wit.json +112 -0
  795. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/worlds-with-types.wit.json +204 -0
  796. data/ext/src/ruby_api/memory.rs +2 -1
  797. data/ext/src/ruby_api/pooling_allocation_config.rs +6 -6
  798. data/lib/wasmtime/version.rb +1 -1
  799. metadata +1839 -1680
  800. data/ext/cargo-vendor/cranelift-bforest-0.108.1/.cargo-checksum.json +0 -1
  801. data/ext/cargo-vendor/cranelift-bforest-0.108.1/Cargo.toml +0 -40
  802. data/ext/cargo-vendor/cranelift-codegen-0.108.1/.cargo-checksum.json +0 -1
  803. data/ext/cargo-vendor/cranelift-codegen-0.108.1/Cargo.toml +0 -189
  804. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/binemit/stack_map.rs +0 -155
  805. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/bitset.rs +0 -187
  806. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/context.rs +0 -395
  807. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/data_value.rs +0 -385
  808. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dce.rs +0 -37
  809. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dominator_tree.rs +0 -803
  810. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph.rs +0 -839
  811. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/inst_predicates.rs +0 -236
  812. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/dfg.rs +0 -1777
  813. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/extfunc.rs +0 -411
  814. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/globalvalue.rs +0 -147
  815. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/immediates.rs +0 -1612
  816. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/instructions.rs +0 -1020
  817. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/jumptable.rs +0 -168
  818. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/mod.rs +0 -108
  819. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/stackslot.rs +0 -216
  820. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/trapcode.rs +0 -149
  821. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/types.rs +0 -629
  822. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/abi.rs +0 -1580
  823. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/args.rs +0 -721
  824. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit.rs +0 -3846
  825. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit_tests.rs +0 -7902
  826. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/imms.rs +0 -1213
  827. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/mod.rs +0 -3094
  828. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/regs.rs +0 -288
  829. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
  830. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst.isle +0 -4225
  831. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/lower.isle +0 -2933
  832. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/mod.rs +0 -242
  833. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/pcc.rs +0 -568
  834. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/mod.rs +0 -449
  835. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/abi.rs +0 -1051
  836. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/args.rs +0 -1938
  837. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit.rs +0 -2681
  838. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit_tests.rs +0 -2197
  839. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/encode.rs +0 -654
  840. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/imms.rs +0 -374
  841. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/mod.rs +0 -1975
  842. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
  843. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/vector.rs +0 -1144
  844. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst.isle +0 -2969
  845. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst_vector.isle +0 -1899
  846. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower/isle.rs +0 -625
  847. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower.isle +0 -2883
  848. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/mod.rs +0 -260
  849. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/abi.rs +0 -1037
  850. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/args.rs +0 -314
  851. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit.rs +0 -3646
  852. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit_tests.rs +0 -13389
  853. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/imms.rs +0 -202
  854. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/mod.rs +0 -3421
  855. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/regs.rs +0 -180
  856. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/unwind/systemv.rs +0 -212
  857. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst.isle +0 -5033
  858. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/lower.isle +0 -3995
  859. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/mod.rs +0 -215
  860. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/abi.rs +0 -1410
  861. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/args.rs +0 -2256
  862. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit.rs +0 -4311
  863. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_state.rs +0 -74
  864. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_tests.rs +0 -5171
  865. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/mod.rs +0 -2838
  866. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/regs.rs +0 -276
  867. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/unwind/systemv.rs +0 -198
  868. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst.isle +0 -5294
  869. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.isle +0 -4808
  870. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/mod.rs +0 -234
  871. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/pcc.rs +0 -1014
  872. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isle_prelude.rs +0 -957
  873. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/legalizer/mod.rs +0 -348
  874. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/lib.rs +0 -106
  875. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/abi.rs +0 -2506
  876. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/blockorder.rs +0 -465
  877. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/buffer.rs +0 -2512
  878. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/helpers.rs +0 -33
  879. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/isle.rs +0 -903
  880. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/lower.rs +0 -1432
  881. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/mod.rs +0 -555
  882. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/reg.rs +0 -522
  883. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/valueregs.rs +0 -138
  884. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/vcode.rs +0 -1741
  885. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/cprop.isle +0 -281
  886. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/shifts.isle +0 -307
  887. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude.isle +0 -646
  888. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude_lower.isle +0 -1073
  889. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/timing.rs +0 -297
  890. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/verifier/mod.rs +0 -1957
  891. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/write.rs +0 -631
  892. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/.cargo-checksum.json +0 -1
  893. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/Cargo.toml +0 -35
  894. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/types.rs +0 -496
  895. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/typevar.rs +0 -980
  896. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/gen_inst.rs +0 -1278
  897. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/riscv64.rs +0 -168
  898. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/shared/instructions.rs +0 -3791
  899. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/shared/types.rs +0 -137
  900. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/.cargo-checksum.json +0 -1
  901. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/Cargo.toml +0 -22
  902. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/src/constants.rs +0 -28
  903. data/ext/cargo-vendor/cranelift-control-0.108.1/.cargo-checksum.json +0 -1
  904. data/ext/cargo-vendor/cranelift-control-0.108.1/Cargo.toml +0 -30
  905. data/ext/cargo-vendor/cranelift-entity-0.108.1/.cargo-checksum.json +0 -1
  906. data/ext/cargo-vendor/cranelift-entity-0.108.1/Cargo.toml +0 -52
  907. data/ext/cargo-vendor/cranelift-entity-0.108.1/src/set.rs +0 -290
  908. data/ext/cargo-vendor/cranelift-frontend-0.108.1/.cargo-checksum.json +0 -1
  909. data/ext/cargo-vendor/cranelift-frontend-0.108.1/Cargo.toml +0 -67
  910. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/frontend.rs +0 -1854
  911. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/lib.rs +0 -189
  912. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/ssa.rs +0 -1328
  913. data/ext/cargo-vendor/cranelift-isle-0.108.1/.cargo-checksum.json +0 -1
  914. data/ext/cargo-vendor/cranelift-isle-0.108.1/Cargo.toml +0 -46
  915. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/codegen.rs +0 -886
  916. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/parser.rs +0 -562
  917. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/sema.rs +0 -2492
  918. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/trie_again.rs +0 -684
  919. data/ext/cargo-vendor/cranelift-native-0.108.1/.cargo-checksum.json +0 -1
  920. data/ext/cargo-vendor/cranelift-native-0.108.1/Cargo.toml +0 -43
  921. data/ext/cargo-vendor/cranelift-native-0.108.1/src/lib.rs +0 -188
  922. data/ext/cargo-vendor/cranelift-native-0.108.1/src/riscv.rs +0 -128
  923. data/ext/cargo-vendor/cranelift-wasm-0.108.1/.cargo-checksum.json +0 -1
  924. data/ext/cargo-vendor/cranelift-wasm-0.108.1/Cargo.toml +0 -109
  925. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator/bounds_checks.rs +0 -713
  926. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator.rs +0 -3687
  927. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/func_translator.rs +0 -296
  928. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/heap.rs +0 -116
  929. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/module_translator.rs +0 -128
  930. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/sections_translator.rs +0 -389
  931. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/state.rs +0 -522
  932. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +0 -1
  933. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +0 -48
  934. data/ext/cargo-vendor/memoffset-0.9.0/.cargo-checksum.json +0 -1
  935. data/ext/cargo-vendor/memoffset-0.9.0/Cargo.toml +0 -37
  936. data/ext/cargo-vendor/memoffset-0.9.0/LICENSE +0 -19
  937. data/ext/cargo-vendor/memoffset-0.9.0/README.md +0 -85
  938. data/ext/cargo-vendor/memoffset-0.9.0/build.rs +0 -25
  939. data/ext/cargo-vendor/memoffset-0.9.0/src/lib.rs +0 -94
  940. data/ext/cargo-vendor/memoffset-0.9.0/src/offset_of.rs +0 -400
  941. data/ext/cargo-vendor/memoffset-0.9.0/src/raw_field.rs +0 -226
  942. data/ext/cargo-vendor/memoffset-0.9.0/src/span_of.rs +0 -263
  943. data/ext/cargo-vendor/object-0.33.0/.cargo-checksum.json +0 -1
  944. data/ext/cargo-vendor/object-0.33.0/CHANGELOG.md +0 -797
  945. data/ext/cargo-vendor/object-0.33.0/Cargo.toml +0 -179
  946. data/ext/cargo-vendor/object-0.33.0/README.md +0 -56
  947. data/ext/cargo-vendor/object-0.33.0/src/build/bytes.rs +0 -141
  948. data/ext/cargo-vendor/object-0.33.0/src/build/elf.rs +0 -3033
  949. data/ext/cargo-vendor/object-0.33.0/src/common.rs +0 -568
  950. data/ext/cargo-vendor/object-0.33.0/src/elf.rs +0 -6291
  951. data/ext/cargo-vendor/object-0.33.0/src/endian.rs +0 -831
  952. data/ext/cargo-vendor/object-0.33.0/src/macho.rs +0 -3309
  953. data/ext/cargo-vendor/object-0.33.0/src/pod.rs +0 -239
  954. data/ext/cargo-vendor/object-0.33.0/src/read/any.rs +0 -1328
  955. data/ext/cargo-vendor/object-0.33.0/src/read/archive.rs +0 -759
  956. data/ext/cargo-vendor/object-0.33.0/src/read/coff/comdat.rs +0 -211
  957. data/ext/cargo-vendor/object-0.33.0/src/read/coff/file.rs +0 -383
  958. data/ext/cargo-vendor/object-0.33.0/src/read/coff/relocation.rs +0 -108
  959. data/ext/cargo-vendor/object-0.33.0/src/read/coff/section.rs +0 -585
  960. data/ext/cargo-vendor/object-0.33.0/src/read/coff/symbol.rs +0 -635
  961. data/ext/cargo-vendor/object-0.33.0/src/read/elf/attributes.rs +0 -306
  962. data/ext/cargo-vendor/object-0.33.0/src/read/elf/comdat.rs +0 -162
  963. data/ext/cargo-vendor/object-0.33.0/src/read/elf/file.rs +0 -918
  964. data/ext/cargo-vendor/object-0.33.0/src/read/elf/hash.rs +0 -224
  965. data/ext/cargo-vendor/object-0.33.0/src/read/elf/note.rs +0 -271
  966. data/ext/cargo-vendor/object-0.33.0/src/read/elf/relocation.rs +0 -629
  967. data/ext/cargo-vendor/object-0.33.0/src/read/elf/section.rs +0 -1150
  968. data/ext/cargo-vendor/object-0.33.0/src/read/elf/segment.rs +0 -356
  969. data/ext/cargo-vendor/object-0.33.0/src/read/elf/symbol.rs +0 -595
  970. data/ext/cargo-vendor/object-0.33.0/src/read/elf/version.rs +0 -424
  971. data/ext/cargo-vendor/object-0.33.0/src/read/macho/dyld_cache.rs +0 -345
  972. data/ext/cargo-vendor/object-0.33.0/src/read/macho/file.rs +0 -783
  973. data/ext/cargo-vendor/object-0.33.0/src/read/macho/load_command.rs +0 -386
  974. data/ext/cargo-vendor/object-0.33.0/src/read/macho/section.rs +0 -389
  975. data/ext/cargo-vendor/object-0.33.0/src/read/macho/segment.rs +0 -303
  976. data/ext/cargo-vendor/object-0.33.0/src/read/macho/symbol.rs +0 -492
  977. data/ext/cargo-vendor/object-0.33.0/src/read/mod.rs +0 -880
  978. data/ext/cargo-vendor/object-0.33.0/src/read/pe/file.rs +0 -1053
  979. data/ext/cargo-vendor/object-0.33.0/src/read/pe/import.rs +0 -339
  980. data/ext/cargo-vendor/object-0.33.0/src/read/pe/relocation.rs +0 -92
  981. data/ext/cargo-vendor/object-0.33.0/src/read/pe/section.rs +0 -440
  982. data/ext/cargo-vendor/object-0.33.0/src/read/read_cache.rs +0 -213
  983. data/ext/cargo-vendor/object-0.33.0/src/read/traits.rs +0 -551
  984. data/ext/cargo-vendor/object-0.33.0/src/read/wasm.rs +0 -966
  985. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/file.rs +0 -697
  986. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/relocation.rs +0 -134
  987. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/section.rs +0 -433
  988. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/symbol.rs +0 -784
  989. data/ext/cargo-vendor/object-0.33.0/src/write/coff/object.rs +0 -678
  990. data/ext/cargo-vendor/object-0.33.0/src/write/coff/writer.rs +0 -518
  991. data/ext/cargo-vendor/object-0.33.0/src/write/elf/object.rs +0 -885
  992. data/ext/cargo-vendor/object-0.33.0/src/write/elf/writer.rs +0 -2309
  993. data/ext/cargo-vendor/object-0.33.0/src/write/macho.rs +0 -1107
  994. data/ext/cargo-vendor/object-0.33.0/src/write/mod.rs +0 -990
  995. data/ext/cargo-vendor/object-0.33.0/src/write/pe.rs +0 -847
  996. data/ext/cargo-vendor/object-0.33.0/src/write/xcoff.rs +0 -589
  997. data/ext/cargo-vendor/object-0.33.0/tests/integration.rs +0 -2
  998. data/ext/cargo-vendor/object-0.33.0/tests/read/mod.rs +0 -4
  999. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/bss.rs +0 -255
  1000. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/comdat.rs +0 -225
  1001. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/common.rs +0 -245
  1002. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/elf.rs +0 -289
  1003. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/mod.rs +0 -704
  1004. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/section_flags.rs +0 -90
  1005. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/tls.rs +0 -316
  1006. data/ext/cargo-vendor/wasi-common-21.0.1/.cargo-checksum.json +0 -1
  1007. data/ext/cargo-vendor/wasi-common-21.0.1/Cargo.toml +0 -223
  1008. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_0.rs +0 -1145
  1009. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_1.rs +0 -1497
  1010. data/ext/cargo-vendor/wasi-common-21.0.1/src/string_array.rs +0 -74
  1011. data/ext/cargo-vendor/wasi-common-21.0.1/src/sync/sched/windows.rs +0 -221
  1012. data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/file.rs +0 -247
  1013. data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/mod.rs +0 -137
  1014. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/async_.rs +0 -293
  1015. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/sync.rs +0 -279
  1016. data/ext/cargo-vendor/wasm-encoder-0.207.0/.cargo-checksum.json +0 -1
  1017. data/ext/cargo-vendor/wasm-encoder-0.207.0/Cargo.toml +0 -45
  1018. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/types.rs +0 -792
  1019. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/code.rs +0 -3502
  1020. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/dump.rs +0 -627
  1021. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/exports.rs +0 -98
  1022. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/globals.rs +0 -112
  1023. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/imports.rs +0 -157
  1024. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/memories.rs +0 -128
  1025. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/producers.rs +0 -180
  1026. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tables.rs +0 -134
  1027. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tags.rs +0 -104
  1028. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/types.rs +0 -678
  1029. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/lib.rs +0 -215
  1030. data/ext/cargo-vendor/wasm-encoder-0.209.1/.cargo-checksum.json +0 -1
  1031. data/ext/cargo-vendor/wasm-encoder-0.209.1/Cargo.toml +0 -46
  1032. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/component/types.rs +0 -792
  1033. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/code.rs +0 -3595
  1034. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/elements.rs +0 -221
  1035. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/exports.rs +0 -98
  1036. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/globals.rs +0 -112
  1037. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/imports.rs +0 -157
  1038. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/memories.rs +0 -128
  1039. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tables.rs +0 -134
  1040. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tags.rs +0 -104
  1041. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/types.rs +0 -678
  1042. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/lib.rs +0 -215
  1043. data/ext/cargo-vendor/wasmparser-0.207.0/.cargo-checksum.json +0 -1
  1044. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.lock +0 -659
  1045. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.toml +0 -95
  1046. data/ext/cargo-vendor/wasmparser-0.207.0/src/binary_reader.rs +0 -1867
  1047. data/ext/cargo-vendor/wasmparser-0.207.0/src/lib.rs +0 -805
  1048. data/ext/cargo-vendor/wasmparser-0.207.0/src/limits.rs +0 -78
  1049. data/ext/cargo-vendor/wasmparser-0.207.0/src/map.rs +0 -137
  1050. data/ext/cargo-vendor/wasmparser-0.207.0/src/parser.rs +0 -1636
  1051. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/imports.rs +0 -129
  1052. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/instances.rs +0 -164
  1053. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/names.rs +0 -102
  1054. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/types.rs +0 -551
  1055. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/branch_hinting.rs +0 -59
  1056. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/code.rs +0 -146
  1057. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/coredumps.rs +0 -244
  1058. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/custom.rs +0 -64
  1059. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/data.rs +0 -96
  1060. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/elements.rs +0 -152
  1061. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/globals.rs +0 -51
  1062. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/init.rs +0 -51
  1063. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/linking.rs +0 -450
  1064. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/names.rs +0 -159
  1065. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/operators.rs +0 -430
  1066. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/producers.rs +0 -83
  1067. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/reloc.rs +0 -301
  1068. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/tables.rs +0 -93
  1069. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types.rs +0 -1773
  1070. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers.rs +0 -316
  1071. data/ext/cargo-vendor/wasmparser-0.207.0/src/resources.rs +0 -235
  1072. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/component.rs +0 -3242
  1073. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core/canonical.rs +0 -233
  1074. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core.rs +0 -1450
  1075. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/func.rs +0 -331
  1076. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/names.rs +0 -947
  1077. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/operators.rs +0 -4117
  1078. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/types.rs +0 -4492
  1079. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator.rs +0 -1786
  1080. data/ext/cargo-vendor/wasmprinter-0.207.0/.cargo-checksum.json +0 -1
  1081. data/ext/cargo-vendor/wasmprinter-0.207.0/Cargo.toml +0 -50
  1082. data/ext/cargo-vendor/wasmprinter-0.207.0/src/lib.rs +0 -3226
  1083. data/ext/cargo-vendor/wasmprinter-0.207.0/src/operator.rs +0 -1164
  1084. data/ext/cargo-vendor/wasmprinter-0.207.0/tests/all.rs +0 -293
  1085. data/ext/cargo-vendor/wasmtime-21.0.1/.cargo-checksum.json +0 -1
  1086. data/ext/cargo-vendor/wasmtime-21.0.1/Cargo.toml +0 -386
  1087. data/ext/cargo-vendor/wasmtime-21.0.1/build.rs +0 -37
  1088. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/code_builder.rs +0 -275
  1089. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/runtime.rs +0 -176
  1090. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile.rs +0 -910
  1091. data/ext/cargo-vendor/wasmtime-21.0.1/src/config.rs +0 -2904
  1092. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine/serialization.rs +0 -887
  1093. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine.rs +0 -728
  1094. data/ext/cargo-vendor/wasmtime-21.0.1/src/lib.rs +0 -328
  1095. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/jitdump.rs +0 -67
  1096. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/perfmap.rs +0 -48
  1097. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/vtune.rs +0 -81
  1098. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent.rs +0 -106
  1099. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code.rs +0 -102
  1100. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code_memory.rs +0 -337
  1101. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/component.rs +0 -661
  1102. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/host.rs +0 -440
  1103. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/options.rs +0 -555
  1104. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/typed.rs +0 -2498
  1105. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func.rs +0 -746
  1106. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/instance.rs +0 -814
  1107. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/linker.rs +0 -783
  1108. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/matching.rs +0 -217
  1109. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/mod.rs +0 -783
  1110. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resource_table.rs +0 -355
  1111. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resources.rs +0 -1133
  1112. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/types.rs +0 -892
  1113. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/values.rs +0 -980
  1114. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/coredump.rs +0 -342
  1115. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/debug.rs +0 -166
  1116. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/global.rs +0 -310
  1117. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/table.rs +0 -477
  1118. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func/typed.rs +0 -899
  1119. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func.rs +0 -2627
  1120. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/disabled/rooting.rs +0 -224
  1121. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/anyref.rs +0 -473
  1122. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/externref.rs +0 -650
  1123. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/i31.rs +0 -346
  1124. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/rooting.rs +0 -1588
  1125. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc.rs +0 -89
  1126. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instance.rs +0 -992
  1127. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instantiate.rs +0 -346
  1128. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/limits.rs +0 -399
  1129. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/linker.rs +0 -1506
  1130. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/memory.rs +0 -998
  1131. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module/registry.rs +0 -353
  1132. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module.rs +0 -1295
  1133. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/profiling.rs +0 -221
  1134. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/stack.rs +0 -73
  1135. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/data.rs +0 -301
  1136. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/func_refs.rs +0 -90
  1137. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store.rs +0 -2820
  1138. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/func.rs +0 -139
  1139. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/memory.rs +0 -287
  1140. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/table.rs +0 -29
  1141. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline.rs +0 -78
  1142. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trap.rs +0 -642
  1143. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/type_registry.rs +0 -807
  1144. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types/matching.rs +0 -421
  1145. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types.rs +0 -2239
  1146. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/v128.rs +0 -131
  1147. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/values.rs +0 -966
  1148. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/arch/riscv64.rs +0 -41
  1149. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/libcalls.rs +0 -571
  1150. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/resources.rs +0 -352
  1151. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component.rs +0 -860
  1152. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/const_expr.rs +0 -102
  1153. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/cow.rs +0 -893
  1154. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/export.rs +0 -108
  1155. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/disabled.rs +0 -24
  1156. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/drc.rs +0 -968
  1157. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/free_list.rs +0 -771
  1158. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_ref.rs +0 -491
  1159. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_runtime.rs +0 -506
  1160. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc.rs +0 -245
  1161. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/on_demand.rs +0 -218
  1162. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -93
  1163. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -66
  1164. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -705
  1165. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -1000
  1166. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -233
  1167. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -245
  1168. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling.rs +0 -656
  1169. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator.rs +0 -798
  1170. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance.rs +0 -1519
  1171. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/libcalls.rs +0 -834
  1172. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/memory.rs +0 -744
  1173. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mmap.rs +0 -220
  1174. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mmap_vec.rs +0 -162
  1175. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/module_id.rs +0 -43
  1176. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/disabled.rs +0 -43
  1177. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/enabled.rs +0 -214
  1178. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/mod.rs +0 -54
  1179. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/sys.rs +0 -114
  1180. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/capi.rs +0 -200
  1181. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/mmap.rs +0 -112
  1182. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/mod.rs +0 -34
  1183. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/unwind.rs +0 -17
  1184. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/vm.rs +0 -109
  1185. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/mmap.rs +0 -95
  1186. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/unwind.rs +0 -17
  1187. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/vm.rs +0 -63
  1188. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/mod.rs +0 -25
  1189. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/mmap.rs +0 -162
  1190. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/signals.rs +0 -401
  1191. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/unwind.rs +0 -150
  1192. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/vm.rs +0 -215
  1193. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/mmap.rs +0 -221
  1194. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/unwind.rs +0 -46
  1195. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/vm.rs +0 -79
  1196. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/table.rs +0 -847
  1197. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/shared_memory.rs +0 -233
  1198. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/shared_memory_disabled.rs +0 -101
  1199. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers.rs +0 -768
  1200. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -138
  1201. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext.rs +0 -1337
  1202. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm.rs +0 -287
  1203. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime.rs +0 -110
  1204. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/.cargo-checksum.json +0 -1
  1205. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/Cargo.toml +0 -22
  1206. data/ext/cargo-vendor/wasmtime-cache-21.0.1/.cargo-checksum.json +0 -1
  1207. data/ext/cargo-vendor/wasmtime-cache-21.0.1/Cargo.toml +0 -88
  1208. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/config.rs +0 -584
  1209. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/lib.rs +0 -235
  1210. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/tests.rs +0 -91
  1211. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker/tests.rs +0 -758
  1212. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker.rs +0 -890
  1213. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/.cargo-checksum.json +0 -1
  1214. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/Cargo.toml +0 -79
  1215. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/bindgen.rs +0 -436
  1216. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/component.rs +0 -1295
  1217. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen.rs +0 -576
  1218. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/.cargo-checksum.json +0 -1
  1219. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/Cargo.toml +0 -25
  1220. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/.cargo-checksum.json +0 -1
  1221. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/Cargo.toml +0 -114
  1222. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler/component.rs +0 -968
  1223. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler.rs +0 -1383
  1224. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/gc.rs +0 -252
  1225. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/address_transform.rs +0 -783
  1226. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/attr.rs +0 -320
  1227. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/expression.rs +0 -1248
  1228. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/line_program.rs +0 -287
  1229. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/mod.rs +0 -256
  1230. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/range_info_builder.rs +0 -221
  1231. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/simulate.rs +0 -411
  1232. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/unit.rs +0 -529
  1233. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/utils.rs +0 -186
  1234. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/write_debuginfo.rs +0 -196
  1235. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug.rs +0 -18
  1236. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/func_environ.rs +0 -2888
  1237. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc/enabled.rs +0 -648
  1238. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/lib.rs +0 -511
  1239. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/obj.rs +0 -545
  1240. data/ext/cargo-vendor/wasmtime-environ-21.0.1/.cargo-checksum.json +0 -1
  1241. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.lock +0 -772
  1242. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.toml +0 -154
  1243. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/address_map.rs +0 -73
  1244. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/mod.rs +0 -419
  1245. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_artifacts.rs +0 -315
  1246. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_environ.rs +0 -1337
  1247. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_types.rs +0 -362
  1248. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/artifacts.rs +0 -72
  1249. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/dfg.rs +0 -691
  1250. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/info.rs +0 -672
  1251. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/adapt.rs +0 -455
  1252. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/inline.rs +0 -1332
  1253. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate.rs +0 -978
  1254. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types.rs +0 -1029
  1255. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder/resources.rs +0 -233
  1256. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder.rs +0 -997
  1257. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component.rs +0 -107
  1258. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/trampoline.rs +0 -3234
  1259. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/transcode.rs +0 -90
  1260. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact.rs +0 -714
  1261. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/lib.rs +0 -161
  1262. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module.rs +0 -697
  1263. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_artifacts.rs +0 -146
  1264. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_types.rs +0 -91
  1265. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/ref_bits.rs +0 -36
  1266. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/stack_map.rs +0 -37
  1267. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/tunables.rs +0 -168
  1268. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/vmoffsets.rs +0 -1015
  1269. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/.cargo-checksum.json +0 -1
  1270. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/Cargo.toml +0 -64
  1271. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/build.rs +0 -38
  1272. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/lib.rs +0 -328
  1273. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/unix.rs +0 -490
  1274. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/windows.rs +0 -166
  1275. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/.cargo-checksum.json +0 -1
  1276. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/Cargo.toml +0 -67
  1277. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/gdb_jit_int.rs +0 -130
  1278. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/perf_jitdump.rs +0 -293
  1279. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/.cargo-checksum.json +0 -1
  1280. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/Cargo.toml +0 -51
  1281. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/libc.rs +0 -163
  1282. data/ext/cargo-vendor/wasmtime-slab-21.0.1/.cargo-checksum.json +0 -1
  1283. data/ext/cargo-vendor/wasmtime-slab-21.0.1/Cargo.toml +0 -21
  1284. data/ext/cargo-vendor/wasmtime-slab-21.0.1/src/lib.rs +0 -498
  1285. data/ext/cargo-vendor/wasmtime-types-21.0.1/.cargo-checksum.json +0 -1
  1286. data/ext/cargo-vendor/wasmtime-types-21.0.1/Cargo.toml +0 -55
  1287. data/ext/cargo-vendor/wasmtime-types-21.0.1/src/lib.rs +0 -1572
  1288. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/.cargo-checksum.json +0 -1
  1289. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/Cargo.toml +0 -32
  1290. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/.cargo-checksum.json +0 -1
  1291. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/Cargo.toml +0 -200
  1292. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/bindings.rs +0 -280
  1293. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ctx.rs +0 -667
  1294. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/filesystem.rs +0 -446
  1295. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/clocks.rs +0 -103
  1296. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/env.rs +0 -15
  1297. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/exit.rs +0 -11
  1298. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem/sync.rs +0 -518
  1299. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem.rs +0 -1079
  1300. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/instance_network.rs +0 -15
  1301. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/io.rs +0 -367
  1302. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/network.rs +0 -539
  1303. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/random.rs +0 -36
  1304. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp.rs +0 -306
  1305. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp_create_socket.rs +0 -15
  1306. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp.rs +0 -532
  1307. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp_create_socket.rs +0 -15
  1308. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ip_name_lookup.rs +0 -126
  1309. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/lib.rs +0 -426
  1310. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/network.rs +0 -107
  1311. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/pipe.rs +0 -826
  1312. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/poll.rs +0 -233
  1313. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview0.rs +0 -877
  1314. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview1.rs +0 -2660
  1315. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/stdio.rs +0 -507
  1316. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/api.rs +0 -198
  1317. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/async_.rs +0 -397
  1318. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/sync.rs +0 -331
  1319. data/ext/cargo-vendor/wasmtime-winch-21.0.1/.cargo-checksum.json +0 -1
  1320. data/ext/cargo-vendor/wasmtime-winch-21.0.1/Cargo.toml +0 -81
  1321. data/ext/cargo-vendor/wasmtime-winch-21.0.1/src/compiler.rs +0 -261
  1322. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/.cargo-checksum.json +0 -1
  1323. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/Cargo.toml +0 -46
  1324. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/lib.rs +0 -2541
  1325. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/rust.rs +0 -421
  1326. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/types.rs +0 -202
  1327. data/ext/cargo-vendor/wast-209.0.1/.cargo-checksum.json +0 -1
  1328. data/ext/cargo-vendor/wast-209.0.1/Cargo.toml +0 -60
  1329. data/ext/cargo-vendor/wast-209.0.1/src/component/binary.rs +0 -1000
  1330. data/ext/cargo-vendor/wast-209.0.1/src/component/component.rs +0 -321
  1331. data/ext/cargo-vendor/wast-209.0.1/src/component/expand.rs +0 -875
  1332. data/ext/cargo-vendor/wast-209.0.1/src/component/resolve.rs +0 -999
  1333. data/ext/cargo-vendor/wast-209.0.1/src/component.rs +0 -28
  1334. data/ext/cargo-vendor/wast-209.0.1/src/core/binary.rs +0 -1396
  1335. data/ext/cargo-vendor/wast-209.0.1/src/core/expr.rs +0 -2016
  1336. data/ext/cargo-vendor/wast-209.0.1/src/core/memory.rs +0 -284
  1337. data/ext/cargo-vendor/wast-209.0.1/src/core/module.rs +0 -218
  1338. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/deinline_import_export.rs +0 -235
  1339. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/names.rs +0 -751
  1340. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/types.rs +0 -267
  1341. data/ext/cargo-vendor/wast-209.0.1/src/core/table.rs +0 -302
  1342. data/ext/cargo-vendor/wast-209.0.1/src/core/types.rs +0 -901
  1343. data/ext/cargo-vendor/wast-209.0.1/src/core.rs +0 -29
  1344. data/ext/cargo-vendor/wast-209.0.1/src/lib.rs +0 -551
  1345. data/ext/cargo-vendor/wast-209.0.1/src/parser.rs +0 -1414
  1346. data/ext/cargo-vendor/wast-209.0.1/src/wat.rs +0 -71
  1347. data/ext/cargo-vendor/wat-1.209.1/.cargo-checksum.json +0 -1
  1348. data/ext/cargo-vendor/wat-1.209.1/Cargo.toml +0 -34
  1349. data/ext/cargo-vendor/wat-1.209.1/src/lib.rs +0 -401
  1350. data/ext/cargo-vendor/wiggle-21.0.1/.cargo-checksum.json +0 -1
  1351. data/ext/cargo-vendor/wiggle-21.0.1/Cargo.toml +0 -123
  1352. data/ext/cargo-vendor/wiggle-21.0.1/LICENSE +0 -220
  1353. data/ext/cargo-vendor/wiggle-21.0.1/src/borrow.rs +0 -113
  1354. data/ext/cargo-vendor/wiggle-21.0.1/src/guest_type.rs +0 -237
  1355. data/ext/cargo-vendor/wiggle-21.0.1/src/lib.rs +0 -1184
  1356. data/ext/cargo-vendor/wiggle-21.0.1/src/wasmtime.rs +0 -97
  1357. data/ext/cargo-vendor/wiggle-generate-21.0.1/.cargo-checksum.json +0 -1
  1358. data/ext/cargo-vendor/wiggle-generate-21.0.1/Cargo.toml +0 -66
  1359. data/ext/cargo-vendor/wiggle-generate-21.0.1/LICENSE +0 -220
  1360. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/funcs.rs +0 -435
  1361. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/module_trait.rs +0 -102
  1362. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/names.rs +0 -303
  1363. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/flags.rs +0 -92
  1364. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/handle.rs +0 -84
  1365. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/mod.rs +0 -129
  1366. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/record.rs +0 -132
  1367. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/variant.rs +0 -191
  1368. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/wasmtime.rs +0 -170
  1369. data/ext/cargo-vendor/wiggle-macro-21.0.1/.cargo-checksum.json +0 -1
  1370. data/ext/cargo-vendor/wiggle-macro-21.0.1/Cargo.toml +0 -55
  1371. data/ext/cargo-vendor/wiggle-macro-21.0.1/LICENSE +0 -220
  1372. data/ext/cargo-vendor/wiggle-macro-21.0.1/src/lib.rs +0 -210
  1373. data/ext/cargo-vendor/winch-codegen-0.19.1/.cargo-checksum.json +0 -1
  1374. data/ext/cargo-vendor/winch-codegen-0.19.1/Cargo.toml +0 -76
  1375. data/ext/cargo-vendor/winch-codegen-0.19.1/src/abi/mod.rs +0 -671
  1376. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/context.rs +0 -534
  1377. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/control.rs +0 -972
  1378. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/env.rs +0 -440
  1379. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/mod.rs +0 -882
  1380. data/ext/cargo-vendor/winch-codegen-0.19.1/src/frame/mod.rs +0 -258
  1381. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/asm.rs +0 -380
  1382. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/masm.rs +0 -566
  1383. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/regs.rs +0 -161
  1384. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/asm.rs +0 -1423
  1385. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/masm.rs +0 -1120
  1386. data/ext/cargo-vendor/winch-codegen-0.19.1/src/masm.rs +0 -941
  1387. data/ext/cargo-vendor/winch-codegen-0.19.1/src/regalloc.rs +0 -65
  1388. data/ext/cargo-vendor/winch-codegen-0.19.1/src/stack.rs +0 -439
  1389. data/ext/cargo-vendor/winch-codegen-0.19.1/src/visitor.rs +0 -2144
  1390. data/ext/cargo-vendor/wit-parser-0.207.0/.cargo-checksum.json +0 -1
  1391. data/ext/cargo-vendor/wit-parser-0.207.0/Cargo.toml +0 -109
  1392. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/lex.rs +0 -747
  1393. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/resolve.rs +0 -1442
  1394. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast.rs +0 -1348
  1395. data/ext/cargo-vendor/wit-parser-0.207.0/src/decoding.rs +0 -1764
  1396. data/ext/cargo-vendor/wit-parser-0.207.0/src/docs.rs +0 -389
  1397. data/ext/cargo-vendor/wit-parser-0.207.0/src/lib.rs +0 -777
  1398. data/ext/cargo-vendor/wit-parser-0.207.0/src/live.rs +0 -126
  1399. data/ext/cargo-vendor/wit-parser-0.207.0/src/resolve.rs +0 -2337
  1400. data/ext/cargo-vendor/wit-parser-0.207.0/src/serde_.rs +0 -108
  1401. data/ext/cargo-vendor/wit-parser-0.207.0/tests/all.rs +0 -153
  1402. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/complex-include.wit.json +0 -168
  1403. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/diamond1.wit.json +0 -55
  1404. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/disambiguate-diamond.wit.json +0 -107
  1405. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps-union.wit.json +0 -380
  1406. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps.wit.json +0 -344
  1407. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/ignore-files-deps.wit.json +0 -39
  1408. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/import-export-overlap2.wit.json +0 -41
  1409. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/include-reps.wit.json +0 -60
  1410. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/kinds-of-deps.wit.json +0 -87
  1411. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/many-names.wit.json +0 -40
  1412. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/multi-file.wit.json +0 -298
  1413. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -9
  1414. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -9
  1415. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -5
  1416. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -5
  1417. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit.result +0 -5
  1418. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit.result +0 -5
  1419. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit.result +0 -5
  1420. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit.result +0 -5
  1421. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8.wit.result +0 -8
  1422. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/shared-types.wit.json +0 -83
  1423. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/stress-export-elaborate.wit.json +0 -1136
  1424. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-diamond.wit.json +0 -118
  1425. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-iface-no-collide.wit.json +0 -66
  1426. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import1.wit.json +0 -75
  1427. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import2.wit.json +0 -70
  1428. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import3.wit.json +0 -71
  1429. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-same-fields4.wit.json +0 -76
  1430. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit.json +0 -231
  1431. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-union-dedup.wit.json +0 -100
  1432. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-with-types.wit.json +0 -202
  1433. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/LICENSE +0 -0
  1434. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/README.md +0 -0
  1435. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/lib.rs +0 -0
  1436. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/map.rs +0 -0
  1437. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/node.rs +0 -0
  1438. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/path.rs +0 -0
  1439. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/pool.rs +0 -0
  1440. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/set.rs +0 -0
  1441. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/LICENSE +0 -0
  1442. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/README.md +0 -0
  1443. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/benches/x64-evex-encoding.rs +0 -0
  1444. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/build.rs +0 -0
  1445. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/alias_analysis.rs +0 -0
  1446. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/binemit/mod.rs +0 -0
  1447. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/cfg_printer.rs +0 -0
  1448. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/constant_hash.rs +0 -0
  1449. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ctxhash.rs +0 -0
  1450. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/cursor.rs +0 -0
  1451. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/dbg.rs +0 -0
  1452. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/egraph/cost.rs +0 -0
  1453. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/egraph/elaborate.rs +0 -0
  1454. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/flowgraph.rs +0 -0
  1455. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/incremental_cache.rs +0 -0
  1456. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/atomic_rmw_op.rs +0 -0
  1457. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/builder.rs +0 -0
  1458. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/condcodes.rs +0 -0
  1459. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/constant.rs +0 -0
  1460. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/dynamic_type.rs +0 -0
  1461. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/entities.rs +0 -0
  1462. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/extname.rs +0 -0
  1463. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/function.rs +0 -0
  1464. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/known_symbol.rs +0 -0
  1465. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/layout.rs +0 -0
  1466. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/libcall.rs +0 -0
  1467. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/memflags.rs +0 -0
  1468. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/memtype.rs +0 -0
  1469. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/pcc.rs +0 -0
  1470. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/progpoint.rs +0 -0
  1471. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/sourceloc.rs +0 -0
  1472. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind.rs +0 -0
  1473. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst_neon.isle +0 -0
  1474. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1475. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle.rs +0 -0
  1476. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower.rs +0 -0
  1477. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1478. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/settings.rs +0 -0
  1479. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/call_conv.rs +0 -0
  1480. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/regs.rs +0 -0
  1481. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind.rs +0 -0
  1482. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1483. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower.rs +0 -0
  1484. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/settings.rs +0 -0
  1485. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind.rs +0 -0
  1486. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1487. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle.rs +0 -0
  1488. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/lower.rs +0 -0
  1489. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/settings.rs +0 -0
  1490. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/unwind/systemv.rs +0 -0
  1491. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/unwind/winx64.rs +0 -0
  1492. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/unwind.rs +0 -0
  1493. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/evex.rs +0 -0
  1494. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/mod.rs +0 -0
  1495. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/rex.rs +0 -0
  1496. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/vex.rs +0 -0
  1497. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1498. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind.rs +0 -0
  1499. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1500. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle.rs +0 -0
  1501. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/lower.rs +0 -0
  1502. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/settings.rs +0 -0
  1503. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/iterators.rs +0 -0
  1504. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/legalizer/globalvalue.rs +0 -0
  1505. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/loop_analysis.rs +0 -0
  1506. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/machinst/compile.rs +0 -0
  1507. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/machinst/inst_common.rs +0 -0
  1508. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/machinst/pcc.rs +0 -0
  1509. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/nan_canonicalization.rs +0 -0
  1510. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/README.md +0 -0
  1511. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/arithmetic.isle +0 -0
  1512. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/bitops.isle +0 -0
  1513. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/extends.isle +0 -0
  1514. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/generated_code.rs +0 -0
  1515. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/icmp.isle +0 -0
  1516. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/remat.isle +0 -0
  1517. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/selects.isle +0 -0
  1518. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/spaceship.isle +0 -0
  1519. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/spectre.isle +0 -0
  1520. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/vector.isle +0 -0
  1521. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts.rs +0 -0
  1522. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/prelude_opt.isle +0 -0
  1523. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/print_errors.rs +0 -0
  1524. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ranges.rs +0 -0
  1525. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/remove_constant_phis.rs +0 -0
  1526. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/result.rs +0 -0
  1527. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/scoped_hash_map.rs +0 -0
  1528. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/settings.rs +0 -0
  1529. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/souper_harvest.rs +0 -0
  1530. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/unionfind.rs +0 -0
  1531. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/unreachable_code.rs +0 -0
  1532. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/value_label.rs +0 -0
  1533. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/LICENSE +0 -0
  1534. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/README.md +0 -0
  1535. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/formats.rs +0 -0
  1536. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/instructions.rs +0 -0
  1537. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/isa.rs +0 -0
  1538. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/mod.rs +0 -0
  1539. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/operands.rs +0 -0
  1540. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/settings.rs +0 -0
  1541. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/constant_hash.rs +0 -0
  1542. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/error.rs +0 -0
  1543. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/gen_isle.rs +0 -0
  1544. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/gen_settings.rs +0 -0
  1545. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/gen_types.rs +0 -0
  1546. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/arm64.rs +0 -0
  1547. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/mod.rs +0 -0
  1548. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/s390x.rs +0 -0
  1549. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/x86.rs +0 -0
  1550. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isle.rs +0 -0
  1551. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/lib.rs +0 -0
  1552. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/entities.rs +0 -0
  1553. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/formats.rs +0 -0
  1554. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/immediates.rs +0 -0
  1555. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/mod.rs +0 -0
  1556. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/settings.rs +0 -0
  1557. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/srcgen.rs +0 -0
  1558. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/unique_table.rs +0 -0
  1559. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/LICENSE +0 -0
  1560. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/README.md +0 -0
  1561. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/src/constant_hash.rs +0 -0
  1562. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/src/lib.rs +0 -0
  1563. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/LICENSE +0 -0
  1564. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/README.md +0 -0
  1565. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/src/chaos.rs +0 -0
  1566. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/src/lib.rs +0 -0
  1567. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/src/zero_sized.rs +0 -0
  1568. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/LICENSE +0 -0
  1569. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/README.md +0 -0
  1570. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/boxed_slice.rs +0 -0
  1571. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/iter.rs +0 -0
  1572. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/keys.rs +0 -0
  1573. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/lib.rs +0 -0
  1574. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/list.rs +0 -0
  1575. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/map.rs +0 -0
  1576. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/packed_option.rs +0 -0
  1577. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/primary.rs +0 -0
  1578. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/sparse.rs +0 -0
  1579. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/unsigned.rs +0 -0
  1580. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/LICENSE +0 -0
  1581. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/README.md +0 -0
  1582. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/src/switch.rs +0 -0
  1583. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/src/variable.rs +0 -0
  1584. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/README.md +0 -0
  1585. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/build.rs +0 -0
  1586. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/bad_converters.isle +0 -0
  1587. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1588. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1589. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/error1.isle +0 -0
  1590. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/extra_parens.isle +0 -0
  1591. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/impure_expression.isle +0 -0
  1592. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/impure_rhs.isle +0 -0
  1593. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1594. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/multi_prio.isle +0 -0
  1595. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/borrows.isle +0 -0
  1596. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/borrows_main.rs +0 -0
  1597. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/iflets.isle +0 -0
  1598. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/iflets_main.rs +0 -0
  1599. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor.isle +0 -0
  1600. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor_main.rs +0 -0
  1601. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor.isle +0 -0
  1602. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor_main.rs +0 -0
  1603. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/test.isle +0 -0
  1604. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/test_main.rs +0 -0
  1605. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/bound_var.isle +0 -0
  1606. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/construct_and_extract.isle +0 -0
  1607. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/conversions.isle +0 -0
  1608. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/conversions_extern.isle +0 -0
  1609. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/let.isle +0 -0
  1610. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/nodebug.isle +0 -0
  1611. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1612. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/test2.isle +0 -0
  1613. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/test3.isle +0 -0
  1614. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/test4.isle +0 -0
  1615. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/tutorial.isle +0 -0
  1616. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/iconst.isle +0 -0
  1617. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/iconst_main.rs +0 -0
  1618. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing.isle +0 -0
  1619. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing_main.rs +0 -0
  1620. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/ast.rs +0 -0
  1621. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/compile.rs +0 -0
  1622. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/disjointsets.rs +0 -0
  1623. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/error.rs +0 -0
  1624. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/lexer.rs +0 -0
  1625. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/lib.rs +0 -0
  1626. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/log.rs +0 -0
  1627. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/overlap.rs +0 -0
  1628. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/serialize.rs +0 -0
  1629. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/stablemapset.rs +0 -0
  1630. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/tests/run_tests.rs +0 -0
  1631. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.110.2}/LICENSE +0 -0
  1632. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.110.2}/README.md +0 -0
  1633. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/LICENSE +0 -0
  1634. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/README.md +0 -0
  1635. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/environ/dummy.rs +0 -0
  1636. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/environ/mod.rs +0 -0
  1637. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/environ/spec.rs +0 -0
  1638. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/lib.rs +0 -0
  1639. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/table.rs +0 -0
  1640. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/translation_utils.rs +0 -0
  1641. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/README.md +0 -0
  1642. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/clocks.rs +0 -0
  1643. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/lib.rs +0 -0
  1644. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/noop_scheduler.rs +0 -0
  1645. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/clocks.rs +0 -0
  1646. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/common/mod.rs +0 -0
  1647. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/random.rs +0 -0
  1648. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/scheduler.rs +0 -0
  1649. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-APACHE +0 -0
  1650. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-MIT +0 -0
  1651. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/archive.rs +0 -0
  1652. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/error.rs +0 -0
  1653. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/mod.rs +0 -0
  1654. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/table.rs +0 -0
  1655. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/lib.rs +0 -0
  1656. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/pe.rs +0 -0
  1657. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/import.rs +0 -0
  1658. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/mod.rs +0 -0
  1659. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/compression.rs +0 -0
  1660. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/dynamic.rs +0 -0
  1661. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/mod.rs +0 -0
  1662. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/fat.rs +0 -0
  1663. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/mod.rs +0 -0
  1664. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/relocation.rs +0 -0
  1665. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/data_directory.rs +0 -0
  1666. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/export.rs +0 -0
  1667. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/mod.rs +0 -0
  1668. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/resource.rs +0 -0
  1669. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/rich.rs +0 -0
  1670. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/read_ref.rs +0 -0
  1671. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/util.rs +0 -0
  1672. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/comdat.rs +0 -0
  1673. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/mod.rs +0 -0
  1674. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/segment.rs +0 -0
  1675. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/coff/mod.rs +0 -0
  1676. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/elf/mod.rs +0 -0
  1677. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/string.rs +0 -0
  1678. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/util.rs +0 -0
  1679. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/xcoff.rs +0 -0
  1680. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/parse_self.rs +0 -0
  1681. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/coff.rs +0 -0
  1682. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/elf.rs +0 -0
  1683. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/coff.rs +0 -0
  1684. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/macho.rs +0 -0
  1685. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/LICENSE +0 -0
  1686. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/README.md +0 -0
  1687. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/clocks.rs +0 -0
  1688. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/ctx.rs +0 -0
  1689. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/dir.rs +0 -0
  1690. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/error.rs +0 -0
  1691. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/file.rs +0 -0
  1692. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/lib.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/pipe.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/random.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sched/subscription.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sched.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/snapshots/mod.rs +0 -0
  1698. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/snapshots/preview_1/error.rs +0 -0
  1699. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/clocks.rs +0 -0
  1700. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/dir.rs +0 -0
  1701. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/file.rs +0 -0
  1702. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/mod.rs +0 -0
  1703. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/net.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/sched/unix.rs +0 -0
  1705. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/sched.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/stdio.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/table.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/dir.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/net.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/sched/unix.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/sched/windows.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/sched.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/stdio.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/tests/all/main.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview0/typenames.witx +0 -0
  1716. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1717. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview1/typenames.witx +0 -0
  1718. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1719. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/LICENSE +0 -0
  1720. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/README.md +0 -0
  1721. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/aliases.rs +0 -0
  1722. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/builder.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/canonicals.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/components.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/exports.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/imports.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/instances.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/modules.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/names.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/start.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/custom.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/data.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/dump.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/elements.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/functions.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/linking.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/names.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/producers.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/start.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/raw.rs +0 -0
  1743. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/README.md +0 -0
  1744. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/aliases.rs +0 -0
  1745. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/builder.rs +0 -0
  1746. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/canonicals.rs +0 -0
  1747. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/components.rs +0 -0
  1748. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/exports.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/imports.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/instances.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/modules.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/names.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/start.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/custom.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/data.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/functions.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/linking.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/names.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/start.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/raw.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/README.md +0 -0
  1764. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/benches/benchmark.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/examples/simple.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/aliases.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/canonicals.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/exports.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/start.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/dylink0.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/exports.rs +0 -0
  1773. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/functions.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/imports.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/memories.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/tags.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/types/matches.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/tests/big-module.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasmprinter-0.212.0}/LICENSE +0 -0
  1781. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.212.0}/README.md +0 -0
  1782. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmtime-23.0.2}/LICENSE +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/README.md +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/component/storage.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/component/store.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/externals.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled/anyref.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled/externref.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled/i31.rs +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/enabled.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/resources.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/signatures.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/store/context.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/trampoline/global.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/uninhabited.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/unix.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/aarch64.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/mod.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.S +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.rs +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/x86_64.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/async_yield.rs +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/debug_builtins.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/host_data.rs +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/i31.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/helpers.c +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/imports.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/mpk/pkru.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/store_box.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/threads/mod.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/threads/parking_spot.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/windows.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/sync_nostd.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/sync_std.rs +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-asm-macros-21.0.1 → wasmtime-asm-macros-23.0.2}/src/lib.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-cache-23.0.2}/LICENSE +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/build.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/src/config/tests.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/src/worker/tests/system_time_stub.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/tests/cache_write_default_config.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/build.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/src/lib.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/char.wit +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/conventions.wit +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/dead-code.wit +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/direct-import.wit +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/empty.wit +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/flags.wit +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/floats.wit +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/function-new.wit +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/integers.wit +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/lists.wit +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/many-arguments.wit +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multi-return.wit +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/root.wit +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/records.wit +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/rename.wit +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-export.wit +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-import.wit +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/share-types.wit +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-functions.wit +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-lists.wit +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-wasi.wit +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/small-anonymous.wit +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-default.wit +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-export.wit +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke.wit +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/strings.wit +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/unversioned-foo.wit +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/use-paths.wit +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/variants.wit +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/wat.wit +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/worlds-with-types.wit +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen_no_std.rs +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-component-util-21.0.1 → wasmtime-component-util-23.0.2}/src/lib.rs +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cranelift-23.0.2}/LICENSE +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/SECURITY.md +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/builder.rs +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/compiled_function.rs +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/debug/transform/refs.rs +0 -0
  1879. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/gc/disabled.rs +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/gc.rs +0 -0
  1881. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/isa_builder.rs +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-environ-23.0.2}/LICENSE +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/examples/factc.rs +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/address_map.rs +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/builtin.rs +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/compile/trap_encoding.rs +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/component/compiler.rs +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/component/vmcomponent_offsets.rs +0 -0
  1889. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/demangling.rs +0 -0
  1890. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/fact/core_types.rs +0 -0
  1891. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/fact/signature.rs +0 -0
  1892. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/fact/traps.rs +0 -0
  1893. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/gc.rs +0 -0
  1894. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/obj.rs +0 -0
  1895. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/scopevec.rs +0 -0
  1896. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/trap_encoding.rs +0 -0
  1897. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-fiber-23.0.2}/LICENSE +0 -0
  1898. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/aarch64.rs +0 -0
  1899. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/arm.rs +0 -0
  1900. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/riscv64.rs +0 -0
  1901. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/s390x.S +0 -0
  1902. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/x86.rs +0 -0
  1903. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/x86_64.rs +0 -0
  1904. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/windows.c +0 -0
  1905. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-23.0.2}/README.md +0 -0
  1906. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-23.0.2}/src/lib.rs +0 -0
  1907. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-23.0.2}/src/lib.rs +0 -0
  1908. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-23.0.2}/src/miri.rs +0 -0
  1909. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-23.0.2}/src/win.rs +0 -0
  1910. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-types-23.0.2}/LICENSE +0 -0
  1911. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-types-23.0.2}/src/error.rs +0 -0
  1912. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-21.0.1 → wasmtime-versioned-export-macros-23.0.2}/src/lib.rs +0 -0
  1913. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-wasi-23.0.2}/LICENSE +0 -0
  1914. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/README.md +0 -0
  1915. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/clocks/host.rs +0 -0
  1916. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/clocks.rs +0 -0
  1917. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/error.rs +0 -0
  1918. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/host/mod.rs +0 -0
  1919. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/random.rs +0 -0
  1920. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/runtime.rs +0 -0
  1921. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/stdio/worker_thread_stdin.rs +0 -0
  1922. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/stream.rs +0 -0
  1923. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/tcp.rs +0 -0
  1924. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/udp.rs +0 -0
  1925. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/write_stream.rs +0 -0
  1926. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/tests/all/main.rs +0 -0
  1927. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/tests/all/preview1.rs +0 -0
  1928. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/tests/process_stdin.rs +0 -0
  1929. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/command-extended.wit +0 -0
  1930. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/command.wit +0 -0
  1931. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/environment.wit +0 -0
  1932. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/exit.wit +0 -0
  1933. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/imports.wit +0 -0
  1934. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/run.wit +0 -0
  1935. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/stdio.wit +0 -0
  1936. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/terminal.wit +0 -0
  1937. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1938. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/clocks/wall-clock.wit +0 -0
  1939. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/clocks/world.wit +0 -0
  1940. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/preopens.wit +0 -0
  1941. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/types.wit +0 -0
  1942. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/world.wit +0 -0
  1943. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/http/handler.wit +0 -0
  1944. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/http/proxy.wit +0 -0
  1945. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/http/types.wit +0 -0
  1946. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/error.wit +0 -0
  1947. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/poll.wit +0 -0
  1948. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/streams.wit +0 -0
  1949. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/world.wit +0 -0
  1950. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure-seed.wit +0 -0
  1951. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure.wit +0 -0
  1952. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/random.wit +0 -0
  1953. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/world.wit +0 -0
  1954. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/instance-network.wit +0 -0
  1955. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1956. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/network.wit +0 -0
  1957. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1958. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp.wit +0 -0
  1959. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1960. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp.wit +0 -0
  1961. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/world.wit +0 -0
  1962. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/test.wit +0 -0
  1963. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview0/typenames.witx +0 -0
  1964. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1965. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview1/typenames.witx +0 -0
  1966. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1967. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-23.0.2}/LICENSE +0 -0
  1968. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-23.0.2}/src/builder.rs +0 -0
  1969. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-23.0.2}/src/lib.rs +0 -0
  1970. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-21.0.1 → wasmtime-wit-bindgen-23.0.2}/src/source.rs +0 -0
  1971. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/README.md +0 -0
  1972. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/alias.rs +0 -0
  1973. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/custom.rs +0 -0
  1974. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/export.rs +0 -0
  1975. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/func.rs +0 -0
  1976. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/import.rs +0 -0
  1977. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/instance.rs +0 -0
  1978. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/item_ref.rs +0 -0
  1979. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/module.rs +0 -0
  1980. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/types.rs +0 -0
  1981. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/wast.rs +0 -0
  1982. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/custom.rs +0 -0
  1983. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/export.rs +0 -0
  1984. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/func.rs +0 -0
  1985. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/global.rs +0 -0
  1986. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/import.rs +0 -0
  1987. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/resolve/mod.rs +0 -0
  1988. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/tag.rs +0 -0
  1989. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/wast.rs +0 -0
  1990. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/encode.rs +0 -0
  1991. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/error.rs +0 -0
  1992. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/gensym.rs +0 -0
  1993. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/lexer.rs +0 -0
  1994. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/names.rs +0 -0
  1995. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/token.rs +0 -0
  1996. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/wast.rs +0 -0
  1997. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/annotations.rs +0 -0
  1998. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/comments.rs +0 -0
  1999. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
  2000. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
  2001. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
  2002. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
  2003. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat +0 -0
  2004. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
  2005. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat +0 -0
  2006. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
  2007. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat +0 -0
  2008. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
  2009. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat +0 -0
  2010. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
  2011. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat +0 -0
  2012. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat.err +0 -0
  2013. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat +0 -0
  2014. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat.err +0 -0
  2015. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat +0 -0
  2016. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat.err +0 -0
  2017. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
  2018. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
  2019. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
  2020. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
  2021. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
  2022. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
  2023. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
  2024. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
  2025. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
  2026. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
  2027. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
  2028. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
  2029. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
  2030. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
  2031. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
  2032. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
  2033. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
  2034. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
  2035. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
  2036. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
  2037. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
  2038. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
  2039. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
  2040. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
  2041. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
  2042. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
  2043. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
  2044. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
  2045. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
  2046. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
  2047. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
  2048. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
  2049. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
  2050. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
  2051. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
  2052. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
  2053. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
  2054. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
  2055. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
  2056. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
  2057. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
  2058. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
  2059. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
  2060. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
  2061. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
  2062. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
  2063. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
  2064. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
  2065. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
  2066. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
  2067. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
  2068. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
  2069. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
  2070. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
  2071. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat +0 -0
  2072. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat.err +0 -0
  2073. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
  2074. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
  2075. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat +0 -0
  2076. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat.err +0 -0
  2077. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat +0 -0
  2078. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat.err +0 -0
  2079. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat +0 -0
  2080. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat.err +0 -0
  2081. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat +0 -0
  2082. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat.err +0 -0
  2083. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat +0 -0
  2084. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat.err +0 -0
  2085. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat +0 -0
  2086. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat.err +0 -0
  2087. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat +0 -0
  2088. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat.err +0 -0
  2089. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat +0 -0
  2090. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat.err +0 -0
  2091. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat +0 -0
  2092. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat.err +0 -0
  2093. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat +0 -0
  2094. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat.err +0 -0
  2095. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat +0 -0
  2096. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat.err +0 -0
  2097. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat +0 -0
  2098. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat.err +0 -0
  2099. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat +0 -0
  2100. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat.err +0 -0
  2101. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat +0 -0
  2102. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat.err +0 -0
  2103. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat +0 -0
  2104. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat.err +0 -0
  2105. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat +0 -0
  2106. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat.err +0 -0
  2107. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat +0 -0
  2108. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
  2109. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail.rs +0 -0
  2110. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/recursive.rs +0 -0
  2111. /data/ext/cargo-vendor/{wat-1.209.1 → wat-1.215.0}/README.md +0 -0
  2112. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wiggle-23.0.2}/LICENSE +0 -0
  2113. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-23.0.2}/README.md +0 -0
  2114. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-23.0.2}/src/error.rs +0 -0
  2115. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-23.0.2}/src/region.rs +0 -0
  2116. /data/ext/cargo-vendor/{wast-209.0.1 → wiggle-generate-23.0.2}/LICENSE +0 -0
  2117. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/README.md +0 -0
  2118. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/codegen_settings.rs +0 -0
  2119. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/config.rs +0 -0
  2120. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/lib.rs +0 -0
  2121. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/lifetimes.rs +0 -0
  2122. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/types/error.rs +0 -0
  2123. /data/ext/cargo-vendor/{wat-1.209.1 → wiggle-macro-23.0.2}/LICENSE +0 -0
  2124. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/LICENSE +0 -0
  2125. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/build.rs +0 -0
  2126. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/abi/local.rs +0 -0
  2127. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/codegen/bounds.rs +0 -0
  2128. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/codegen/builtin.rs +0 -0
  2129. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/codegen/call.rs +0 -0
  2130. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/aarch64/abi.rs +0 -0
  2131. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/aarch64/address.rs +0 -0
  2132. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/aarch64/mod.rs +0 -0
  2133. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/mod.rs +0 -0
  2134. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/reg.rs +0 -0
  2135. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/abi.rs +0 -0
  2136. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/address.rs +0 -0
  2137. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/mod.rs +0 -0
  2138. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/regs.rs +0 -0
  2139. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/lib.rs +0 -0
  2140. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/regset.rs +0 -0
  2141. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/README.md +0 -0
  2142. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/src/abi.rs +0 -0
  2143. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/src/ast/toposort.rs +0 -0
  2144. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/src/sizealign.rs +0 -0
  2145. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/comments.wit +0 -0
  2146. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/comments.wit.json +0 -0
  2147. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  2148. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  2149. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/complex-include/root.wit +0 -0
  2150. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  2151. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/cross-package-resource/foo.wit +0 -0
  2152. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/cross-package-resource.wit.json +0 -0
  2153. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  2154. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  2155. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/diamond1/join.wit +0 -0
  2156. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  2157. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  2158. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
  2159. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/empty.wit +0 -0
  2160. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/empty.wit.json +0 -0
  2161. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  2162. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  2163. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  2164. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  2165. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  2166. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  2167. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  2168. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/root.wit +0 -0
  2169. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  2170. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  2171. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  2172. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  2173. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  2174. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  2175. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  2176. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  2177. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/root.wit +0 -0
  2178. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/functions.wit +0 -0
  2179. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/functions.wit.json +0 -0
  2180. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  2181. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  2182. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/world.wit +0 -0
  2183. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit +0 -0
  2184. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit.json +0 -0
  2185. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit +0 -0
  2186. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/include-reps.wit +0 -0
  2187. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit +0 -0
  2188. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
  2189. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/a.wit +0 -0
  2190. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  2191. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  2192. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  2193. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  2194. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/many-names/a.wit +0 -0
  2195. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/many-names/b.wit +0 -0
  2196. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/bar.wit +0 -0
  2197. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-a.wit +0 -0
  2198. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-b.wit +0 -0
  2199. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/foo.wit +0 -0
  2200. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  2201. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  2202. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  2203. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit +0 -0
  2204. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit.json +0 -0
  2205. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit +0 -0
  2206. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit.json +0 -0
  2207. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit +0 -0
  2208. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit.json +0 -0
  2209. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  2210. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  2211. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/async.wit.result +0 -0
  2212. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  2213. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit +0 -0
  2214. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  2215. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
  2216. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  2217. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
  2218. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  2219. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
  2220. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  2221. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
  2222. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  2223. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  2224. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  2225. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  2226. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  2227. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  2228. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  2229. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  2230. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  2231. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  2232. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  2233. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  2234. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  2235. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  2236. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  2237. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  2238. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  2239. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  2240. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  2241. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  2242. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  2243. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  2244. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  2245. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  2246. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  2247. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  2248. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  2249. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  2250. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  2251. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  2252. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  2253. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  2254. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  2255. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  2256. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  2257. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  2258. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  2259. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  2260. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  2261. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  2262. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  2263. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  2264. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  2265. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  2266. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  2267. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  2268. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  2269. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  2270. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  2271. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  2272. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  2273. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  2274. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  2275. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  2276. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  2277. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit +0 -0
  2278. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
  2279. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit +0 -0
  2280. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  2281. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit +0 -0
  2282. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  2283. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit +0 -0
  2284. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  2285. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit +0 -0
  2286. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  2287. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  2288. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  2289. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  2290. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  2291. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  2292. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  2293. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  2294. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  2295. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  2296. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  2297. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  2298. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  2299. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  2300. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
  2301. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  2302. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  2303. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  2304. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit +0 -0
  2305. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  2306. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  2307. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  2308. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  2309. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  2310. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  2311. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  2312. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  2313. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  2314. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  2315. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  2316. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit +0 -0
  2317. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  2318. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
  2319. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  2320. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  2321. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  2322. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  2323. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
  2324. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  2325. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  2326. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  2327. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  2328. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  2329. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  2330. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  2331. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  2332. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  2333. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  2334. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  2335. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2336. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  2337. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit +0 -0
  2338. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2339. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit +0 -0
  2340. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2341. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  2342. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  2343. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  2344. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  2345. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  2346. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  2347. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  2348. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  2349. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  2350. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2351. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  2352. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  2353. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  2354. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2355. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  2356. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
  2357. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  2358. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  2359. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  2360. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  2361. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  2362. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  2363. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  2364. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  2365. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  2366. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  2367. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  2368. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
  2369. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  2370. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  2371. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  2372. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  2373. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2374. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2375. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2376. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2377. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2378. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2379. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2380. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2381. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2382. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2383. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2384. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2385. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2386. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2387. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2388. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2389. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  2390. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2391. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2392. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2393. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2394. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2395. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2396. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2397. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2398. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2399. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2400. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2401. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2402. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2403. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  2404. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2405. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2406. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2407. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2408. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2409. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2410. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2411. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2412. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2413. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2414. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2415. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2416. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2417. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2418. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2419. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2420. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2421. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2422. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2423. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2424. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2425. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2426. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2427. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2428. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2429. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/random.wit +0 -0
  2430. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/random.wit.json +0 -0
  2431. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-empty.wit +0 -0
  2432. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-empty.wit.json +0 -0
  2433. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2434. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2435. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit +0 -0
  2436. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit.json +0 -0
  2437. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit +0 -0
  2438. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit.json +0 -0
  2439. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources.wit +0 -0
  2440. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources.wit.json +0 -0
  2441. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources1.wit +0 -0
  2442. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources1.wit.json +0 -0
  2443. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit +0 -0
  2444. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit.json +0 -0
  2445. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/shared-types.wit +0 -0
  2446. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wat +0 -0
  2447. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wit.json +0 -0
  2448. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit +0 -0
  2449. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit +0 -0
  2450. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit.json +0 -0
  2451. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/types.wit +0 -0
  2452. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/types.wit.json +0 -0
  2453. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit +0 -0
  2454. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit.json +0 -0
  2455. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit +0 -0
  2456. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit.json +0 -0
  2457. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use-chain.wit +0 -0
  2458. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use-chain.wit.json +0 -0
  2459. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use.wit +0 -0
  2460. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use.wit.json +0 -0
  2461. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2462. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2463. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions/foo.wit +0 -0
  2464. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions.wit.json +0 -0
  2465. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/wasi.wit +0 -0
  2466. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/wasi.wit.json +0 -0
  2467. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-diamond.wit +0 -0
  2468. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit +0 -0
  2469. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit +0 -0
  2470. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit +0 -0
  2471. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit +0 -0
  2472. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit +0 -0
  2473. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit +0 -0
  2474. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2475. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit +0 -0
  2476. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit +0 -0
  2477. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit +0 -0
@@ -0,0 +1,2740 @@
1
+ use crate::ast::lex::Span;
2
+ use crate::ast::{parse_use_path, ParsedUsePath};
3
+ #[cfg(feature = "serde")]
4
+ use crate::serde_::{serialize_arena, serialize_id_map};
5
+ use crate::{
6
+ AstItem, Docs, Error, Function, FunctionKind, Handle, IncludeName, Interface, InterfaceId,
7
+ InterfaceSpan, PackageName, Results, SourceMap, Stability, Type, TypeDef, TypeDefKind, TypeId,
8
+ TypeOwner, UnresolvedPackage, UnresolvedPackageGroup, World, WorldId, WorldItem, WorldKey,
9
+ WorldSpan,
10
+ };
11
+ use anyhow::{anyhow, bail, Context, Result};
12
+ use id_arena::{Arena, Id};
13
+ use indexmap::{IndexMap, IndexSet};
14
+ #[cfg(feature = "serde")]
15
+ use serde_derive::Serialize;
16
+ use std::collections::{BTreeMap, HashMap, HashSet};
17
+ use std::mem;
18
+ use std::path::{Path, PathBuf};
19
+
20
+ /// Representation of a fully resolved set of WIT packages.
21
+ ///
22
+ /// This structure contains a graph of WIT packages and all of their contents
23
+ /// merged together into the contained arenas. All items are sorted
24
+ /// topologically and everything here is fully resolved, so with a `Resolve` no
25
+ /// name lookups are necessary and instead everything is index-based.
26
+ ///
27
+ /// Working with a WIT package requires inserting it into a `Resolve` to ensure
28
+ /// that all of its dependencies are satisfied. This will give the full picture
29
+ /// of that package's types and such.
30
+ ///
31
+ /// Each item in a `Resolve` has a parent link to trace it back to the original
32
+ /// package as necessary.
33
+ #[derive(Default, Clone, Debug)]
34
+ #[cfg_attr(feature = "serde", derive(Serialize))]
35
+ pub struct Resolve {
36
+ /// All knowns worlds within this `Resolve`.
37
+ ///
38
+ /// Each world points at a `PackageId` which is stored below. No ordering is
39
+ /// guaranteed between this list of worlds.
40
+ #[cfg_attr(feature = "serde", serde(serialize_with = "serialize_arena"))]
41
+ pub worlds: Arena<World>,
42
+
43
+ /// All knowns interfaces within this `Resolve`.
44
+ ///
45
+ /// Each interface points at a `PackageId` which is stored below. No
46
+ /// ordering is guaranteed between this list of interfaces.
47
+ #[cfg_attr(feature = "serde", serde(serialize_with = "serialize_arena"))]
48
+ pub interfaces: Arena<Interface>,
49
+
50
+ /// All knowns types within this `Resolve`.
51
+ ///
52
+ /// Types are topologically sorted such that any type referenced from one
53
+ /// type is guaranteed to be defined previously. Otherwise though these are
54
+ /// not sorted by interface for example.
55
+ #[cfg_attr(feature = "serde", serde(serialize_with = "serialize_arena"))]
56
+ pub types: Arena<TypeDef>,
57
+
58
+ /// All knowns packages within this `Resolve`.
59
+ ///
60
+ /// This list of packages is not sorted. Sorted packages can be queried
61
+ /// through [`Resolve::topological_packages`].
62
+ #[cfg_attr(feature = "serde", serde(serialize_with = "serialize_arena"))]
63
+ pub packages: Arena<Package>,
64
+
65
+ /// A map of package names to the ID of the package with that name.
66
+ #[cfg_attr(feature = "serde", serde(skip))]
67
+ pub package_names: IndexMap<PackageName, PackageId>,
68
+
69
+ /// Activated features for this [`Resolve`].
70
+ ///
71
+ /// This set of features is empty by default. This is consulted for
72
+ /// `@unstable` annotations in loaded WIT documents. Any items with
73
+ /// `@unstable` are filtered out unless their feature is present within this
74
+ /// set.
75
+ #[cfg_attr(feature = "serde", serde(skip))]
76
+ pub features: IndexSet<String>,
77
+
78
+ /// Activate all features for this [`Resolve`].
79
+ #[cfg_attr(feature = "serde", serde(skip))]
80
+ pub all_features: bool,
81
+ }
82
+
83
+ /// A WIT package within a `Resolve`.
84
+ ///
85
+ /// A package is a collection of interfaces and worlds. Packages additionally
86
+ /// have a unique identifier that affects generated components and uniquely
87
+ /// identifiers this particular package.
88
+ #[derive(Clone, Debug)]
89
+ #[cfg_attr(feature = "serde", derive(Serialize))]
90
+ pub struct Package {
91
+ /// A unique name corresponding to this package.
92
+ pub name: PackageName,
93
+
94
+ /// Documentation associated with this package.
95
+ #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Docs::is_empty"))]
96
+ pub docs: Docs,
97
+
98
+ /// All interfaces contained in this packaged, keyed by the interface's
99
+ /// name.
100
+ #[cfg_attr(feature = "serde", serde(serialize_with = "serialize_id_map"))]
101
+ pub interfaces: IndexMap<String, InterfaceId>,
102
+
103
+ /// All worlds contained in this package, keyed by the world's name.
104
+ #[cfg_attr(feature = "serde", serde(serialize_with = "serialize_id_map"))]
105
+ pub worlds: IndexMap<String, WorldId>,
106
+ }
107
+
108
+ pub type PackageId = Id<Package>;
109
+
110
+ enum ParsedFile {
111
+ #[cfg(feature = "decoding")]
112
+ Package(PackageId),
113
+ Unresolved(UnresolvedPackageGroup),
114
+ }
115
+
116
+ /// Visitor helper for performing topological sort on a group of packages.
117
+ fn visit<'a>(
118
+ pkg: &'a UnresolvedPackage,
119
+ pkg_details_map: &'a BTreeMap<PackageName, (UnresolvedPackage, usize)>,
120
+ order: &mut IndexSet<PackageName>,
121
+ visiting: &mut HashSet<&'a PackageName>,
122
+ source_maps: &[SourceMap],
123
+ ) -> Result<()> {
124
+ if order.contains(&pkg.name) {
125
+ return Ok(());
126
+ }
127
+
128
+ match pkg_details_map.get(&pkg.name) {
129
+ Some(pkg_details) => {
130
+ let (_, source_maps_index) = pkg_details;
131
+ source_maps[*source_maps_index].rewrite_error(|| {
132
+ for (i, (dep, _)) in pkg.foreign_deps.iter().enumerate() {
133
+ let span = pkg.foreign_dep_spans[i];
134
+ if !visiting.insert(dep) {
135
+ bail!(Error::new(span, "package depends on itself"));
136
+ }
137
+ if let Some(dep) = pkg_details_map.get(dep) {
138
+ let (dep_pkg, _) = dep;
139
+ visit(dep_pkg, pkg_details_map, order, visiting, source_maps)?;
140
+ }
141
+ assert!(visiting.remove(dep));
142
+ }
143
+ assert!(order.insert(pkg.name.clone()));
144
+ Ok(())
145
+ })
146
+ }
147
+ None => panic!("No pkg_details found for package when doing topological sort"),
148
+ }
149
+ }
150
+
151
+ impl Resolve {
152
+ /// Creates a new [`Resolve`] with no packages/items inside of it.
153
+ pub fn new() -> Resolve {
154
+ Resolve::default()
155
+ }
156
+
157
+ /// Parse WIT packages from the input `path`.
158
+ ///
159
+ /// The input `path` can be one of:
160
+ ///
161
+ /// * A directory containing a WIT package with an optional `deps` directory
162
+ /// for any dependent WIT packages it references.
163
+ /// * A single standalone WIT file.
164
+ /// * A wasm-encoded WIT package as a single file in the wasm binary format.
165
+ /// * A wasm-encoded WIT package as a single file in the wasm text format.
166
+ ///
167
+ /// In all of these cases packages are allowed to depend on previously
168
+ /// inserted packages into this `Resolve`. Resolution for packages is based
169
+ /// on the name of each package and reference.
170
+ ///
171
+ /// This method returns a list of `PackageId` elements and additionally a
172
+ /// list of `PathBuf` elements. The `PackageId` elements represent the "main
173
+ /// package" that was parsed. For example if a single WIT file was specified
174
+ /// this will be all the packages found in the file. For a directory this
175
+ /// will be all the packages in the directory itself, but not in the `deps`
176
+ /// directory. The list of `PackageId` values is useful to pass to
177
+ /// [`Resolve::select_world`] to take a user-specified world in a
178
+ /// conventional fashion and select which to use for bindings generation.
179
+ ///
180
+ /// The returned list of `PathBuf` elements represents all files parsed
181
+ /// during this operation. This can be useful for systems that want to
182
+ /// rebuild or regenerate bindings based on files modified.
183
+ ///
184
+ /// More information can also be found at [`Resolve::push_dir`] and
185
+ /// [`Resolve::push_file`].
186
+ pub fn push_path(&mut self, path: impl AsRef<Path>) -> Result<(Vec<PackageId>, Vec<PathBuf>)> {
187
+ self._push_path(path.as_ref())
188
+ }
189
+
190
+ fn _push_path(&mut self, path: &Path) -> Result<(Vec<PackageId>, Vec<PathBuf>)> {
191
+ if path.is_dir() {
192
+ self.push_dir(path).with_context(|| {
193
+ format!(
194
+ "failed to resolve directory while parsing WIT for path [{}]",
195
+ path.display()
196
+ )
197
+ })
198
+ } else {
199
+ let ids = self.push_file(path)?;
200
+ Ok((ids, vec![path.to_path_buf()]))
201
+ }
202
+ }
203
+
204
+ fn sort_unresolved_packages(
205
+ &mut self,
206
+ unresolved_groups: Vec<UnresolvedPackageGroup>,
207
+ ) -> Result<(Vec<PackageId>, Vec<PathBuf>)> {
208
+ let mut pkg_ids = Vec::new();
209
+ let mut path_bufs = Vec::new();
210
+ let mut pkg_details_map = BTreeMap::new();
211
+ let mut source_maps = Vec::new();
212
+ for (i, unresolved_group) in unresolved_groups.into_iter().enumerate() {
213
+ let UnresolvedPackageGroup {
214
+ packages,
215
+ source_map,
216
+ } = unresolved_group;
217
+
218
+ source_maps.push(source_map);
219
+ for pkg in packages {
220
+ pkg_details_map.insert(pkg.name.clone(), (pkg, i));
221
+ }
222
+ }
223
+
224
+ // Perform a simple topological sort which will bail out on cycles
225
+ // and otherwise determine the order that packages must be added to
226
+ // this `Resolve`.
227
+ let mut order = IndexSet::new();
228
+ let mut visiting = HashSet::new();
229
+ for pkg_details in pkg_details_map.values() {
230
+ let (pkg, _) = pkg_details;
231
+ visit(
232
+ pkg,
233
+ &pkg_details_map,
234
+ &mut order,
235
+ &mut visiting,
236
+ &source_maps,
237
+ )?;
238
+ }
239
+
240
+ // Ensure that the final output is topologically sorted. Use a set to ensure that we render
241
+ // the buffers for each `SourceMap` only once, even though multiple packages may references
242
+ // the same `SourceMap`.
243
+ let mut seen_source_maps = HashSet::new();
244
+ for name in order {
245
+ match pkg_details_map.remove(&name) {
246
+ Some((pkg, source_map_index)) => {
247
+ let source_map = &source_maps[source_map_index];
248
+ if !seen_source_maps.contains(&source_map_index) {
249
+ seen_source_maps.insert(source_map_index);
250
+ path_bufs.extend(source_map.source_files().map(|p| p.to_path_buf()));
251
+ }
252
+ pkg_ids.push(self.push(pkg, source_map)?);
253
+ }
254
+ None => panic!("package in topologically ordered set, but not in package map"),
255
+ }
256
+ }
257
+
258
+ Ok((pkg_ids, path_bufs))
259
+ }
260
+
261
+ /// Parses the filesystem directory at `path` as a WIT package and returns
262
+ /// a fully resolved [`PackageId`] list as a result.
263
+ ///
264
+ /// The directory itself is parsed with [`UnresolvedPackageGroup::parse_dir`]
265
+ /// and then all packages found are inserted into this `Resolve`. The `path`
266
+ /// specified may have a `deps` subdirectory which is probed automatically
267
+ /// for any other WIT dependencies.
268
+ ///
269
+ /// The `deps` folder may contain:
270
+ ///
271
+ /// * `$path/deps/my-package/*.wit` - a directory that may contain multiple
272
+ /// WIT files. This is parsed with [`UnresolvedPackageGroup::parse_dir`]
273
+ /// and then inserted into this [`Resolve`]. Note that cannot recursively
274
+ /// contain a `deps` directory.
275
+ /// * `$path/deps/my-package.wit` - a single-file WIT package. This is
276
+ /// parsed with [`Resolve::push_file`] and then added to `self` for
277
+ /// name reoslution.
278
+ /// * `$path/deps/my-package.{wasm,wat}` - a wasm-encoded WIT package either
279
+ /// in the text for binary format.
280
+ ///
281
+ /// In all cases entries in the `deps` folder are added to `self` first
282
+ /// before adding files found in `path` itself. All WIT packages found are
283
+ /// candidates for name-based resolution that other packages may used.
284
+ ///
285
+ /// This function returns a tuple of two values. The first value is a list
286
+ /// of [`PackageId`] values which represents the WIT packages found within
287
+ /// `path`, but not those within `deps`. The `path` provided may contain
288
+ /// only a single WIT package but might also use the multi-package form of
289
+ /// WIT, and the returned list will indicate which was used. This argument
290
+ /// is useful for passing to [`Resolve::select_world`] for choosing
291
+ /// something to bindgen with.
292
+ ///
293
+ /// The second value returned here is the list of paths that were parsed
294
+ /// when generating the return value. This can be useful for build systems
295
+ /// that want to rebuild bindings whenever one of the files change.
296
+ pub fn push_dir(&mut self, path: impl AsRef<Path>) -> Result<(Vec<PackageId>, Vec<PathBuf>)> {
297
+ let path = path.as_ref();
298
+ let deps_path = path.join("deps");
299
+ let unresolved_deps = self.parse_deps_dir(&deps_path).with_context(|| {
300
+ format!(
301
+ "failed to parse dependency directory: {}",
302
+ deps_path.display()
303
+ )
304
+ })?;
305
+ let (_, mut path_bufs) = self.sort_unresolved_packages(unresolved_deps)?;
306
+
307
+ let unresolved_top_level = UnresolvedPackageGroup::parse_dir(path)
308
+ .with_context(|| format!("failed to parse package: {}", path.display()))?;
309
+ let (pkgs_ids, mut top_level_path_bufs) =
310
+ self.sort_unresolved_packages(vec![unresolved_top_level])?;
311
+
312
+ path_bufs.append(&mut top_level_path_bufs);
313
+ Ok((pkgs_ids, path_bufs))
314
+ }
315
+
316
+ fn parse_deps_dir(&mut self, path: &Path) -> Result<Vec<UnresolvedPackageGroup>> {
317
+ let mut unresolved_deps = Vec::new();
318
+ // If there's no `deps` dir, then there's no deps, so return the
319
+ // empty set.
320
+ if !path.exists() {
321
+ return Ok(unresolved_deps);
322
+ }
323
+ let mut entries = path
324
+ .read_dir()
325
+ .and_then(|i| i.collect::<std::io::Result<Vec<_>>>())
326
+ .context("failed to read directory")?;
327
+ entries.sort_by_key(|e| e.file_name());
328
+ for dep in entries {
329
+ let path = dep.path();
330
+ if dep.file_type()?.is_dir() || path.metadata()?.is_dir() {
331
+ // If this entry is a directory or a symlink point to a
332
+ // directory then always parse it as an `UnresolvedPackage`
333
+ // since it's intentional to not support recursive `deps`
334
+ // directories.
335
+ unresolved_deps.push(
336
+ UnresolvedPackageGroup::parse_dir(&path)
337
+ .with_context(|| format!("failed to parse package: {}", path.display()))?,
338
+ )
339
+ } else {
340
+ // If this entry is a file then we may want to ignore it but
341
+ // this may also be a standalone WIT file or a `*.wasm` or
342
+ // `*.wat` encoded package.
343
+ let filename = dep.file_name();
344
+ unresolved_deps.push(
345
+ match Path::new(&filename).extension().and_then(|s| s.to_str()) {
346
+ Some("wit") | Some("wat") | Some("wasm") => match self._push_file(&path)? {
347
+ #[cfg(feature = "decoding")]
348
+ ParsedFile::Package(_) => continue,
349
+ ParsedFile::Unresolved(pkgs) => pkgs,
350
+ },
351
+
352
+ // Other files in deps dir are ignored for now to avoid
353
+ // accidentally including things like `.DS_Store` files in
354
+ // the call below to `parse_dir`.
355
+ _ => continue,
356
+ },
357
+ )
358
+ };
359
+ }
360
+ Ok(unresolved_deps)
361
+ }
362
+
363
+ /// Parses the contents of `path` from the filesystem and pushes the result
364
+ /// into this `Resolve`.
365
+ ///
366
+ /// The `path` referenced here can be one of:
367
+ ///
368
+ /// * A WIT file. Note that in this case this single WIT file will be the
369
+ /// entire package and any dependencies it has must already be in `self`.
370
+ /// * A WIT package encoded as WebAssembly, either in text or binary form.
371
+ /// In this the package and all of its dependencies are automatically
372
+ /// inserted into `self`.
373
+ ///
374
+ /// In both situations the `PackageId`s of the resulting resolved packages
375
+ /// are returned from this method. The return value is mostly useful in
376
+ /// conjunction with [`Resolve::select_world`].
377
+ pub fn push_file(&mut self, path: impl AsRef<Path>) -> Result<Vec<PackageId>> {
378
+ match self._push_file(path.as_ref())? {
379
+ #[cfg(feature = "decoding")]
380
+ ParsedFile::Package(id) => Ok(vec![id]),
381
+ ParsedFile::Unresolved(pkgs) => self.push_group(pkgs),
382
+ }
383
+ }
384
+
385
+ fn _push_file(&mut self, path: &Path) -> Result<ParsedFile> {
386
+ let contents = std::fs::read(path)
387
+ .with_context(|| format!("failed to read path for WIT [{}]", path.display()))?;
388
+
389
+ // If decoding is enabled at compile time then try to see if this is a
390
+ // wasm file.
391
+ #[cfg(feature = "decoding")]
392
+ {
393
+ use crate::decoding::{decode, DecodedWasm};
394
+
395
+ #[cfg(feature = "wat")]
396
+ let is_wasm = wat::Detect::from_bytes(&contents).is_wasm();
397
+ #[cfg(not(feature = "wat"))]
398
+ let is_wasm = wasmparser::Parser::is_component(&contents);
399
+
400
+ if is_wasm {
401
+ #[cfg(feature = "wat")]
402
+ let contents = wat::parse_bytes(&contents).map_err(|mut e| {
403
+ e.set_path(path);
404
+ e
405
+ })?;
406
+
407
+ match decode(&contents)? {
408
+ DecodedWasm::Component(..) => {
409
+ bail!("found an actual component instead of an encoded WIT package in wasm")
410
+ }
411
+ DecodedWasm::WitPackages(resolve, pkgs) => {
412
+ let remap = self.merge(resolve)?;
413
+ return Ok(ParsedFile::Package(remap.packages[pkgs[0].index()]));
414
+ }
415
+ }
416
+ }
417
+ }
418
+
419
+ // If this wasn't a wasm file then assume it's a WIT file.
420
+ let text = match std::str::from_utf8(&contents) {
421
+ Ok(s) => s,
422
+ Err(_) => bail!("input file is not valid utf-8 [{}]", path.display()),
423
+ };
424
+ let pkgs = UnresolvedPackageGroup::parse(path, text)?;
425
+ Ok(ParsedFile::Unresolved(pkgs))
426
+ }
427
+
428
+ /// Appends a new [`UnresolvedPackage`] to this [`Resolve`], creating a
429
+ /// fully resolved package with no dangling references.
430
+ ///
431
+ /// All the dependencies of `unresolved` must already have been loaded
432
+ /// within this `Resolve` via previous calls to `push` or other methods such
433
+ /// as [`Resolve::push_path`].
434
+ ///
435
+ /// Any dependency resolution error or otherwise world-elaboration error
436
+ /// will be returned here, if successful a package identifier is returned
437
+ /// which corresponds to the package that was just inserted.
438
+ pub fn push(
439
+ &mut self,
440
+ unresolved: UnresolvedPackage,
441
+ source_map: &SourceMap,
442
+ ) -> Result<PackageId> {
443
+ source_map.rewrite_error(|| Remap::default().append(self, unresolved))
444
+ }
445
+
446
+ /// Appends new [`UnresolvedPackageGroup`] to this [`Resolve`], creating a
447
+ /// fully resolved package with no dangling references.
448
+ ///
449
+ /// Any dependency resolution error or otherwise world-elaboration error
450
+ /// will be returned here, if successful a package identifier is returned
451
+ /// which corresponds to the package that was just inserted.
452
+ ///
453
+ /// The returned [`PackageId`]s are listed in topologically sorted order.
454
+ pub fn push_group(
455
+ &mut self,
456
+ unresolved_groups: UnresolvedPackageGroup,
457
+ ) -> Result<Vec<PackageId>> {
458
+ let (pkg_ids, _) = self.sort_unresolved_packages(vec![unresolved_groups])?;
459
+ Ok(pkg_ids)
460
+ }
461
+
462
+ /// Convenience method for combining [`UnresolvedPackageGroup::parse`] and
463
+ /// [`Resolve::push_group`].
464
+ ///
465
+ /// The `path` provided is used for error messages but otherwise is not
466
+ /// read. This method does not touch the filesystem. The `contents` provided
467
+ /// are the contents of a WIT package.
468
+ pub fn push_str(&mut self, path: impl AsRef<Path>, contents: &str) -> Result<Vec<PackageId>> {
469
+ self.push_group(UnresolvedPackageGroup::parse(path.as_ref(), contents)?)
470
+ }
471
+
472
+ pub fn all_bits_valid(&self, ty: &Type) -> bool {
473
+ match ty {
474
+ Type::U8
475
+ | Type::S8
476
+ | Type::U16
477
+ | Type::S16
478
+ | Type::U32
479
+ | Type::S32
480
+ | Type::U64
481
+ | Type::S64
482
+ | Type::F32
483
+ | Type::F64 => true,
484
+
485
+ Type::Bool | Type::Char | Type::String => false,
486
+
487
+ Type::Id(id) => match &self.types[*id].kind {
488
+ TypeDefKind::List(_)
489
+ | TypeDefKind::Variant(_)
490
+ | TypeDefKind::Enum(_)
491
+ | TypeDefKind::Option(_)
492
+ | TypeDefKind::Result(_)
493
+ | TypeDefKind::Future(_)
494
+ | TypeDefKind::Stream(_) => false,
495
+ TypeDefKind::Type(t) => self.all_bits_valid(t),
496
+
497
+ TypeDefKind::Handle(h) => match h {
498
+ crate::Handle::Own(_) => true,
499
+ crate::Handle::Borrow(_) => true,
500
+ },
501
+
502
+ TypeDefKind::Resource => false,
503
+ TypeDefKind::Record(r) => r.fields.iter().all(|f| self.all_bits_valid(&f.ty)),
504
+ TypeDefKind::Tuple(t) => t.types.iter().all(|t| self.all_bits_valid(t)),
505
+
506
+ // FIXME: this could perhaps be `true` for multiples-of-32 but
507
+ // seems better to probably leave this as unconditionally
508
+ // `false` for now, may want to reconsider later?
509
+ TypeDefKind::Flags(_) => false,
510
+
511
+ TypeDefKind::Unknown => unreachable!(),
512
+ },
513
+ }
514
+ }
515
+
516
+ /// Merges all the contents of a different `Resolve` into this one. The
517
+ /// `Remap` structure returned provides a mapping from all old indices to
518
+ /// new indices
519
+ ///
520
+ /// This operation can fail if `resolve` disagrees with `self` about the
521
+ /// packages being inserted. Otherwise though this will additionally attempt
522
+ /// to "union" packages found in `resolve` with those found in `self`.
523
+ /// Unioning packages is keyed on the name/url of packages for those with
524
+ /// URLs present. If found then it's assumed that both `Resolve` instances
525
+ /// were originally created from the same contents and are two views
526
+ /// of the same package.
527
+ pub fn merge(&mut self, resolve: Resolve) -> Result<Remap> {
528
+ log::trace!(
529
+ "merging {} packages into {} packages",
530
+ resolve.packages.len(),
531
+ self.packages.len()
532
+ );
533
+
534
+ let mut map = MergeMap::new(&resolve, &self)?;
535
+ map.build()?;
536
+ let MergeMap {
537
+ package_map,
538
+ interface_map,
539
+ type_map,
540
+ world_map,
541
+ interfaces_to_add,
542
+ worlds_to_add,
543
+ ..
544
+ } = map;
545
+
546
+ // With a set of maps from ids in `resolve` to ids in `self` the next
547
+ // operation is to start moving over items and building a `Remap` to
548
+ // update ids.
549
+ //
550
+ // Each component field of `resolve` is moved into `self` so long as
551
+ // its ID is not within one of the maps above. If it's present in a map
552
+ // above then that means the item is already present in `self` so a new
553
+ // one need not be added. If it's not present in a map that means it's
554
+ // not present in `self` so it must be added to an arena.
555
+ //
556
+ // When adding an item to an arena one of the `remap.update_*` methods
557
+ // is additionally called to update all identifiers from pointers within
558
+ // `resolve` to becoming pointers within `self`.
559
+ //
560
+ // Altogether this should weave all the missing items in `self` from
561
+ // `resolve` into one structure while updating all identifiers to
562
+ // be local within `self`.
563
+
564
+ let mut remap = Remap::default();
565
+ let Resolve {
566
+ types,
567
+ worlds,
568
+ interfaces,
569
+ packages,
570
+ package_names,
571
+ features: _,
572
+ ..
573
+ } = resolve;
574
+
575
+ let mut moved_types = Vec::new();
576
+ for (id, mut ty) in types {
577
+ let new_id = match type_map.get(&id).copied() {
578
+ Some(id) => id,
579
+ None => {
580
+ log::debug!("moving type {:?}", ty.name);
581
+ moved_types.push(id);
582
+ remap.update_typedef(self, &mut ty, None)?;
583
+ self.types.alloc(ty)
584
+ }
585
+ };
586
+ assert_eq!(remap.types.len(), id.index());
587
+ remap.types.push(Some(new_id));
588
+ }
589
+
590
+ let mut moved_interfaces = Vec::new();
591
+ for (id, mut iface) in interfaces {
592
+ let new_id = match interface_map.get(&id).copied() {
593
+ Some(id) => id,
594
+ None => {
595
+ log::debug!("moving interface {:?}", iface.name);
596
+ moved_interfaces.push(id);
597
+ remap.update_interface(self, &mut iface, None)?;
598
+ self.interfaces.alloc(iface)
599
+ }
600
+ };
601
+ assert_eq!(remap.interfaces.len(), id.index());
602
+ remap.interfaces.push(Some(new_id));
603
+ }
604
+
605
+ let mut moved_worlds = Vec::new();
606
+ for (id, mut world) in worlds {
607
+ let new_id = match world_map.get(&id).copied() {
608
+ Some(id) => id,
609
+ None => {
610
+ log::debug!("moving world {}", world.name);
611
+ moved_worlds.push(id);
612
+ let mut update = |map: &mut IndexMap<WorldKey, WorldItem>| -> Result<_> {
613
+ for (mut name, mut item) in mem::take(map) {
614
+ remap.update_world_key(&mut name, None)?;
615
+ match &mut item {
616
+ WorldItem::Function(f) => remap.update_function(self, f, None)?,
617
+ WorldItem::Interface { id, .. } => {
618
+ *id = remap.map_interface(*id, None)?
619
+ }
620
+ WorldItem::Type(i) => *i = remap.map_type(*i, None)?,
621
+ }
622
+ map.insert(name, item);
623
+ }
624
+ Ok(())
625
+ };
626
+ update(&mut world.imports)?;
627
+ update(&mut world.exports)?;
628
+ self.worlds.alloc(world)
629
+ }
630
+ };
631
+ assert_eq!(remap.worlds.len(), id.index());
632
+ remap.worlds.push(Some(new_id));
633
+ }
634
+
635
+ for (id, mut pkg) in packages {
636
+ let new_id = match package_map.get(&id).copied() {
637
+ Some(id) => id,
638
+ None => {
639
+ for (_, id) in pkg.interfaces.iter_mut() {
640
+ *id = remap.map_interface(*id, None)?;
641
+ }
642
+ for (_, id) in pkg.worlds.iter_mut() {
643
+ *id = remap.map_world(*id, None)?;
644
+ }
645
+ self.packages.alloc(pkg)
646
+ }
647
+ };
648
+ assert_eq!(remap.packages.len(), id.index());
649
+ remap.packages.push(new_id);
650
+ }
651
+
652
+ for (name, id) in package_names {
653
+ let id = remap.packages[id.index()];
654
+ if let Some(prev) = self.package_names.insert(name, id) {
655
+ assert_eq!(prev, id);
656
+ }
657
+ }
658
+
659
+ // Fixup all "parent" links now.
660
+ //
661
+ // Note that this is only done for items that are actually moved from
662
+ // `resolve` into `self`, which is tracked by the various `moved_*`
663
+ // lists built incrementally above. The ids in the `moved_*` lists
664
+ // are ids within `resolve`, so they're translated through `remap` to
665
+ // ids within `self`.
666
+ for id in moved_worlds {
667
+ let id = remap.map_world(id, None)?;
668
+ let pkg = self.worlds[id].package.as_mut().unwrap();
669
+ *pkg = remap.packages[pkg.index()];
670
+ }
671
+ for id in moved_interfaces {
672
+ let id = remap.map_interface(id, None)?;
673
+ let pkg = self.interfaces[id].package.as_mut().unwrap();
674
+ *pkg = remap.packages[pkg.index()];
675
+ }
676
+ for id in moved_types {
677
+ let id = remap.map_type(id, None)?;
678
+ match &mut self.types[id].owner {
679
+ TypeOwner::Interface(id) => *id = remap.map_interface(*id, None)?,
680
+ TypeOwner::World(id) => *id = remap.map_world(*id, None)?,
681
+ TypeOwner::None => {}
682
+ }
683
+ }
684
+
685
+ // And finally process items that were present in `resolve` but were
686
+ // not present in `self`. This is only done for merged packages as
687
+ // documents may be added to `self.documents` but wouldn't otherwise be
688
+ // present in the `documents` field of the corresponding package.
689
+ for (name, pkg, iface) in interfaces_to_add {
690
+ let prev = self.packages[pkg]
691
+ .interfaces
692
+ .insert(name, remap.map_interface(iface, None)?);
693
+ assert!(prev.is_none());
694
+ }
695
+ for (name, pkg, world) in worlds_to_add {
696
+ let prev = self.packages[pkg]
697
+ .worlds
698
+ .insert(name, remap.map_world(world, None)?);
699
+ assert!(prev.is_none());
700
+ }
701
+
702
+ log::trace!("now have {} packages", self.packages.len());
703
+ Ok(remap)
704
+ }
705
+
706
+ /// Merges the world `from` into the world `into`.
707
+ ///
708
+ /// This will attempt to merge one world into another, unioning all of its
709
+ /// imports and exports together. This is an operation performed by
710
+ /// `wit-component`, for example where two different worlds from two
711
+ /// different libraries were linked into the same core wasm file and are
712
+ /// producing a singular world that will be the final component's
713
+ /// interface.
714
+ ///
715
+ /// This operation can fail if the imports/exports overlap.
716
+ pub fn merge_worlds(&mut self, from: WorldId, into: WorldId) -> Result<()> {
717
+ let mut new_imports = Vec::new();
718
+ let mut new_exports = Vec::new();
719
+
720
+ let from_world = &self.worlds[from];
721
+ let into_world = &self.worlds[into];
722
+
723
+ // Build a map of the imports/exports in `into` going the reverse
724
+ // direction from what's listed. This is then consulted below to ensure
725
+ // that the same item isn't exported or imported under two different
726
+ // names which isn't allowed in the component model.
727
+ let mut into_imports_by_id = HashMap::new();
728
+ let mut into_exports_by_id = HashMap::new();
729
+ for (name, import) in into_world.imports.iter() {
730
+ if let WorldItem::Interface { id, .. } = *import {
731
+ let prev = into_imports_by_id.insert(id, name);
732
+ assert!(prev.is_none());
733
+ }
734
+ }
735
+ for (name, export) in into_world.exports.iter() {
736
+ if let WorldItem::Interface { id, .. } = *export {
737
+ let prev = into_exports_by_id.insert(id, name);
738
+ assert!(prev.is_none());
739
+ }
740
+ }
741
+ for (name, import) in from_world.imports.iter() {
742
+ // If the "from" world imports an interface which is already
743
+ // imported by the "into" world then this is allowed if the names
744
+ // are the same. Importing the same interface under different names
745
+ // isn't allowed, but otherwise merging imports of
746
+ // same-named-interfaces is allowed to merge them together.
747
+ if let WorldItem::Interface { id, .. } = import {
748
+ if let Some(prev) = into_imports_by_id.get(id) {
749
+ if *prev != name {
750
+ let name = self.name_world_key(name);
751
+ let prev = self.name_world_key(prev);
752
+ bail!("import `{name}` conflicts with previous name of `{prev}`");
753
+ }
754
+ }
755
+ }
756
+ }
757
+ for (name, export) in from_world.exports.iter() {
758
+ // Note that unlike imports same-named exports are not handled here
759
+ // since if something is exported twice there's no way to "unify" it
760
+ // so it's left as an error.
761
+ if let WorldItem::Interface { id, .. } = export {
762
+ if let Some(prev) = into_exports_by_id.get(id) {
763
+ let name = self.name_world_key(name);
764
+ let prev = self.name_world_key(prev);
765
+ bail!("export `{name}` conflicts with previous name of `{prev}`");
766
+ }
767
+ }
768
+ }
769
+
770
+ // Next walk over the interfaces imported into `from_world` and queue up
771
+ // imports to get inserted into `into_world`.
772
+ for (name, from_import) in from_world.imports.iter() {
773
+ match into_world.imports.get(name) {
774
+ Some(into_import) => match (from_import, into_import) {
775
+ // If these imports, which have the same name, are of the
776
+ // same interface then union them together at this point.
777
+ (
778
+ WorldItem::Interface { id: from, .. },
779
+ WorldItem::Interface { id: into, .. },
780
+ ) if from == into => continue,
781
+ _ => {
782
+ let name = self.name_world_key(name);
783
+ bail!("duplicate import found for interface `{name}`");
784
+ }
785
+ },
786
+ None => new_imports.push((name.clone(), from_import.clone())),
787
+ }
788
+ }
789
+
790
+ // All exports at this time must be unique. For example the same
791
+ // interface exported from two locations can't really be resolved to one
792
+ // canonical definition, so make sure that merging worlds only succeeds
793
+ // if the worlds have disjoint sets of exports.
794
+ for (name, export) in from_world.exports.iter() {
795
+ match into_world.exports.get(name) {
796
+ Some(_) => {
797
+ let name = self.name_world_key(name);
798
+ bail!("duplicate export found for interface `{name}`");
799
+ }
800
+ None => new_exports.push((name.clone(), export.clone())),
801
+ }
802
+ }
803
+
804
+ // Insert any new imports and new exports found first.
805
+ let into = &mut self.worlds[into];
806
+ for (name, import) in new_imports {
807
+ let prev = into.imports.insert(name, import);
808
+ assert!(prev.is_none());
809
+ }
810
+ for (name, export) in new_exports {
811
+ let prev = into.exports.insert(name, export);
812
+ assert!(prev.is_none());
813
+ }
814
+
815
+ Ok(())
816
+ }
817
+
818
+ /// Returns the ID of the specified `interface`.
819
+ ///
820
+ /// Returns `None` for unnamed interfaces.
821
+ pub fn id_of(&self, interface: InterfaceId) -> Option<String> {
822
+ let interface = &self.interfaces[interface];
823
+ Some(self.id_of_name(interface.package.unwrap(), interface.name.as_ref()?))
824
+ }
825
+
826
+ /// Returns the ID of the specified `name` within the `pkg`.
827
+ pub fn id_of_name(&self, pkg: PackageId, name: &str) -> String {
828
+ let package = &self.packages[pkg];
829
+ let mut base = String::new();
830
+ base.push_str(&package.name.namespace);
831
+ base.push_str(":");
832
+ base.push_str(&package.name.name);
833
+ base.push_str("/");
834
+ base.push_str(name);
835
+ if let Some(version) = &package.name.version {
836
+ base.push_str(&format!("@{version}"));
837
+ }
838
+ base
839
+ }
840
+
841
+ /// Attempts to locate a world given the "default" set of `packages` and the
842
+ /// optional string specifier `world`.
843
+ ///
844
+ /// This method is intended to be used by bindings generation tools to
845
+ /// select a world from either `packages` or a package in this `Resolve`.
846
+ /// The `packages` list is a return value from methods such as
847
+ /// [`push_path`](Resolve::push_path), [`push_dir`](Resolve::push_dir),
848
+ /// [`push_file`](Resolve::push_file), [`push_group`](Resolve::push_group),
849
+ /// or [`push_str`](Resolve::push_str). The return values of those methods
850
+ /// are the "main package list" which is specified by the user and is used
851
+ /// as a heuristic for world selection.
852
+ ///
853
+ /// If `world` is `None` then `packages` must have one entry and that
854
+ /// package must have exactly one world. If this is the case then that world
855
+ /// will be returned, otherwise an error will be returned.
856
+ ///
857
+ /// If `world` is `Some` then it can either be:
858
+ ///
859
+ /// * A kebab-name of a world such as `"the-world"`. In this situation
860
+ /// the `packages` list must have only a single entry. If `packages` has
861
+ /// no entries or more than one, or if the kebab-name does not exist in
862
+ /// the one package specified, then an error will be returned.
863
+ ///
864
+ /// * An ID-based form of a world which is selected within this `Resolve`,
865
+ /// for example `"wasi:http/proxy"`. In this situation the `packages`
866
+ /// array is ignored and the ID specified is use to lookup a package. Note
867
+ /// that a version does not need to be specified in this string if there's
868
+ /// only one package of the same name and it has a version. In this
869
+ /// situation the version can be omitted.
870
+ ///
871
+ /// If successful the corresponding `WorldId` is returned, otherwise an
872
+ /// error is returned.
873
+ ///
874
+ /// # Examples
875
+ ///
876
+ /// ```
877
+ /// use anyhow::Result;
878
+ /// use wit_parser::Resolve;
879
+ ///
880
+ /// fn main() -> Result<()> {
881
+ /// let mut resolve = Resolve::default();
882
+ ///
883
+ /// // For inputs which have a single package and only one world `None`
884
+ /// // can be specified.
885
+ /// let ids = resolve.push_str(
886
+ /// "./my-test.wit",
887
+ /// r#"
888
+ /// package example:wit1;
889
+ ///
890
+ /// world foo {
891
+ /// // ...
892
+ /// }
893
+ /// "#,
894
+ /// )?;
895
+ /// assert!(resolve.select_world(&ids, None).is_ok());
896
+ ///
897
+ /// // For inputs which have a single package and multiple worlds then
898
+ /// // a world must be specified.
899
+ /// let ids = resolve.push_str(
900
+ /// "./my-test.wit",
901
+ /// r#"
902
+ /// package example:wit2;
903
+ ///
904
+ /// world foo { /* ... */ }
905
+ ///
906
+ /// world bar { /* ... */ }
907
+ /// "#,
908
+ /// )?;
909
+ /// assert!(resolve.select_world(&ids, None).is_err());
910
+ /// assert!(resolve.select_world(&ids, Some("foo")).is_ok());
911
+ /// assert!(resolve.select_world(&ids, Some("bar")).is_ok());
912
+ ///
913
+ /// // For inputs which have more than one package then a fully
914
+ /// // qualified name must be specified.
915
+ /// let ids = resolve.push_str(
916
+ /// "./my-test.wit",
917
+ /// r#"
918
+ /// package example:wit3 {
919
+ /// world foo { /* ... */ }
920
+ /// }
921
+ ///
922
+ /// package example:wit4 {
923
+ /// world foo { /* ... */ }
924
+ /// }
925
+ /// "#,
926
+ /// )?;
927
+ /// assert!(resolve.select_world(&ids, None).is_err());
928
+ /// assert!(resolve.select_world(&ids, Some("foo")).is_err());
929
+ /// assert!(resolve.select_world(&ids, Some("example:wit3/foo")).is_ok());
930
+ /// assert!(resolve.select_world(&ids, Some("example:wit4/foo")).is_ok());
931
+ ///
932
+ /// // Note that the `ids` or `packages` argument is ignored if a fully
933
+ /// // qualified world specified is provided meaning previous worlds
934
+ /// // can be selected.
935
+ /// assert!(resolve.select_world(&[], Some("example:wit1/foo")).is_ok());
936
+ /// assert!(resolve.select_world(&[], Some("example:wit2/foo")).is_ok());
937
+ ///
938
+ /// // When selecting with a version it's ok to drop the version when
939
+ /// // there's only a single copy of that package in `Resolve`.
940
+ /// resolve.push_str(
941
+ /// "./my-test.wit",
942
+ /// r#"
943
+ /// package example:wit5@1.0.0;
944
+ ///
945
+ /// world foo { /* ... */ }
946
+ /// "#,
947
+ /// )?;
948
+ /// assert!(resolve.select_world(&[], Some("example:wit5/foo")).is_ok());
949
+ ///
950
+ /// // However when a single package has multiple versions in a resolve
951
+ /// // it's required to specify the version to select which one.
952
+ /// resolve.push_str(
953
+ /// "./my-test.wit",
954
+ /// r#"
955
+ /// package example:wit5@2.0.0;
956
+ ///
957
+ /// world foo { /* ... */ }
958
+ /// "#,
959
+ /// )?;
960
+ /// assert!(resolve.select_world(&[], Some("example:wit5/foo")).is_err());
961
+ /// assert!(resolve.select_world(&[], Some("example:wit5/foo@1.0.0")).is_ok());
962
+ /// assert!(resolve.select_world(&[], Some("example:wit5/foo@2.0.0")).is_ok());
963
+ ///
964
+ /// Ok(())
965
+ /// }
966
+ /// ```
967
+ pub fn select_world(&self, packages: &[PackageId], world: Option<&str>) -> Result<WorldId> {
968
+ let world_path = match world {
969
+ Some(world) => Some(
970
+ parse_use_path(world)
971
+ .with_context(|| format!("failed to parse world specifier `{world}`"))?,
972
+ ),
973
+ None => None,
974
+ };
975
+
976
+ let (pkg, world_name) = match world_path {
977
+ Some(ParsedUsePath::Name(name)) => match packages {
978
+ [] => bail!("no packages were found to locate the world `{name}` within"),
979
+ [one] => (*one, name),
980
+ [..] => {
981
+ bail!(
982
+ "the supplied WIT source files describe multiple packages; \
983
+ please provide a fully-qualified world-specifier select \
984
+ a world amongst these packages"
985
+ )
986
+ }
987
+ },
988
+ Some(ParsedUsePath::Package(pkg, interface)) => {
989
+ let pkg = match self.package_names.get(&pkg) {
990
+ Some(pkg) => *pkg,
991
+ None => {
992
+ let mut candidates = self.package_names.iter().filter(|(name, _)| {
993
+ pkg.version.is_none()
994
+ && pkg.name == name.name
995
+ && pkg.namespace == name.namespace
996
+ && name.version.is_some()
997
+ });
998
+ let candidate = candidates.next();
999
+ if let Some((c2, _)) = candidates.next() {
1000
+ let (c1, _) = candidate.unwrap();
1001
+ bail!(
1002
+ "package name `{pkg}` is available at both \
1003
+ versions {} and {} but which is not specified",
1004
+ c1.version.as_ref().unwrap(),
1005
+ c2.version.as_ref().unwrap(),
1006
+ );
1007
+ }
1008
+ match candidate {
1009
+ Some((_, id)) => *id,
1010
+ None => bail!("unknown package `{pkg}`"),
1011
+ }
1012
+ }
1013
+ };
1014
+ (pkg, interface.to_string())
1015
+ }
1016
+ None => match packages {
1017
+ [] => bail!("no packages were specified nor is a world specified"),
1018
+ [one] => {
1019
+ let pkg = &self.packages[*one];
1020
+ match pkg.worlds.len() {
1021
+ 0 => bail!("no worlds found in package `{}`", pkg.name),
1022
+ 1 => return Ok(*pkg.worlds.values().next().unwrap()),
1023
+ _ => bail!(
1024
+ "multiple worlds found in package `{}`: one must be explicitly chosen",
1025
+ pkg.name
1026
+ ),
1027
+ }
1028
+ }
1029
+ [..] => {
1030
+ bail!(
1031
+ "the supplied WIT source files describe multiple packages; \
1032
+ please provide a fully-qualified world-specifier select \
1033
+ a world amongst these packages"
1034
+ )
1035
+ }
1036
+ },
1037
+ };
1038
+ let pkg = &self.packages[pkg];
1039
+ pkg.worlds
1040
+ .get(&world_name)
1041
+ .copied()
1042
+ .ok_or_else(|| anyhow!("no world named `{world_name}` in package"))
1043
+ }
1044
+
1045
+ /// Assigns a human readable name to the `WorldKey` specified.
1046
+ pub fn name_world_key(&self, key: &WorldKey) -> String {
1047
+ match key {
1048
+ WorldKey::Name(s) => s.to_string(),
1049
+ WorldKey::Interface(i) => self.id_of(*i).expect("unexpected anonymous interface"),
1050
+ }
1051
+ }
1052
+
1053
+ /// Returns the interface that `id` uses a type from, if it uses a type from
1054
+ /// a different interface than `id` is defined within.
1055
+ ///
1056
+ /// If `id` is not a use-of-a-type or it's using a type in the same
1057
+ /// interface then `None` is returned.
1058
+ pub fn type_interface_dep(&self, id: TypeId) -> Option<InterfaceId> {
1059
+ let ty = &self.types[id];
1060
+ let dep = match ty.kind {
1061
+ TypeDefKind::Type(Type::Id(id)) => id,
1062
+ _ => return None,
1063
+ };
1064
+ let other = &self.types[dep];
1065
+ if ty.owner == other.owner {
1066
+ None
1067
+ } else {
1068
+ match other.owner {
1069
+ TypeOwner::Interface(id) => Some(id),
1070
+ _ => unreachable!(),
1071
+ }
1072
+ }
1073
+ }
1074
+
1075
+ /// Returns an iterator of all interfaces that the interface `id` depends
1076
+ /// on.
1077
+ ///
1078
+ /// Interfaces may depend on others for type information to resolve type
1079
+ /// imports.
1080
+ ///
1081
+ /// Note that the returned iterator may yield the same interface as a
1082
+ /// dependency multiple times. Additionally only direct dependencies of `id`
1083
+ /// are yielded, not transitive dependencies.
1084
+ pub fn interface_direct_deps(&self, id: InterfaceId) -> impl Iterator<Item = InterfaceId> + '_ {
1085
+ self.interfaces[id]
1086
+ .types
1087
+ .iter()
1088
+ .filter_map(move |(_name, ty)| self.type_interface_dep(*ty))
1089
+ }
1090
+
1091
+ /// Returns an iterator of all packages that the package `id` depends
1092
+ /// on.
1093
+ ///
1094
+ /// Packages may depend on others for type information to resolve type
1095
+ /// imports or interfaces to resolve worlds.
1096
+ ///
1097
+ /// Note that the returned iterator may yield the same package as a
1098
+ /// dependency multiple times. Additionally only direct dependencies of `id`
1099
+ /// are yielded, not transitive dependencies.
1100
+ pub fn package_direct_deps(&self, id: PackageId) -> impl Iterator<Item = PackageId> + '_ {
1101
+ let pkg = &self.packages[id];
1102
+
1103
+ pkg.interfaces
1104
+ .iter()
1105
+ .flat_map(move |(_name, id)| self.interface_direct_deps(*id))
1106
+ .chain(pkg.worlds.iter().flat_map(move |(_name, id)| {
1107
+ let world = &self.worlds[*id];
1108
+ world
1109
+ .imports
1110
+ .iter()
1111
+ .chain(world.exports.iter())
1112
+ .filter_map(move |(_name, item)| match item {
1113
+ WorldItem::Interface { id, .. } => Some(*id),
1114
+ WorldItem::Function(_) => None,
1115
+ WorldItem::Type(t) => self.type_interface_dep(*t),
1116
+ })
1117
+ }))
1118
+ .filter_map(move |iface_id| {
1119
+ let pkg = self.interfaces[iface_id].package?;
1120
+ if pkg == id {
1121
+ None
1122
+ } else {
1123
+ Some(pkg)
1124
+ }
1125
+ })
1126
+ }
1127
+
1128
+ /// Returns a topological ordering of packages contained in this `Resolve`.
1129
+ ///
1130
+ /// This returns a list of `PackageId` such that when visited in order it's
1131
+ /// guaranteed that all dependencies will have been defined by prior items
1132
+ /// in the list.
1133
+ pub fn topological_packages(&self) -> Vec<PackageId> {
1134
+ let mut pushed = vec![false; self.packages.len()];
1135
+ let mut order = Vec::new();
1136
+ for (id, _) in self.packages.iter() {
1137
+ self.build_topological_package_ordering(id, &mut pushed, &mut order);
1138
+ }
1139
+ order
1140
+ }
1141
+
1142
+ fn build_topological_package_ordering(
1143
+ &self,
1144
+ id: PackageId,
1145
+ pushed: &mut Vec<bool>,
1146
+ order: &mut Vec<PackageId>,
1147
+ ) {
1148
+ if pushed[id.index()] {
1149
+ return;
1150
+ }
1151
+ for dep in self.package_direct_deps(id) {
1152
+ self.build_topological_package_ordering(dep, pushed, order);
1153
+ }
1154
+ order.push(id);
1155
+ pushed[id.index()] = true;
1156
+ }
1157
+
1158
+ #[doc(hidden)]
1159
+ pub fn assert_valid(&self) {
1160
+ let mut package_interfaces = Vec::new();
1161
+ let mut package_worlds = Vec::new();
1162
+ for (id, pkg) in self.packages.iter() {
1163
+ let mut interfaces = HashSet::new();
1164
+ for (name, iface) in pkg.interfaces.iter() {
1165
+ assert!(interfaces.insert(*iface));
1166
+ let iface = &self.interfaces[*iface];
1167
+ assert_eq!(name, iface.name.as_ref().unwrap());
1168
+ assert_eq!(iface.package.unwrap(), id);
1169
+ }
1170
+ package_interfaces.push(pkg.interfaces.values().copied().collect::<HashSet<_>>());
1171
+ let mut worlds = HashSet::new();
1172
+ for (name, world) in pkg.worlds.iter() {
1173
+ assert!(worlds.insert(*world));
1174
+ let world = &self.worlds[*world];
1175
+ assert_eq!(*name, world.name);
1176
+ assert_eq!(world.package.unwrap(), id);
1177
+ }
1178
+ package_worlds.push(pkg.worlds.values().copied().collect::<HashSet<_>>());
1179
+ }
1180
+
1181
+ let mut interface_types = Vec::new();
1182
+ for (id, iface) in self.interfaces.iter() {
1183
+ assert!(self.packages.get(iface.package.unwrap()).is_some());
1184
+ if iface.name.is_some() {
1185
+ assert!(package_interfaces[iface.package.unwrap().index()].contains(&id));
1186
+ }
1187
+
1188
+ for (name, ty) in iface.types.iter() {
1189
+ let ty = &self.types[*ty];
1190
+ assert_eq!(ty.name.as_ref(), Some(name));
1191
+ assert_eq!(ty.owner, TypeOwner::Interface(id));
1192
+ }
1193
+ interface_types.push(iface.types.values().copied().collect::<HashSet<_>>());
1194
+ for (name, f) in iface.functions.iter() {
1195
+ assert_eq!(*name, f.name);
1196
+ }
1197
+ }
1198
+
1199
+ let mut world_types = Vec::new();
1200
+ for (id, world) in self.worlds.iter() {
1201
+ log::debug!("validating world {}", &world.name);
1202
+ assert!(self.packages.get(world.package.unwrap()).is_some());
1203
+ assert!(package_worlds[world.package.unwrap().index()].contains(&id));
1204
+
1205
+ let mut types = HashSet::new();
1206
+ for (name, item) in world.imports.iter().chain(world.exports.iter()) {
1207
+ log::debug!("validating world item: {}", self.name_world_key(name));
1208
+ match item {
1209
+ WorldItem::Interface { .. } => {}
1210
+ WorldItem::Function(f) => {
1211
+ assert_eq!(f.name, name.clone().unwrap_name());
1212
+ }
1213
+ WorldItem::Type(ty) => {
1214
+ assert!(types.insert(*ty));
1215
+ let ty = &self.types[*ty];
1216
+ assert_eq!(ty.name, Some(name.clone().unwrap_name()));
1217
+
1218
+ // TODO: `Resolve::merge_worlds` doesn't uphold this
1219
+ // invariant, and that should be fixed.
1220
+ if false {
1221
+ assert_eq!(ty.owner, TypeOwner::World(id));
1222
+ }
1223
+ }
1224
+ }
1225
+ }
1226
+ world_types.push(types);
1227
+ }
1228
+
1229
+ for (ty_id, ty) in self.types.iter() {
1230
+ match ty.owner {
1231
+ TypeOwner::Interface(id) => {
1232
+ assert!(self.interfaces.get(id).is_some());
1233
+ assert!(interface_types[id.index()].contains(&ty_id));
1234
+ }
1235
+ TypeOwner::World(id) => {
1236
+ assert!(self.worlds.get(id).is_some());
1237
+ assert!(world_types[id.index()].contains(&ty_id));
1238
+ }
1239
+ TypeOwner::None => {}
1240
+ }
1241
+ }
1242
+
1243
+ self.assert_topologically_sorted();
1244
+ }
1245
+
1246
+ fn assert_topologically_sorted(&self) {
1247
+ let mut positions = IndexMap::new();
1248
+ for id in self.topological_packages() {
1249
+ let pkg = &self.packages[id];
1250
+ log::debug!("pkg {}", pkg.name);
1251
+ let prev = positions.insert(Some(id), IndexSet::new());
1252
+ assert!(prev.is_none());
1253
+ }
1254
+ positions.insert(None, IndexSet::new());
1255
+
1256
+ for (id, iface) in self.interfaces.iter() {
1257
+ log::debug!("iface {:?}", iface.name);
1258
+ let ok = positions.get_mut(&iface.package).unwrap().insert(id);
1259
+ assert!(ok);
1260
+ }
1261
+
1262
+ for (_, world) in self.worlds.iter() {
1263
+ log::debug!("world {:?}", world.name);
1264
+
1265
+ let my_package = world.package;
1266
+ let my_package_pos = positions.get_index_of(&my_package).unwrap();
1267
+
1268
+ for (_, item) in world.imports.iter().chain(&world.exports) {
1269
+ let id = match item {
1270
+ WorldItem::Interface { id, .. } => *id,
1271
+ _ => continue,
1272
+ };
1273
+ let other_package = self.interfaces[id].package;
1274
+ let other_package_pos = positions.get_index_of(&other_package).unwrap();
1275
+
1276
+ assert!(other_package_pos <= my_package_pos);
1277
+ }
1278
+ }
1279
+
1280
+ for (_id, ty) in self.types.iter() {
1281
+ log::debug!("type {:?} {:?}", ty.name, ty.owner);
1282
+ let other_id = match ty.kind {
1283
+ TypeDefKind::Type(Type::Id(ty)) => ty,
1284
+ _ => continue,
1285
+ };
1286
+ let other = &self.types[other_id];
1287
+ if ty.kind == other.kind {
1288
+ continue;
1289
+ }
1290
+ let my_interface = match ty.owner {
1291
+ TypeOwner::Interface(id) => id,
1292
+ _ => continue,
1293
+ };
1294
+ let other_interface = match other.owner {
1295
+ TypeOwner::Interface(id) => id,
1296
+ _ => continue,
1297
+ };
1298
+
1299
+ let my_package = self.interfaces[my_interface].package;
1300
+ let other_package = self.interfaces[other_interface].package;
1301
+ let my_package_pos = positions.get_index_of(&my_package).unwrap();
1302
+ let other_package_pos = positions.get_index_of(&other_package).unwrap();
1303
+
1304
+ if my_package_pos == other_package_pos {
1305
+ let interfaces = &positions[&my_package];
1306
+ let my_interface_pos = interfaces.get_index_of(&my_interface).unwrap();
1307
+ let other_interface_pos = interfaces.get_index_of(&other_interface).unwrap();
1308
+ assert!(other_interface_pos <= my_interface_pos);
1309
+ } else {
1310
+ assert!(other_package_pos < my_package_pos);
1311
+ }
1312
+ }
1313
+ }
1314
+
1315
+ fn include_stability(&self, stability: &Stability) -> bool {
1316
+ match stability {
1317
+ Stability::Stable { .. } | Stability::Unknown => true,
1318
+ Stability::Unstable { feature } => self.features.contains(feature) || self.all_features,
1319
+ }
1320
+ }
1321
+ }
1322
+
1323
+ /// Structure returned by [`Resolve::merge`] which contains mappings from
1324
+ /// old-ids to new-ids after the merge.
1325
+ #[derive(Default)]
1326
+ pub struct Remap {
1327
+ pub types: Vec<Option<TypeId>>,
1328
+ pub interfaces: Vec<Option<InterfaceId>>,
1329
+ pub worlds: Vec<Option<WorldId>>,
1330
+ pub packages: Vec<PackageId>,
1331
+
1332
+ /// A cache of anonymous `own<T>` handles for resource types.
1333
+ ///
1334
+ /// The appending operation of `Remap` is the one responsible for
1335
+ /// translating references to `T` where `T` is a resource into `own<T>`
1336
+ /// instead. This map is used to deduplicate the `own<T>` types generated
1337
+ /// to generate as few as possible.
1338
+ ///
1339
+ /// The key of this map is the resource id `T` in the new resolve, and
1340
+ /// the value is the `own<T>` type pointing to `T`.
1341
+ own_handles: HashMap<TypeId, TypeId>,
1342
+
1343
+ type_has_borrow: Vec<Option<bool>>,
1344
+ }
1345
+
1346
+ fn apply_map<T>(map: &[Option<Id<T>>], id: Id<T>, desc: &str, span: Option<Span>) -> Result<Id<T>> {
1347
+ match map.get(id.index()) {
1348
+ Some(Some(id)) => Ok(*id),
1349
+ Some(None) => {
1350
+ let msg = format!(
1351
+ "found a reference to a {desc} which is excluded \
1352
+ due to its feature not being activated"
1353
+ );
1354
+ match span {
1355
+ Some(span) => Err(Error::new(span, msg).into()),
1356
+ None => bail!("{msg}"),
1357
+ }
1358
+ }
1359
+ None => panic!("request to remap a {desc} that has not yet been registered"),
1360
+ }
1361
+ }
1362
+
1363
+ impl Remap {
1364
+ pub fn map_type(&self, id: TypeId, span: Option<Span>) -> Result<TypeId> {
1365
+ apply_map(&self.types, id, "type", span)
1366
+ }
1367
+
1368
+ pub fn map_interface(&self, id: InterfaceId, span: Option<Span>) -> Result<InterfaceId> {
1369
+ apply_map(&self.interfaces, id, "interface", span)
1370
+ }
1371
+
1372
+ pub fn map_world(&self, id: WorldId, span: Option<Span>) -> Result<WorldId> {
1373
+ apply_map(&self.worlds, id, "world", span)
1374
+ }
1375
+
1376
+ fn append(
1377
+ &mut self,
1378
+ resolve: &mut Resolve,
1379
+ unresolved: UnresolvedPackage,
1380
+ ) -> Result<PackageId> {
1381
+ self.process_foreign_deps(resolve, &unresolved)?;
1382
+
1383
+ let foreign_types = self.types.len();
1384
+ let foreign_interfaces = self.interfaces.len();
1385
+ let foreign_worlds = self.worlds.len();
1386
+
1387
+ let pkgid = resolve.packages.alloc(Package {
1388
+ name: unresolved.name.clone(),
1389
+ docs: unresolved.docs.clone(),
1390
+ interfaces: Default::default(),
1391
+ worlds: Default::default(),
1392
+ });
1393
+ let prev = resolve.package_names.insert(unresolved.name.clone(), pkgid);
1394
+ assert!(prev.is_none());
1395
+
1396
+ // Copy over all types first, updating any intra-type references. Note
1397
+ // that types are sorted topologically which means this iteration
1398
+ // order should be sufficient. Also note though that the interface
1399
+ // owner of a type isn't updated here due to interfaces not being known
1400
+ // yet.
1401
+ assert_eq!(unresolved.types.len(), unresolved.type_spans.len());
1402
+ for ((id, mut ty), span) in unresolved
1403
+ .types
1404
+ .into_iter()
1405
+ .zip(&unresolved.type_spans)
1406
+ .skip(foreign_types)
1407
+ {
1408
+ if !resolve.include_stability(&ty.stability) {
1409
+ self.types.push(None);
1410
+ continue;
1411
+ }
1412
+
1413
+ self.update_typedef(resolve, &mut ty, Some(*span))?;
1414
+ let new_id = resolve.types.alloc(ty);
1415
+ assert_eq!(self.types.len(), id.index());
1416
+
1417
+ let new_id = match resolve.types[new_id] {
1418
+ // If this is an `own<T>` handle then either replace it with a
1419
+ // preexisting `own<T>` handle which may have been generated in
1420
+ // `update_ty`. If that doesn't exist though then insert it into
1421
+ // the `own_handles` cache.
1422
+ TypeDef {
1423
+ name: None,
1424
+ owner: TypeOwner::None,
1425
+ kind: TypeDefKind::Handle(Handle::Own(id)),
1426
+ docs: _,
1427
+ stability: _,
1428
+ } => *self.own_handles.entry(id).or_insert(new_id),
1429
+
1430
+ // Everything not-related to `own<T>` doesn't get its ID
1431
+ // modified.
1432
+ _ => new_id,
1433
+ };
1434
+ self.types.push(Some(new_id));
1435
+ }
1436
+
1437
+ // Next transfer all interfaces into `Resolve`, updating type ids
1438
+ // referenced along the way.
1439
+ assert_eq!(
1440
+ unresolved.interfaces.len(),
1441
+ unresolved.interface_spans.len()
1442
+ );
1443
+ for ((id, mut iface), span) in unresolved
1444
+ .interfaces
1445
+ .into_iter()
1446
+ .zip(&unresolved.interface_spans)
1447
+ .skip(foreign_interfaces)
1448
+ {
1449
+ if !resolve.include_stability(&iface.stability) {
1450
+ self.interfaces.push(None);
1451
+ continue;
1452
+ }
1453
+ self.update_interface(resolve, &mut iface, Some(span))?;
1454
+ assert!(iface.package.is_none());
1455
+ iface.package = Some(pkgid);
1456
+ let new_id = resolve.interfaces.alloc(iface);
1457
+ assert_eq!(self.interfaces.len(), id.index());
1458
+ self.interfaces.push(Some(new_id));
1459
+ }
1460
+
1461
+ // Now that interfaces are identified go back through the types and
1462
+ // update their interface owners.
1463
+ for (i, id) in self.types.iter().enumerate().skip(foreign_types) {
1464
+ let id = match id {
1465
+ Some(id) => *id,
1466
+ None => continue,
1467
+ };
1468
+ match &mut resolve.types[id].owner {
1469
+ TypeOwner::Interface(id) => {
1470
+ let span = unresolved.type_spans[i];
1471
+ *id = self.map_interface(*id, Some(span))
1472
+ .with_context(|| {
1473
+ "this type is not gated by a feature but its interface is gated by a feature"
1474
+ })?;
1475
+ }
1476
+ TypeOwner::World(_) | TypeOwner::None => {}
1477
+ }
1478
+ }
1479
+
1480
+ // Perform a weighty step of full resolution of worlds. This will fully
1481
+ // expand imports/exports for a world and create the topological
1482
+ // ordering necessary for this.
1483
+ //
1484
+ // This is done after types/interfaces are fully settled so the
1485
+ // transitive relation between interfaces, through types, is understood
1486
+ // here.
1487
+ assert_eq!(unresolved.worlds.len(), unresolved.world_spans.len());
1488
+ for ((id, mut world), span) in unresolved
1489
+ .worlds
1490
+ .into_iter()
1491
+ .zip(unresolved.world_spans)
1492
+ .skip(foreign_worlds)
1493
+ {
1494
+ if !resolve.include_stability(&world.stability) {
1495
+ self.worlds.push(None);
1496
+ continue;
1497
+ }
1498
+ self.update_world(&mut world, resolve, &span)?;
1499
+
1500
+ let new_id = resolve.worlds.alloc(world);
1501
+ assert_eq!(self.worlds.len(), id.index());
1502
+ self.worlds.push(Some(new_id));
1503
+ }
1504
+
1505
+ // As with interfaces, now update the ids of world-owned types.
1506
+ for (i, id) in self.types.iter().enumerate().skip(foreign_types) {
1507
+ let id = match id {
1508
+ Some(id) => *id,
1509
+ None => continue,
1510
+ };
1511
+ match &mut resolve.types[id].owner {
1512
+ TypeOwner::World(id) => {
1513
+ let span = unresolved.type_spans[i];
1514
+ *id = self.map_world(*id, Some(span))
1515
+ .with_context(|| {
1516
+ "this type is not gated by a feature but its interface is gated by a feature"
1517
+ })?;
1518
+ }
1519
+ TypeOwner::Interface(_) | TypeOwner::None => {}
1520
+ }
1521
+ }
1522
+
1523
+ // Fixup "parent" ids now that everything has been identified
1524
+ for id in self.interfaces.iter().skip(foreign_interfaces) {
1525
+ let id = match id {
1526
+ Some(id) => *id,
1527
+ None => continue,
1528
+ };
1529
+ let iface = &mut resolve.interfaces[id];
1530
+ iface.package = Some(pkgid);
1531
+ if let Some(name) = &iface.name {
1532
+ let prev = resolve.packages[pkgid].interfaces.insert(name.clone(), id);
1533
+ assert!(prev.is_none());
1534
+ }
1535
+ }
1536
+ for id in self.worlds.iter().skip(foreign_worlds) {
1537
+ let id = match id {
1538
+ Some(id) => *id,
1539
+ None => continue,
1540
+ };
1541
+ let world = &mut resolve.worlds[id];
1542
+ world.package = Some(pkgid);
1543
+ let prev = resolve.packages[pkgid]
1544
+ .worlds
1545
+ .insert(world.name.clone(), id);
1546
+ assert!(prev.is_none());
1547
+ }
1548
+ Ok(pkgid)
1549
+ }
1550
+
1551
+ fn process_foreign_deps(
1552
+ &mut self,
1553
+ resolve: &mut Resolve,
1554
+ unresolved: &UnresolvedPackage,
1555
+ ) -> Result<()> {
1556
+ // Invert the `foreign_deps` map to be keyed by world id to get
1557
+ // used in the loops below.
1558
+ let mut world_to_package = HashMap::new();
1559
+ let mut interface_to_package = HashMap::new();
1560
+ for (i, (pkg_name, worlds_or_ifaces)) in unresolved.foreign_deps.iter().enumerate() {
1561
+ for (name, item) in worlds_or_ifaces {
1562
+ match item {
1563
+ AstItem::Interface(unresolved_interface_id) => {
1564
+ let prev = interface_to_package.insert(
1565
+ *unresolved_interface_id,
1566
+ (pkg_name, name, unresolved.foreign_dep_spans[i]),
1567
+ );
1568
+ assert!(prev.is_none());
1569
+ }
1570
+ AstItem::World(unresolved_world_id) => {
1571
+ let prev = world_to_package.insert(
1572
+ *unresolved_world_id,
1573
+ (pkg_name, name, unresolved.foreign_dep_spans[i]),
1574
+ );
1575
+ assert!(prev.is_none());
1576
+ }
1577
+ }
1578
+ }
1579
+ }
1580
+
1581
+ // Connect all interfaces referred to in `interface_to_package`, which
1582
+ // are at the front of `unresolved.interfaces`, to interfaces already
1583
+ // contained within `resolve`.
1584
+ self.process_foreign_interfaces(unresolved, &interface_to_package, resolve)?;
1585
+
1586
+ // Connect all worlds referred to in `world_to_package`, which
1587
+ // are at the front of `unresolved.worlds`, to worlds already
1588
+ // contained within `resolve`.
1589
+ self.process_foreign_worlds(unresolved, &world_to_package, resolve)?;
1590
+
1591
+ // Finally, iterate over all foreign-defined types and determine
1592
+ // what they map to.
1593
+ self.process_foreign_types(unresolved, resolve)?;
1594
+
1595
+ for (id, span) in unresolved.required_resource_types.iter() {
1596
+ let mut id = self.map_type(*id, Some(*span))?;
1597
+ loop {
1598
+ match resolve.types[id].kind {
1599
+ TypeDefKind::Type(Type::Id(i)) => id = i,
1600
+ TypeDefKind::Resource => break,
1601
+ _ => bail!(Error::new(
1602
+ *span,
1603
+ format!("type used in a handle must be a resource"),
1604
+ )),
1605
+ }
1606
+ }
1607
+ }
1608
+
1609
+ Ok(())
1610
+ }
1611
+
1612
+ fn process_foreign_interfaces(
1613
+ &mut self,
1614
+ unresolved: &UnresolvedPackage,
1615
+ interface_to_package: &HashMap<InterfaceId, (&PackageName, &String, Span)>,
1616
+ resolve: &mut Resolve,
1617
+ ) -> Result<(), anyhow::Error> {
1618
+ for (unresolved_iface_id, unresolved_iface) in unresolved.interfaces.iter() {
1619
+ let (pkg_name, interface, span) = match interface_to_package.get(&unresolved_iface_id) {
1620
+ Some(items) => *items,
1621
+ // All foreign interfaces are defined first, so the first one
1622
+ // which is defined in a non-foreign document means that all
1623
+ // further interfaces will be non-foreign as well.
1624
+ None => break,
1625
+ };
1626
+ let pkgid = resolve
1627
+ .package_names
1628
+ .get(pkg_name)
1629
+ .copied()
1630
+ .ok_or_else(|| Error::new(span, "package not found"))?;
1631
+
1632
+ // Functions can't be imported so this should be empty.
1633
+ assert!(unresolved_iface.functions.is_empty());
1634
+
1635
+ let pkg = &resolve.packages[pkgid];
1636
+ let span = &unresolved.interface_spans[unresolved_iface_id.index()];
1637
+ let iface_id = pkg
1638
+ .interfaces
1639
+ .get(interface)
1640
+ .copied()
1641
+ .ok_or_else(|| Error::new(span.span, "interface not found in package"))?;
1642
+ assert_eq!(self.interfaces.len(), unresolved_iface_id.index());
1643
+ self.interfaces.push(Some(iface_id));
1644
+ }
1645
+ for (id, _) in unresolved.interfaces.iter().skip(self.interfaces.len()) {
1646
+ assert!(
1647
+ interface_to_package.get(&id).is_none(),
1648
+ "found foreign interface after local interface"
1649
+ );
1650
+ }
1651
+ Ok(())
1652
+ }
1653
+
1654
+ fn process_foreign_worlds(
1655
+ &mut self,
1656
+ unresolved: &UnresolvedPackage,
1657
+ world_to_package: &HashMap<WorldId, (&PackageName, &String, Span)>,
1658
+ resolve: &mut Resolve,
1659
+ ) -> Result<(), anyhow::Error> {
1660
+ for (unresolved_world_id, _) in unresolved.worlds.iter() {
1661
+ let (pkg_name, world, span) = match world_to_package.get(&unresolved_world_id) {
1662
+ Some(items) => *items,
1663
+ // Same as above, all worlds are foreign until we find a
1664
+ // non-foreign one.
1665
+ None => break,
1666
+ };
1667
+
1668
+ let pkgid = resolve
1669
+ .package_names
1670
+ .get(pkg_name)
1671
+ .copied()
1672
+ .ok_or_else(|| Error::new(span, "package not found"))?;
1673
+ let pkg = &resolve.packages[pkgid];
1674
+ let span = &unresolved.world_spans[unresolved_world_id.index()];
1675
+ let world_id = pkg
1676
+ .worlds
1677
+ .get(world)
1678
+ .copied()
1679
+ .ok_or_else(|| Error::new(span.span, "world not found in package"))?;
1680
+ assert_eq!(self.worlds.len(), unresolved_world_id.index());
1681
+ self.worlds.push(Some(world_id));
1682
+ }
1683
+ for (id, _) in unresolved.worlds.iter().skip(self.worlds.len()) {
1684
+ assert!(
1685
+ world_to_package.get(&id).is_none(),
1686
+ "found foreign world after local world"
1687
+ );
1688
+ }
1689
+ Ok(())
1690
+ }
1691
+
1692
+ fn process_foreign_types(
1693
+ &mut self,
1694
+ unresolved: &UnresolvedPackage,
1695
+ resolve: &mut Resolve,
1696
+ ) -> Result<(), anyhow::Error> {
1697
+ for (unresolved_type_id, unresolved_ty) in unresolved.types.iter() {
1698
+ // All "Unknown" types should appear first so once we're no longer
1699
+ // in unknown territory it's package-defined types so break out of
1700
+ // this loop.
1701
+ match unresolved_ty.kind {
1702
+ TypeDefKind::Unknown => {}
1703
+ _ => break,
1704
+ }
1705
+ let unresolved_iface_id = match unresolved_ty.owner {
1706
+ TypeOwner::Interface(id) => id,
1707
+ _ => unreachable!(),
1708
+ };
1709
+ let iface_id = self.map_interface(unresolved_iface_id, None)?;
1710
+ let name = unresolved_ty.name.as_ref().unwrap();
1711
+ let span = unresolved.unknown_type_spans[unresolved_type_id.index()];
1712
+ let type_id = *resolve.interfaces[iface_id]
1713
+ .types
1714
+ .get(name)
1715
+ .ok_or_else(|| {
1716
+ Error::new(span, format!("type `{name}` not defined in interface"))
1717
+ })?;
1718
+ assert_eq!(self.types.len(), unresolved_type_id.index());
1719
+ self.types.push(Some(type_id));
1720
+ }
1721
+ for (_, ty) in unresolved.types.iter().skip(self.types.len()) {
1722
+ if let TypeDefKind::Unknown = ty.kind {
1723
+ panic!("unknown type after defined type");
1724
+ }
1725
+ }
1726
+ Ok(())
1727
+ }
1728
+
1729
+ fn update_typedef(
1730
+ &mut self,
1731
+ resolve: &mut Resolve,
1732
+ ty: &mut TypeDef,
1733
+ span: Option<Span>,
1734
+ ) -> Result<()> {
1735
+ // NB: note that `ty.owner` is not updated here since interfaces
1736
+ // haven't been mapped yet and that's done in a separate step.
1737
+ use crate::TypeDefKind::*;
1738
+ match &mut ty.kind {
1739
+ Handle(handle) => match handle {
1740
+ crate::Handle::Own(ty) | crate::Handle::Borrow(ty) => {
1741
+ self.update_type_id(ty, span)?
1742
+ }
1743
+ },
1744
+ Resource => {}
1745
+ Record(r) => {
1746
+ for field in r.fields.iter_mut() {
1747
+ self.update_ty(resolve, &mut field.ty, span)
1748
+ .with_context(|| format!("failed to update field `{}`", field.name))?;
1749
+ }
1750
+ }
1751
+ Tuple(t) => {
1752
+ for ty in t.types.iter_mut() {
1753
+ self.update_ty(resolve, ty, span)?;
1754
+ }
1755
+ }
1756
+ Variant(v) => {
1757
+ for case in v.cases.iter_mut() {
1758
+ if let Some(t) = &mut case.ty {
1759
+ self.update_ty(resolve, t, span)?;
1760
+ }
1761
+ }
1762
+ }
1763
+ Option(t) => self.update_ty(resolve, t, span)?,
1764
+ Result(r) => {
1765
+ if let Some(ty) = &mut r.ok {
1766
+ self.update_ty(resolve, ty, span)?;
1767
+ }
1768
+ if let Some(ty) = &mut r.err {
1769
+ self.update_ty(resolve, ty, span)?;
1770
+ }
1771
+ }
1772
+ List(t) => self.update_ty(resolve, t, span)?,
1773
+ Future(Some(t)) => self.update_ty(resolve, t, span)?,
1774
+ Stream(t) => {
1775
+ if let Some(ty) = &mut t.element {
1776
+ self.update_ty(resolve, ty, span)?;
1777
+ }
1778
+ if let Some(ty) = &mut t.end {
1779
+ self.update_ty(resolve, ty, span)?;
1780
+ }
1781
+ }
1782
+
1783
+ // Note that `update_ty` is specifically not used here as typedefs
1784
+ // because for the `type a = b` form that doesn't force `a` to be a
1785
+ // handle type if `b` is a resource type, instead `a` is
1786
+ // simultaneously usable as a resource and a handle type
1787
+ Type(crate::Type::Id(id)) => self.update_type_id(id, span)?,
1788
+ Type(_) => {}
1789
+
1790
+ // nothing to do for these as they're just names or empty
1791
+ Flags(_) | Enum(_) | Future(None) => {}
1792
+
1793
+ Unknown => unreachable!(),
1794
+ }
1795
+
1796
+ Ok(())
1797
+ }
1798
+
1799
+ fn update_ty(
1800
+ &mut self,
1801
+ resolve: &mut Resolve,
1802
+ ty: &mut Type,
1803
+ span: Option<Span>,
1804
+ ) -> Result<()> {
1805
+ let id = match ty {
1806
+ Type::Id(id) => id,
1807
+ _ => return Ok(()),
1808
+ };
1809
+ self.update_type_id(id, span)?;
1810
+
1811
+ // If `id` points to a `Resource` type then this means that what was
1812
+ // just discovered was a reference to what will implicitly become an
1813
+ // `own<T>` handle. This `own` handle is implicitly allocated here
1814
+ // and handled during the merging process.
1815
+ let mut cur = *id;
1816
+ let points_to_resource = loop {
1817
+ match resolve.types[cur].kind {
1818
+ TypeDefKind::Type(Type::Id(id)) => cur = id,
1819
+ TypeDefKind::Resource => break true,
1820
+ _ => break false,
1821
+ }
1822
+ };
1823
+
1824
+ if points_to_resource {
1825
+ *id = *self.own_handles.entry(*id).or_insert_with(|| {
1826
+ resolve.types.alloc(TypeDef {
1827
+ name: None,
1828
+ owner: TypeOwner::None,
1829
+ kind: TypeDefKind::Handle(Handle::Own(*id)),
1830
+ docs: Default::default(),
1831
+ stability: Default::default(),
1832
+ })
1833
+ });
1834
+ }
1835
+ Ok(())
1836
+ }
1837
+
1838
+ fn update_type_id(&self, id: &mut TypeId, span: Option<Span>) -> Result<()> {
1839
+ *id = self.map_type(*id, span)?;
1840
+ Ok(())
1841
+ }
1842
+
1843
+ fn update_interface(
1844
+ &mut self,
1845
+ resolve: &mut Resolve,
1846
+ iface: &mut Interface,
1847
+ spans: Option<&InterfaceSpan>,
1848
+ ) -> Result<()> {
1849
+ iface.types.retain(|_, ty| self.types[ty.index()].is_some());
1850
+
1851
+ // NB: note that `iface.doc` is not updated here since interfaces
1852
+ // haven't been mapped yet and that's done in a separate step.
1853
+ for (_name, ty) in iface.types.iter_mut() {
1854
+ self.update_type_id(ty, spans.map(|s| s.span))?;
1855
+ }
1856
+ if let Some(spans) = spans {
1857
+ assert_eq!(iface.functions.len(), spans.funcs.len());
1858
+ }
1859
+ for (i, (_, func)) in iface.functions.iter_mut().enumerate() {
1860
+ if !resolve.include_stability(&func.stability) {
1861
+ continue;
1862
+ }
1863
+ let span = spans.map(|s| s.funcs[i]);
1864
+ self.update_function(resolve, func, span)
1865
+ .with_context(|| format!("failed to update function `{}`", func.name))?;
1866
+ }
1867
+ iface
1868
+ .functions
1869
+ .retain(|_, f| resolve.include_stability(&f.stability));
1870
+ Ok(())
1871
+ }
1872
+
1873
+ fn update_function(
1874
+ &mut self,
1875
+ resolve: &mut Resolve,
1876
+ func: &mut Function,
1877
+ span: Option<Span>,
1878
+ ) -> Result<()> {
1879
+ match &mut func.kind {
1880
+ FunctionKind::Freestanding => {}
1881
+ FunctionKind::Method(id) | FunctionKind::Constructor(id) | FunctionKind::Static(id) => {
1882
+ self.update_type_id(id, span)?;
1883
+ }
1884
+ }
1885
+ for (_, ty) in func.params.iter_mut() {
1886
+ self.update_ty(resolve, ty, span)?;
1887
+ }
1888
+ match &mut func.results {
1889
+ Results::Named(named) => {
1890
+ for (_, ty) in named.iter_mut() {
1891
+ self.update_ty(resolve, ty, span)?;
1892
+ }
1893
+ }
1894
+ Results::Anon(ty) => self.update_ty(resolve, ty, span)?,
1895
+ }
1896
+
1897
+ for ty in func.results.iter_types() {
1898
+ if !self.type_has_borrow(resolve, ty) {
1899
+ continue;
1900
+ }
1901
+ match span {
1902
+ Some(span) => {
1903
+ bail!(Error::new(
1904
+ span,
1905
+ format!(
1906
+ "function returns a type which contains \
1907
+ a `borrow<T>` which is not supported"
1908
+ )
1909
+ ))
1910
+ }
1911
+ None => unreachable!(),
1912
+ }
1913
+ }
1914
+
1915
+ Ok(())
1916
+ }
1917
+
1918
+ fn update_world(
1919
+ &mut self,
1920
+ world: &mut World,
1921
+ resolve: &mut Resolve,
1922
+ spans: &WorldSpan,
1923
+ ) -> Result<()> {
1924
+ // NB: this function is more more complicated than the prior versions
1925
+ // of merging an item because this is the location that elaboration of
1926
+ // imports/exports of a world are fully resolved. With full transitive
1927
+ // knowledge of all interfaces a worlds imports, for example, are
1928
+ // expanded fully to ensure that all transitive items are necessarily
1929
+ // imported.
1930
+ assert_eq!(world.imports.len(), spans.imports.len());
1931
+ assert_eq!(world.exports.len(), spans.exports.len());
1932
+
1933
+ // First up, process all the `imports` of the world. Note that this
1934
+ // starts by gutting the list of imports stored in `world` to get
1935
+ // rebuilt iteratively below.
1936
+ //
1937
+ // Here each import of an interface is recorded and then additionally
1938
+ // explicitly named imports of interfaces are recorded as well for
1939
+ // determining names later on.
1940
+ let mut import_funcs = Vec::new();
1941
+ let mut import_types = Vec::new();
1942
+ for ((mut name, mut item), span) in mem::take(&mut world.imports)
1943
+ .into_iter()
1944
+ .zip(&spans.imports)
1945
+ {
1946
+ // Update the `id` eagerly here so `item.stability(..)` below
1947
+ // works.
1948
+ if let WorldItem::Type(id) = &mut item {
1949
+ *id = self.map_type(*id, Some(*span))?;
1950
+ }
1951
+ let stability = item.stability(resolve);
1952
+ if !resolve.include_stability(stability) {
1953
+ continue;
1954
+ }
1955
+ self.update_world_key(&mut name, Some(*span))?;
1956
+ match item {
1957
+ WorldItem::Interface { id, stability } => {
1958
+ let id = self.map_interface(id, Some(*span))?;
1959
+ self.add_world_import(resolve, world, name, id, &stability);
1960
+ }
1961
+ WorldItem::Function(mut f) => {
1962
+ self.update_function(resolve, &mut f, Some(*span))?;
1963
+ import_funcs.push((name.unwrap_name(), f, *span));
1964
+ }
1965
+ WorldItem::Type(id) => {
1966
+ import_types.push((name.unwrap_name(), id, *span));
1967
+ }
1968
+ }
1969
+ }
1970
+
1971
+ for (_name, id, _span) in import_types.iter() {
1972
+ if let TypeDefKind::Type(Type::Id(other)) = resolve.types[*id].kind {
1973
+ if let TypeOwner::Interface(owner) = resolve.types[other].owner {
1974
+ let name = WorldKey::Interface(owner);
1975
+ self.add_world_import(
1976
+ resolve,
1977
+ world,
1978
+ name,
1979
+ owner,
1980
+ &resolve.types[*id].stability,
1981
+ );
1982
+ }
1983
+ }
1984
+ }
1985
+
1986
+ let mut export_funcs = Vec::new();
1987
+ let mut export_interfaces = IndexMap::new();
1988
+ for ((mut name, item), span) in mem::take(&mut world.exports)
1989
+ .into_iter()
1990
+ .zip(&spans.exports)
1991
+ {
1992
+ let stability = item.stability(resolve);
1993
+ if !resolve.include_stability(stability) {
1994
+ continue;
1995
+ }
1996
+ self.update_world_key(&mut name, Some(*span))?;
1997
+ match item {
1998
+ WorldItem::Interface { id, stability } => {
1999
+ let id = self.map_interface(id, Some(*span))?;
2000
+ let prev = export_interfaces.insert(id, (name, *span, stability));
2001
+ assert!(prev.is_none());
2002
+ }
2003
+ WorldItem::Function(mut f) => {
2004
+ self.update_function(resolve, &mut f, Some(*span))?;
2005
+ let name = match name {
2006
+ WorldKey::Name(name) => name,
2007
+ WorldKey::Interface(_) => unreachable!(),
2008
+ };
2009
+ export_funcs.push((name, f, *span));
2010
+ }
2011
+ WorldItem::Type(_) => unreachable!(),
2012
+ }
2013
+ }
2014
+
2015
+ self.add_world_exports(resolve, world, &export_interfaces)?;
2016
+
2017
+ // Resolve all includes of the world
2018
+ assert_eq!(world.includes.len(), spans.includes.len());
2019
+ let includes = mem::take(&mut world.includes);
2020
+ let include_names = mem::take(&mut world.include_names);
2021
+ for (((stability, include_world), span), names) in includes
2022
+ .into_iter()
2023
+ .zip(&spans.includes)
2024
+ .zip(&include_names)
2025
+ {
2026
+ if !resolve.include_stability(&stability) {
2027
+ continue;
2028
+ }
2029
+ self.resolve_include(world, include_world, names, *span, resolve)?;
2030
+ }
2031
+
2032
+ for (name, id, span) in import_types {
2033
+ let prev = world
2034
+ .imports
2035
+ .insert(WorldKey::Name(name.clone()), WorldItem::Type(id));
2036
+ if prev.is_some() {
2037
+ bail!(Error::new(
2038
+ span,
2039
+ format!("export of type `{name}` shadows previously imported interface"),
2040
+ ))
2041
+ }
2042
+ }
2043
+
2044
+ for (name, func, span) in import_funcs {
2045
+ let prev = world
2046
+ .imports
2047
+ .insert(WorldKey::Name(name.clone()), WorldItem::Function(func));
2048
+ if prev.is_some() {
2049
+ bail!(Error::new(
2050
+ span,
2051
+ format!("import of function `{name}` shadows previously imported interface"),
2052
+ ))
2053
+ }
2054
+ }
2055
+
2056
+ for (name, func, span) in export_funcs {
2057
+ let prev = world
2058
+ .exports
2059
+ .insert(WorldKey::Name(name.clone()), WorldItem::Function(func));
2060
+ if prev.is_some() {
2061
+ bail!(Error::new(
2062
+ span,
2063
+ format!("export of function `{name}` shadows previously exported interface"),
2064
+ ))
2065
+ }
2066
+ }
2067
+
2068
+ // After all that sort functions in exports to come before interfaces in
2069
+ // exports. This is not strictly required for correctness but make
2070
+ // iterating over a world much easier for consumers. Exported functions
2071
+ // are guaranteed to use types from either imported interfaces or
2072
+ // imported types into the world itself. Currently there is no means by
2073
+ // which an export function, at the root, can use types from any other
2074
+ // exported interfaces (can't be modeled syntactically in WIT). This
2075
+ // means that by placing all functions first it guarantees that visitors
2076
+ // which visit imports first then exports will walk over types and
2077
+ // references in the order of what they're actually using.
2078
+ //
2079
+ // For example if an interface is both imported and exported and an
2080
+ // exported function uses a type from that interface, then a visitor
2081
+ // should visit the imported interface, then the exported function, then
2082
+ // the exported interface. That way tables about "where was this type
2083
+ // defined" will be correct as the last-inserted item will be used and
2084
+ // correctly account for this.
2085
+ world.exports.sort_by(|_, a, _, b| {
2086
+ let rank = |item: &WorldItem| match item {
2087
+ WorldItem::Type(_) => unreachable!(),
2088
+ WorldItem::Function(_) => 0,
2089
+ WorldItem::Interface { .. } => 1,
2090
+ };
2091
+ rank(a).cmp(&rank(b))
2092
+ });
2093
+
2094
+ log::trace!("imports = {:?}", world.imports);
2095
+ log::trace!("exports = {:?}", world.exports);
2096
+
2097
+ Ok(())
2098
+ }
2099
+
2100
+ fn update_world_key(&self, key: &mut WorldKey, span: Option<Span>) -> Result<()> {
2101
+ match key {
2102
+ WorldKey::Name(_) => {}
2103
+ WorldKey::Interface(id) => {
2104
+ *id = self.map_interface(*id, span)?;
2105
+ }
2106
+ }
2107
+ Ok(())
2108
+ }
2109
+
2110
+ fn add_world_import(
2111
+ &self,
2112
+ resolve: &Resolve,
2113
+ world: &mut World,
2114
+ key: WorldKey,
2115
+ id: InterfaceId,
2116
+ stability: &Stability,
2117
+ ) {
2118
+ if world.imports.contains_key(&key) {
2119
+ return;
2120
+ }
2121
+ for dep in resolve.interface_direct_deps(id) {
2122
+ self.add_world_import(resolve, world, WorldKey::Interface(dep), dep, stability);
2123
+ }
2124
+ let prev = world.imports.insert(
2125
+ key,
2126
+ WorldItem::Interface {
2127
+ id,
2128
+ stability: stability.clone(),
2129
+ },
2130
+ );
2131
+ assert!(prev.is_none());
2132
+ }
2133
+
2134
+ /// This function adds all of the interfaces in `export_interfaces` to the
2135
+ /// list of exports of the `world` specified.
2136
+ ///
2137
+ /// This method is more involved than adding imports because it is fallible.
2138
+ /// Chiefly what can happen is that the dependencies of all exports must be
2139
+ /// satisfied by other exports or imports, but not both. For example given a
2140
+ /// situation such as:
2141
+ ///
2142
+ /// ```wit
2143
+ /// interface a {
2144
+ /// type t = u32
2145
+ /// }
2146
+ /// interface b {
2147
+ /// use a.{t}
2148
+ /// }
2149
+ /// interface c {
2150
+ /// use a.{t}
2151
+ /// use b.{t as t2}
2152
+ /// }
2153
+ /// ```
2154
+ ///
2155
+ /// where `c` depends on `b` and `a` where `b` depends on `a`, then the
2156
+ /// purpose of this method is to reject this world:
2157
+ ///
2158
+ /// ```wit
2159
+ /// world foo {
2160
+ /// export a
2161
+ /// export c
2162
+ /// }
2163
+ /// ```
2164
+ ///
2165
+ /// The reasoning here is unfortunately subtle and is additionally the
2166
+ /// subject of WebAssembly/component-model#208. Effectively the `c`
2167
+ /// interface depends on `b`, but it's not listed explicitly as an import,
2168
+ /// so it's then implicitly added as an import. This then transitively
2169
+ /// depends on `a` so it's also added as an import. At this point though `c`
2170
+ /// also depends on `a`, and it's also exported, so naively it should depend
2171
+ /// on the export and not implicitly add an import. This means though that
2172
+ /// `c` has access to two copies of `a`, one imported and one exported. This
2173
+ /// is not valid, especially in the face of resource types.
2174
+ ///
2175
+ /// Overall this method is tasked with rejecting the above world by walking
2176
+ /// over all the exports and adding their dependencies. Each dependency is
2177
+ /// recorded with whether it's required to be imported, and then if an
2178
+ /// export is added for something that's required to be an error then the
2179
+ /// operation fails.
2180
+ fn add_world_exports(
2181
+ &self,
2182
+ resolve: &Resolve,
2183
+ world: &mut World,
2184
+ export_interfaces: &IndexMap<InterfaceId, (WorldKey, Span, Stability)>,
2185
+ ) -> Result<()> {
2186
+ let mut required_imports = HashSet::new();
2187
+ for (id, (key, span, stability)) in export_interfaces.iter() {
2188
+ let ok = add_world_export(
2189
+ resolve,
2190
+ world,
2191
+ export_interfaces,
2192
+ &mut required_imports,
2193
+ *id,
2194
+ key,
2195
+ true,
2196
+ &stability,
2197
+ );
2198
+ if !ok {
2199
+ bail!(Error::new(
2200
+ *span,
2201
+ // FIXME: this is not a great error message and basically no
2202
+ // one will know what to do when it gets printed. Improving
2203
+ // this error message, however, is a chunk of work that may
2204
+ // not be best spent doing this at this time, so I'm writing
2205
+ // this comment instead.
2206
+ //
2207
+ // More-or-less what should happen here is that a "path"
2208
+ // from this interface to the conflicting interface should
2209
+ // be printed. It should be explained why an import is being
2210
+ // injected, why that's conflicting with an export, and
2211
+ // ideally with a suggestion of "add this interface to the
2212
+ // export list to fix this error".
2213
+ //
2214
+ // That's a lot of info that's not easy to get at without
2215
+ // more refactoring, so it's left to a future date in the
2216
+ // hopes that most folks won't actually run into this for
2217
+ // the time being.
2218
+ format!(
2219
+ "interface transitively depends on an interface in \
2220
+ incompatible ways",
2221
+ ),
2222
+ ));
2223
+ }
2224
+ }
2225
+ return Ok(());
2226
+
2227
+ fn add_world_export(
2228
+ resolve: &Resolve,
2229
+ world: &mut World,
2230
+ export_interfaces: &IndexMap<InterfaceId, (WorldKey, Span, Stability)>,
2231
+ required_imports: &mut HashSet<InterfaceId>,
2232
+ id: InterfaceId,
2233
+ key: &WorldKey,
2234
+ add_export: bool,
2235
+ stability: &Stability,
2236
+ ) -> bool {
2237
+ if world.exports.contains_key(key) {
2238
+ if add_export {
2239
+ return true;
2240
+ } else {
2241
+ return false;
2242
+ }
2243
+ }
2244
+ // If this is an import and it's already in the `required_imports`
2245
+ // set then we can skip it as we've already visited this interface.
2246
+ if !add_export && required_imports.contains(&id) {
2247
+ return true;
2248
+ }
2249
+ let ok = resolve.interface_direct_deps(id).all(|dep| {
2250
+ let key = WorldKey::Interface(dep);
2251
+ let add_export = add_export && export_interfaces.contains_key(&dep);
2252
+ add_world_export(
2253
+ resolve,
2254
+ world,
2255
+ export_interfaces,
2256
+ required_imports,
2257
+ dep,
2258
+ &key,
2259
+ add_export,
2260
+ stability,
2261
+ )
2262
+ });
2263
+ if !ok {
2264
+ return false;
2265
+ }
2266
+ let item = WorldItem::Interface {
2267
+ id,
2268
+ stability: stability.clone(),
2269
+ };
2270
+ if add_export {
2271
+ if required_imports.contains(&id) {
2272
+ return false;
2273
+ }
2274
+ world.exports.insert(key.clone(), item);
2275
+ } else {
2276
+ required_imports.insert(id);
2277
+ world.imports.insert(key.clone(), item);
2278
+ }
2279
+ true
2280
+ }
2281
+ }
2282
+
2283
+ fn resolve_include(
2284
+ &self,
2285
+ world: &mut World,
2286
+ include_world: WorldId,
2287
+ names: &[IncludeName],
2288
+ span: Span,
2289
+ resolve: &Resolve,
2290
+ ) -> Result<()> {
2291
+ let include_world_id = self.map_world(include_world, Some(span))?;
2292
+ let include_world = &resolve.worlds[include_world_id];
2293
+ let mut names_ = names.to_owned();
2294
+
2295
+ // remove all imports and exports that match the names we're including
2296
+ for import in include_world.imports.iter() {
2297
+ self.remove_matching_name(import, &mut names_);
2298
+ }
2299
+ for export in include_world.exports.iter() {
2300
+ self.remove_matching_name(export, &mut names_);
2301
+ }
2302
+ if !names_.is_empty() {
2303
+ bail!(Error::new(
2304
+ span,
2305
+ format!("no import or export kebab-name `{}`. Note that an ID does not support renaming", names_[0].name),
2306
+ ));
2307
+ }
2308
+
2309
+ // copy the imports and exports from the included world into the current world
2310
+ for import in include_world.imports.iter() {
2311
+ self.resolve_include_item(names, &mut world.imports, import, span, "import")?;
2312
+ }
2313
+
2314
+ for export in include_world.exports.iter() {
2315
+ self.resolve_include_item(names, &mut world.exports, export, span, "export")?;
2316
+ }
2317
+ Ok(())
2318
+ }
2319
+
2320
+ fn resolve_include_item(
2321
+ &self,
2322
+ names: &[IncludeName],
2323
+ items: &mut IndexMap<WorldKey, WorldItem>,
2324
+ item: (&WorldKey, &WorldItem),
2325
+ span: Span,
2326
+ item_type: &str,
2327
+ ) -> Result<()> {
2328
+ match item.0 {
2329
+ WorldKey::Name(n) => {
2330
+ let n = if let Some(found) = names
2331
+ .into_iter()
2332
+ .find(|include_name| include_name.name == n.clone())
2333
+ {
2334
+ found.as_.clone()
2335
+ } else {
2336
+ n.clone()
2337
+ };
2338
+
2339
+ let prev = items.insert(WorldKey::Name(n.clone()), item.1.clone());
2340
+ if prev.is_some() {
2341
+ bail!(Error::new(
2342
+ span,
2343
+ format!("{item_type} of `{n}` shadows previously {item_type}ed items"),
2344
+ ))
2345
+ }
2346
+ }
2347
+ key => {
2348
+ let prev = items.insert(key.clone(), item.1.clone());
2349
+ if let Some(prev) = prev {
2350
+ assert_eq!(prev, item.1.clone());
2351
+ }
2352
+ }
2353
+ };
2354
+ Ok(())
2355
+ }
2356
+
2357
+ fn remove_matching_name(&self, item: (&WorldKey, &WorldItem), names: &mut Vec<IncludeName>) {
2358
+ match item.0 {
2359
+ WorldKey::Name(n) => {
2360
+ names.retain(|name| name.name != n.clone());
2361
+ }
2362
+ _ => {}
2363
+ }
2364
+ }
2365
+
2366
+ fn type_has_borrow(&mut self, resolve: &Resolve, ty: &Type) -> bool {
2367
+ let id = match ty {
2368
+ Type::Id(id) => *id,
2369
+ _ => return false,
2370
+ };
2371
+
2372
+ if let Some(Some(has_borrow)) = self.type_has_borrow.get(id.index()) {
2373
+ return *has_borrow;
2374
+ }
2375
+
2376
+ let result = self.typedef_has_borrow(resolve, &resolve.types[id]);
2377
+ if self.type_has_borrow.len() <= id.index() {
2378
+ self.type_has_borrow.resize(id.index() + 1, None);
2379
+ }
2380
+ self.type_has_borrow[id.index()] = Some(result);
2381
+ result
2382
+ }
2383
+
2384
+ fn typedef_has_borrow(&mut self, resolve: &Resolve, ty: &TypeDef) -> bool {
2385
+ match &ty.kind {
2386
+ TypeDefKind::Type(t) => self.type_has_borrow(resolve, t),
2387
+ TypeDefKind::Variant(v) => v
2388
+ .cases
2389
+ .iter()
2390
+ .filter_map(|case| case.ty.as_ref())
2391
+ .any(|ty| self.type_has_borrow(resolve, ty)),
2392
+ TypeDefKind::Handle(Handle::Borrow(_)) => true,
2393
+ TypeDefKind::Handle(Handle::Own(_)) => false,
2394
+ TypeDefKind::Resource => false,
2395
+ TypeDefKind::Record(r) => r
2396
+ .fields
2397
+ .iter()
2398
+ .any(|case| self.type_has_borrow(resolve, &case.ty)),
2399
+ TypeDefKind::Flags(_) => false,
2400
+ TypeDefKind::Tuple(t) => t.types.iter().any(|t| self.type_has_borrow(resolve, t)),
2401
+ TypeDefKind::Enum(_) => false,
2402
+ TypeDefKind::List(ty) | TypeDefKind::Future(Some(ty)) | TypeDefKind::Option(ty) => {
2403
+ self.type_has_borrow(resolve, ty)
2404
+ }
2405
+ TypeDefKind::Result(r) => [&r.ok, &r.err]
2406
+ .iter()
2407
+ .filter_map(|t| t.as_ref())
2408
+ .any(|t| self.type_has_borrow(resolve, t)),
2409
+ TypeDefKind::Stream(r) => [&r.element, &r.end]
2410
+ .iter()
2411
+ .filter_map(|t| t.as_ref())
2412
+ .any(|t| self.type_has_borrow(resolve, t)),
2413
+ TypeDefKind::Future(None) => false,
2414
+ TypeDefKind::Unknown => unreachable!(),
2415
+ }
2416
+ }
2417
+ }
2418
+
2419
+ struct MergeMap<'a> {
2420
+ /// A map of package ids in `from` to those in `into` for those that are
2421
+ /// found to be equivalent.
2422
+ package_map: HashMap<PackageId, PackageId>,
2423
+
2424
+ /// A map of interface ids in `from` to those in `into` for those that are
2425
+ /// found to be equivalent.
2426
+ interface_map: HashMap<InterfaceId, InterfaceId>,
2427
+
2428
+ /// A map of type ids in `from` to those in `into` for those that are
2429
+ /// found to be equivalent.
2430
+ type_map: HashMap<TypeId, TypeId>,
2431
+
2432
+ /// A map of world ids in `from` to those in `into` for those that are
2433
+ /// found to be equivalent.
2434
+ world_map: HashMap<WorldId, WorldId>,
2435
+
2436
+ /// A list of documents that need to be added to packages in `into`.
2437
+ ///
2438
+ /// The elements here are:
2439
+ ///
2440
+ /// * The name of the interface/world
2441
+ /// * The ID within `into` of the package being added to
2442
+ /// * The ID within `from` of the item being added.
2443
+ interfaces_to_add: Vec<(String, PackageId, InterfaceId)>,
2444
+ worlds_to_add: Vec<(String, PackageId, WorldId)>,
2445
+
2446
+ /// Which `Resolve` is being merged from.
2447
+ from: &'a Resolve,
2448
+
2449
+ /// Which `Resolve` is being merged into.
2450
+ into: &'a Resolve,
2451
+ }
2452
+
2453
+ impl<'a> MergeMap<'a> {
2454
+ fn new(from: &'a Resolve, into: &'a Resolve) -> Result<MergeMap<'a>> {
2455
+ Ok(MergeMap {
2456
+ package_map: Default::default(),
2457
+ interface_map: Default::default(),
2458
+ type_map: Default::default(),
2459
+ world_map: Default::default(),
2460
+ interfaces_to_add: Default::default(),
2461
+ worlds_to_add: Default::default(),
2462
+ from,
2463
+ into,
2464
+ })
2465
+ }
2466
+
2467
+ fn build(&mut self) -> Result<()> {
2468
+ for from_id in self.from.topological_packages() {
2469
+ let from = &self.from.packages[from_id];
2470
+ let into_id = match self.into.package_names.get(&from.name) {
2471
+ Some(id) => *id,
2472
+
2473
+ // This package, according to its name and url, is not present
2474
+ // in `self` so it needs to get added below.
2475
+ None => {
2476
+ log::trace!("adding unique package {}", from.name);
2477
+ continue;
2478
+ }
2479
+ };
2480
+ log::trace!("merging duplicate package {}", from.name);
2481
+
2482
+ self.build_package(from_id, into_id).with_context(|| {
2483
+ format!("failed to merge package `{}` into existing copy", from.name)
2484
+ })?;
2485
+ }
2486
+
2487
+ Ok(())
2488
+ }
2489
+
2490
+ fn build_package(&mut self, from_id: PackageId, into_id: PackageId) -> Result<()> {
2491
+ let prev = self.package_map.insert(from_id, into_id);
2492
+ assert!(prev.is_none());
2493
+
2494
+ let from = &self.from.packages[from_id];
2495
+ let into = &self.into.packages[into_id];
2496
+
2497
+ // If an interface is present in `from_id` but not present in `into_id`
2498
+ // then it can be copied over wholesale. That copy is scheduled to
2499
+ // happen within the `self.interfaces_to_add` list.
2500
+ for (name, from_interface_id) in from.interfaces.iter() {
2501
+ let into_interface_id = match into.interfaces.get(name) {
2502
+ Some(id) => *id,
2503
+ None => {
2504
+ log::trace!("adding unique interface {}", name);
2505
+ self.interfaces_to_add
2506
+ .push((name.clone(), into_id, *from_interface_id));
2507
+ continue;
2508
+ }
2509
+ };
2510
+
2511
+ log::trace!("merging duplicate interfaces {}", name);
2512
+ self.build_interface(*from_interface_id, into_interface_id)
2513
+ .with_context(|| format!("failed to merge interface `{name}`"))?;
2514
+ }
2515
+
2516
+ for (name, from_world_id) in from.worlds.iter() {
2517
+ let into_world_id = match into.worlds.get(name) {
2518
+ Some(id) => *id,
2519
+ None => {
2520
+ log::trace!("adding unique world {}", name);
2521
+ self.worlds_to_add
2522
+ .push((name.clone(), into_id, *from_world_id));
2523
+ continue;
2524
+ }
2525
+ };
2526
+
2527
+ log::trace!("merging duplicate worlds {}", name);
2528
+ self.build_world(*from_world_id, into_world_id)
2529
+ .with_context(|| format!("failed to merge world `{name}`"))?;
2530
+ }
2531
+
2532
+ Ok(())
2533
+ }
2534
+
2535
+ fn build_interface(&mut self, from_id: InterfaceId, into_id: InterfaceId) -> Result<()> {
2536
+ let prev = self.interface_map.insert(from_id, into_id);
2537
+ assert!(prev.is_none());
2538
+
2539
+ let from_interface = &self.from.interfaces[from_id];
2540
+ let into_interface = &self.into.interfaces[into_id];
2541
+
2542
+ // Unlike documents/interfaces above if an interface in `from`
2543
+ // differs from the interface in `into` then that's considered an
2544
+ // error. Changing interfaces can reflect changes in imports/exports
2545
+ // which may not be expected so it's currently required that all
2546
+ // interfaces, when merged, exactly match.
2547
+ //
2548
+ // One case to consider here, for example, is that if a world in
2549
+ // `into` exports the interface `into_id` then if `from_id` were to
2550
+ // add more items into `into` then it would unexpectedly require more
2551
+ // items to be exported which may not work. In an import context this
2552
+ // might work since it's "just more items available for import", but
2553
+ // for now a conservative route of "interfaces must match" is taken.
2554
+
2555
+ for (name, from_type_id) in from_interface.types.iter() {
2556
+ let into_type_id = *into_interface
2557
+ .types
2558
+ .get(name)
2559
+ .ok_or_else(|| anyhow!("expected type `{name}` to be present"))?;
2560
+ let prev = self.type_map.insert(*from_type_id, into_type_id);
2561
+ assert!(prev.is_none());
2562
+
2563
+ // FIXME: ideally the types should be "structurally
2564
+ // equal" but that's not trivial to do in the face of
2565
+ // resources.
2566
+ }
2567
+
2568
+ for (name, _) in from_interface.functions.iter() {
2569
+ if !into_interface.functions.contains_key(name) {
2570
+ bail!("expected function `{name}` to be present");
2571
+ }
2572
+
2573
+ // FIXME: ideally the functions should be "structurally
2574
+ // equal" but that's not trivial to do in the face of
2575
+ // resources.
2576
+ }
2577
+
2578
+ Ok(())
2579
+ }
2580
+
2581
+ fn build_world(&mut self, from_id: WorldId, into_id: WorldId) -> Result<()> {
2582
+ let prev = self.world_map.insert(from_id, into_id);
2583
+ assert!(prev.is_none());
2584
+
2585
+ let from_world = &self.from.worlds[from_id];
2586
+ let into_world = &self.into.worlds[into_id];
2587
+
2588
+ // Same as interfaces worlds are expected to exactly match to avoid
2589
+ // unexpectedly changing a particular component's view of imports and
2590
+ // exports.
2591
+ //
2592
+ // FIXME: this should probably share functionality with
2593
+ // `Resolve::merge_worlds` to support adding imports but not changing
2594
+ // exports.
2595
+
2596
+ if from_world.imports.len() != into_world.imports.len() {
2597
+ bail!("world contains different number of imports than expected");
2598
+ }
2599
+ if from_world.exports.len() != into_world.exports.len() {
2600
+ bail!("world contains different number of exports than expected");
2601
+ }
2602
+
2603
+ for (from_name, from) in from_world.imports.iter() {
2604
+ let into_name = self.map_name(from_name);
2605
+ let name_str = self.from.name_world_key(from_name);
2606
+ let into = into_world
2607
+ .imports
2608
+ .get(&into_name)
2609
+ .ok_or_else(|| anyhow!("import `{name_str}` not found in target world"))?;
2610
+ self.match_world_item(from, into)
2611
+ .with_context(|| format!("import `{name_str}` didn't match target world"))?;
2612
+ }
2613
+
2614
+ for (from_name, from) in from_world.exports.iter() {
2615
+ let into_name = self.map_name(from_name);
2616
+ let name_str = self.from.name_world_key(from_name);
2617
+ let into = into_world
2618
+ .exports
2619
+ .get(&into_name)
2620
+ .ok_or_else(|| anyhow!("export `{name_str}` not found in target world"))?;
2621
+ self.match_world_item(from, into)
2622
+ .with_context(|| format!("export `{name_str}` didn't match target world"))?;
2623
+ }
2624
+
2625
+ Ok(())
2626
+ }
2627
+
2628
+ fn map_name(&self, from_name: &WorldKey) -> WorldKey {
2629
+ match from_name {
2630
+ WorldKey::Name(s) => WorldKey::Name(s.clone()),
2631
+ WorldKey::Interface(id) => {
2632
+ WorldKey::Interface(self.interface_map.get(id).copied().unwrap_or(*id))
2633
+ }
2634
+ }
2635
+ }
2636
+
2637
+ fn match_world_item(&mut self, from: &WorldItem, into: &WorldItem) -> Result<()> {
2638
+ match (from, into) {
2639
+ (WorldItem::Interface { id: from, .. }, WorldItem::Interface { id: into, .. }) => {
2640
+ match (
2641
+ &self.from.interfaces[*from].name,
2642
+ &self.into.interfaces[*into].name,
2643
+ ) {
2644
+ // If one interface is unnamed then they must both be
2645
+ // unnamed and they must both have the same structure for
2646
+ // now.
2647
+ (None, None) => self.build_interface(*from, *into)?,
2648
+
2649
+ // Otherwise both interfaces must be named and they must
2650
+ // have been previously found to be equivalent. Note that
2651
+ // if either is unnamed it won't be present in
2652
+ // `interface_map` so this'll return an error.
2653
+ _ => {
2654
+ if self.interface_map.get(&from) != Some(&into) {
2655
+ bail!("interfaces are not the same");
2656
+ }
2657
+ }
2658
+ }
2659
+ }
2660
+ (WorldItem::Function(from), WorldItem::Function(into)) => {
2661
+ let _ = (from, into);
2662
+ // FIXME: should assert an check that `from` structurally
2663
+ // matches `into`
2664
+ }
2665
+ (WorldItem::Type(from), WorldItem::Type(into)) => {
2666
+ // FIXME: should assert an check that `from` structurally
2667
+ // matches `into`
2668
+ let prev = self.type_map.insert(*from, *into);
2669
+ assert!(prev.is_none());
2670
+ }
2671
+
2672
+ (WorldItem::Interface { .. }, _)
2673
+ | (WorldItem::Function(_), _)
2674
+ | (WorldItem::Type(_), _) => {
2675
+ bail!("world items do not have the same type")
2676
+ }
2677
+ }
2678
+ Ok(())
2679
+ }
2680
+ }
2681
+
2682
+ #[cfg(test)]
2683
+ mod tests {
2684
+ use crate::Resolve;
2685
+ use anyhow::Result;
2686
+
2687
+ #[test]
2688
+ fn select_world() -> Result<()> {
2689
+ let mut resolve = Resolve::default();
2690
+ resolve.push_str(
2691
+ "test.wit",
2692
+ r#"
2693
+ package foo:bar@0.1.0;
2694
+
2695
+ world foo {}
2696
+ "#,
2697
+ )?;
2698
+ resolve.push_str(
2699
+ "test.wit",
2700
+ r#"
2701
+ package foo:baz@0.1.0;
2702
+
2703
+ world foo {}
2704
+ "#,
2705
+ )?;
2706
+ resolve.push_str(
2707
+ "test.wit",
2708
+ r#"
2709
+ package foo:baz@0.2.0;
2710
+
2711
+ world foo {}
2712
+ "#,
2713
+ )?;
2714
+
2715
+ let dummy = resolve.push_str(
2716
+ "test.wit",
2717
+ r#"
2718
+ package foo:dummy;
2719
+
2720
+ world foo {}
2721
+ "#,
2722
+ )?;
2723
+
2724
+ assert!(resolve.select_world(&dummy, None).is_ok());
2725
+ assert!(resolve.select_world(&dummy, Some("xx")).is_err());
2726
+ assert!(resolve.select_world(&dummy, Some("")).is_err());
2727
+ assert!(resolve.select_world(&dummy, Some("foo:bar/foo")).is_ok());
2728
+ assert!(resolve
2729
+ .select_world(&dummy, Some("foo:bar/foo@0.1.0"))
2730
+ .is_ok());
2731
+ assert!(resolve.select_world(&dummy, Some("foo:baz/foo")).is_err());
2732
+ assert!(resolve
2733
+ .select_world(&dummy, Some("foo:baz/foo@0.1.0"))
2734
+ .is_ok());
2735
+ assert!(resolve
2736
+ .select_world(&dummy, Some("foo:baz/foo@0.2.0"))
2737
+ .is_ok());
2738
+ Ok(())
2739
+ }
2740
+ }