wasmtime 21.0.1 → 22.0.0

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 (2043) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +80 -87
  3. data/ext/Cargo.toml +4 -4
  4. data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +41 -0
  6. data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +193 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +384 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/dominator_tree.rs +727 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/egraph.rs +835 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/inst_predicates.rs +230 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +1777 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/extfunc.rs +402 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +1612 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/stackslot.rs +208 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +627 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/abi.rs +1556 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/args.rs +711 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +3584 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +7901 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/imms.rs +1213 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +3060 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/regs.rs +269 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +4218 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/pcc.rs +568 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/abi.rs +1029 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/args.rs +2054 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +2682 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +2215 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/encode.rs +675 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/imms.rs +374 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +1938 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/vector.rs +1150 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +3127 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst_vector.isle +1907 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +649 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +2923 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +260 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/abi.rs +1016 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/args.rs +298 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +3401 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit_tests.rs +13388 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/imms.rs +202 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +3401 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/regs.rs +169 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/unwind/systemv.rs +212 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst.isle +5028 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +3995 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/abi.rs +1390 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/args.rs +2240 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +4287 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +52 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_tests.rs +5171 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +2821 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/regs.rs +275 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/unwind/systemv.rs +198 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +5289 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +4810 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/pcc.rs +1014 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +986 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +106 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +2419 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/blockorder.rs +465 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +2508 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +909 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +1432 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +551 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/reg.rs +479 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/valueregs.rs +138 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +1741 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/cprop.isle +297 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/shifts.isle +307 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +664 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +1073 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/timing.rs +296 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/traversals.rs +216 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/verifier/mod.rs +1957 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +638 -0
  81. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +1 -0
  82. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +36 -0
  83. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +496 -0
  84. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/isa/riscv64.rs +174 -0
  85. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +1 -0
  86. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +22 -0
  87. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/src/constants.rs +28 -0
  88. data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +1 -0
  89. data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +30 -0
  90. data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +1 -0
  91. data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +53 -0
  92. data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +290 -0
  93. data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +1 -0
  94. data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +68 -0
  95. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +1857 -0
  96. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/lib.rs +187 -0
  97. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/ssa.rs +1328 -0
  98. data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +1 -0
  99. data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +47 -0
  100. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +2492 -0
  101. data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +1 -0
  102. data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +43 -0
  103. data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +188 -0
  104. data/ext/cargo-vendor/cranelift-native-0.109.0/src/riscv.rs +128 -0
  105. data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +1 -0
  106. data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +110 -0
  107. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +3695 -0
  108. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/func_translator.rs +296 -0
  109. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/module_translator.rs +120 -0
  110. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +343 -0
  111. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/state.rs +522 -0
  112. data/ext/cargo-vendor/object-0.36.3/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/object-0.36.3/CHANGELOG.md +1028 -0
  114. data/ext/cargo-vendor/object-0.36.3/Cargo.toml +180 -0
  115. data/ext/cargo-vendor/object-0.36.3/README.md +60 -0
  116. data/ext/cargo-vendor/object-0.36.3/src/build/bytes.rs +146 -0
  117. data/ext/cargo-vendor/object-0.36.3/src/build/elf.rs +3113 -0
  118. data/ext/cargo-vendor/object-0.36.3/src/common.rs +590 -0
  119. data/ext/cargo-vendor/object-0.36.3/src/elf.rs +6303 -0
  120. data/ext/cargo-vendor/object-0.36.3/src/endian.rs +831 -0
  121. data/ext/cargo-vendor/object-0.36.3/src/macho.rs +3303 -0
  122. data/ext/cargo-vendor/object-0.36.3/src/pod.rs +281 -0
  123. data/ext/cargo-vendor/object-0.36.3/src/read/any.rs +1334 -0
  124. data/ext/cargo-vendor/object-0.36.3/src/read/archive.rs +1133 -0
  125. data/ext/cargo-vendor/object-0.36.3/src/read/coff/comdat.rs +220 -0
  126. data/ext/cargo-vendor/object-0.36.3/src/read/coff/file.rs +381 -0
  127. data/ext/cargo-vendor/object-0.36.3/src/read/coff/relocation.rs +113 -0
  128. data/ext/cargo-vendor/object-0.36.3/src/read/coff/section.rs +619 -0
  129. data/ext/cargo-vendor/object-0.36.3/src/read/coff/symbol.rs +669 -0
  130. data/ext/cargo-vendor/object-0.36.3/src/read/elf/attributes.rs +340 -0
  131. data/ext/cargo-vendor/object-0.36.3/src/read/elf/comdat.rs +186 -0
  132. data/ext/cargo-vendor/object-0.36.3/src/read/elf/file.rs +959 -0
  133. data/ext/cargo-vendor/object-0.36.3/src/read/elf/hash.rs +236 -0
  134. data/ext/cargo-vendor/object-0.36.3/src/read/elf/note.rs +302 -0
  135. data/ext/cargo-vendor/object-0.36.3/src/read/elf/relocation.rs +661 -0
  136. data/ext/cargo-vendor/object-0.36.3/src/read/elf/section.rs +1241 -0
  137. data/ext/cargo-vendor/object-0.36.3/src/read/elf/segment.rs +365 -0
  138. data/ext/cargo-vendor/object-0.36.3/src/read/elf/symbol.rs +654 -0
  139. data/ext/cargo-vendor/object-0.36.3/src/read/elf/version.rs +513 -0
  140. data/ext/cargo-vendor/object-0.36.3/src/read/gnu_compression.rs +36 -0
  141. data/ext/cargo-vendor/object-0.36.3/src/read/macho/dyld_cache.rs +384 -0
  142. data/ext/cargo-vendor/object-0.36.3/src/read/macho/file.rs +779 -0
  143. data/ext/cargo-vendor/object-0.36.3/src/read/macho/load_command.rs +404 -0
  144. data/ext/cargo-vendor/object-0.36.3/src/read/macho/section.rs +420 -0
  145. data/ext/cargo-vendor/object-0.36.3/src/read/macho/segment.rs +317 -0
  146. data/ext/cargo-vendor/object-0.36.3/src/read/macho/symbol.rs +532 -0
  147. data/ext/cargo-vendor/object-0.36.3/src/read/mod.rs +1018 -0
  148. data/ext/cargo-vendor/object-0.36.3/src/read/pe/file.rs +1033 -0
  149. data/ext/cargo-vendor/object-0.36.3/src/read/pe/import.rs +381 -0
  150. data/ext/cargo-vendor/object-0.36.3/src/read/pe/relocation.rs +109 -0
  151. data/ext/cargo-vendor/object-0.36.3/src/read/pe/section.rs +476 -0
  152. data/ext/cargo-vendor/object-0.36.3/src/read/read_cache.rs +261 -0
  153. data/ext/cargo-vendor/object-0.36.3/src/read/traits.rs +589 -0
  154. data/ext/cargo-vendor/object-0.36.3/src/read/wasm.rs +983 -0
  155. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/file.rs +716 -0
  156. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/relocation.rs +138 -0
  157. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/section.rs +452 -0
  158. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/symbol.rs +836 -0
  159. data/ext/cargo-vendor/object-0.36.3/src/write/coff/object.rs +681 -0
  160. data/ext/cargo-vendor/object-0.36.3/src/write/coff/writer.rs +520 -0
  161. data/ext/cargo-vendor/object-0.36.3/src/write/elf/object.rs +897 -0
  162. data/ext/cargo-vendor/object-0.36.3/src/write/elf/writer.rs +2361 -0
  163. data/ext/cargo-vendor/object-0.36.3/src/write/macho.rs +1124 -0
  164. data/ext/cargo-vendor/object-0.36.3/src/write/mod.rs +1023 -0
  165. data/ext/cargo-vendor/object-0.36.3/src/write/pe.rs +849 -0
  166. data/ext/cargo-vendor/object-0.36.3/src/write/xcoff.rs +588 -0
  167. data/ext/cargo-vendor/object-0.36.3/tests/build/elf.rs +254 -0
  168. data/ext/cargo-vendor/object-0.36.3/tests/build/mod.rs +3 -0
  169. data/ext/cargo-vendor/object-0.36.3/tests/integration.rs +3 -0
  170. data/ext/cargo-vendor/object-0.36.3/tests/read/macho.rs +49 -0
  171. data/ext/cargo-vendor/object-0.36.3/tests/read/mod.rs +5 -0
  172. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/bss.rs +244 -0
  173. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/comdat.rs +217 -0
  174. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/common.rs +241 -0
  175. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/elf.rs +302 -0
  176. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/mod.rs +682 -0
  177. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/section_flags.rs +89 -0
  178. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/tls.rs +308 -0
  179. data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +1 -0
  180. data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +224 -0
  181. data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_0.rs +1080 -0
  182. data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_1.rs +1562 -0
  183. data/ext/cargo-vendor/wasi-common-22.0.0/src/string_array.rs +75 -0
  184. data/ext/cargo-vendor/wasi-common-22.0.0/src/sync/sched/windows.rs +221 -0
  185. data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/file.rs +247 -0
  186. data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +1 -0
  187. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +662 -0
  188. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +109 -0
  189. data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +1929 -0
  190. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/hash.rs +120 -0
  191. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/detail.rs +1094 -0
  192. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/tests.rs +183 -0
  193. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map.rs +656 -0
  194. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_set.rs +316 -0
  195. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/map.rs +840 -0
  196. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/mod.rs +24 -0
  197. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/set.rs +660 -0
  198. data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +164 -0
  199. data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +814 -0
  200. data/ext/cargo-vendor/wasmparser-0.209.1/src/limits.rs +79 -0
  201. data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +1682 -0
  202. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/imports.rs +130 -0
  203. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/instances.rs +166 -0
  204. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/names.rs +99 -0
  205. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/types.rs +553 -0
  206. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/branch_hinting.rs +59 -0
  207. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/code.rs +142 -0
  208. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/coredumps.rs +278 -0
  209. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/custom.rs +128 -0
  210. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/data.rs +96 -0
  211. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/elements.rs +146 -0
  212. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/globals.rs +61 -0
  213. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/init.rs +57 -0
  214. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/linking.rs +457 -0
  215. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/names.rs +159 -0
  216. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +423 -0
  217. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/producers.rs +84 -0
  218. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/reloc.rs +300 -0
  219. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +1788 -0
  220. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers.rs +315 -0
  221. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +3236 -0
  222. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core/canonical.rs +233 -0
  223. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +1464 -0
  224. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/func.rs +331 -0
  225. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/names.rs +1016 -0
  226. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +4231 -0
  227. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +4550 -0
  228. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +1633 -0
  229. data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +1 -0
  230. data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +51 -0
  231. data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +3225 -0
  232. data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +1171 -0
  233. data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +1 -0
  234. data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +387 -0
  235. data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +42 -0
  236. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +167 -0
  237. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +917 -0
  238. data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +2943 -0
  239. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +890 -0
  240. data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +389 -0
  241. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +67 -0
  242. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +48 -0
  243. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code.rs +102 -0
  244. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +338 -0
  245. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_0_hello_world.rs +9 -0
  246. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_1_world_imports.rs +17 -0
  247. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_2_world_exports.rs +18 -0
  248. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_3_interface_imports.rs +20 -0
  249. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_4_imported_resources.rs +45 -0
  250. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +29 -0
  251. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_6_exported_resources.rs +26 -0
  252. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +489 -0
  253. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +656 -0
  254. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +2498 -0
  255. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +689 -0
  256. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +810 -0
  257. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +854 -0
  258. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +217 -0
  259. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +657 -0
  260. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resource_table.rs +355 -0
  261. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/types.rs +897 -0
  262. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +166 -0
  263. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +310 -0
  264. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +481 -0
  265. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +780 -0
  266. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +2564 -0
  267. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/anyref.rs +410 -0
  268. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +592 -0
  269. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/i31.rs +299 -0
  270. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/noextern.rs +154 -0
  271. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc.rs +92 -0
  272. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +992 -0
  273. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +337 -0
  274. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +1499 -0
  275. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +353 -0
  276. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +1322 -0
  277. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/func_refs.rs +90 -0
  278. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +2824 -0
  279. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +94 -0
  280. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +287 -0
  281. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/type_registry.rs +1015 -0
  282. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +2580 -0
  283. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/v128.rs +116 -0
  284. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +966 -0
  285. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +352 -0
  286. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +857 -0
  287. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +972 -0
  288. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/export.rs +108 -0
  289. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +491 -0
  290. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +220 -0
  291. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +194 -0
  292. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +94 -0
  293. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  294. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +707 -0
  295. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +975 -0
  296. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  297. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +278 -0
  298. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +794 -0
  299. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +801 -0
  300. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +1514 -0
  301. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +736 -0
  302. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/capi.rs +200 -0
  303. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +105 -0
  304. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/vm.rs +59 -0
  305. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/mod.rs +36 -0
  306. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +407 -0
  307. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/vm.rs +190 -0
  308. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/vm.rs +75 -0
  309. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +899 -0
  310. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +768 -0
  311. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  312. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +1302 -0
  313. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +277 -0
  314. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +113 -0
  315. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +1 -0
  316. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +22 -0
  317. data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +1 -0
  318. data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +89 -0
  319. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/config.rs +584 -0
  320. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/lib.rs +235 -0
  321. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/tests.rs +91 -0
  322. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker/tests.rs +758 -0
  323. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker.rs +890 -0
  324. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +1 -0
  325. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +86 -0
  326. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +493 -0
  327. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/component.rs +1330 -0
  328. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +651 -0
  329. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +198 -0
  330. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +215 -0
  331. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +586 -0
  332. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +631 -0
  333. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +165 -0
  334. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +178 -0
  335. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +91 -0
  336. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +97 -0
  337. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +45 -0
  338. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +45 -0
  339. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +637 -0
  340. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +679 -0
  341. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +255 -0
  342. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +282 -0
  343. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +59 -0
  344. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +62 -0
  345. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +722 -0
  346. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +819 -0
  347. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +1743 -0
  348. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +1927 -0
  349. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +543 -0
  350. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +561 -0
  351. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +270 -0
  352. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +298 -0
  353. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +251 -0
  354. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +270 -0
  355. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +815 -0
  356. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +877 -0
  357. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +154 -0
  358. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +167 -0
  359. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +467 -0
  360. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +516 -0
  361. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +1014 -0
  362. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +1086 -0
  363. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +249 -0
  364. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +265 -0
  365. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +313 -0
  366. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +347 -0
  367. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +350 -0
  368. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +381 -0
  369. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +216 -0
  370. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +229 -0
  371. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +275 -0
  372. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +287 -0
  373. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +59 -0
  374. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +62 -0
  375. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +86 -0
  376. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +89 -0
  377. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +104 -0
  378. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +111 -0
  379. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +247 -0
  380. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +269 -0
  381. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +136 -0
  382. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +143 -0
  383. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +288 -0
  384. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +314 -0
  385. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +1750 -0
  386. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +1867 -0
  387. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +84 -0
  388. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +84 -0
  389. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +138 -0
  390. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +148 -0
  391. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded.rs +65 -0
  392. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +1 -0
  393. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +25 -0
  394. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +1 -0
  395. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +115 -0
  396. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler/component.rs +957 -0
  397. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +1067 -0
  398. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +783 -0
  399. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +256 -0
  400. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +411 -0
  401. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +529 -0
  402. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +186 -0
  403. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +196 -0
  404. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +2910 -0
  405. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +648 -0
  406. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +462 -0
  407. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/obj.rs +545 -0
  408. data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +1 -0
  409. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +774 -0
  410. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +161 -0
  411. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/address_map.rs +73 -0
  412. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +374 -0
  413. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_artifacts.rs +315 -0
  414. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +1348 -0
  415. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_types.rs +455 -0
  416. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/artifacts.rs +68 -0
  417. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +672 -0
  418. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/adapt.rs +455 -0
  419. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +985 -0
  420. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +1038 -0
  421. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder/resources.rs +233 -0
  422. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +1004 -0
  423. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/trampoline.rs +3234 -0
  424. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/transcode.rs +90 -0
  425. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact.rs +714 -0
  426. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +151 -0
  427. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +704 -0
  428. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_artifacts.rs +144 -0
  429. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_types.rs +139 -0
  430. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/ref_bits.rs +36 -0
  431. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +175 -0
  432. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +989 -0
  433. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +1 -0
  434. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +65 -0
  435. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/build.rs +39 -0
  436. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/lib.rs +340 -0
  437. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/unix.rs +494 -0
  438. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/windows.rs +170 -0
  439. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +1 -0
  440. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +68 -0
  441. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/gdb_jit_int.rs +130 -0
  442. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/perf_jitdump.rs +293 -0
  443. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +1 -0
  444. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +52 -0
  445. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/libc.rs +164 -0
  446. data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +1 -0
  447. data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +21 -0
  448. data/ext/cargo-vendor/wasmtime-slab-22.0.0/src/lib.rs +498 -0
  449. data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +1 -0
  450. data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +56 -0
  451. data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +1737 -0
  452. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +1 -0
  453. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +32 -0
  454. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +1 -0
  455. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +201 -0
  456. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +289 -0
  457. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ctx.rs +704 -0
  458. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +446 -0
  459. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/clocks.rs +109 -0
  460. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/env.rs +18 -0
  461. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/exit.rs +14 -0
  462. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem/sync.rs +525 -0
  463. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +1091 -0
  464. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/instance_network.rs +18 -0
  465. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +388 -0
  466. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/network.rs +545 -0
  467. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/random.rs +45 -0
  468. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp.rs +547 -0
  469. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp_create_socket.rs +18 -0
  470. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp.rs +762 -0
  471. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp_create_socket.rs +18 -0
  472. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ip_name_lookup.rs +132 -0
  473. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +417 -0
  474. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/network.rs +113 -0
  475. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/pipe.rs +826 -0
  476. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/poll.rs +245 -0
  477. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview0.rs +983 -0
  478. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +2801 -0
  479. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +533 -0
  480. data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +1 -0
  481. data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +82 -0
  482. data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +239 -0
  483. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +1 -0
  484. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +47 -0
  485. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +2639 -0
  486. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/rust.rs +427 -0
  487. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/types.rs +202 -0
  488. data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +1 -0
  489. data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +124 -0
  490. data/ext/cargo-vendor/wiggle-22.0.0/src/guest_type.rs +200 -0
  491. data/ext/cargo-vendor/wiggle-22.0.0/src/lib.rs +605 -0
  492. data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +1 -0
  493. data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +67 -0
  494. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/funcs.rs +434 -0
  495. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/module_trait.rs +89 -0
  496. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/names.rs +299 -0
  497. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/flags.rs +92 -0
  498. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/handle.rs +84 -0
  499. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/mod.rs +129 -0
  500. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/record.rs +129 -0
  501. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/variant.rs +186 -0
  502. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/wasmtime.rs +172 -0
  503. data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +1 -0
  504. data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +51 -0
  505. data/ext/cargo-vendor/wiggle-macro-22.0.0/build.rs +5 -0
  506. data/ext/cargo-vendor/wiggle-macro-22.0.0/src/lib.rs +233 -0
  507. data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +1 -0
  508. data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +77 -0
  509. data/ext/cargo-vendor/winch-codegen-0.20.0/src/abi/mod.rs +671 -0
  510. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/context.rs +536 -0
  511. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/control.rs +972 -0
  512. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +448 -0
  513. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +882 -0
  514. data/ext/cargo-vendor/winch-codegen-0.20.0/src/frame/mod.rs +258 -0
  515. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/asm.rs +430 -0
  516. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/masm.rs +572 -0
  517. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/regs.rs +161 -0
  518. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/asm.rs +1423 -0
  519. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/masm.rs +1120 -0
  520. data/ext/cargo-vendor/winch-codegen-0.20.0/src/masm.rs +941 -0
  521. data/ext/cargo-vendor/winch-codegen-0.20.0/src/regalloc.rs +65 -0
  522. data/ext/cargo-vendor/winch-codegen-0.20.0/src/stack.rs +439 -0
  523. data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +2149 -0
  524. data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +1 -0
  525. data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +112 -0
  526. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +1524 -0
  527. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +1668 -0
  528. data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +1795 -0
  529. data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +873 -0
  530. data/ext/cargo-vendor/wit-parser-0.209.1/src/live.rs +126 -0
  531. data/ext/cargo-vendor/wit-parser-0.209.1/src/metadata.rs +772 -0
  532. data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +2498 -0
  533. data/ext/cargo-vendor/wit-parser-0.209.1/src/serde_.rs +124 -0
  534. data/ext/cargo-vendor/wit-parser-0.209.1/tests/all.rs +154 -0
  535. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/complex-include.wit.json +200 -0
  536. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/diamond1.wit.json +59 -0
  537. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/disambiguate-diamond.wit.json +115 -0
  538. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit +118 -0
  539. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +288 -0
  540. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps-union.wit.json +410 -0
  541. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps.wit.json +362 -0
  542. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/ignore-files-deps.wit.json +41 -0
  543. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/import-export-overlap2.wit.json +43 -0
  544. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/include-reps.wit.json +68 -0
  545. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/kinds-of-deps.wit.json +95 -0
  546. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/many-names.wit.json +42 -0
  547. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/multi-file.wit.json +304 -0
  548. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit +8 -0
  549. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
  550. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit +8 -0
  551. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
  552. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit +6 -0
  553. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit.result +8 -0
  554. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit +8 -0
  555. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit.result +8 -0
  556. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit +11 -0
  557. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit.result +8 -0
  558. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit +4 -0
  559. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit.result +5 -0
  560. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit +5 -0
  561. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit.result +5 -0
  562. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/conflicting-package.wit.result +10 -0
  563. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/multiple-package-docs.wit.result +10 -0
  564. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +8 -0
  565. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-return-borrow.wit.result +8 -0
  566. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow1.wit.result +8 -0
  567. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow2.wit.result +8 -0
  568. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow6.wit.result +8 -0
  569. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow7.wit.result +8 -0
  570. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow8.wit.result +9 -0
  571. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/shared-types.wit.json +87 -0
  572. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit +89 -0
  573. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +549 -0
  574. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/stress-export-elaborate.wit.json +1156 -0
  575. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-diamond.wit.json +124 -0
  576. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-iface-no-collide.wit.json +68 -0
  577. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import1.wit.json +81 -0
  578. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import2.wit.json +72 -0
  579. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import3.wit.json +73 -0
  580. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-same-fields4.wit.json +82 -0
  581. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-top-level-resources.wit.json +237 -0
  582. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-union-dedup.wit.json +112 -0
  583. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-with-types.wit.json +204 -0
  584. data/ext/src/ruby_api/pooling_allocation_config.rs +6 -6
  585. data/lib/wasmtime/version.rb +1 -1
  586. metadata +1525 -1459
  587. data/ext/cargo-vendor/cranelift-bforest-0.108.1/.cargo-checksum.json +0 -1
  588. data/ext/cargo-vendor/cranelift-bforest-0.108.1/Cargo.toml +0 -40
  589. data/ext/cargo-vendor/cranelift-codegen-0.108.1/.cargo-checksum.json +0 -1
  590. data/ext/cargo-vendor/cranelift-codegen-0.108.1/Cargo.toml +0 -189
  591. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/context.rs +0 -395
  592. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dce.rs +0 -37
  593. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dominator_tree.rs +0 -803
  594. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph.rs +0 -839
  595. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/inst_predicates.rs +0 -236
  596. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/dfg.rs +0 -1777
  597. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/extfunc.rs +0 -411
  598. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/immediates.rs +0 -1612
  599. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/stackslot.rs +0 -216
  600. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/types.rs +0 -629
  601. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/abi.rs +0 -1580
  602. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/args.rs +0 -721
  603. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit.rs +0 -3846
  604. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit_tests.rs +0 -7902
  605. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/imms.rs +0 -1213
  606. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/mod.rs +0 -3094
  607. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/regs.rs +0 -288
  608. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
  609. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst.isle +0 -4225
  610. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/pcc.rs +0 -568
  611. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/abi.rs +0 -1051
  612. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/args.rs +0 -1938
  613. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit.rs +0 -2681
  614. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit_tests.rs +0 -2197
  615. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/encode.rs +0 -654
  616. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/imms.rs +0 -374
  617. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/mod.rs +0 -1975
  618. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
  619. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/vector.rs +0 -1144
  620. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst.isle +0 -2969
  621. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst_vector.isle +0 -1899
  622. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower/isle.rs +0 -625
  623. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower.isle +0 -2883
  624. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/mod.rs +0 -260
  625. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/abi.rs +0 -1037
  626. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/args.rs +0 -314
  627. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit.rs +0 -3646
  628. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit_tests.rs +0 -13389
  629. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/imms.rs +0 -202
  630. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/mod.rs +0 -3421
  631. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/regs.rs +0 -180
  632. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/unwind/systemv.rs +0 -212
  633. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst.isle +0 -5033
  634. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/lower.isle +0 -3995
  635. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/abi.rs +0 -1410
  636. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/args.rs +0 -2256
  637. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit.rs +0 -4311
  638. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_state.rs +0 -74
  639. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_tests.rs +0 -5171
  640. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/mod.rs +0 -2838
  641. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/regs.rs +0 -276
  642. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/unwind/systemv.rs +0 -198
  643. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst.isle +0 -5294
  644. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.isle +0 -4808
  645. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/pcc.rs +0 -1014
  646. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isle_prelude.rs +0 -957
  647. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/lib.rs +0 -106
  648. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/abi.rs +0 -2506
  649. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/blockorder.rs +0 -465
  650. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/buffer.rs +0 -2512
  651. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/isle.rs +0 -903
  652. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/lower.rs +0 -1432
  653. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/mod.rs +0 -555
  654. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/reg.rs +0 -522
  655. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/valueregs.rs +0 -138
  656. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/vcode.rs +0 -1741
  657. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/cprop.isle +0 -281
  658. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/shifts.isle +0 -307
  659. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude.isle +0 -646
  660. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude_lower.isle +0 -1073
  661. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/timing.rs +0 -297
  662. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/verifier/mod.rs +0 -1957
  663. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/write.rs +0 -631
  664. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/.cargo-checksum.json +0 -1
  665. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/Cargo.toml +0 -35
  666. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/types.rs +0 -496
  667. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/riscv64.rs +0 -168
  668. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/.cargo-checksum.json +0 -1
  669. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/Cargo.toml +0 -22
  670. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/src/constants.rs +0 -28
  671. data/ext/cargo-vendor/cranelift-control-0.108.1/.cargo-checksum.json +0 -1
  672. data/ext/cargo-vendor/cranelift-control-0.108.1/Cargo.toml +0 -30
  673. data/ext/cargo-vendor/cranelift-entity-0.108.1/.cargo-checksum.json +0 -1
  674. data/ext/cargo-vendor/cranelift-entity-0.108.1/Cargo.toml +0 -52
  675. data/ext/cargo-vendor/cranelift-entity-0.108.1/src/set.rs +0 -290
  676. data/ext/cargo-vendor/cranelift-frontend-0.108.1/.cargo-checksum.json +0 -1
  677. data/ext/cargo-vendor/cranelift-frontend-0.108.1/Cargo.toml +0 -67
  678. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/frontend.rs +0 -1854
  679. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/lib.rs +0 -189
  680. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/ssa.rs +0 -1328
  681. data/ext/cargo-vendor/cranelift-isle-0.108.1/.cargo-checksum.json +0 -1
  682. data/ext/cargo-vendor/cranelift-isle-0.108.1/Cargo.toml +0 -46
  683. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/sema.rs +0 -2492
  684. data/ext/cargo-vendor/cranelift-native-0.108.1/.cargo-checksum.json +0 -1
  685. data/ext/cargo-vendor/cranelift-native-0.108.1/Cargo.toml +0 -43
  686. data/ext/cargo-vendor/cranelift-native-0.108.1/src/lib.rs +0 -188
  687. data/ext/cargo-vendor/cranelift-native-0.108.1/src/riscv.rs +0 -128
  688. data/ext/cargo-vendor/cranelift-wasm-0.108.1/.cargo-checksum.json +0 -1
  689. data/ext/cargo-vendor/cranelift-wasm-0.108.1/Cargo.toml +0 -109
  690. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator.rs +0 -3687
  691. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/func_translator.rs +0 -296
  692. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/module_translator.rs +0 -128
  693. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/sections_translator.rs +0 -389
  694. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/state.rs +0 -522
  695. data/ext/cargo-vendor/object-0.33.0/.cargo-checksum.json +0 -1
  696. data/ext/cargo-vendor/object-0.33.0/CHANGELOG.md +0 -797
  697. data/ext/cargo-vendor/object-0.33.0/Cargo.toml +0 -179
  698. data/ext/cargo-vendor/object-0.33.0/README.md +0 -56
  699. data/ext/cargo-vendor/object-0.33.0/src/build/bytes.rs +0 -141
  700. data/ext/cargo-vendor/object-0.33.0/src/build/elf.rs +0 -3033
  701. data/ext/cargo-vendor/object-0.33.0/src/common.rs +0 -568
  702. data/ext/cargo-vendor/object-0.33.0/src/elf.rs +0 -6291
  703. data/ext/cargo-vendor/object-0.33.0/src/endian.rs +0 -831
  704. data/ext/cargo-vendor/object-0.33.0/src/macho.rs +0 -3309
  705. data/ext/cargo-vendor/object-0.33.0/src/pod.rs +0 -239
  706. data/ext/cargo-vendor/object-0.33.0/src/read/any.rs +0 -1328
  707. data/ext/cargo-vendor/object-0.33.0/src/read/archive.rs +0 -759
  708. data/ext/cargo-vendor/object-0.33.0/src/read/coff/comdat.rs +0 -211
  709. data/ext/cargo-vendor/object-0.33.0/src/read/coff/file.rs +0 -383
  710. data/ext/cargo-vendor/object-0.33.0/src/read/coff/relocation.rs +0 -108
  711. data/ext/cargo-vendor/object-0.33.0/src/read/coff/section.rs +0 -585
  712. data/ext/cargo-vendor/object-0.33.0/src/read/coff/symbol.rs +0 -635
  713. data/ext/cargo-vendor/object-0.33.0/src/read/elf/attributes.rs +0 -306
  714. data/ext/cargo-vendor/object-0.33.0/src/read/elf/comdat.rs +0 -162
  715. data/ext/cargo-vendor/object-0.33.0/src/read/elf/file.rs +0 -918
  716. data/ext/cargo-vendor/object-0.33.0/src/read/elf/hash.rs +0 -224
  717. data/ext/cargo-vendor/object-0.33.0/src/read/elf/note.rs +0 -271
  718. data/ext/cargo-vendor/object-0.33.0/src/read/elf/relocation.rs +0 -629
  719. data/ext/cargo-vendor/object-0.33.0/src/read/elf/section.rs +0 -1150
  720. data/ext/cargo-vendor/object-0.33.0/src/read/elf/segment.rs +0 -356
  721. data/ext/cargo-vendor/object-0.33.0/src/read/elf/symbol.rs +0 -595
  722. data/ext/cargo-vendor/object-0.33.0/src/read/elf/version.rs +0 -424
  723. data/ext/cargo-vendor/object-0.33.0/src/read/macho/dyld_cache.rs +0 -345
  724. data/ext/cargo-vendor/object-0.33.0/src/read/macho/file.rs +0 -783
  725. data/ext/cargo-vendor/object-0.33.0/src/read/macho/load_command.rs +0 -386
  726. data/ext/cargo-vendor/object-0.33.0/src/read/macho/section.rs +0 -389
  727. data/ext/cargo-vendor/object-0.33.0/src/read/macho/segment.rs +0 -303
  728. data/ext/cargo-vendor/object-0.33.0/src/read/macho/symbol.rs +0 -492
  729. data/ext/cargo-vendor/object-0.33.0/src/read/mod.rs +0 -880
  730. data/ext/cargo-vendor/object-0.33.0/src/read/pe/file.rs +0 -1053
  731. data/ext/cargo-vendor/object-0.33.0/src/read/pe/import.rs +0 -339
  732. data/ext/cargo-vendor/object-0.33.0/src/read/pe/relocation.rs +0 -92
  733. data/ext/cargo-vendor/object-0.33.0/src/read/pe/section.rs +0 -440
  734. data/ext/cargo-vendor/object-0.33.0/src/read/read_cache.rs +0 -213
  735. data/ext/cargo-vendor/object-0.33.0/src/read/traits.rs +0 -551
  736. data/ext/cargo-vendor/object-0.33.0/src/read/wasm.rs +0 -966
  737. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/file.rs +0 -697
  738. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/relocation.rs +0 -134
  739. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/section.rs +0 -433
  740. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/symbol.rs +0 -784
  741. data/ext/cargo-vendor/object-0.33.0/src/write/coff/object.rs +0 -678
  742. data/ext/cargo-vendor/object-0.33.0/src/write/coff/writer.rs +0 -518
  743. data/ext/cargo-vendor/object-0.33.0/src/write/elf/object.rs +0 -885
  744. data/ext/cargo-vendor/object-0.33.0/src/write/elf/writer.rs +0 -2309
  745. data/ext/cargo-vendor/object-0.33.0/src/write/macho.rs +0 -1107
  746. data/ext/cargo-vendor/object-0.33.0/src/write/mod.rs +0 -990
  747. data/ext/cargo-vendor/object-0.33.0/src/write/pe.rs +0 -847
  748. data/ext/cargo-vendor/object-0.33.0/src/write/xcoff.rs +0 -589
  749. data/ext/cargo-vendor/object-0.33.0/tests/integration.rs +0 -2
  750. data/ext/cargo-vendor/object-0.33.0/tests/read/mod.rs +0 -4
  751. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/bss.rs +0 -255
  752. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/comdat.rs +0 -225
  753. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/common.rs +0 -245
  754. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/elf.rs +0 -289
  755. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/mod.rs +0 -704
  756. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/section_flags.rs +0 -90
  757. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/tls.rs +0 -316
  758. data/ext/cargo-vendor/wasi-common-21.0.1/.cargo-checksum.json +0 -1
  759. data/ext/cargo-vendor/wasi-common-21.0.1/Cargo.toml +0 -223
  760. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_0.rs +0 -1145
  761. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_1.rs +0 -1497
  762. data/ext/cargo-vendor/wasi-common-21.0.1/src/string_array.rs +0 -74
  763. data/ext/cargo-vendor/wasi-common-21.0.1/src/sync/sched/windows.rs +0 -221
  764. data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/file.rs +0 -247
  765. data/ext/cargo-vendor/wasm-encoder-0.207.0/.cargo-checksum.json +0 -1
  766. data/ext/cargo-vendor/wasm-encoder-0.207.0/Cargo.toml +0 -45
  767. data/ext/cargo-vendor/wasm-encoder-0.207.0/README.md +0 -80
  768. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/aliases.rs +0 -160
  769. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/builder.rs +0 -455
  770. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/canonicals.rs +0 -159
  771. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/components.rs +0 -29
  772. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/exports.rs +0 -124
  773. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/imports.rs +0 -175
  774. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/instances.rs +0 -200
  775. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/modules.rs +0 -29
  776. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/names.rs +0 -149
  777. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/start.rs +0 -52
  778. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/types.rs +0 -792
  779. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component.rs +0 -168
  780. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/code.rs +0 -3502
  781. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/custom.rs +0 -73
  782. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/data.rs +0 -186
  783. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/dump.rs +0 -627
  784. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/elements.rs +0 -221
  785. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/exports.rs +0 -98
  786. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/functions.rs +0 -63
  787. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/globals.rs +0 -112
  788. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/imports.rs +0 -157
  789. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/linking.rs +0 -263
  790. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/memories.rs +0 -128
  791. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/names.rs +0 -298
  792. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/producers.rs +0 -180
  793. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/start.rs +0 -39
  794. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tables.rs +0 -134
  795. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tags.rs +0 -104
  796. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/types.rs +0 -678
  797. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core.rs +0 -168
  798. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/lib.rs +0 -215
  799. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/raw.rs +0 -30
  800. data/ext/cargo-vendor/wasmparser-0.207.0/.cargo-checksum.json +0 -1
  801. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.lock +0 -659
  802. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.toml +0 -95
  803. data/ext/cargo-vendor/wasmparser-0.207.0/src/binary_reader.rs +0 -1867
  804. data/ext/cargo-vendor/wasmparser-0.207.0/src/lib.rs +0 -805
  805. data/ext/cargo-vendor/wasmparser-0.207.0/src/limits.rs +0 -78
  806. data/ext/cargo-vendor/wasmparser-0.207.0/src/map.rs +0 -137
  807. data/ext/cargo-vendor/wasmparser-0.207.0/src/parser.rs +0 -1636
  808. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/imports.rs +0 -129
  809. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/instances.rs +0 -164
  810. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/names.rs +0 -102
  811. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/types.rs +0 -551
  812. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/branch_hinting.rs +0 -59
  813. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/code.rs +0 -146
  814. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/coredumps.rs +0 -244
  815. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/custom.rs +0 -64
  816. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/data.rs +0 -96
  817. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/elements.rs +0 -152
  818. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/globals.rs +0 -51
  819. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/init.rs +0 -51
  820. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/linking.rs +0 -450
  821. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/names.rs +0 -159
  822. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/operators.rs +0 -430
  823. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/producers.rs +0 -83
  824. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/reloc.rs +0 -301
  825. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types.rs +0 -1773
  826. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers.rs +0 -316
  827. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/component.rs +0 -3242
  828. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core/canonical.rs +0 -233
  829. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core.rs +0 -1450
  830. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/func.rs +0 -331
  831. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/names.rs +0 -947
  832. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/operators.rs +0 -4117
  833. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/types.rs +0 -4492
  834. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator.rs +0 -1786
  835. data/ext/cargo-vendor/wasmprinter-0.207.0/.cargo-checksum.json +0 -1
  836. data/ext/cargo-vendor/wasmprinter-0.207.0/Cargo.toml +0 -50
  837. data/ext/cargo-vendor/wasmprinter-0.207.0/src/lib.rs +0 -3226
  838. data/ext/cargo-vendor/wasmprinter-0.207.0/src/operator.rs +0 -1164
  839. data/ext/cargo-vendor/wasmtime-21.0.1/.cargo-checksum.json +0 -1
  840. data/ext/cargo-vendor/wasmtime-21.0.1/Cargo.toml +0 -386
  841. data/ext/cargo-vendor/wasmtime-21.0.1/build.rs +0 -37
  842. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/runtime.rs +0 -176
  843. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile.rs +0 -910
  844. data/ext/cargo-vendor/wasmtime-21.0.1/src/config.rs +0 -2904
  845. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine/serialization.rs +0 -887
  846. data/ext/cargo-vendor/wasmtime-21.0.1/src/lib.rs +0 -328
  847. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/jitdump.rs +0 -67
  848. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/perfmap.rs +0 -48
  849. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code.rs +0 -102
  850. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code_memory.rs +0 -337
  851. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/component.rs +0 -661
  852. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/typed.rs +0 -2498
  853. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func.rs +0 -746
  854. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/instance.rs +0 -814
  855. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/linker.rs +0 -783
  856. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/matching.rs +0 -217
  857. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/mod.rs +0 -783
  858. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resource_table.rs +0 -355
  859. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/types.rs +0 -892
  860. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/debug.rs +0 -166
  861. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/global.rs +0 -310
  862. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/table.rs +0 -477
  863. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func/typed.rs +0 -899
  864. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func.rs +0 -2627
  865. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/anyref.rs +0 -473
  866. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/externref.rs +0 -650
  867. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/i31.rs +0 -346
  868. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc.rs +0 -89
  869. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instance.rs +0 -992
  870. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instantiate.rs +0 -346
  871. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/linker.rs +0 -1506
  872. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module/registry.rs +0 -353
  873. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module.rs +0 -1295
  874. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/func_refs.rs +0 -90
  875. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store.rs +0 -2820
  876. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/func.rs +0 -139
  877. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/memory.rs +0 -287
  878. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/type_registry.rs +0 -807
  879. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types.rs +0 -2239
  880. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/v128.rs +0 -131
  881. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/values.rs +0 -966
  882. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/resources.rs +0 -352
  883. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component.rs +0 -860
  884. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/cow.rs +0 -893
  885. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/export.rs +0 -108
  886. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_ref.rs +0 -491
  887. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/on_demand.rs +0 -218
  888. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -93
  889. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -66
  890. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -705
  891. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -1000
  892. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -233
  893. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -245
  894. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling.rs +0 -656
  895. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator.rs +0 -798
  896. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance.rs +0 -1519
  897. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/memory.rs +0 -744
  898. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/capi.rs +0 -200
  899. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/vm.rs +0 -109
  900. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/vm.rs +0 -63
  901. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/mod.rs +0 -25
  902. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/signals.rs +0 -401
  903. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/vm.rs +0 -215
  904. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/vm.rs +0 -79
  905. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/table.rs +0 -847
  906. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers.rs +0 -768
  907. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -138
  908. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext.rs +0 -1337
  909. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm.rs +0 -287
  910. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime.rs +0 -110
  911. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/.cargo-checksum.json +0 -1
  912. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/Cargo.toml +0 -22
  913. data/ext/cargo-vendor/wasmtime-cache-21.0.1/.cargo-checksum.json +0 -1
  914. data/ext/cargo-vendor/wasmtime-cache-21.0.1/Cargo.toml +0 -88
  915. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/config.rs +0 -584
  916. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/lib.rs +0 -235
  917. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/tests.rs +0 -91
  918. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker/tests.rs +0 -758
  919. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker.rs +0 -890
  920. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/.cargo-checksum.json +0 -1
  921. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/Cargo.toml +0 -79
  922. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/bindgen.rs +0 -436
  923. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/component.rs +0 -1295
  924. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen.rs +0 -576
  925. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/.cargo-checksum.json +0 -1
  926. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/Cargo.toml +0 -25
  927. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/.cargo-checksum.json +0 -1
  928. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/Cargo.toml +0 -114
  929. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler/component.rs +0 -968
  930. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler.rs +0 -1383
  931. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/address_transform.rs +0 -783
  932. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/mod.rs +0 -256
  933. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/simulate.rs +0 -411
  934. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/unit.rs +0 -529
  935. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/utils.rs +0 -186
  936. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/write_debuginfo.rs +0 -196
  937. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/func_environ.rs +0 -2888
  938. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc/enabled.rs +0 -648
  939. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/lib.rs +0 -511
  940. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/obj.rs +0 -545
  941. data/ext/cargo-vendor/wasmtime-environ-21.0.1/.cargo-checksum.json +0 -1
  942. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.lock +0 -772
  943. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.toml +0 -154
  944. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/address_map.rs +0 -73
  945. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/mod.rs +0 -419
  946. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_artifacts.rs +0 -315
  947. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_environ.rs +0 -1337
  948. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_types.rs +0 -362
  949. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/artifacts.rs +0 -72
  950. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/info.rs +0 -672
  951. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/adapt.rs +0 -455
  952. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate.rs +0 -978
  953. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types.rs +0 -1029
  954. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder/resources.rs +0 -233
  955. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder.rs +0 -997
  956. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/trampoline.rs +0 -3234
  957. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/transcode.rs +0 -90
  958. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact.rs +0 -714
  959. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/lib.rs +0 -161
  960. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module.rs +0 -697
  961. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_artifacts.rs +0 -146
  962. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_types.rs +0 -91
  963. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/ref_bits.rs +0 -36
  964. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/tunables.rs +0 -168
  965. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/vmoffsets.rs +0 -1015
  966. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/.cargo-checksum.json +0 -1
  967. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/Cargo.toml +0 -64
  968. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/build.rs +0 -38
  969. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/lib.rs +0 -328
  970. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/unix.rs +0 -490
  971. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/windows.rs +0 -166
  972. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/.cargo-checksum.json +0 -1
  973. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/Cargo.toml +0 -67
  974. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/gdb_jit_int.rs +0 -130
  975. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/perf_jitdump.rs +0 -293
  976. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/.cargo-checksum.json +0 -1
  977. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/Cargo.toml +0 -51
  978. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/libc.rs +0 -163
  979. data/ext/cargo-vendor/wasmtime-slab-21.0.1/.cargo-checksum.json +0 -1
  980. data/ext/cargo-vendor/wasmtime-slab-21.0.1/Cargo.toml +0 -21
  981. data/ext/cargo-vendor/wasmtime-slab-21.0.1/src/lib.rs +0 -498
  982. data/ext/cargo-vendor/wasmtime-types-21.0.1/.cargo-checksum.json +0 -1
  983. data/ext/cargo-vendor/wasmtime-types-21.0.1/Cargo.toml +0 -55
  984. data/ext/cargo-vendor/wasmtime-types-21.0.1/src/lib.rs +0 -1572
  985. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/.cargo-checksum.json +0 -1
  986. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/Cargo.toml +0 -32
  987. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/.cargo-checksum.json +0 -1
  988. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/Cargo.toml +0 -200
  989. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/bindings.rs +0 -280
  990. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ctx.rs +0 -667
  991. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/filesystem.rs +0 -446
  992. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/clocks.rs +0 -103
  993. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/env.rs +0 -15
  994. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/exit.rs +0 -11
  995. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem/sync.rs +0 -518
  996. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem.rs +0 -1079
  997. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/instance_network.rs +0 -15
  998. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/io.rs +0 -367
  999. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/network.rs +0 -539
  1000. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/random.rs +0 -36
  1001. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp.rs +0 -306
  1002. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp_create_socket.rs +0 -15
  1003. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp.rs +0 -532
  1004. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp_create_socket.rs +0 -15
  1005. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ip_name_lookup.rs +0 -126
  1006. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/lib.rs +0 -426
  1007. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/network.rs +0 -107
  1008. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/pipe.rs +0 -826
  1009. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/poll.rs +0 -233
  1010. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview0.rs +0 -877
  1011. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview1.rs +0 -2660
  1012. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/stdio.rs +0 -507
  1013. data/ext/cargo-vendor/wasmtime-winch-21.0.1/.cargo-checksum.json +0 -1
  1014. data/ext/cargo-vendor/wasmtime-winch-21.0.1/Cargo.toml +0 -81
  1015. data/ext/cargo-vendor/wasmtime-winch-21.0.1/src/compiler.rs +0 -261
  1016. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/.cargo-checksum.json +0 -1
  1017. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/Cargo.toml +0 -46
  1018. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/lib.rs +0 -2541
  1019. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/rust.rs +0 -421
  1020. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/types.rs +0 -202
  1021. data/ext/cargo-vendor/wiggle-21.0.1/.cargo-checksum.json +0 -1
  1022. data/ext/cargo-vendor/wiggle-21.0.1/Cargo.toml +0 -123
  1023. data/ext/cargo-vendor/wiggle-21.0.1/src/borrow.rs +0 -113
  1024. data/ext/cargo-vendor/wiggle-21.0.1/src/guest_type.rs +0 -237
  1025. data/ext/cargo-vendor/wiggle-21.0.1/src/lib.rs +0 -1184
  1026. data/ext/cargo-vendor/wiggle-21.0.1/src/wasmtime.rs +0 -97
  1027. data/ext/cargo-vendor/wiggle-generate-21.0.1/.cargo-checksum.json +0 -1
  1028. data/ext/cargo-vendor/wiggle-generate-21.0.1/Cargo.toml +0 -66
  1029. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/funcs.rs +0 -435
  1030. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/module_trait.rs +0 -102
  1031. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/names.rs +0 -303
  1032. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/flags.rs +0 -92
  1033. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/handle.rs +0 -84
  1034. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/mod.rs +0 -129
  1035. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/record.rs +0 -132
  1036. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/variant.rs +0 -191
  1037. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/wasmtime.rs +0 -170
  1038. data/ext/cargo-vendor/wiggle-macro-21.0.1/.cargo-checksum.json +0 -1
  1039. data/ext/cargo-vendor/wiggle-macro-21.0.1/Cargo.toml +0 -55
  1040. data/ext/cargo-vendor/wiggle-macro-21.0.1/LICENSE +0 -220
  1041. data/ext/cargo-vendor/wiggle-macro-21.0.1/src/lib.rs +0 -210
  1042. data/ext/cargo-vendor/winch-codegen-0.19.1/.cargo-checksum.json +0 -1
  1043. data/ext/cargo-vendor/winch-codegen-0.19.1/Cargo.toml +0 -76
  1044. data/ext/cargo-vendor/winch-codegen-0.19.1/src/abi/mod.rs +0 -671
  1045. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/context.rs +0 -534
  1046. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/control.rs +0 -972
  1047. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/env.rs +0 -440
  1048. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/mod.rs +0 -882
  1049. data/ext/cargo-vendor/winch-codegen-0.19.1/src/frame/mod.rs +0 -258
  1050. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/asm.rs +0 -380
  1051. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/masm.rs +0 -566
  1052. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/regs.rs +0 -161
  1053. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/asm.rs +0 -1423
  1054. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/masm.rs +0 -1120
  1055. data/ext/cargo-vendor/winch-codegen-0.19.1/src/masm.rs +0 -941
  1056. data/ext/cargo-vendor/winch-codegen-0.19.1/src/regalloc.rs +0 -65
  1057. data/ext/cargo-vendor/winch-codegen-0.19.1/src/stack.rs +0 -439
  1058. data/ext/cargo-vendor/winch-codegen-0.19.1/src/visitor.rs +0 -2144
  1059. data/ext/cargo-vendor/wit-parser-0.207.0/.cargo-checksum.json +0 -1
  1060. data/ext/cargo-vendor/wit-parser-0.207.0/Cargo.toml +0 -109
  1061. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/resolve.rs +0 -1442
  1062. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast.rs +0 -1348
  1063. data/ext/cargo-vendor/wit-parser-0.207.0/src/decoding.rs +0 -1764
  1064. data/ext/cargo-vendor/wit-parser-0.207.0/src/docs.rs +0 -389
  1065. data/ext/cargo-vendor/wit-parser-0.207.0/src/lib.rs +0 -777
  1066. data/ext/cargo-vendor/wit-parser-0.207.0/src/live.rs +0 -126
  1067. data/ext/cargo-vendor/wit-parser-0.207.0/src/resolve.rs +0 -2337
  1068. data/ext/cargo-vendor/wit-parser-0.207.0/src/serde_.rs +0 -108
  1069. data/ext/cargo-vendor/wit-parser-0.207.0/tests/all.rs +0 -153
  1070. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/complex-include.wit.json +0 -168
  1071. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/diamond1.wit.json +0 -55
  1072. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/disambiguate-diamond.wit.json +0 -107
  1073. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps-union.wit.json +0 -380
  1074. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps.wit.json +0 -344
  1075. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/ignore-files-deps.wit.json +0 -39
  1076. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/import-export-overlap2.wit.json +0 -41
  1077. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/include-reps.wit.json +0 -60
  1078. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/kinds-of-deps.wit.json +0 -87
  1079. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/many-names.wit.json +0 -40
  1080. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/multi-file.wit.json +0 -298
  1081. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -9
  1082. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -9
  1083. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -5
  1084. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -5
  1085. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit.result +0 -5
  1086. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit.result +0 -5
  1087. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit.result +0 -5
  1088. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit.result +0 -5
  1089. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8.wit.result +0 -8
  1090. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/shared-types.wit.json +0 -83
  1091. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/stress-export-elaborate.wit.json +0 -1136
  1092. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-diamond.wit.json +0 -118
  1093. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-iface-no-collide.wit.json +0 -66
  1094. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import1.wit.json +0 -75
  1095. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import2.wit.json +0 -70
  1096. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import3.wit.json +0 -71
  1097. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-same-fields4.wit.json +0 -76
  1098. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit.json +0 -231
  1099. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-union-dedup.wit.json +0 -100
  1100. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-with-types.wit.json +0 -202
  1101. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/LICENSE +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/README.md +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/lib.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/map.rs +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/node.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/path.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/pool.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/set.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/LICENSE +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/README.md +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/benches/x64-evex-encoding.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/build.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/alias_analysis.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/binemit/mod.rs +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/binemit/stack_map.rs +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/bitset.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/cfg_printer.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/constant_hash.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ctxhash.rs +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/cursor.rs +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/data_value.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/dbg.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/egraph/cost.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/egraph/elaborate.rs +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/flowgraph.rs +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/incremental_cache.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/atomic_rmw_op.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/builder.rs +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/condcodes.rs +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/constant.rs +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/dynamic_type.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/entities.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/extname.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/function.rs +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/globalvalue.rs +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/instructions.rs +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/jumptable.rs +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/known_symbol.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/layout.rs +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/libcall.rs +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/memflags.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/memtype.rs +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/mod.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/pcc.rs +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/progpoint.rs +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/sourceloc.rs +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/trapcode.rs +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst/unwind.rs +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst_neon.isle +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle.rs +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.isle +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.rs +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/mod.rs +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/settings.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/call_conv.rs +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/mod.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/regs.rs +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/unwind.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower.rs +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/settings.rs +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/inst/unwind.rs +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle.rs +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower.rs +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/mod.rs +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/settings.rs +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind/systemv.rs +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind/winx64.rs +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind.rs +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/evex.rs +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/mod.rs +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/rex.rs +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/vex.rs +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind.rs +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle.rs +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower.rs +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/mod.rs +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/settings.rs +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/iterators.rs +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/legalizer/globalvalue.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/legalizer/mod.rs +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/loop_analysis.rs +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/compile.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/helpers.rs +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/inst_common.rs +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/pcc.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/nan_canonicalization.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/README.md +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/arithmetic.isle +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/bitops.isle +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/extends.isle +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/generated_code.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/icmp.isle +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/remat.isle +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/selects.isle +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/spaceship.isle +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/spectre.isle +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/vector.isle +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/prelude_opt.isle +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/print_errors.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ranges.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/remove_constant_phis.rs +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/result.rs +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/scoped_hash_map.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/settings.rs +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/souper_harvest.rs +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/unionfind.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/unreachable_code.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/value_label.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/LICENSE +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/README.md +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/formats.rs +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/instructions.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/isa.rs +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/mod.rs +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/operands.rs +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/settings.rs +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/typevar.rs +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/constant_hash.rs +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/error.rs +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_inst.rs +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_isle.rs +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_settings.rs +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_types.rs +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/arm64.rs +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/mod.rs +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/s390x.rs +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/x86.rs +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isle.rs +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/lib.rs +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/entities.rs +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/formats.rs +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/immediates.rs +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/instructions.rs +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/mod.rs +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/settings.rs +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/types.rs +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/srcgen.rs +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/unique_table.rs +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/LICENSE +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/README.md +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/src/constant_hash.rs +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/src/lib.rs +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/LICENSE +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/README.md +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/chaos.rs +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/lib.rs +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/zero_sized.rs +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/LICENSE +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/README.md +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/boxed_slice.rs +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/iter.rs +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/keys.rs +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/lib.rs +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/list.rs +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/map.rs +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/packed_option.rs +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/primary.rs +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/sparse.rs +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/unsigned.rs +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/LICENSE +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/README.md +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/src/switch.rs +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/src/variable.rs +0 -0
  1271. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/README.md +0 -0
  1272. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/build.rs +0 -0
  1273. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/bad_converters.isle +0 -0
  1274. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1275. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1276. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/error1.isle +0 -0
  1277. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/extra_parens.isle +0 -0
  1278. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/impure_expression.isle +0 -0
  1279. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/impure_rhs.isle +0 -0
  1280. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1281. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/multi_prio.isle +0 -0
  1282. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/borrows.isle +0 -0
  1283. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/borrows_main.rs +0 -0
  1284. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/iflets.isle +0 -0
  1285. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/iflets_main.rs +0 -0
  1286. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor.isle +0 -0
  1287. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor_main.rs +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor.isle +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor_main.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/test.isle +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/test_main.rs +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/bound_var.isle +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/construct_and_extract.isle +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/conversions.isle +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/conversions_extern.isle +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/let.isle +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/nodebug.isle +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test2.isle +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test3.isle +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test4.isle +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/tutorial.isle +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/iconst.isle +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/iconst_main.rs +0 -0
  1305. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing.isle +0 -0
  1306. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing_main.rs +0 -0
  1307. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/ast.rs +0 -0
  1308. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/codegen.rs +0 -0
  1309. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/compile.rs +0 -0
  1310. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/disjointsets.rs +0 -0
  1311. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/error.rs +0 -0
  1312. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/lexer.rs +0 -0
  1313. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/lib.rs +0 -0
  1314. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/log.rs +0 -0
  1315. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/overlap.rs +0 -0
  1316. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/parser.rs +0 -0
  1317. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/serialize.rs +0 -0
  1318. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/stablemapset.rs +0 -0
  1319. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/trie_again.rs +0 -0
  1320. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/tests/run_tests.rs +0 -0
  1321. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.109.0}/LICENSE +0 -0
  1322. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.109.0}/README.md +0 -0
  1323. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/LICENSE +0 -0
  1324. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/README.md +0 -0
  1325. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/code_translator/bounds_checks.rs +0 -0
  1326. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/dummy.rs +0 -0
  1327. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/mod.rs +0 -0
  1328. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/spec.rs +0 -0
  1329. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/heap.rs +0 -0
  1330. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/lib.rs +0 -0
  1331. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/table.rs +0 -0
  1332. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/translation_utils.rs +0 -0
  1333. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-APACHE +0 -0
  1334. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-MIT +0 -0
  1335. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/archive.rs +0 -0
  1336. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/error.rs +0 -0
  1337. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/mod.rs +0 -0
  1338. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/table.rs +0 -0
  1339. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/lib.rs +0 -0
  1340. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/pe.rs +0 -0
  1341. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/import.rs +0 -0
  1342. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/mod.rs +0 -0
  1343. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/compression.rs +0 -0
  1344. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/dynamic.rs +0 -0
  1345. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/mod.rs +0 -0
  1346. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/fat.rs +0 -0
  1347. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/mod.rs +0 -0
  1348. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/relocation.rs +0 -0
  1349. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/data_directory.rs +0 -0
  1350. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/export.rs +0 -0
  1351. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/mod.rs +0 -0
  1352. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/resource.rs +0 -0
  1353. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/rich.rs +0 -0
  1354. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/read_ref.rs +0 -0
  1355. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/util.rs +0 -0
  1356. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/comdat.rs +0 -0
  1357. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/mod.rs +0 -0
  1358. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/segment.rs +0 -0
  1359. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/coff/mod.rs +0 -0
  1360. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/elf/mod.rs +0 -0
  1361. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/string.rs +0 -0
  1362. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/util.rs +0 -0
  1363. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/xcoff.rs +0 -0
  1364. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/parse_self.rs +0 -0
  1365. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/coff.rs +0 -0
  1366. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/elf.rs +0 -0
  1367. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/coff.rs +0 -0
  1368. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/macho.rs +0 -0
  1369. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/LICENSE +0 -0
  1370. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/README.md +0 -0
  1371. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/clocks.rs +0 -0
  1372. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/ctx.rs +0 -0
  1373. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/dir.rs +0 -0
  1374. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/error.rs +0 -0
  1375. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/file.rs +0 -0
  1376. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/lib.rs +0 -0
  1377. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/pipe.rs +0 -0
  1378. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/random.rs +0 -0
  1379. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sched/subscription.rs +0 -0
  1380. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sched.rs +0 -0
  1381. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/snapshots/mod.rs +0 -0
  1382. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/snapshots/preview_1/error.rs +0 -0
  1383. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/clocks.rs +0 -0
  1384. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/dir.rs +0 -0
  1385. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/file.rs +0 -0
  1386. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/mod.rs +0 -0
  1387. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/net.rs +0 -0
  1388. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/sched/unix.rs +0 -0
  1389. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/sched.rs +0 -0
  1390. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/stdio.rs +0 -0
  1391. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/table.rs +0 -0
  1392. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/dir.rs +0 -0
  1393. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/mod.rs +0 -0
  1394. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/net.rs +0 -0
  1395. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched/unix.rs +0 -0
  1396. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched/windows.rs +0 -0
  1397. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched.rs +0 -0
  1398. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/stdio.rs +0 -0
  1399. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/async_.rs +0 -0
  1400. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/main.rs +0 -0
  1401. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/sync.rs +0 -0
  1402. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview0/typenames.witx +0 -0
  1403. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1404. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview1/typenames.witx +0 -0
  1405. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1406. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/README.md +0 -0
  1407. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/benches/benchmark.rs +0 -0
  1408. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/examples/simple.rs +0 -0
  1409. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/aliases.rs +0 -0
  1410. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/canonicals.rs +0 -0
  1411. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/exports.rs +0 -0
  1412. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/start.rs +0 -0
  1413. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component.rs +0 -0
  1414. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/dylink0.rs +0 -0
  1415. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/exports.rs +0 -0
  1416. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/functions.rs +0 -0
  1417. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/imports.rs +0 -0
  1418. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/memories.rs +0 -0
  1419. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/tables.rs +0 -0
  1420. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/tags.rs +0 -0
  1421. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/types/matches.rs +0 -0
  1422. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core.rs +0 -0
  1423. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/resources.rs +0 -0
  1424. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/tests/big-module.rs +0 -0
  1425. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasmprinter-0.209.1}/LICENSE +0 -0
  1426. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.209.1}/README.md +0 -0
  1427. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.209.1}/tests/all.rs +0 -0
  1428. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmtime-22.0.0}/LICENSE +0 -0
  1429. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/README.md +0 -0
  1430. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1431. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/compile/code_builder.rs +0 -0
  1432. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/engine.rs +0 -0
  1433. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/profiling_agent/vtune.rs +0 -0
  1434. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/profiling_agent.rs +0 -0
  1435. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/func/host.rs +0 -0
  1436. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/func/options.rs +0 -0
  1437. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/resources.rs +0 -0
  1438. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/storage.rs +0 -0
  1439. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/store.rs +0 -0
  1440. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/values.rs +0 -0
  1441. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/coredump.rs +0 -0
  1442. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/externals.rs +0 -0
  1443. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/anyref.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/externref.rs +0 -0
  1445. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/i31.rs +0 -0
  1446. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/rooting.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/enabled/rooting.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/enabled.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/limits.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/memory.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/profiling.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/resources.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/signatures.rs +0 -0
  1455. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/stack.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/store/context.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/store/data.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline/global.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline/table.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trap.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/types/matching.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/uninhabited.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/unix.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/aarch64.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/mod.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/riscv64.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/s390x.S +0 -0
  1469. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/s390x.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/x86_64.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/async_yield.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/component/libcalls.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/const_expr.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/debug_builtins.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/disabled.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/drc.rs +0 -0
  1477. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1478. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  1479. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled.rs +0 -0
  1480. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/gc_runtime.rs +0 -0
  1481. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/host_data.rs +0 -0
  1482. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/i31.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/helpers.c +0 -0
  1485. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/imports.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/libcalls.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mmap.rs +0 -0
  1488. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mmap_vec.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/module_id.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/disabled.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/enabled.rs +0 -0
  1492. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/mod.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/pkru.rs +0 -0
  1494. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/sys.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/store_box.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/mmap.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/mod.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/unwind.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/mmap.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1503. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/unwind.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1506. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1507. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/mmap.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/unwind.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/mmap.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/unwind.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/mod.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/parking_spot.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/shared_memory.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/shared_memory_disabled.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/windows.rs +0 -0
  1522. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/sync_nostd.rs +0 -0
  1523. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/sync_std.rs +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-asm-macros-21.0.1 → wasmtime-asm-macros-22.0.0}/src/lib.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-cache-22.0.0}/LICENSE +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/build.rs +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/src/config/tests.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/tests/cache_write_default_config.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/build.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/src/lib.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/char.wit +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/conventions.wit +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/dead-code.wit +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/direct-import.wit +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/empty.wit +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/flags.wit +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/floats.wit +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/function-new.wit +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/integers.wit +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/lists.wit +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/many-arguments.wit +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multi-return.wit +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/root.wit +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/records.wit +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/rename.wit +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-export.wit +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-import.wit +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/share-types.wit +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-functions.wit +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-lists.wit +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-wasi.wit +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/small-anonymous.wit +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-default.wit +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-export.wit +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke.wit +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/strings.wit +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/unversioned-foo.wit +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/use-paths.wit +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/variants.wit +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/wat.wit +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/worlds-with-types.wit +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen_no_std.rs +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-component-util-21.0.1 → wasmtime-component-util-22.0.0}/src/lib.rs +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cranelift-22.0.0}/LICENSE +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/SECURITY.md +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/builder.rs +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/compiled_function.rs +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/gc.rs +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/attr.rs +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/expression.rs +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/line_program.rs +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/refs.rs +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug.rs +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/gc/disabled.rs +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/gc.rs +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/isa_builder.rs +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-environ-22.0.0}/LICENSE +0 -0
  1582. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/examples/factc.rs +0 -0
  1583. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/address_map.rs +0 -0
  1584. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/builtin.rs +0 -0
  1585. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/compile/trap_encoding.rs +0 -0
  1586. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/compiler.rs +0 -0
  1587. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/dfg.rs +0 -0
  1588. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/translate/inline.rs +0 -0
  1589. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  1590. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component.rs +0 -0
  1591. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/demangling.rs +0 -0
  1592. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/core_types.rs +0 -0
  1593. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/signature.rs +0 -0
  1594. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/traps.rs +0 -0
  1595. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/gc.rs +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/obj.rs +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/scopevec.rs +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/stack_map.rs +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/trap_encoding.rs +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-fiber-22.0.0}/LICENSE +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/aarch64.rs +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/arm.rs +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/riscv64.rs +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/s390x.S +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/x86.rs +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/x86_64.rs +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/windows.c +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-22.0.0}/README.md +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-22.0.0}/src/lib.rs +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/lib.rs +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/miri.rs +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/win.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-types-22.0.0}/LICENSE +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-types-22.0.0}/src/error.rs +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-21.0.1 → wasmtime-versioned-export-macros-22.0.0}/src/lib.rs +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-wasi-22.0.0}/LICENSE +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/README.md +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/clocks/host.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/clocks.rs +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/error.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/host/mod.rs +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/random.rs +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/runtime.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/stdio/worker_thread_stdin.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/stream.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/tcp.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/udp.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/write_stream.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/api.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/async_.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/main.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/preview1.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/sync.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/process_stdin.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/command-extended.wit +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/command.wit +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/environment.wit +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/exit.wit +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/imports.wit +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/run.wit +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/stdio.wit +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/terminal.wit +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/wall-clock.wit +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/world.wit +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/preopens.wit +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/types.wit +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/world.wit +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/handler.wit +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/proxy.wit +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/types.wit +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/error.wit +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/poll.wit +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/streams.wit +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/world.wit +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure-seed.wit +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure.wit +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/random.wit +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/world.wit +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/instance-network.wit +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/network.wit +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp.wit +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp.wit +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/world.wit +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/test.wit +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview0/typenames.witx +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview1/typenames.witx +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/LICENSE +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/src/builder.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/src/lib.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-21.0.1 → wasmtime-wit-bindgen-22.0.0}/src/source.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wiggle-22.0.0}/LICENSE +0 -0
  1678. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/README.md +0 -0
  1679. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/src/error.rs +0 -0
  1680. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/src/region.rs +0 -0
  1681. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-generate-22.0.0}/LICENSE +0 -0
  1682. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/README.md +0 -0
  1683. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/codegen_settings.rs +0 -0
  1684. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/config.rs +0 -0
  1685. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/lib.rs +0 -0
  1686. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/lifetimes.rs +0 -0
  1687. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/types/error.rs +0 -0
  1688. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-macro-22.0.0}/LICENSE +0 -0
  1689. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/LICENSE +0 -0
  1690. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/build.rs +0 -0
  1691. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/abi/local.rs +0 -0
  1692. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/bounds.rs +0 -0
  1693. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/builtin.rs +0 -0
  1694. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/call.rs +0 -0
  1695. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/abi.rs +0 -0
  1696. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/address.rs +0 -0
  1697. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/mod.rs +0 -0
  1698. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/mod.rs +0 -0
  1699. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/reg.rs +0 -0
  1700. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/abi.rs +0 -0
  1701. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/address.rs +0 -0
  1702. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/mod.rs +0 -0
  1703. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/regs.rs +0 -0
  1704. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/lib.rs +0 -0
  1705. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/regset.rs +0 -0
  1706. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/README.md +0 -0
  1707. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/abi.rs +0 -0
  1708. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/ast/lex.rs +0 -0
  1709. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/ast/toposort.rs +0 -0
  1710. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/sizealign.rs +0 -0
  1711. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/comments.wit +0 -0
  1712. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/comments.wit.json +0 -0
  1713. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  1714. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  1715. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/root.wit +0 -0
  1716. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  1717. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/foo.wit +0 -0
  1718. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource.wit.json +0 -0
  1719. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  1720. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  1721. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/join.wit +0 -0
  1722. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  1723. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  1724. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/world.wit +0 -0
  1725. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/empty.wit +0 -0
  1726. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/empty.wit.json +0 -0
  1727. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  1728. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  1729. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  1730. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  1731. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  1732. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  1733. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  1734. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/root.wit +0 -0
  1735. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  1736. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  1737. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  1738. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  1739. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  1740. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  1741. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  1742. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  1743. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/root.wit +0 -0
  1744. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/functions.wit +0 -0
  1745. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/functions.wit.json +0 -0
  1746. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  1747. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  1748. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/world.wit +0 -0
  1749. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit +0 -0
  1750. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit.json +0 -0
  1751. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap2.wit +0 -0
  1752. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/include-reps.wit +0 -0
  1753. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit +0 -0
  1754. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit.json +0 -0
  1755. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/a.wit +0 -0
  1756. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  1757. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  1758. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  1759. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  1760. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/many-names/a.wit +0 -0
  1761. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/many-names/b.wit +0 -0
  1762. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/bar.wit +0 -0
  1763. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-a.wit +0 -0
  1764. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-b.wit +0 -0
  1765. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/foo.wit +0 -0
  1766. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  1767. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  1768. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  1769. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit +0 -0
  1770. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit.json +0 -0
  1771. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit +0 -0
  1772. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit.json +0 -0
  1773. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit +0 -0
  1774. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit.json +0 -0
  1775. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1776. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  1777. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async.wit.result +0 -0
  1778. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async1.wit.result +0 -0
  1779. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit +0 -0
  1780. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  1781. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit +0 -0
  1782. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  1783. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit +0 -0
  1784. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  1785. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit +0 -0
  1786. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  1787. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit +0 -0
  1788. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  1789. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit +0 -0
  1790. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1791. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  1792. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  1793. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  1794. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  1795. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  1796. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  1797. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  1798. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  1799. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  1800. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  1801. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  1802. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  1803. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  1804. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  1805. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  1806. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  1807. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  1808. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  1809. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  1810. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  1811. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  1812. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  1813. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  1814. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  1815. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  1816. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  1817. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  1818. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  1819. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  1820. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  1821. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  1822. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  1823. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  1824. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  1825. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  1826. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  1827. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  1828. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  1829. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  1830. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  1831. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  1832. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  1833. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  1834. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  1835. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  1836. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  1837. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  1838. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  1839. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  1840. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  1841. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  1842. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  1843. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit +0 -0
  1844. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit.result +0 -0
  1845. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit +0 -0
  1846. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  1847. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit +0 -0
  1848. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  1849. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit +0 -0
  1850. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  1851. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit +0 -0
  1852. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  1853. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1854. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1855. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  1856. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  1857. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  1858. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  1859. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  1860. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  1861. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  1862. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  1863. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  1864. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  1865. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  1866. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit +0 -0
  1867. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  1868. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  1869. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  1870. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit +0 -0
  1871. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  1872. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  1873. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  1874. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  1875. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  1876. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  1877. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  1878. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  1879. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  1880. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  1881. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  1882. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit +0 -0
  1883. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  1884. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit +0 -0
  1885. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  1886. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  1887. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  1888. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  1889. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit +0 -0
  1890. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  1891. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  1892. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  1893. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1894. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1895. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  1896. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  1897. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  1898. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  1899. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  1900. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  1901. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  1902. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  1903. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit +0 -0
  1904. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit.result +0 -0
  1905. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit +0 -0
  1906. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  1907. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  1908. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  1909. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  1910. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  1911. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  1912. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  1913. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  1914. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  1916. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  1917. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  1934. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
  1935. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  1936. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  1937. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  1938. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  1939. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  1940. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  1941. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  1942. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  1943. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  1944. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  1945. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  1946. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  1947. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  1948. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  1949. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  1950. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  1951. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  1952. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  1953. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  1954. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  1955. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  1956. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  1957. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  1958. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  1959. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  1960. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  1961. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  1962. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  1963. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  1964. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  1965. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  1966. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  1967. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  1968. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  1969. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  1970. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit +0 -0
  1971. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  1972. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  1973. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  1974. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  1975. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  1976. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  1977. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  1978. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  1979. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  1980. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  1981. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  1982. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  1983. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/root.wit +0 -0
  1984. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world.wit.result +0 -0
  1985. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  1986. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  1987. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  1988. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  1989. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  1990. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  1991. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  1992. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  1993. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  1994. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  1995. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/random.wit +0 -0
  1996. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/random.wit.json +0 -0
  1997. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit +0 -0
  1998. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit.json +0 -0
  1999. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2000. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2001. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit +0 -0
  2002. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit.json +0 -0
  2003. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit +0 -0
  2004. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit.json +0 -0
  2005. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources.wit +0 -0
  2006. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources.wit.json +0 -0
  2007. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources1.wit +0 -0
  2008. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources1.wit.json +0 -0
  2009. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit +0 -0
  2010. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit.json +0 -0
  2011. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/shared-types.wit +0 -0
  2012. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wat +0 -0
  2013. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wit.json +0 -0
  2014. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/stress-export-elaborate.wit +0 -0
  2015. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit +0 -0
  2016. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit.json +0 -0
  2017. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/types.wit +0 -0
  2018. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/types.wit.json +0 -0
  2019. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit +0 -0
  2020. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit.json +0 -0
  2021. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit +0 -0
  2022. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit.json +0 -0
  2023. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit +0 -0
  2024. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit.json +0 -0
  2025. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use.wit +0 -0
  2026. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use.wit.json +0 -0
  2027. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2028. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2029. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/foo.wit +0 -0
  2030. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions.wit.json +0 -0
  2031. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/wasi.wit +0 -0
  2032. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/wasi.wit.json +0 -0
  2033. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-diamond.wit +0 -0
  2034. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-iface-no-collide.wit +0 -0
  2035. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import1.wit +0 -0
  2036. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import2.wit +0 -0
  2037. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import3.wit +0 -0
  2038. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-same-fields4.wit +0 -0
  2039. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit +0 -0
  2040. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2041. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-resources.wit +0 -0
  2042. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/worlds-union-dedup.wit +0 -0
  2043. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/worlds-with-types.wit +0 -0
@@ -1,3242 +0,0 @@
1
- //! State relating to validating a WebAssembly component.
2
-
3
- use super::{
4
- check_max,
5
- core::Module,
6
- types::{
7
- AliasableResourceId, ComponentCoreInstanceTypeId, ComponentDefinedTypeId,
8
- ComponentFuncType, ComponentFuncTypeId, ComponentInstanceType, ComponentInstanceTypeId,
9
- ComponentType, ComponentTypeId, ComponentValType, CoreTypeId, EntityType, InstanceType,
10
- ModuleType, RecordType, Remapping, ResourceId, TypeAlloc, TypeList, VariantCase,
11
- },
12
- };
13
- use crate::prelude::*;
14
- use crate::validator::names::{ComponentName, ComponentNameKind, KebabStr, KebabString};
15
- use crate::{
16
- limits::*,
17
- types::{
18
- ComponentAnyTypeId, ComponentCoreModuleTypeId, ComponentCoreTypeId, ComponentDefinedType,
19
- ComponentEntityType, Context, CoreInstanceTypeKind, LoweringInfo, Remap, SubtypeCx,
20
- TupleType, TypeInfo, VariantType,
21
- },
22
- BinaryReaderError, CanonicalOption, ComponentExportName, ComponentExternalKind,
23
- ComponentOuterAliasKind, ComponentTypeRef, CompositeType, ExternalKind, FuncType, GlobalType,
24
- InstantiationArgKind, MemoryType, RecGroup, Result, SubType, TableType, TypeBounds, ValType,
25
- WasmFeatures,
26
- };
27
- use core::mem;
28
- use indexmap::map::Entry;
29
-
30
- fn to_kebab_str<'a>(s: &'a str, desc: &str, offset: usize) -> Result<&'a KebabStr> {
31
- match KebabStr::new(s) {
32
- Some(s) => Ok(s),
33
- None => {
34
- if s.is_empty() {
35
- bail!(offset, "{desc} name cannot be empty");
36
- }
37
-
38
- bail!(offset, "{desc} name `{s}` is not in kebab case");
39
- }
40
- }
41
- }
42
-
43
- pub(crate) struct ComponentState {
44
- /// Whether this state is a concrete component, an instance type, or a
45
- /// component type.
46
- kind: ComponentKind,
47
-
48
- // Core index spaces
49
- pub core_types: Vec<ComponentCoreTypeId>,
50
- pub core_funcs: Vec<CoreTypeId>,
51
- pub core_tags: Vec<CoreTypeId>,
52
- pub core_modules: Vec<ComponentCoreModuleTypeId>,
53
- pub core_instances: Vec<ComponentCoreInstanceTypeId>,
54
- pub core_memories: Vec<MemoryType>,
55
- pub core_tables: Vec<TableType>,
56
- pub core_globals: Vec<GlobalType>,
57
-
58
- // Component index spaces
59
- pub types: Vec<ComponentAnyTypeId>,
60
- pub funcs: Vec<ComponentFuncTypeId>,
61
- pub values: Vec<(ComponentValType, bool)>,
62
- pub instances: Vec<ComponentInstanceTypeId>,
63
- pub components: Vec<ComponentTypeId>,
64
-
65
- pub imports: IndexMap<String, ComponentEntityType>,
66
- pub import_names: IndexSet<ComponentName>,
67
- pub exports: IndexMap<String, ComponentEntityType>,
68
- pub export_names: IndexSet<ComponentName>,
69
-
70
- has_start: bool,
71
- type_info: TypeInfo,
72
-
73
- /// A mapping of imported resources in this component.
74
- ///
75
- /// This mapping represents all "type variables" imported into the
76
- /// component, or resources. This could be resources imported directly as
77
- /// a top-level type import or additionally transitively through other
78
- /// imported instances.
79
- ///
80
- /// The mapping element here is a "path" which is a list of indexes into
81
- /// the import map that will be generated for this component. Each index
82
- /// is an index into an `IndexMap`, and each list is guaranteed to have at
83
- /// least one element.
84
- ///
85
- /// An example of this map is:
86
- ///
87
- /// ```wasm
88
- /// (component
89
- /// ;; [0] - the first import
90
- /// (import "r" (type (sub resource)))
91
- ///
92
- /// ;; [1] - the second import
93
- /// (import "r2" (type (sub resource)))
94
- ///
95
- /// (import "i" (instance
96
- /// ;; [2, 0] - the third import, and the first export the instance
97
- /// (export "r3" (type (sub resource)))
98
- /// ;; [2, 1] - the third import, and the second export the instance
99
- /// (export "r4" (type (sub resource)))
100
- /// ))
101
- ///
102
- /// ;; ...
103
- /// )
104
- /// ```
105
- ///
106
- /// The `Vec<usize>` here can be thought of as `Vec<String>` but a
107
- /// (hopefully) more efficient representation.
108
- ///
109
- /// Finally note that this map is listed as an "append only" map because all
110
- /// insertions into it should always succeed. Any insertion which overlaps
111
- /// with a previous entry indicates a bug in the validator which needs to be
112
- /// corrected via other means.
113
- //
114
- // TODO: make these `SkolemResourceId` and then go fix all the compile
115
- // errors, don't add skolem things into the type area
116
- imported_resources: IndexMapAppendOnly<ResourceId, Vec<usize>>,
117
-
118
- /// A mapping of "defined" resources in this component, or those which
119
- /// are defined within the instantiation of this component.
120
- ///
121
- /// Defined resources, as the name implies, can sort of be thought of as
122
- /// "these are defined within the component". Note though that the means by
123
- /// which a local definition can occur are not simply those defined in the
124
- /// component but also in its transitively instantiated components
125
- /// internally. This means that this set closes over many transitive
126
- /// internal items in addition to those defined immediately in the component
127
- /// itself.
128
- ///
129
- /// The `Option<ValType>` in this mapping is whether or not the underlying
130
- /// reprsentation of the resource is known to this component. Immediately
131
- /// defined resources, for example, will have `Some(I32)` here. Resources
132
- /// that come from transitively defined components, for example, will have
133
- /// `None`. In the type context all entries here are `None`.
134
- ///
135
- /// Note that like `imported_resources` all insertions into this map are
136
- /// expected to succeed to it's declared as append-only.
137
- defined_resources: IndexMapAppendOnly<ResourceId, Option<ValType>>,
138
-
139
- /// A mapping of explicitly exported resources from this component in
140
- /// addition to the path that they're exported at.
141
- ///
142
- /// For more information on the path here see the documentation for
143
- /// `imported_resources`. Note that the indexes here index into the
144
- /// list of exports of this component.
145
- explicit_resources: IndexMap<ResourceId, Vec<usize>>,
146
-
147
- /// The set of types which are considered "exported" from this component.
148
- ///
149
- /// This is added to whenever a type export is found, or an instance export
150
- /// which itself contains a type export. This additionally includes all
151
- /// imported types since those are suitable for export as well.
152
- ///
153
- /// This set is consulted whenever an exported item is added since all
154
- /// referenced types must be members of this set.
155
- exported_types: HashSet<ComponentAnyTypeId>,
156
-
157
- /// Same as `exported_types`, but for imports.
158
- imported_types: HashSet<ComponentAnyTypeId>,
159
-
160
- /// The set of top-level resource exports and their names.
161
- ///
162
- /// This context is used to validate method names such as `[method]foo.bar`
163
- /// to ensure that `foo` is an exported resource and that the type mentioned
164
- /// in a function type is actually named `foo`.
165
- ///
166
- /// Note that imports/exports have disjoint contexts to ensure that they're
167
- /// validated correctly. Namely you can't retroactively attach methods to an
168
- /// import, for example.
169
- toplevel_exported_resources: ComponentNameContext,
170
-
171
- /// Same as `toplevel_exported_resources`, but for imports.
172
- toplevel_imported_resources: ComponentNameContext,
173
- }
174
-
175
- #[derive(Copy, Clone, Debug, PartialEq, Eq)]
176
- pub enum ComponentKind {
177
- Component,
178
- InstanceType,
179
- ComponentType,
180
- }
181
-
182
- /// Helper context used to track information about resource names for method
183
- /// name validation.
184
- #[derive(Default)]
185
- struct ComponentNameContext {
186
- /// A map from a resource type id to an index in the `all_resource_names`
187
- /// set for the name of that resource.
188
- resource_name_map: HashMap<AliasableResourceId, usize>,
189
-
190
- /// All known resource names in this context, used to validate static method
191
- /// names to by ensuring that static methods' resource names are somewhere
192
- /// in this set.
193
- all_resource_names: IndexSet<String>,
194
- }
195
-
196
- #[derive(Debug, Copy, Clone)]
197
- pub enum ExternKind {
198
- Import,
199
- Export,
200
- }
201
-
202
- impl ExternKind {
203
- pub fn desc(&self) -> &'static str {
204
- match self {
205
- ExternKind::Import => "import",
206
- ExternKind::Export => "export",
207
- }
208
- }
209
- }
210
-
211
- impl ComponentState {
212
- pub fn new(kind: ComponentKind) -> Self {
213
- Self {
214
- kind,
215
- core_types: Default::default(),
216
- core_modules: Default::default(),
217
- core_instances: Default::default(),
218
- core_funcs: Default::default(),
219
- core_memories: Default::default(),
220
- core_tables: Default::default(),
221
- core_globals: Default::default(),
222
- core_tags: Default::default(),
223
- types: Default::default(),
224
- funcs: Default::default(),
225
- values: Default::default(),
226
- instances: Default::default(),
227
- components: Default::default(),
228
- imports: Default::default(),
229
- exports: Default::default(),
230
- import_names: Default::default(),
231
- export_names: Default::default(),
232
- has_start: Default::default(),
233
- type_info: TypeInfo::new(),
234
- imported_resources: Default::default(),
235
- defined_resources: Default::default(),
236
- explicit_resources: Default::default(),
237
- exported_types: Default::default(),
238
- imported_types: Default::default(),
239
- toplevel_exported_resources: Default::default(),
240
- toplevel_imported_resources: Default::default(),
241
- }
242
- }
243
-
244
- pub fn type_count(&self) -> usize {
245
- self.core_types.len() + self.types.len()
246
- }
247
-
248
- pub fn instance_count(&self) -> usize {
249
- self.core_instances.len() + self.instances.len()
250
- }
251
-
252
- pub fn function_count(&self) -> usize {
253
- self.core_funcs.len() + self.funcs.len()
254
- }
255
-
256
- pub fn add_core_type(
257
- components: &mut [Self],
258
- ty: crate::CoreType,
259
- features: &WasmFeatures,
260
- types: &mut TypeAlloc,
261
- offset: usize,
262
- check_limit: bool,
263
- ) -> Result<()> {
264
- let id = match ty {
265
- crate::CoreType::Sub(sub) => {
266
- let (_is_new, group_id) =
267
- types.intern_canonical_rec_group(RecGroup::implicit(offset, sub));
268
- let id = types[group_id].start;
269
- ComponentCoreTypeId::Sub(id)
270
- }
271
- crate::CoreType::Module(decls) => {
272
- let mod_ty = Self::create_module_type(
273
- components,
274
- decls.into_vec(),
275
- features,
276
- types,
277
- offset,
278
- )?;
279
- let id = types.push_ty(mod_ty);
280
- ComponentCoreTypeId::Module(id)
281
- }
282
- };
283
-
284
- let current = components.last_mut().unwrap();
285
- if check_limit {
286
- check_max(current.type_count(), 1, MAX_WASM_TYPES, "types", offset)?;
287
- }
288
- current.core_types.push(id);
289
- Ok(())
290
- }
291
-
292
- pub fn add_core_module(
293
- &mut self,
294
- module: &Module,
295
- types: &mut TypeAlloc,
296
- offset: usize,
297
- ) -> Result<()> {
298
- let imports = module.imports_for_module_type(offset)?;
299
-
300
- // We have to clone the module's imports and exports here
301
- // because we cannot take the data out of the `MaybeOwned`
302
- // as it might be shared with a function validator.
303
- let mod_ty = ModuleType {
304
- info: TypeInfo::core(module.type_size),
305
- imports,
306
- exports: module.exports.clone(),
307
- };
308
-
309
- let mod_id = types.push_ty(mod_ty);
310
- self.core_modules.push(mod_id);
311
-
312
- Ok(())
313
- }
314
-
315
- pub fn add_core_instance(
316
- &mut self,
317
- instance: crate::Instance,
318
- types: &mut TypeAlloc,
319
- offset: usize,
320
- ) -> Result<()> {
321
- let instance = match instance {
322
- crate::Instance::Instantiate { module_index, args } => {
323
- self.instantiate_core_module(module_index, args.into_vec(), types, offset)?
324
- }
325
- crate::Instance::FromExports(exports) => {
326
- self.instantiate_core_exports(exports.into_vec(), types, offset)?
327
- }
328
- };
329
-
330
- self.core_instances.push(instance);
331
-
332
- Ok(())
333
- }
334
-
335
- pub fn add_type(
336
- components: &mut Vec<Self>,
337
- ty: crate::ComponentType,
338
- features: &WasmFeatures,
339
- types: &mut TypeAlloc,
340
- offset: usize,
341
- check_limit: bool,
342
- ) -> Result<()> {
343
- assert!(!components.is_empty());
344
-
345
- fn current(components: &mut Vec<ComponentState>) -> &mut ComponentState {
346
- components.last_mut().unwrap()
347
- }
348
-
349
- let id = match ty {
350
- crate::ComponentType::Defined(ty) => {
351
- let ty = current(components).create_defined_type(ty, types, offset)?;
352
- types.push(ty).into()
353
- }
354
- crate::ComponentType::Func(ty) => {
355
- let ty = current(components).create_function_type(ty, types, offset)?;
356
- types.push(ty).into()
357
- }
358
- crate::ComponentType::Component(decls) => {
359
- let ty = Self::create_component_type(
360
- components,
361
- decls.into_vec(),
362
- features,
363
- types,
364
- offset,
365
- )?;
366
- types.push(ty).into()
367
- }
368
- crate::ComponentType::Instance(decls) => {
369
- let ty = Self::create_instance_type(
370
- components,
371
- decls.into_vec(),
372
- features,
373
- types,
374
- offset,
375
- )?;
376
- types.push(ty).into()
377
- }
378
- crate::ComponentType::Resource { rep, dtor } => {
379
- let component = current(components);
380
-
381
- // Resource types cannot be declared in a type context, only
382
- // within a component context.
383
- if component.kind != ComponentKind::Component {
384
- bail!(
385
- offset,
386
- "resources can only be defined within a concrete component"
387
- );
388
- }
389
-
390
- // Current MVP restriction of the component model.
391
- if rep != ValType::I32 {
392
- bail!(offset, "resources can only be represented by `i32`");
393
- }
394
-
395
- // If specified validate that the destructor is both a valid
396
- // function and has the correct signature.
397
- if let Some(dtor) = dtor {
398
- let ty = component.core_function_at(dtor, offset)?;
399
- let ty = types[ty].composite_type.unwrap_func();
400
- if ty.params() != [rep] || ty.results() != [] {
401
- bail!(
402
- offset,
403
- "core function {dtor} has wrong signature for a destructor"
404
- );
405
- }
406
- }
407
-
408
- // As this is the introduction of a resource create a fresh new
409
- // identifier for the resource. This is then added into the
410
- // list of defined resources for this component, notably with a
411
- // rep listed to enable getting access to various intrinsics
412
- // such as `resource.rep`.
413
- let id = types.alloc_resource_id();
414
- component.defined_resources.insert(id.resource(), Some(rep));
415
- id.into()
416
- }
417
- };
418
-
419
- let current = current(components);
420
- if check_limit {
421
- check_max(current.type_count(), 1, MAX_WASM_TYPES, "types", offset)?;
422
- }
423
- current.types.push(id);
424
-
425
- Ok(())
426
- }
427
-
428
- pub fn add_import(
429
- &mut self,
430
- import: crate::ComponentImport,
431
- features: &WasmFeatures,
432
- types: &mut TypeAlloc,
433
- offset: usize,
434
- ) -> Result<()> {
435
- let mut entity = self.check_type_ref(&import.ty, features, types, offset)?;
436
- self.add_entity(
437
- &mut entity,
438
- Some((import.name.0, ExternKind::Import)),
439
- features,
440
- types,
441
- offset,
442
- )?;
443
- self.toplevel_imported_resources.validate_extern(
444
- import.name.0,
445
- ExternKind::Import,
446
- &entity,
447
- types,
448
- offset,
449
- &mut self.import_names,
450
- &mut self.imports,
451
- &mut self.type_info,
452
- features,
453
- )?;
454
- Ok(())
455
- }
456
-
457
- fn add_entity(
458
- &mut self,
459
- ty: &mut ComponentEntityType,
460
- name_and_kind: Option<(&str, ExternKind)>,
461
- features: &WasmFeatures,
462
- types: &mut TypeAlloc,
463
- offset: usize,
464
- ) -> Result<()> {
465
- let kind = name_and_kind.map(|(_, k)| k);
466
- let (len, max, desc) = match ty {
467
- ComponentEntityType::Module(id) => {
468
- self.core_modules.push(*id);
469
- (self.core_modules.len(), MAX_WASM_MODULES, "modules")
470
- }
471
- ComponentEntityType::Component(id) => {
472
- self.components.push(*id);
473
- (self.components.len(), MAX_WASM_COMPONENTS, "components")
474
- }
475
- ComponentEntityType::Instance(id) => {
476
- match kind {
477
- Some(ExternKind::Import) => self.prepare_instance_import(id, types),
478
- Some(ExternKind::Export) => self.prepare_instance_export(id, types),
479
- None => {}
480
- }
481
- self.instances.push(*id);
482
- (self.instance_count(), MAX_WASM_INSTANCES, "instances")
483
- }
484
- ComponentEntityType::Func(id) => {
485
- self.funcs.push(*id);
486
- (self.function_count(), MAX_WASM_FUNCTIONS, "functions")
487
- }
488
- ComponentEntityType::Value(ty) => {
489
- self.check_value_support(features, offset)?;
490
- let value_used = match kind {
491
- Some(ExternKind::Import) | None => false,
492
- Some(ExternKind::Export) => true,
493
- };
494
- self.values.push((*ty, value_used));
495
- (self.values.len(), MAX_WASM_VALUES, "values")
496
- }
497
- ComponentEntityType::Type {
498
- created,
499
- referenced,
500
- } => {
501
- self.types.push(*created);
502
-
503
- // Extra logic here for resources being imported and exported.
504
- // Note that if `created` is the same as `referenced` then this
505
- // is the original introduction of the resource which is where
506
- // `self.{imported,defined}_resources` are updated.
507
- if let ComponentAnyTypeId::Resource(id) = *created {
508
- match kind {
509
- Some(ExternKind::Import) => {
510
- // A fresh new resource is being imported into a
511
- // component. This arises from the import section of
512
- // a component or from the import declaration in a
513
- // component type. In both cases a new imported
514
- // resource is injected with a fresh new identifier
515
- // into our state.
516
- if created == referenced {
517
- self.imported_resources
518
- .insert(id.resource(), vec![self.imports.len()]);
519
- }
520
- }
521
-
522
- Some(ExternKind::Export) => {
523
- // A fresh resource is being exported from this
524
- // component. This arises as part of the
525
- // declaration of a component type, for example. In
526
- // this situation brand new resource identifier is
527
- // allocated and a definition is added, unlike the
528
- // import case where an imported resource is added.
529
- // Notably the representation of this new resource
530
- // is unknown so it's listed as `None`.
531
- if created == referenced {
532
- self.defined_resources.insert(id.resource(), None);
533
- }
534
-
535
- // If this is a type export of a resource type then
536
- // update the `explicit_resources` list. A new
537
- // export path is about to be created for this
538
- // resource and this keeps track of that.
539
- self.explicit_resources
540
- .insert(id.resource(), vec![self.exports.len()]);
541
- }
542
-
543
- None => {}
544
- }
545
- }
546
- (self.types.len(), MAX_WASM_TYPES, "types")
547
- }
548
- };
549
-
550
- check_max(len, 0, max, desc, offset)?;
551
-
552
- // Before returning perform the final validation of the type of the item
553
- // being imported/exported. This will ensure that everything is
554
- // appropriately named with respect to type definitions, resources, etc.
555
- if let Some((name, kind)) = name_and_kind {
556
- if !self.validate_and_register_named_types(Some(name), kind, ty, types) {
557
- bail!(
558
- offset,
559
- "{} not valid to be used as {}",
560
- ty.desc(),
561
- kind.desc()
562
- );
563
- }
564
- }
565
- Ok(())
566
- }
567
-
568
- /// Validates that the `ty` referenced only refers to named types internally
569
- /// and then inserts anything necessary, if applicable, to the defined sets
570
- /// within this component.
571
- ///
572
- /// This function will validate that `ty` only refers to named types. For
573
- /// example if it's a record then all of its fields must refer to named
574
- /// types. This consults either `self.imported_types` or
575
- /// `self.exported_types` as specified by `kind`. Note that this is not
576
- /// inherently recursive itself but it ends up being recursive since if
577
- /// recursive members were named then all their components must also be
578
- /// named. Consequently this check stops at the "one layer deep" position,
579
- /// or more accurately the position where types must be named (e.g. tuples
580
- /// aren't required to be named).
581
- fn validate_and_register_named_types(
582
- &mut self,
583
- toplevel_name: Option<&str>,
584
- kind: ExternKind,
585
- ty: &ComponentEntityType,
586
- types: &TypeAlloc,
587
- ) -> bool {
588
- if let ComponentEntityType::Type { created, .. } = ty {
589
- // If this is a top-level resource then register it in the
590
- // appropriate context so later validation of method-like-names
591
- // works out.
592
- if let Some(name) = toplevel_name {
593
- if let ComponentAnyTypeId::Resource(id) = *created {
594
- let cx = match kind {
595
- ExternKind::Import => &mut self.toplevel_imported_resources,
596
- ExternKind::Export => &mut self.toplevel_exported_resources,
597
- };
598
- cx.register(name, id);
599
- }
600
- }
601
- }
602
-
603
- match self.kind {
604
- ComponentKind::Component | ComponentKind::ComponentType => {}
605
- ComponentKind::InstanceType => return true,
606
- }
607
- let set = match kind {
608
- ExternKind::Import => &self.imported_types,
609
- ExternKind::Export => &self.exported_types,
610
- };
611
- match ty {
612
- // When a type is imported or exported than any recursive type
613
- // referred to by that import/export must additionally be exported
614
- // or imported. Here this walks the "first layer" of the type which
615
- // delegates to `TypeAlloc::type_named_type_id` to determine whether
616
- // the components of the type being named here are indeed all they
617
- // themselves named.
618
- ComponentEntityType::Type {
619
- created,
620
- referenced,
621
- } => {
622
- if !self.all_valtypes_named(types, *referenced, set) {
623
- return false;
624
- }
625
- match kind {
626
- // Imported types are both valid for import and valid for
627
- // export.
628
- ExternKind::Import => {
629
- self.imported_types.insert(*created);
630
- self.exported_types.insert(*created);
631
- }
632
- ExternKind::Export => {
633
- self.exported_types.insert(*created);
634
- }
635
- }
636
-
637
- true
638
- }
639
-
640
- // Instances are slightly nuanced here. The general idea is that if
641
- // an instance is imported, then any type exported by the instance
642
- // is then also exported. Additionally for exports. To get this to
643
- // work out this arm will recursively call
644
- // `validate_and_register_named_types` which means that types are
645
- // inserted into `self.{imported,exported}_types` as-we-go rather
646
- // than all at once.
647
- //
648
- // This then recursively validates that all items in the instance
649
- // itself are valid to import/export, recursive instances are
650
- // captured, and everything is appropriately added to the right
651
- // imported/exported set.
652
- ComponentEntityType::Instance(i) => types[*i]
653
- .exports
654
- .iter()
655
- .all(|(_name, ty)| self.validate_and_register_named_types(None, kind, ty, types)),
656
-
657
- // All types referred to by a function must be named.
658
- ComponentEntityType::Func(id) => self.all_valtypes_named_in_func(types, *id, set),
659
-
660
- ComponentEntityType::Value(ty) => types.type_named_valtype(ty, set),
661
-
662
- // Components/modules are always "closed" or "standalone" and don't
663
- // need validation with respect to their named types.
664
- ComponentEntityType::Component(_) | ComponentEntityType::Module(_) => true,
665
- }
666
- }
667
-
668
- fn all_valtypes_named(
669
- &self,
670
- types: &TypeAlloc,
671
- id: ComponentAnyTypeId,
672
- set: &HashSet<ComponentAnyTypeId>,
673
- ) -> bool {
674
- match id {
675
- // Resource types, in isolation, are always valid to import or
676
- // export since they're either attached to an import or being
677
- // exported.
678
- //
679
- // Note that further validation of this happens in `finish`, too.
680
- ComponentAnyTypeId::Resource(_) => true,
681
-
682
- // Component types are validated as they are constructed,
683
- // so all component types are valid to export if they've
684
- // already been constructed.
685
- ComponentAnyTypeId::Component(_) => true,
686
-
687
- ComponentAnyTypeId::Defined(id) => self.all_valtypes_named_in_defined(types, id, set),
688
- ComponentAnyTypeId::Func(id) => self.all_valtypes_named_in_func(types, id, set),
689
- ComponentAnyTypeId::Instance(id) => self.all_valtypes_named_in_instance(types, id, set),
690
- }
691
- }
692
-
693
- fn all_valtypes_named_in_instance(
694
- &self,
695
- types: &TypeAlloc,
696
- id: ComponentInstanceTypeId,
697
- set: &HashSet<ComponentAnyTypeId>,
698
- ) -> bool {
699
- // Instances must recursively have all referenced types named.
700
- let ty = &types[id];
701
- ty.exports.values().all(|ty| match ty {
702
- ComponentEntityType::Module(_) => true,
703
- ComponentEntityType::Func(id) => self.all_valtypes_named_in_func(types, *id, set),
704
- ComponentEntityType::Type { created: id, .. } => {
705
- self.all_valtypes_named(types, *id, set)
706
- }
707
- ComponentEntityType::Value(ComponentValType::Type(id)) => {
708
- self.all_valtypes_named_in_defined(types, *id, set)
709
- }
710
- ComponentEntityType::Instance(id) => {
711
- self.all_valtypes_named_in_instance(types, *id, set)
712
- }
713
- ComponentEntityType::Component(_)
714
- | ComponentEntityType::Value(ComponentValType::Primitive(_)) => return true,
715
- })
716
- }
717
-
718
- fn all_valtypes_named_in_defined(
719
- &self,
720
- types: &TypeAlloc,
721
- id: ComponentDefinedTypeId,
722
- set: &HashSet<ComponentAnyTypeId>,
723
- ) -> bool {
724
- let ty = &types[id];
725
- match ty {
726
- // These types do not contain anything which must be
727
- // named.
728
- ComponentDefinedType::Primitive(_)
729
- | ComponentDefinedType::Flags(_)
730
- | ComponentDefinedType::Enum(_) => true,
731
-
732
- // Referenced types of all these aggregates must all be
733
- // named.
734
- ComponentDefinedType::Record(r) => {
735
- r.fields.values().all(|t| types.type_named_valtype(t, set))
736
- }
737
- ComponentDefinedType::Tuple(r) => {
738
- r.types.iter().all(|t| types.type_named_valtype(t, set))
739
- }
740
- ComponentDefinedType::Variant(r) => r
741
- .cases
742
- .values()
743
- .filter_map(|t| t.ty.as_ref())
744
- .all(|t| types.type_named_valtype(t, set)),
745
- ComponentDefinedType::Result { ok, err } => {
746
- ok.as_ref()
747
- .map(|t| types.type_named_valtype(t, set))
748
- .unwrap_or(true)
749
- && err
750
- .as_ref()
751
- .map(|t| types.type_named_valtype(t, set))
752
- .unwrap_or(true)
753
- }
754
- ComponentDefinedType::List(ty) | ComponentDefinedType::Option(ty) => {
755
- types.type_named_valtype(ty, set)
756
- }
757
-
758
- // The resource referred to by own/borrow must be named.
759
- ComponentDefinedType::Own(id) | ComponentDefinedType::Borrow(id) => {
760
- set.contains(&ComponentAnyTypeId::from(*id))
761
- }
762
- }
763
- }
764
-
765
- fn all_valtypes_named_in_func(
766
- &self,
767
- types: &TypeAlloc,
768
- id: ComponentFuncTypeId,
769
- set: &HashSet<ComponentAnyTypeId>,
770
- ) -> bool {
771
- let ty = &types[id];
772
- // Function types must have all their parameters/results named.
773
- ty.params
774
- .iter()
775
- .map(|(_, ty)| ty)
776
- .chain(ty.results.iter().map(|(_, ty)| ty))
777
- .all(|ty| types.type_named_valtype(ty, set))
778
- }
779
-
780
- /// Updates the type `id` specified, an identifier for a component instance
781
- /// type, to be imported into this component.
782
- ///
783
- /// Importing an instance type into a component specially handles the
784
- /// defined resources registered in the instance type. Notably all
785
- /// defined resources are "freshened" into brand new type variables and
786
- /// these new variables are substituted within the type. This is what
787
- /// creates a new `TypeId` and may update the `id` specified.
788
- ///
789
- /// One side effect of this operation, for example, is that if an instance
790
- /// type is used twice to import two different instances then the instances
791
- /// do not share resource types despite sharing the same original instance
792
- /// type.
793
- fn prepare_instance_import(&mut self, id: &mut ComponentInstanceTypeId, types: &mut TypeAlloc) {
794
- let ty = &types[*id];
795
-
796
- // No special treatment for imports of instances which themselves have
797
- // no defined resources
798
- if ty.defined_resources.is_empty() {
799
- return;
800
- }
801
-
802
- let mut new_ty = ComponentInstanceType {
803
- // Copied from the input verbatim
804
- info: ty.info,
805
-
806
- // Copied over as temporary storage for now, and both of these are
807
- // filled out and expanded below.
808
- exports: ty.exports.clone(),
809
- explicit_resources: ty.explicit_resources.clone(),
810
-
811
- // Explicitly discard this field since the
812
- // defined resources are lifted into `self`
813
- defined_resources: Default::default(),
814
- };
815
-
816
- // Create brand new resources for all defined ones in the instance.
817
- let resources = (0..ty.defined_resources.len())
818
- .map(|_| types.alloc_resource_id())
819
- .collect::<IndexSet<_>>();
820
-
821
- // Build a map from the defined resources in `ty` to those in `new_ty`.
822
- //
823
- // As part of this same loop the new resources, which were previously
824
- // defined in `ty`, now become imported variables in `self`. Their
825
- // path for where they're imported is updated as well with
826
- // `self.next_import_index` as the import-to-be soon.
827
- let mut mapping = Remapping::default();
828
- let ty = &types[*id];
829
- for (old, new) in ty.defined_resources.iter().zip(&resources) {
830
- let prev = mapping.resources.insert(*old, new.resource());
831
- assert!(prev.is_none());
832
-
833
- let mut base = vec![self.imports.len()];
834
- base.extend(ty.explicit_resources[old].iter().copied());
835
- self.imported_resources.insert(new.resource(), base);
836
- }
837
-
838
- // Using the old-to-new resource mapping perform a substitution on
839
- // the `exports` and `explicit_resources` fields of `new_ty`
840
- for ty in new_ty.exports.values_mut() {
841
- types.remap_component_entity(ty, &mut mapping);
842
- }
843
- for (id, path) in mem::take(&mut new_ty.explicit_resources) {
844
- let id = *mapping.resources.get(&id).unwrap_or(&id);
845
- new_ty.explicit_resources.insert(id, path);
846
- }
847
-
848
- // Now that `new_ty` is complete finish its registration and then
849
- // update `id` on the way out.
850
- *id = types.push_ty(new_ty);
851
- }
852
-
853
- /// Prepares an instance type, pointed to `id`, for being exported as a
854
- /// concrete instance from `self`.
855
- ///
856
- /// This will internally perform any resource "freshening" as required and
857
- /// then additionally update metadata within `self` about resources being
858
- /// exported or defined.
859
- fn prepare_instance_export(&mut self, id: &mut ComponentInstanceTypeId, types: &mut TypeAlloc) {
860
- // Exports of an instance mean that the enclosing context
861
- // is inheriting the resources that the instance
862
- // encapsulates. This means that the instance type
863
- // recorded for this export will itself have no
864
- // defined resources.
865
- let ty = &types[*id];
866
-
867
- // Check to see if `defined_resources` is non-empty, and if so then
868
- // "freshen" all the resources and inherit them to our own defined
869
- // resources, updating `id` in the process.
870
- //
871
- // Note though that this specifically is not rewriting the resources of
872
- // exported instances. The `defined_resources` set on instance types is
873
- // a little subtle (see its documentation for more info), but the
874
- // general idea is that for a concrete instance it's always empty. Only
875
- // for instance type definitions does it ever have elements in it.
876
- //
877
- // That means that if this set is non-empty then what's happening is
878
- // that we're in a type context an exporting an instance of a previously
879
- // specified type. In this case all resources are required to be
880
- // "freshened" to ensure that multiple exports of the same type all
881
- // export different types of resources.
882
- //
883
- // And finally note that this operation empties out the
884
- // `defined_resources` set of the type that is registered for the
885
- // instance, as this export is modeled as producing a concrete instance.
886
- if !ty.defined_resources.is_empty() {
887
- let mut new_ty = ty.clone();
888
- let mut mapping = Remapping::default();
889
- for old in mem::take(&mut new_ty.defined_resources) {
890
- let new = types.alloc_resource_id();
891
- mapping.resources.insert(old, new.resource());
892
- self.defined_resources.insert(new.resource(), None);
893
- }
894
- for ty in new_ty.exports.values_mut() {
895
- types.remap_component_entity(ty, &mut mapping);
896
- }
897
- for (id, path) in mem::take(&mut new_ty.explicit_resources) {
898
- let id = mapping.resources.get(&id).copied().unwrap_or(id);
899
- new_ty.explicit_resources.insert(id, path);
900
- }
901
- *id = types.push_ty(new_ty);
902
- }
903
-
904
- // Any explicit resources in the instance are now additionally explicit
905
- // in this component since it's exported.
906
- //
907
- // The path to each explicit resources gets one element prepended which
908
- // is `self.next_export_index`, the index of the export about to be
909
- // generated.
910
- let ty = &types[*id];
911
- for (id, path) in ty.explicit_resources.iter() {
912
- let mut new_path = vec![self.exports.len()];
913
- new_path.extend(path);
914
- self.explicit_resources.insert(*id, new_path);
915
- }
916
- }
917
-
918
- pub fn add_export(
919
- &mut self,
920
- name: ComponentExportName<'_>,
921
- mut ty: ComponentEntityType,
922
- features: &WasmFeatures,
923
- types: &mut TypeAlloc,
924
- offset: usize,
925
- check_limit: bool,
926
- ) -> Result<()> {
927
- if check_limit {
928
- check_max(self.exports.len(), 1, MAX_WASM_EXPORTS, "exports", offset)?;
929
- }
930
- self.add_entity(
931
- &mut ty,
932
- Some((name.0, ExternKind::Export)),
933
- features,
934
- types,
935
- offset,
936
- )?;
937
- self.toplevel_exported_resources.validate_extern(
938
- name.0,
939
- ExternKind::Export,
940
- &ty,
941
- types,
942
- offset,
943
- &mut self.export_names,
944
- &mut self.exports,
945
- &mut self.type_info,
946
- features,
947
- )?;
948
- Ok(())
949
- }
950
-
951
- pub fn lift_function(
952
- &mut self,
953
- core_func_index: u32,
954
- type_index: u32,
955
- options: Vec<CanonicalOption>,
956
- types: &TypeList,
957
- offset: usize,
958
- ) -> Result<()> {
959
- let ty = self.function_type_at(type_index, types, offset)?;
960
- let core_ty = types[self.core_function_at(core_func_index, offset)?].unwrap_func();
961
-
962
- // Lifting a function is for an export, so match the expected canonical ABI
963
- // export signature
964
- let info = ty.lower(types, false);
965
- self.check_options(Some(core_ty), &info, &options, types, offset)?;
966
-
967
- if core_ty.params() != info.params.as_slice() {
968
- bail!(
969
- offset,
970
- "lowered parameter types `{:?}` do not match parameter types \
971
- `{:?}` of core function {core_func_index}",
972
- info.params.as_slice(),
973
- core_ty.params(),
974
- );
975
- }
976
-
977
- if core_ty.results() != info.results.as_slice() {
978
- bail!(
979
- offset,
980
- "lowered result types `{:?}` do not match result types \
981
- `{:?}` of core function {core_func_index}",
982
- info.results.as_slice(),
983
- core_ty.results()
984
- );
985
- }
986
-
987
- self.funcs
988
- .push(self.types[type_index as usize].unwrap_func());
989
-
990
- Ok(())
991
- }
992
-
993
- pub fn lower_function(
994
- &mut self,
995
- func_index: u32,
996
- options: Vec<CanonicalOption>,
997
- types: &mut TypeAlloc,
998
- offset: usize,
999
- ) -> Result<()> {
1000
- let ty = &types[self.function_at(func_index, offset)?];
1001
-
1002
- // Lowering a function is for an import, so use a function type that matches
1003
- // the expected canonical ABI import signature.
1004
- let info = ty.lower(types, true);
1005
-
1006
- self.check_options(None, &info, &options, types, offset)?;
1007
-
1008
- let lowered_ty = SubType {
1009
- is_final: true,
1010
- supertype_idx: None,
1011
- composite_type: CompositeType::Func(info.into_func_type()),
1012
- };
1013
-
1014
- let (_is_new, group_id) =
1015
- types.intern_canonical_rec_group(RecGroup::implicit(offset, lowered_ty));
1016
- let id = types[group_id].start;
1017
- self.core_funcs.push(id);
1018
-
1019
- Ok(())
1020
- }
1021
-
1022
- pub fn resource_new(
1023
- &mut self,
1024
- resource: u32,
1025
- types: &mut TypeAlloc,
1026
- offset: usize,
1027
- ) -> Result<()> {
1028
- let rep = self.check_local_resource(resource, types, offset)?;
1029
- let core_ty = SubType {
1030
- is_final: true,
1031
- supertype_idx: None,
1032
- composite_type: CompositeType::Func(FuncType::new([rep], [ValType::I32])),
1033
- };
1034
- let (_is_new, group_id) =
1035
- types.intern_canonical_rec_group(RecGroup::implicit(offset, core_ty));
1036
- let id = types[group_id].start;
1037
- self.core_funcs.push(id);
1038
- Ok(())
1039
- }
1040
-
1041
- pub fn resource_drop(
1042
- &mut self,
1043
- resource: u32,
1044
- types: &mut TypeAlloc,
1045
- offset: usize,
1046
- ) -> Result<()> {
1047
- self.resource_at(resource, types, offset)?;
1048
- let core_ty = SubType {
1049
- is_final: true,
1050
- supertype_idx: None,
1051
- composite_type: CompositeType::Func(FuncType::new([ValType::I32], [])),
1052
- };
1053
- let (_is_new, group_id) =
1054
- types.intern_canonical_rec_group(RecGroup::implicit(offset, core_ty));
1055
- let id = types[group_id].start;
1056
- self.core_funcs.push(id);
1057
- Ok(())
1058
- }
1059
-
1060
- pub fn resource_rep(
1061
- &mut self,
1062
- resource: u32,
1063
- types: &mut TypeAlloc,
1064
- offset: usize,
1065
- ) -> Result<()> {
1066
- let rep = self.check_local_resource(resource, types, offset)?;
1067
- let core_ty = SubType {
1068
- is_final: true,
1069
- supertype_idx: None,
1070
- composite_type: CompositeType::Func(FuncType::new([ValType::I32], [rep])),
1071
- };
1072
- let (_is_new, group_id) =
1073
- types.intern_canonical_rec_group(RecGroup::implicit(offset, core_ty));
1074
- let id = types[group_id].start;
1075
- self.core_funcs.push(id);
1076
- Ok(())
1077
- }
1078
-
1079
- fn check_local_resource(&self, idx: u32, types: &TypeList, offset: usize) -> Result<ValType> {
1080
- let resource = self.resource_at(idx, types, offset)?;
1081
- match self
1082
- .defined_resources
1083
- .get(&resource.resource())
1084
- .and_then(|rep| *rep)
1085
- {
1086
- Some(ty) => Ok(ty),
1087
- None => bail!(offset, "type {idx} is not a local resource"),
1088
- }
1089
- }
1090
-
1091
- fn resource_at<'a>(
1092
- &self,
1093
- idx: u32,
1094
- _types: &'a TypeList,
1095
- offset: usize,
1096
- ) -> Result<AliasableResourceId> {
1097
- if let ComponentAnyTypeId::Resource(id) = self.component_type_at(idx, offset)? {
1098
- return Ok(id);
1099
- }
1100
- bail!(offset, "type index {} is not a resource type", idx)
1101
- }
1102
-
1103
- pub fn add_component(&mut self, component: ComponentType, types: &mut TypeAlloc) -> Result<()> {
1104
- let id = types.push_ty(component);
1105
- self.components.push(id);
1106
- Ok(())
1107
- }
1108
-
1109
- pub fn add_instance(
1110
- &mut self,
1111
- instance: crate::ComponentInstance,
1112
- features: &WasmFeatures,
1113
- types: &mut TypeAlloc,
1114
- offset: usize,
1115
- ) -> Result<()> {
1116
- let instance = match instance {
1117
- crate::ComponentInstance::Instantiate {
1118
- component_index,
1119
- args,
1120
- } => self.instantiate_component(
1121
- component_index,
1122
- args.into_vec(),
1123
- features,
1124
- types,
1125
- offset,
1126
- )?,
1127
- crate::ComponentInstance::FromExports(exports) => {
1128
- self.instantiate_component_exports(exports.into_vec(), features, types, offset)?
1129
- }
1130
- };
1131
-
1132
- self.instances.push(instance);
1133
-
1134
- Ok(())
1135
- }
1136
-
1137
- pub fn add_alias(
1138
- components: &mut [Self],
1139
- alias: crate::ComponentAlias,
1140
- features: &WasmFeatures,
1141
- types: &mut TypeAlloc,
1142
- offset: usize,
1143
- ) -> Result<()> {
1144
- match alias {
1145
- crate::ComponentAlias::InstanceExport {
1146
- instance_index,
1147
- kind,
1148
- name,
1149
- } => components.last_mut().unwrap().alias_instance_export(
1150
- instance_index,
1151
- kind,
1152
- name,
1153
- features,
1154
- types,
1155
- offset,
1156
- ),
1157
- crate::ComponentAlias::CoreInstanceExport {
1158
- instance_index,
1159
- kind,
1160
- name,
1161
- } => components.last_mut().unwrap().alias_core_instance_export(
1162
- instance_index,
1163
- kind,
1164
- name,
1165
- types,
1166
- offset,
1167
- ),
1168
- crate::ComponentAlias::Outer { kind, count, index } => match kind {
1169
- ComponentOuterAliasKind::CoreModule => {
1170
- Self::alias_module(components, count, index, offset)
1171
- }
1172
- ComponentOuterAliasKind::CoreType => {
1173
- Self::alias_core_type(components, count, index, offset)
1174
- }
1175
- ComponentOuterAliasKind::Type => {
1176
- Self::alias_type(components, count, index, types, offset)
1177
- }
1178
- ComponentOuterAliasKind::Component => {
1179
- Self::alias_component(components, count, index, offset)
1180
- }
1181
- },
1182
- }
1183
- }
1184
-
1185
- pub fn add_start(
1186
- &mut self,
1187
- func_index: u32,
1188
- args: &[u32],
1189
- results: u32,
1190
- features: &WasmFeatures,
1191
- types: &mut TypeList,
1192
- offset: usize,
1193
- ) -> Result<()> {
1194
- if !features.contains(WasmFeatures::COMPONENT_MODEL_VALUES) {
1195
- bail!(
1196
- offset,
1197
- "support for component model `value`s is not enabled"
1198
- );
1199
- }
1200
- if self.has_start {
1201
- return Err(BinaryReaderError::new(
1202
- "component cannot have more than one start function",
1203
- offset,
1204
- ));
1205
- }
1206
-
1207
- let ft = &types[self.function_at(func_index, offset)?];
1208
-
1209
- if ft.params.len() != args.len() {
1210
- bail!(
1211
- offset,
1212
- "component start function requires {} arguments but was given {}",
1213
- ft.params.len(),
1214
- args.len()
1215
- );
1216
- }
1217
-
1218
- if ft.results.len() as u32 != results {
1219
- bail!(
1220
- offset,
1221
- "component start function has a result count of {results} \
1222
- but the function type has a result count of {type_results}",
1223
- type_results = ft.results.len(),
1224
- );
1225
- }
1226
-
1227
- let cx = SubtypeCx::new(types, types);
1228
- for (i, ((_, ty), arg)) in ft.params.iter().zip(args).enumerate() {
1229
- // Ensure the value's type is a subtype of the parameter type
1230
- cx.component_val_type(self.value_at(*arg, offset)?, ty, offset)
1231
- .with_context(|| {
1232
- format!("value type mismatch for component start function argument {i}")
1233
- })?;
1234
- }
1235
-
1236
- for (_, ty) in ft.results.iter() {
1237
- self.values.push((*ty, false));
1238
- }
1239
-
1240
- self.has_start = true;
1241
-
1242
- Ok(())
1243
- }
1244
-
1245
- fn check_options(
1246
- &self,
1247
- core_ty: Option<&FuncType>,
1248
- info: &LoweringInfo,
1249
- options: &[CanonicalOption],
1250
- types: &TypeList,
1251
- offset: usize,
1252
- ) -> Result<()> {
1253
- fn display(option: CanonicalOption) -> &'static str {
1254
- match option {
1255
- CanonicalOption::UTF8 => "utf8",
1256
- CanonicalOption::UTF16 => "utf16",
1257
- CanonicalOption::CompactUTF16 => "latin1-utf16",
1258
- CanonicalOption::Memory(_) => "memory",
1259
- CanonicalOption::Realloc(_) => "realloc",
1260
- CanonicalOption::PostReturn(_) => "post-return",
1261
- }
1262
- }
1263
-
1264
- let mut encoding = None;
1265
- let mut memory = None;
1266
- let mut realloc = None;
1267
- let mut post_return = None;
1268
-
1269
- for option in options {
1270
- match option {
1271
- CanonicalOption::UTF8 | CanonicalOption::UTF16 | CanonicalOption::CompactUTF16 => {
1272
- match encoding {
1273
- Some(existing) => {
1274
- bail!(
1275
- offset,
1276
- "canonical encoding option `{}` conflicts with option `{}`",
1277
- display(existing),
1278
- display(*option),
1279
- )
1280
- }
1281
- None => encoding = Some(*option),
1282
- }
1283
- }
1284
- CanonicalOption::Memory(idx) => {
1285
- memory = match memory {
1286
- None => {
1287
- self.memory_at(*idx, offset)?;
1288
- Some(*idx)
1289
- }
1290
- Some(_) => {
1291
- return Err(BinaryReaderError::new(
1292
- "canonical option `memory` is specified more than once",
1293
- offset,
1294
- ))
1295
- }
1296
- }
1297
- }
1298
- CanonicalOption::Realloc(idx) => {
1299
- realloc = match realloc {
1300
- None => {
1301
- let ty = types[self.core_function_at(*idx, offset)?].unwrap_func();
1302
- if ty.params()
1303
- != [ValType::I32, ValType::I32, ValType::I32, ValType::I32]
1304
- || ty.results() != [ValType::I32]
1305
- {
1306
- return Err(BinaryReaderError::new(
1307
- "canonical option `realloc` uses a core function with an incorrect signature",
1308
- offset,
1309
- ));
1310
- }
1311
- Some(*idx)
1312
- }
1313
- Some(_) => {
1314
- return Err(BinaryReaderError::new(
1315
- "canonical option `realloc` is specified more than once",
1316
- offset,
1317
- ))
1318
- }
1319
- }
1320
- }
1321
- CanonicalOption::PostReturn(idx) => {
1322
- post_return = match post_return {
1323
- None => {
1324
- let core_ty = core_ty.ok_or_else(|| {
1325
- BinaryReaderError::new(
1326
- "canonical option `post-return` cannot be specified for lowerings",
1327
- offset,
1328
- )
1329
- })?;
1330
-
1331
- let ty = types[self.core_function_at(*idx, offset)?].unwrap_func();
1332
-
1333
- if ty.params() != core_ty.results() || !ty.results().is_empty() {
1334
- return Err(BinaryReaderError::new(
1335
- "canonical option `post-return` uses a core function with an incorrect signature",
1336
- offset,
1337
- ));
1338
- }
1339
- Some(*idx)
1340
- }
1341
- Some(_) => {
1342
- return Err(BinaryReaderError::new(
1343
- "canonical option `post-return` is specified more than once",
1344
- offset,
1345
- ))
1346
- }
1347
- }
1348
- }
1349
- }
1350
- }
1351
-
1352
- if info.requires_memory && memory.is_none() {
1353
- return Err(BinaryReaderError::new(
1354
- "canonical option `memory` is required",
1355
- offset,
1356
- ));
1357
- }
1358
-
1359
- if info.requires_realloc && realloc.is_none() {
1360
- return Err(BinaryReaderError::new(
1361
- "canonical option `realloc` is required",
1362
- offset,
1363
- ));
1364
- }
1365
-
1366
- Ok(())
1367
- }
1368
-
1369
- fn check_type_ref(
1370
- &mut self,
1371
- ty: &ComponentTypeRef,
1372
- features: &WasmFeatures,
1373
- types: &mut TypeAlloc,
1374
- offset: usize,
1375
- ) -> Result<ComponentEntityType> {
1376
- Ok(match ty {
1377
- ComponentTypeRef::Module(index) => {
1378
- let id = self.core_type_at(*index, offset)?;
1379
- match id {
1380
- ComponentCoreTypeId::Sub(_) => {
1381
- bail!(offset, "core type index {index} is not a module type")
1382
- }
1383
- ComponentCoreTypeId::Module(id) => ComponentEntityType::Module(id),
1384
- }
1385
- }
1386
- ComponentTypeRef::Func(index) => {
1387
- let id = self.component_type_at(*index, offset)?;
1388
- match id {
1389
- ComponentAnyTypeId::Func(id) => ComponentEntityType::Func(id),
1390
- _ => bail!(offset, "type index {index} is not a function type"),
1391
- }
1392
- }
1393
- ComponentTypeRef::Value(ty) => {
1394
- self.check_value_support(features, offset)?;
1395
- let ty = match ty {
1396
- crate::ComponentValType::Primitive(ty) => ComponentValType::Primitive(*ty),
1397
- crate::ComponentValType::Type(index) => {
1398
- ComponentValType::Type(self.defined_type_at(*index, offset)?)
1399
- }
1400
- };
1401
- ComponentEntityType::Value(ty)
1402
- }
1403
- ComponentTypeRef::Type(TypeBounds::Eq(index)) => {
1404
- let referenced = self.component_type_at(*index, offset)?;
1405
- let created = types.with_unique(referenced);
1406
- ComponentEntityType::Type {
1407
- referenced,
1408
- created,
1409
- }
1410
- }
1411
- ComponentTypeRef::Type(TypeBounds::SubResource) => {
1412
- let id = types.alloc_resource_id();
1413
- ComponentEntityType::Type {
1414
- referenced: id.into(),
1415
- created: id.into(),
1416
- }
1417
- }
1418
- ComponentTypeRef::Instance(index) => {
1419
- let id = self.component_type_at(*index, offset)?;
1420
- match id {
1421
- ComponentAnyTypeId::Instance(id) => ComponentEntityType::Instance(id),
1422
- _ => bail!(offset, "type index {index} is not an instance type"),
1423
- }
1424
- }
1425
- ComponentTypeRef::Component(index) => {
1426
- let id = self.component_type_at(*index, offset)?;
1427
- match id {
1428
- ComponentAnyTypeId::Component(id) => ComponentEntityType::Component(id),
1429
- _ => bail!(offset, "type index {index} is not a component type"),
1430
- }
1431
- }
1432
- })
1433
- }
1434
-
1435
- pub fn export_to_entity_type(
1436
- &mut self,
1437
- export: &crate::ComponentExport,
1438
- features: &WasmFeatures,
1439
- types: &mut TypeAlloc,
1440
- offset: usize,
1441
- ) -> Result<ComponentEntityType> {
1442
- let actual = match export.kind {
1443
- ComponentExternalKind::Module => {
1444
- ComponentEntityType::Module(self.module_at(export.index, offset)?)
1445
- }
1446
- ComponentExternalKind::Func => {
1447
- ComponentEntityType::Func(self.function_at(export.index, offset)?)
1448
- }
1449
- ComponentExternalKind::Value => {
1450
- self.check_value_support(features, offset)?;
1451
- ComponentEntityType::Value(*self.value_at(export.index, offset)?)
1452
- }
1453
- ComponentExternalKind::Type => {
1454
- let referenced = self.component_type_at(export.index, offset)?;
1455
- let created = types.with_unique(referenced);
1456
- ComponentEntityType::Type {
1457
- referenced,
1458
- created,
1459
- }
1460
- }
1461
- ComponentExternalKind::Instance => {
1462
- ComponentEntityType::Instance(self.instance_at(export.index, offset)?)
1463
- }
1464
- ComponentExternalKind::Component => {
1465
- ComponentEntityType::Component(self.component_at(export.index, offset)?)
1466
- }
1467
- };
1468
-
1469
- let ascribed = match &export.ty {
1470
- Some(ty) => self.check_type_ref(ty, features, types, offset)?,
1471
- None => return Ok(actual),
1472
- };
1473
-
1474
- SubtypeCx::new(types, types)
1475
- .component_entity_type(&actual, &ascribed, offset)
1476
- .with_context(|| "ascribed type of export is not compatible with item's type")?;
1477
-
1478
- Ok(ascribed)
1479
- }
1480
-
1481
- fn create_module_type(
1482
- components: &[Self],
1483
- decls: Vec<crate::ModuleTypeDeclaration>,
1484
- features: &WasmFeatures,
1485
- types: &mut TypeAlloc,
1486
- offset: usize,
1487
- ) -> Result<ModuleType> {
1488
- let mut state = Module::default();
1489
-
1490
- for decl in decls {
1491
- match decl {
1492
- crate::ModuleTypeDeclaration::Type(ty) => {
1493
- state.add_types(
1494
- RecGroup::implicit(offset, ty),
1495
- features,
1496
- types,
1497
- offset,
1498
- true,
1499
- )?;
1500
- }
1501
- crate::ModuleTypeDeclaration::Export { name, mut ty } => {
1502
- let ty = state.check_type_ref(&mut ty, features, types, offset)?;
1503
- state.add_export(name, ty, features, offset, true, types)?;
1504
- }
1505
- crate::ModuleTypeDeclaration::OuterAlias { kind, count, index } => {
1506
- if count > 1 {
1507
- return Err(BinaryReaderError::new(
1508
- "outer type aliases in module type declarations are limited to a \
1509
- maximum count of 1",
1510
- offset,
1511
- ));
1512
- }
1513
- match kind {
1514
- crate::OuterAliasKind::Type => {
1515
- let ty = if count == 0 {
1516
- // Local alias, check the local module state
1517
- ComponentCoreTypeId::Sub(state.type_id_at(index, offset)?)
1518
- } else {
1519
- // Otherwise, check the enclosing component state
1520
- let component =
1521
- Self::check_alias_count(components, count - 1, offset)?;
1522
- component.core_type_at(index, offset)?
1523
- };
1524
-
1525
- check_max(state.types.len(), 1, MAX_WASM_TYPES, "types", offset)?;
1526
-
1527
- match ty {
1528
- ComponentCoreTypeId::Sub(ty) => state.types.push(ty),
1529
- // TODO https://github.com/WebAssembly/component-model/issues/265
1530
- ComponentCoreTypeId::Module(_) => bail!(
1531
- offset,
1532
- "not implemented: aliasing core module types into a core \
1533
- module's types index space"
1534
- ),
1535
- }
1536
- }
1537
- }
1538
- }
1539
- crate::ModuleTypeDeclaration::Import(import) => {
1540
- state.add_import(import, features, types, offset)?;
1541
- }
1542
- }
1543
- }
1544
-
1545
- let imports = state.imports_for_module_type(offset)?;
1546
-
1547
- Ok(ModuleType {
1548
- info: TypeInfo::core(state.type_size),
1549
- imports,
1550
- exports: state.exports,
1551
- })
1552
- }
1553
-
1554
- fn create_component_type(
1555
- components: &mut Vec<Self>,
1556
- decls: Vec<crate::ComponentTypeDeclaration>,
1557
- features: &WasmFeatures,
1558
- types: &mut TypeAlloc,
1559
- offset: usize,
1560
- ) -> Result<ComponentType> {
1561
- components.push(ComponentState::new(ComponentKind::ComponentType));
1562
-
1563
- for decl in decls {
1564
- match decl {
1565
- crate::ComponentTypeDeclaration::CoreType(ty) => {
1566
- Self::add_core_type(components, ty, features, types, offset, true)?;
1567
- }
1568
- crate::ComponentTypeDeclaration::Type(ty) => {
1569
- Self::add_type(components, ty, features, types, offset, true)?;
1570
- }
1571
- crate::ComponentTypeDeclaration::Export { name, ty } => {
1572
- let current = components.last_mut().unwrap();
1573
- let ty = current.check_type_ref(&ty, features, types, offset)?;
1574
- current.add_export(name, ty, features, types, offset, true)?;
1575
- }
1576
- crate::ComponentTypeDeclaration::Import(import) => {
1577
- components
1578
- .last_mut()
1579
- .unwrap()
1580
- .add_import(import, features, types, offset)?;
1581
- }
1582
- crate::ComponentTypeDeclaration::Alias(alias) => {
1583
- Self::add_alias(components, alias, features, types, offset)?;
1584
- }
1585
- };
1586
- }
1587
-
1588
- components.pop().unwrap().finish(types, offset)
1589
- }
1590
-
1591
- fn create_instance_type(
1592
- components: &mut Vec<Self>,
1593
- decls: Vec<crate::InstanceTypeDeclaration>,
1594
- features: &WasmFeatures,
1595
- types: &mut TypeAlloc,
1596
- offset: usize,
1597
- ) -> Result<ComponentInstanceType> {
1598
- components.push(ComponentState::new(ComponentKind::InstanceType));
1599
-
1600
- for decl in decls {
1601
- match decl {
1602
- crate::InstanceTypeDeclaration::CoreType(ty) => {
1603
- Self::add_core_type(components, ty, features, types, offset, true)?;
1604
- }
1605
- crate::InstanceTypeDeclaration::Type(ty) => {
1606
- Self::add_type(components, ty, features, types, offset, true)?;
1607
- }
1608
- crate::InstanceTypeDeclaration::Export { name, ty } => {
1609
- let current = components.last_mut().unwrap();
1610
- let ty = current.check_type_ref(&ty, features, types, offset)?;
1611
- current.add_export(name, ty, features, types, offset, true)?;
1612
- }
1613
- crate::InstanceTypeDeclaration::Alias(alias) => {
1614
- Self::add_alias(components, alias, features, types, offset)?;
1615
- }
1616
- };
1617
- }
1618
-
1619
- let mut state = components.pop().unwrap();
1620
-
1621
- assert!(state.imported_resources.is_empty());
1622
-
1623
- Ok(ComponentInstanceType {
1624
- info: state.type_info,
1625
-
1626
- // The defined resources for this instance type are those listed on
1627
- // the component state. The path to each defined resource is
1628
- // guaranteed to live within the `explicit_resources` map since,
1629
- // when in the type context, the introduction of any defined
1630
- // resource must have been done with `(export "x" (type (sub
1631
- // resource)))` which, in a sense, "fuses" the introduction of the
1632
- // variable with the export. This means that all defined resources,
1633
- // if any, should be guaranteed to have an `explicit_resources` path
1634
- // listed.
1635
- defined_resources: mem::take(&mut state.defined_resources)
1636
- .into_iter()
1637
- .map(|(id, rep)| {
1638
- assert!(rep.is_none());
1639
- id
1640
- })
1641
- .collect(),
1642
-
1643
- // The map of what resources are explicitly exported and where
1644
- // they're exported is plumbed through as-is.
1645
- explicit_resources: mem::take(&mut state.explicit_resources),
1646
-
1647
- exports: mem::take(&mut state.exports),
1648
- })
1649
- }
1650
-
1651
- fn create_function_type(
1652
- &self,
1653
- ty: crate::ComponentFuncType,
1654
- types: &TypeList,
1655
- offset: usize,
1656
- ) -> Result<ComponentFuncType> {
1657
- let mut info = TypeInfo::new();
1658
-
1659
- let mut set = HashSet::default();
1660
- set.reserve(core::cmp::max(ty.params.len(), ty.results.type_count()));
1661
-
1662
- let params = ty
1663
- .params
1664
- .iter()
1665
- .map(|(name, ty)| {
1666
- let name = to_kebab_str(name, "function parameter", offset)?;
1667
- if !set.insert(name) {
1668
- bail!(
1669
- offset,
1670
- "function parameter name `{name}` conflicts with previous parameter name `{prev}`",
1671
- prev = set.get(&name).unwrap(),
1672
- );
1673
- }
1674
-
1675
- let ty = self.create_component_val_type(*ty, offset)?;
1676
- info.combine(ty.info(types), offset)?;
1677
- Ok((name.to_owned(), ty))
1678
- })
1679
- .collect::<Result<_>>()?;
1680
-
1681
- set.clear();
1682
-
1683
- let results = ty
1684
- .results
1685
- .iter()
1686
- .map(|(name, ty)| {
1687
- let name = name
1688
- .map(|name| {
1689
- let name = to_kebab_str(name, "function result", offset)?;
1690
- if !set.insert(name) {
1691
- bail!(
1692
- offset,
1693
- "function result name `{name}` conflicts with previous result name `{prev}`",
1694
- prev = set.get(name).unwrap(),
1695
- );
1696
- }
1697
-
1698
- Ok(name.to_owned())
1699
- })
1700
- .transpose()?;
1701
-
1702
- let ty = self.create_component_val_type(*ty, offset)?;
1703
- let ty_info = ty.info(types);
1704
- if ty_info.contains_borrow() {
1705
- bail!(offset, "function result cannot contain a `borrow` type");
1706
- }
1707
- info.combine(ty.info(types), offset)?;
1708
- Ok((name, ty))
1709
- })
1710
- .collect::<Result<_>>()?;
1711
-
1712
- Ok(ComponentFuncType {
1713
- info,
1714
- params,
1715
- results,
1716
- })
1717
- }
1718
-
1719
- fn instantiate_core_module(
1720
- &self,
1721
- module_index: u32,
1722
- module_args: Vec<crate::InstantiationArg>,
1723
- types: &mut TypeAlloc,
1724
- offset: usize,
1725
- ) -> Result<ComponentCoreInstanceTypeId> {
1726
- fn insert_arg<'a>(
1727
- name: &'a str,
1728
- arg: &'a InstanceType,
1729
- args: &mut IndexMap<&'a str, &'a InstanceType>,
1730
- offset: usize,
1731
- ) -> Result<()> {
1732
- if args.insert(name, arg).is_some() {
1733
- bail!(
1734
- offset,
1735
- "duplicate module instantiation argument named `{name}`"
1736
- );
1737
- }
1738
-
1739
- Ok(())
1740
- }
1741
-
1742
- let module_type_id = self.module_at(module_index, offset)?;
1743
- let mut args = IndexMap::default();
1744
-
1745
- // Populate the arguments
1746
- for module_arg in module_args {
1747
- match module_arg.kind {
1748
- InstantiationArgKind::Instance => {
1749
- let instance_type = &types[self.core_instance_at(module_arg.index, offset)?];
1750
- insert_arg(module_arg.name, instance_type, &mut args, offset)?;
1751
- }
1752
- }
1753
- }
1754
-
1755
- // Validate the arguments
1756
- let module_type = &types[module_type_id];
1757
- let cx = SubtypeCx::new(types, types);
1758
- for ((module, name), expected) in module_type.imports.iter() {
1759
- let instance = args.get(module.as_str()).ok_or_else(|| {
1760
- format_err!(
1761
- offset,
1762
- "missing module instantiation argument named `{module}`"
1763
- )
1764
- })?;
1765
-
1766
- let arg = instance
1767
- .internal_exports(types)
1768
- .get(name.as_str())
1769
- .ok_or_else(|| {
1770
- format_err!(
1771
- offset,
1772
- "module instantiation argument `{module}` does not \
1773
- export an item named `{name}`",
1774
- )
1775
- })?;
1776
-
1777
- cx.entity_type(arg, expected, offset).with_context(|| {
1778
- format!(
1779
- "type mismatch for export `{name}` of module \
1780
- instantiation argument `{module}`"
1781
- )
1782
- })?;
1783
- }
1784
-
1785
- let mut info = TypeInfo::new();
1786
- for (_, ty) in module_type.exports.iter() {
1787
- info.combine(ty.info(types), offset)?;
1788
- }
1789
-
1790
- Ok(types.push_ty(InstanceType {
1791
- info,
1792
- kind: CoreInstanceTypeKind::Instantiated(module_type_id),
1793
- }))
1794
- }
1795
-
1796
- fn instantiate_component(
1797
- &mut self,
1798
- component_index: u32,
1799
- component_args: Vec<crate::ComponentInstantiationArg>,
1800
- features: &WasmFeatures,
1801
- types: &mut TypeAlloc,
1802
- offset: usize,
1803
- ) -> Result<ComponentInstanceTypeId> {
1804
- let component_type_id = self.component_at(component_index, offset)?;
1805
- let mut args = IndexMap::default();
1806
-
1807
- // Populate the arguments
1808
- for component_arg in component_args {
1809
- let ty = match component_arg.kind {
1810
- ComponentExternalKind::Module => {
1811
- ComponentEntityType::Module(self.module_at(component_arg.index, offset)?)
1812
- }
1813
- ComponentExternalKind::Component => {
1814
- ComponentEntityType::Component(self.component_at(component_arg.index, offset)?)
1815
- }
1816
- ComponentExternalKind::Instance => {
1817
- ComponentEntityType::Instance(self.instance_at(component_arg.index, offset)?)
1818
- }
1819
- ComponentExternalKind::Func => {
1820
- ComponentEntityType::Func(self.function_at(component_arg.index, offset)?)
1821
- }
1822
- ComponentExternalKind::Value => {
1823
- self.check_value_support(features, offset)?;
1824
- ComponentEntityType::Value(*self.value_at(component_arg.index, offset)?)
1825
- }
1826
- ComponentExternalKind::Type => {
1827
- let ty = self.component_type_at(component_arg.index, offset)?;
1828
- ComponentEntityType::Type {
1829
- referenced: ty,
1830
- created: ty,
1831
- }
1832
- }
1833
- };
1834
- match args.entry(component_arg.name.to_string()) {
1835
- Entry::Occupied(e) => {
1836
- bail!(
1837
- offset,
1838
- "instantiation argument `{name}` conflicts with previous argument `{prev}`",
1839
- prev = e.key(),
1840
- name = component_arg.name
1841
- );
1842
- }
1843
- Entry::Vacant(e) => {
1844
- e.insert(ty);
1845
- }
1846
- }
1847
- }
1848
-
1849
- // Here comes the fun part of the component model, we're instantiating
1850
- // the component with type `component_type_id` with the `args`
1851
- // specified. Easy enough!
1852
- //
1853
- // This operation, however, is one of the lynchpins of safety in the
1854
- // component model. Additionally what this ends up implementing ranges
1855
- // from "well just check the types are equal" to "let's have a
1856
- // full-blown ML-style module type system in the component model". There
1857
- // are primarily two major tricky pieces to the component model which
1858
- // make this operation, instantiating components, hard:
1859
- //
1860
- // 1. Components can import and exports other components. This means
1861
- // that arguments to instantiation are along the lines of functions
1862
- // being passed to functions or similar. Effectively this means that
1863
- // the term "variance" comes into play with either contravariance
1864
- // or covariance depending on where you are in typechecking. This is
1865
- // one of the main rationales, however, that this check below is a
1866
- // check for subtyping as opposed to exact type equivalence. For
1867
- // example an instance that exports something is a subtype of an
1868
- // instance that exports nothing. Components get a bit trick since
1869
- // they both have imports and exports. My way of thinking about it
1870
- // is "who's asking for what". If you're asking for imports then
1871
- // I need to at least supply those imports, but I can possibly
1872
- // supply more. If you're asking for a thing which you'll give a set
1873
- // of imports, then I can give you something which takes less imports
1874
- // because what you give still suffices. (things like that). The
1875
- // real complication with components, however, comes with...
1876
- //
1877
- // 2. Resources. Resources in the component model are akin to "abstract
1878
- // types". They're not abstract in the sense that they have no
1879
- // representation, they're always backed by a 32-bit integer right
1880
- // now. Instead they're abstract in the sense that some components
1881
- // aren't allowed to understand the representation of a resource.
1882
- // For example if you import a resource you can't get the underlying
1883
- // internals of it. Furthermore the resource is strictly tracked
1884
- // within the component with `own` and `borrow` runtime semantics.
1885
- // The hardest part about resources, though, is handling them as
1886
- // part of instantiation and subtyping.
1887
- //
1888
- // For example one major aspect of resources is that if a component
1889
- // exports a resource then each instantiation of the component
1890
- // produces a fresh resource type. This means that the type recorded
1891
- // for the instantiation here can't simply be "I instantiated
1892
- // component X" since in such a situation the type of all
1893
- // instantiations would be the same, which they aren't.
1894
- //
1895
- // This sort of subtelty comes up quite frequently for resources.
1896
- // This file contains references to `imported_resources` and
1897
- // `defined_resources` for example which refer to the formal
1898
- // nature of components and their abstract variables. Specifically
1899
- // for instantiation though we're eventually faced with the problem
1900
- // of subtype checks where resource subtyping is defined as "does
1901
- // your id equal mine". Naively implemented that means anything with
1902
- // resources isn't subtypes of anything else since resource ids are
1903
- // unique between components. Instead what actually needs to happen
1904
- // is types need to be substituted.
1905
- //
1906
- // Much of the complexity here is not actually apparent here in this
1907
- // literal one function. Instead it's spread out across validation
1908
- // in this file and type-checking in the `types.rs` module. Note that
1909
- // the "spread out" nature isn't because we're bad maintainers
1910
- // (hopefully), but rather it's quite infectious how many parts need
1911
- // to handle resources and account for defined/imported variables.
1912
- //
1913
- // For example only one subtyping method is called here where `args` is
1914
- // passed in. This method is quite recursive in its nature though and
1915
- // will internally touch all the fields that this file maintains to
1916
- // end up putting into various bits and pieces of type information.
1917
- //
1918
- // Unfortunately there's probably not really a succinct way to read
1919
- // this method and understand everything. If you've written ML module
1920
- // type systems this will probably look quite familiar, but otherwise
1921
- // the whole system is not really easily approachable at this time. It's
1922
- // hoped in the future that there's a formalism to refer to which will
1923
- // make things more clear as the code would be able to reference this
1924
- // hypothetical formalism. Until that's the case, though, these
1925
- // comments are hopefully enough when augmented with communication with
1926
- // the authors.
1927
-
1928
- let component_type = &types[component_type_id];
1929
- let mut exports = component_type.exports.clone();
1930
- let mut info = TypeInfo::new();
1931
- for (_, ty) in component_type.exports.iter() {
1932
- info.combine(ty.info(types), offset)?;
1933
- }
1934
-
1935
- // Perform the subtype check that `args` matches the imports of
1936
- // `component_type_id`. The result of this subtype check is the
1937
- // production of a mapping of resource types from the imports to the
1938
- // arguments provided. This is a substitution map which is then used
1939
- // below to perform a substitution into the exports of the instance
1940
- // since the types of the exports are now in terms of whatever was
1941
- // supplied as imports.
1942
- let mut mapping = SubtypeCx::new(types, types).open_instance_type(
1943
- &args,
1944
- component_type_id,
1945
- ExternKind::Import,
1946
- offset,
1947
- )?;
1948
-
1949
- // Part of the instantiation of a component is that all of its
1950
- // defined resources become "fresh" on each instantiation. This
1951
- // means that each instantiation of a component gets brand new type
1952
- // variables representing its defined resources, modeling that each
1953
- // instantiation produces distinct types. The freshening is performed
1954
- // here by allocating new ids and inserting them into `mapping`.
1955
- //
1956
- // Note that technically the `mapping` from subtyping should be applied
1957
- // first and then the mapping for freshening should be applied
1958
- // afterwards. The keys of the map from subtyping are the imported
1959
- // resources from this component which are disjoint from its defined
1960
- // resources. That means it should be possible to place everything
1961
- // into one large map which maps from:
1962
- //
1963
- // * the component's imported resources go to whatever was explicitly
1964
- // supplied in the import map
1965
- // * the component's defined resources go to fresh new resources
1966
- //
1967
- // These two remapping operations can then get folded into one by
1968
- // placing everything in the same `mapping` and using that for a remap
1969
- // only once.
1970
- let fresh_defined_resources = (0..component_type.defined_resources.len())
1971
- .map(|_| types.alloc_resource_id().resource())
1972
- .collect::<IndexSet<_>>();
1973
- let component_type = &types[component_type_id];
1974
- for ((old, _path), new) in component_type
1975
- .defined_resources
1976
- .iter()
1977
- .zip(&fresh_defined_resources)
1978
- {
1979
- let prev = mapping.resources.insert(*old, *new);
1980
- assert!(prev.is_none());
1981
- }
1982
-
1983
- // Perform the remapping operation over all the exports that will be
1984
- // listed for the final instance type. Note that this is performed
1985
- // both for all the export types in addition to the explicitly exported
1986
- // resources list.
1987
- //
1988
- // Note that this is a crucial step of the instantiation process which
1989
- // is intentionally transforming the type of a component based on the
1990
- // variables provided by imports and additionally ensuring that all
1991
- // references to the component's defined resources are rebound to the
1992
- // fresh ones introduced just above.
1993
- for entity in exports.values_mut() {
1994
- types.remap_component_entity(entity, &mut mapping);
1995
- }
1996
- let component_type = &types[component_type_id];
1997
- let explicit_resources = component_type
1998
- .explicit_resources
1999
- .iter()
2000
- .map(|(id, path)| {
2001
- (
2002
- mapping.resources.get(id).copied().unwrap_or(*id),
2003
- path.clone(),
2004
- )
2005
- })
2006
- .collect::<IndexMap<_, _>>();
2007
-
2008
- // Technically in the last formalism that was consulted in writing this
2009
- // implementation there are two further steps that are part of the
2010
- // instantiation process:
2011
- //
2012
- // 1. The set of defined resources from the instance created, which are
2013
- // added to the outer component, is the subset of the instance's
2014
- // original defined resources and the free variables of the exports.
2015
- //
2016
- // 2. Each element of this subset is required to be "explicit in" the
2017
- // instance, or otherwise explicitly exported somewhere within the
2018
- // instance.
2019
- //
2020
- // With the syntactic structure of the component model, however, neither
2021
- // of these conditions should be necessary. The main reason for this is
2022
- // that this function is specifically dealing with instantiation of
2023
- // components which should already have these properties validated
2024
- // about them. Subsequently we shouldn't have to re-check them.
2025
- //
2026
- // In debug mode, however, do a sanity check.
2027
- if cfg!(debug_assertions) {
2028
- let mut free = IndexSet::default();
2029
- for ty in exports.values() {
2030
- types.free_variables_component_entity(ty, &mut free);
2031
- }
2032
- assert!(fresh_defined_resources.is_subset(&free));
2033
- for resource in fresh_defined_resources.iter() {
2034
- assert!(explicit_resources.contains_key(resource));
2035
- }
2036
- }
2037
-
2038
- // And as the final step of the instantiation process all of the
2039
- // new defined resources from this component instantiation are moved
2040
- // onto `self`. Note that concrete instances never have defined
2041
- // resources (see more comments in `instantiate_exports`) so the
2042
- // `defined_resources` listing in the final type is always empty. This
2043
- // represents how by having a concrete instance the definitions
2044
- // referred to in that instance are now problems for the outer
2045
- // component rather than the inner instance since the instance is bound
2046
- // to the component.
2047
- //
2048
- // All defined resources here have no known representation, so they're
2049
- // all listed with `None`. Also note that none of the resources were
2050
- // exported yet so `self.explicit_resources` is not updated yet. If
2051
- // this instance is exported, however, it'll consult the type's
2052
- // `explicit_resources` array and use that appropriately.
2053
- for resource in fresh_defined_resources {
2054
- self.defined_resources.insert(resource, None);
2055
- }
2056
-
2057
- Ok(types.push_ty(ComponentInstanceType {
2058
- info,
2059
- defined_resources: Default::default(),
2060
- explicit_resources,
2061
- exports,
2062
- }))
2063
- }
2064
-
2065
- fn instantiate_component_exports(
2066
- &mut self,
2067
- exports: Vec<crate::ComponentExport>,
2068
- features: &WasmFeatures,
2069
- types: &mut TypeAlloc,
2070
- offset: usize,
2071
- ) -> Result<ComponentInstanceTypeId> {
2072
- let mut info = TypeInfo::new();
2073
- let mut inst_exports = IndexMap::default();
2074
- let mut explicit_resources = IndexMap::default();
2075
- let mut export_names = IndexSet::default();
2076
-
2077
- // NB: It's intentional that this context is empty since no indices are
2078
- // introduced in the bag-of-exports construct which means there's no
2079
- // way syntactically to register something inside of this.
2080
- let names = ComponentNameContext::default();
2081
-
2082
- for export in exports {
2083
- assert!(export.ty.is_none());
2084
- let ty = match export.kind {
2085
- ComponentExternalKind::Module => {
2086
- ComponentEntityType::Module(self.module_at(export.index, offset)?)
2087
- }
2088
- ComponentExternalKind::Component => {
2089
- ComponentEntityType::Component(self.component_at(export.index, offset)?)
2090
- }
2091
- ComponentExternalKind::Instance => {
2092
- let ty = self.instance_at(export.index, offset)?;
2093
-
2094
- // When an instance is exported from an instance then
2095
- // all explicitly exported resources on the sub-instance are
2096
- // now also listed as exported resources on the outer
2097
- // instance, just with one more element in their path.
2098
- explicit_resources.extend(types[ty].explicit_resources.iter().map(
2099
- |(id, path)| {
2100
- let mut new_path = vec![inst_exports.len()];
2101
- new_path.extend(path);
2102
- (*id, new_path)
2103
- },
2104
- ));
2105
- ComponentEntityType::Instance(ty)
2106
- }
2107
- ComponentExternalKind::Func => {
2108
- ComponentEntityType::Func(self.function_at(export.index, offset)?)
2109
- }
2110
- ComponentExternalKind::Value => {
2111
- self.check_value_support(features, offset)?;
2112
- ComponentEntityType::Value(*self.value_at(export.index, offset)?)
2113
- }
2114
- ComponentExternalKind::Type => {
2115
- let ty = self.component_type_at(export.index, offset)?;
2116
- // If this is an export of a resource type be sure to
2117
- // record that in the explicit list with the appropriate
2118
- // path because if this instance ends up getting used
2119
- // it'll count towards the "explicit in" check.
2120
- if let ComponentAnyTypeId::Resource(id) = ty {
2121
- explicit_resources.insert(id.resource(), vec![inst_exports.len()]);
2122
- }
2123
- ComponentEntityType::Type {
2124
- referenced: ty,
2125
- // The created type index here isn't used anywhere
2126
- // in index spaces because a "bag of exports"
2127
- // doesn't build up its own index spaces. Just fill
2128
- // in the same index here in this case as what's
2129
- // referenced.
2130
- created: ty,
2131
- }
2132
- }
2133
- };
2134
-
2135
- names.validate_extern(
2136
- export.name.0,
2137
- ExternKind::Export,
2138
- &ty,
2139
- types,
2140
- offset,
2141
- &mut export_names,
2142
- &mut inst_exports,
2143
- &mut info,
2144
- features,
2145
- )?;
2146
- }
2147
-
2148
- Ok(types.push_ty(ComponentInstanceType {
2149
- info,
2150
- explicit_resources,
2151
- exports: inst_exports,
2152
-
2153
- // NB: the list of defined resources for this instance itself
2154
- // is always empty. Even if this instance exports resources,
2155
- // it's empty.
2156
- //
2157
- // The reason for this is a bit subtle. The general idea, though, is
2158
- // that the defined resources list here is only used for instance
2159
- // types that are sort of "floating around" and haven't actually
2160
- // been attached to something yet. For example when an instance type
2161
- // is simply declared it can have defined resources introduced
2162
- // through `(export "name" (type (sub resource)))`. These
2163
- // definitions, however, are local to the instance itself and aren't
2164
- // defined elsewhere.
2165
- //
2166
- // Here, though, no new definitions were introduced. The instance
2167
- // created here is a "bag of exports" which could only refer to
2168
- // preexisting items. This means that inherently no new resources
2169
- // were created so there's nothing to put in this list. Any
2170
- // resources referenced by the instance must be bound by the outer
2171
- // component context or further above.
2172
- //
2173
- // Furthermore, however, actual instances of instances, which this
2174
- // is, aren't allowed to have defined resources. Instead the
2175
- // resources would have to be injected into the outer component
2176
- // enclosing the instance. That means that even if bag-of-exports
2177
- // could declare a new resource then the resource would be moved
2178
- // from here to `self.defined_resources`. This doesn't exist at this
2179
- // time, though, so this still remains empty and
2180
- // `self.defined_resources` remains unperturbed.
2181
- defined_resources: Default::default(),
2182
- }))
2183
- }
2184
-
2185
- fn instantiate_core_exports(
2186
- &mut self,
2187
- exports: Vec<crate::Export>,
2188
- types: &mut TypeAlloc,
2189
- offset: usize,
2190
- ) -> Result<ComponentCoreInstanceTypeId> {
2191
- fn insert_export(
2192
- types: &TypeList,
2193
- name: &str,
2194
- export: EntityType,
2195
- exports: &mut IndexMap<String, EntityType>,
2196
- info: &mut TypeInfo,
2197
- offset: usize,
2198
- ) -> Result<()> {
2199
- info.combine(export.info(types), offset)?;
2200
-
2201
- if exports.insert(name.to_string(), export).is_some() {
2202
- bail!(
2203
- offset,
2204
- "duplicate instantiation export name `{name}` already defined",
2205
- )
2206
- }
2207
-
2208
- Ok(())
2209
- }
2210
-
2211
- let mut info = TypeInfo::new();
2212
- let mut inst_exports = IndexMap::default();
2213
- for export in exports {
2214
- match export.kind {
2215
- ExternalKind::Func => {
2216
- insert_export(
2217
- types,
2218
- export.name,
2219
- EntityType::Func(self.core_function_at(export.index, offset)?),
2220
- &mut inst_exports,
2221
- &mut info,
2222
- offset,
2223
- )?;
2224
- }
2225
- ExternalKind::Table => insert_export(
2226
- types,
2227
- export.name,
2228
- EntityType::Table(*self.table_at(export.index, offset)?),
2229
- &mut inst_exports,
2230
- &mut info,
2231
- offset,
2232
- )?,
2233
- ExternalKind::Memory => insert_export(
2234
- types,
2235
- export.name,
2236
- EntityType::Memory(*self.memory_at(export.index, offset)?),
2237
- &mut inst_exports,
2238
- &mut info,
2239
- offset,
2240
- )?,
2241
- ExternalKind::Global => {
2242
- insert_export(
2243
- types,
2244
- export.name,
2245
- EntityType::Global(*self.global_at(export.index, offset)?),
2246
- &mut inst_exports,
2247
- &mut info,
2248
- offset,
2249
- )?;
2250
- }
2251
- ExternalKind::Tag => insert_export(
2252
- types,
2253
- export.name,
2254
- EntityType::Tag(self.core_function_at(export.index, offset)?),
2255
- &mut inst_exports,
2256
- &mut info,
2257
- offset,
2258
- )?,
2259
- }
2260
- }
2261
-
2262
- Ok(types.push_ty(InstanceType {
2263
- info,
2264
- kind: CoreInstanceTypeKind::Exports(inst_exports),
2265
- }))
2266
- }
2267
-
2268
- fn alias_core_instance_export(
2269
- &mut self,
2270
- instance_index: u32,
2271
- kind: ExternalKind,
2272
- name: &str,
2273
- types: &TypeList,
2274
- offset: usize,
2275
- ) -> Result<()> {
2276
- macro_rules! push_module_export {
2277
- ($expected:path, $collection:ident, $ty:literal) => {{
2278
- match self.core_instance_export(instance_index, name, types, offset)? {
2279
- $expected(ty) => {
2280
- self.$collection.push(*ty);
2281
- Ok(())
2282
- }
2283
- _ => {
2284
- bail!(
2285
- offset,
2286
- "export `{name}` for core instance {instance_index} is not a {}",
2287
- $ty
2288
- )
2289
- }
2290
- }
2291
- }};
2292
- }
2293
-
2294
- match kind {
2295
- ExternalKind::Func => {
2296
- check_max(
2297
- self.function_count(),
2298
- 1,
2299
- MAX_WASM_FUNCTIONS,
2300
- "functions",
2301
- offset,
2302
- )?;
2303
- push_module_export!(EntityType::Func, core_funcs, "function")
2304
- }
2305
- ExternalKind::Table => {
2306
- check_max(
2307
- self.core_tables.len(),
2308
- 1,
2309
- MAX_CORE_INDEX_SPACE_ITEMS,
2310
- "tables",
2311
- offset,
2312
- )?;
2313
- push_module_export!(EntityType::Table, core_tables, "table")
2314
- }
2315
- ExternalKind::Memory => {
2316
- check_max(
2317
- self.core_memories.len(),
2318
- 1,
2319
- MAX_CORE_INDEX_SPACE_ITEMS,
2320
- "memories",
2321
- offset,
2322
- )?;
2323
- push_module_export!(EntityType::Memory, core_memories, "memory")
2324
- }
2325
- ExternalKind::Global => {
2326
- check_max(
2327
- self.core_globals.len(),
2328
- 1,
2329
- MAX_CORE_INDEX_SPACE_ITEMS,
2330
- "globals",
2331
- offset,
2332
- )?;
2333
- push_module_export!(EntityType::Global, core_globals, "global")
2334
- }
2335
- ExternalKind::Tag => {
2336
- check_max(
2337
- self.core_tags.len(),
2338
- 1,
2339
- MAX_CORE_INDEX_SPACE_ITEMS,
2340
- "tags",
2341
- offset,
2342
- )?;
2343
- push_module_export!(EntityType::Tag, core_tags, "tag")
2344
- }
2345
- }
2346
- }
2347
-
2348
- fn alias_instance_export(
2349
- &mut self,
2350
- instance_index: u32,
2351
- kind: ComponentExternalKind,
2352
- name: &str,
2353
- features: &WasmFeatures,
2354
- types: &mut TypeAlloc,
2355
- offset: usize,
2356
- ) -> Result<()> {
2357
- if let ComponentExternalKind::Value = kind {
2358
- self.check_value_support(features, offset)?;
2359
- }
2360
- let mut ty = match types[self.instance_at(instance_index, offset)?]
2361
- .exports
2362
- .get(name)
2363
- {
2364
- Some(ty) => *ty,
2365
- None => bail!(
2366
- offset,
2367
- "instance {instance_index} has no export named `{name}`"
2368
- ),
2369
- };
2370
-
2371
- let ok = match (&ty, kind) {
2372
- (ComponentEntityType::Module(_), ComponentExternalKind::Module) => true,
2373
- (ComponentEntityType::Module(_), _) => false,
2374
- (ComponentEntityType::Component(_), ComponentExternalKind::Component) => true,
2375
- (ComponentEntityType::Component(_), _) => false,
2376
- (ComponentEntityType::Func(_), ComponentExternalKind::Func) => true,
2377
- (ComponentEntityType::Func(_), _) => false,
2378
- (ComponentEntityType::Instance(_), ComponentExternalKind::Instance) => true,
2379
- (ComponentEntityType::Instance(_), _) => false,
2380
- (ComponentEntityType::Value(_), ComponentExternalKind::Value) => true,
2381
- (ComponentEntityType::Value(_), _) => false,
2382
- (ComponentEntityType::Type { .. }, ComponentExternalKind::Type) => true,
2383
- (ComponentEntityType::Type { .. }, _) => false,
2384
- };
2385
- if !ok {
2386
- bail!(
2387
- offset,
2388
- "export `{name}` for instance {instance_index} is not a {}",
2389
- kind.desc(),
2390
- );
2391
- }
2392
-
2393
- self.add_entity(&mut ty, None, features, types, offset)?;
2394
- Ok(())
2395
- }
2396
-
2397
- fn alias_module(components: &mut [Self], count: u32, index: u32, offset: usize) -> Result<()> {
2398
- let component = Self::check_alias_count(components, count, offset)?;
2399
- let ty = component.module_at(index, offset)?;
2400
-
2401
- let current = components.last_mut().unwrap();
2402
- check_max(
2403
- current.core_modules.len(),
2404
- 1,
2405
- MAX_WASM_MODULES,
2406
- "modules",
2407
- offset,
2408
- )?;
2409
-
2410
- current.core_modules.push(ty);
2411
- Ok(())
2412
- }
2413
-
2414
- fn alias_component(
2415
- components: &mut [Self],
2416
- count: u32,
2417
- index: u32,
2418
- offset: usize,
2419
- ) -> Result<()> {
2420
- let component = Self::check_alias_count(components, count, offset)?;
2421
- let ty = component.component_at(index, offset)?;
2422
-
2423
- let current = components.last_mut().unwrap();
2424
- check_max(
2425
- current.components.len(),
2426
- 1,
2427
- MAX_WASM_COMPONENTS,
2428
- "components",
2429
- offset,
2430
- )?;
2431
-
2432
- current.components.push(ty);
2433
- Ok(())
2434
- }
2435
-
2436
- fn alias_core_type(
2437
- components: &mut [Self],
2438
- count: u32,
2439
- index: u32,
2440
- offset: usize,
2441
- ) -> Result<()> {
2442
- let component = Self::check_alias_count(components, count, offset)?;
2443
- let ty = component.core_type_at(index, offset)?;
2444
-
2445
- let current = components.last_mut().unwrap();
2446
- check_max(current.type_count(), 1, MAX_WASM_TYPES, "types", offset)?;
2447
-
2448
- current.core_types.push(ty);
2449
-
2450
- Ok(())
2451
- }
2452
-
2453
- fn alias_type(
2454
- components: &mut [Self],
2455
- count: u32,
2456
- index: u32,
2457
- types: &mut TypeAlloc,
2458
- offset: usize,
2459
- ) -> Result<()> {
2460
- let component = Self::check_alias_count(components, count, offset)?;
2461
- let ty = component.component_type_at(index, offset)?;
2462
-
2463
- // If `count` "crossed a component boundary", meaning that it went from
2464
- // one component to another, then this must additionally verify that
2465
- // `ty` has no free variables with respect to resources. This is
2466
- // intended to preserve the property for components where each component
2467
- // is an isolated unit that can theoretically be extracted from other
2468
- // components. If resources from other components were allowed to leak
2469
- // in then it would prevent that.
2470
- //
2471
- // This check is done by calculating the `pos` within `components` that
2472
- // our target `component` above was selected at. Once this is acquired
2473
- // the component to the "right" is checked, and if that's a component
2474
- // then it's considered as crossing a component boundary meaning the
2475
- // free variables check runs.
2476
- //
2477
- // The reason this works is that in the list of `ComponentState` types
2478
- // it's guaranteed that any `is_type` components are contiguous at the
2479
- // end of the array. This means that if state one level deeper than the
2480
- // target of this alias is a `!is_type` component, then the target must
2481
- // be a component as well. If the one-level deeper state `is_type` then
2482
- // the target is either a type or a component, both of which are valid
2483
- // (as aliases can reach the enclosing component and have as many free
2484
- // variables as they want).
2485
- let pos_after_component = components.len() - (count as usize);
2486
- if let Some(component) = components.get(pos_after_component) {
2487
- if component.kind == ComponentKind::Component {
2488
- let mut free = IndexSet::default();
2489
- types.free_variables_any_type_id(ty, &mut free);
2490
- if !free.is_empty() {
2491
- bail!(
2492
- offset,
2493
- "cannot alias outer type which transitively refers \
2494
- to resources not defined in the current component"
2495
- );
2496
- }
2497
- }
2498
- }
2499
-
2500
- let current = components.last_mut().unwrap();
2501
- check_max(current.type_count(), 1, MAX_WASM_TYPES, "types", offset)?;
2502
-
2503
- current.types.push(ty);
2504
-
2505
- Ok(())
2506
- }
2507
-
2508
- fn check_alias_count(components: &[Self], count: u32, offset: usize) -> Result<&Self> {
2509
- let count = count as usize;
2510
- if count >= components.len() {
2511
- bail!(offset, "invalid outer alias count of {count}");
2512
- }
2513
-
2514
- Ok(&components[components.len() - count - 1])
2515
- }
2516
-
2517
- fn create_defined_type(
2518
- &self,
2519
- ty: crate::ComponentDefinedType,
2520
- types: &TypeList,
2521
- offset: usize,
2522
- ) -> Result<ComponentDefinedType> {
2523
- match ty {
2524
- crate::ComponentDefinedType::Primitive(ty) => Ok(ComponentDefinedType::Primitive(ty)),
2525
- crate::ComponentDefinedType::Record(fields) => {
2526
- self.create_record_type(fields.as_ref(), types, offset)
2527
- }
2528
- crate::ComponentDefinedType::Variant(cases) => {
2529
- self.create_variant_type(cases.as_ref(), types, offset)
2530
- }
2531
- crate::ComponentDefinedType::List(ty) => Ok(ComponentDefinedType::List(
2532
- self.create_component_val_type(ty, offset)?,
2533
- )),
2534
- crate::ComponentDefinedType::Tuple(tys) => {
2535
- self.create_tuple_type(tys.as_ref(), types, offset)
2536
- }
2537
- crate::ComponentDefinedType::Flags(names) => {
2538
- self.create_flags_type(names.as_ref(), offset)
2539
- }
2540
- crate::ComponentDefinedType::Enum(cases) => {
2541
- self.create_enum_type(cases.as_ref(), offset)
2542
- }
2543
- crate::ComponentDefinedType::Option(ty) => Ok(ComponentDefinedType::Option(
2544
- self.create_component_val_type(ty, offset)?,
2545
- )),
2546
- crate::ComponentDefinedType::Result { ok, err } => Ok(ComponentDefinedType::Result {
2547
- ok: ok
2548
- .map(|ty| self.create_component_val_type(ty, offset))
2549
- .transpose()?,
2550
- err: err
2551
- .map(|ty| self.create_component_val_type(ty, offset))
2552
- .transpose()?,
2553
- }),
2554
- crate::ComponentDefinedType::Own(idx) => Ok(ComponentDefinedType::Own(
2555
- self.resource_at(idx, types, offset)?,
2556
- )),
2557
- crate::ComponentDefinedType::Borrow(idx) => Ok(ComponentDefinedType::Borrow(
2558
- self.resource_at(idx, types, offset)?,
2559
- )),
2560
- }
2561
- }
2562
-
2563
- fn create_record_type(
2564
- &self,
2565
- fields: &[(&str, crate::ComponentValType)],
2566
- types: &TypeList,
2567
- offset: usize,
2568
- ) -> Result<ComponentDefinedType> {
2569
- let mut info = TypeInfo::new();
2570
- let mut field_map = IndexMap::default();
2571
- field_map.reserve(fields.len());
2572
-
2573
- if fields.is_empty() {
2574
- bail!(offset, "record type must have at least one field");
2575
- }
2576
-
2577
- for (name, ty) in fields {
2578
- let name = to_kebab_str(name, "record field", offset)?;
2579
- let ty = self.create_component_val_type(*ty, offset)?;
2580
-
2581
- match field_map.entry(name.to_owned()) {
2582
- Entry::Occupied(e) => bail!(
2583
- offset,
2584
- "record field name `{name}` conflicts with previous field name `{prev}`",
2585
- prev = e.key()
2586
- ),
2587
- Entry::Vacant(e) => {
2588
- info.combine(ty.info(types), offset)?;
2589
- e.insert(ty);
2590
- }
2591
- }
2592
- }
2593
-
2594
- Ok(ComponentDefinedType::Record(RecordType {
2595
- info,
2596
- fields: field_map,
2597
- }))
2598
- }
2599
-
2600
- fn create_variant_type(
2601
- &self,
2602
- cases: &[crate::VariantCase],
2603
- types: &TypeList,
2604
- offset: usize,
2605
- ) -> Result<ComponentDefinedType> {
2606
- let mut info = TypeInfo::new();
2607
- let mut case_map: IndexMap<KebabString, VariantCase> = IndexMap::default();
2608
- case_map.reserve(cases.len());
2609
-
2610
- if cases.is_empty() {
2611
- bail!(offset, "variant type must have at least one case");
2612
- }
2613
-
2614
- if cases.len() > u32::MAX as usize {
2615
- return Err(BinaryReaderError::new(
2616
- "variant type cannot be represented with a 32-bit discriminant value",
2617
- offset,
2618
- ));
2619
- }
2620
-
2621
- for (i, case) in cases.iter().enumerate() {
2622
- if let Some(refines) = case.refines {
2623
- if refines >= i as u32 {
2624
- return Err(BinaryReaderError::new(
2625
- "variant case can only refine a previously defined case",
2626
- offset,
2627
- ));
2628
- }
2629
- }
2630
-
2631
- let name = to_kebab_str(case.name, "variant case", offset)?;
2632
-
2633
- let ty = case
2634
- .ty
2635
- .map(|ty| self.create_component_val_type(ty, offset))
2636
- .transpose()?;
2637
-
2638
- match case_map.entry(name.to_owned()) {
2639
- Entry::Occupied(e) => bail!(
2640
- offset,
2641
- "variant case name `{name}` conflicts with previous case name `{prev}`",
2642
- name = case.name,
2643
- prev = e.key()
2644
- ),
2645
- Entry::Vacant(e) => {
2646
- if let Some(ty) = ty {
2647
- info.combine(ty.info(types), offset)?;
2648
- }
2649
-
2650
- // Safety: the use of `KebabStr::new_unchecked` here is safe because the string
2651
- // was already verified to be kebab case.
2652
- e.insert(VariantCase {
2653
- ty,
2654
- refines: case
2655
- .refines
2656
- .map(|i| KebabStr::new_unchecked(cases[i as usize].name).to_owned()),
2657
- });
2658
- }
2659
- }
2660
- }
2661
-
2662
- Ok(ComponentDefinedType::Variant(VariantType {
2663
- info,
2664
- cases: case_map,
2665
- }))
2666
- }
2667
-
2668
- fn create_tuple_type(
2669
- &self,
2670
- tys: &[crate::ComponentValType],
2671
- types: &TypeList,
2672
- offset: usize,
2673
- ) -> Result<ComponentDefinedType> {
2674
- let mut info = TypeInfo::new();
2675
- if tys.is_empty() {
2676
- bail!(offset, "tuple type must have at least one type");
2677
- }
2678
- let types = tys
2679
- .iter()
2680
- .map(|ty| {
2681
- let ty = self.create_component_val_type(*ty, offset)?;
2682
- info.combine(ty.info(types), offset)?;
2683
- Ok(ty)
2684
- })
2685
- .collect::<Result<_>>()?;
2686
-
2687
- Ok(ComponentDefinedType::Tuple(TupleType { info, types }))
2688
- }
2689
-
2690
- fn create_flags_type(&self, names: &[&str], offset: usize) -> Result<ComponentDefinedType> {
2691
- let mut names_set = IndexSet::default();
2692
- names_set.reserve(names.len());
2693
-
2694
- if names.is_empty() {
2695
- bail!(offset, "flags must have at least one entry");
2696
- }
2697
-
2698
- for name in names {
2699
- let name = to_kebab_str(name, "flag", offset)?;
2700
- if !names_set.insert(name.to_owned()) {
2701
- bail!(
2702
- offset,
2703
- "flag name `{name}` conflicts with previous flag name `{prev}`",
2704
- prev = names_set.get(name).unwrap()
2705
- );
2706
- }
2707
- }
2708
-
2709
- Ok(ComponentDefinedType::Flags(names_set))
2710
- }
2711
-
2712
- fn create_enum_type(&self, cases: &[&str], offset: usize) -> Result<ComponentDefinedType> {
2713
- if cases.len() > u32::MAX as usize {
2714
- return Err(BinaryReaderError::new(
2715
- "enumeration type cannot be represented with a 32-bit discriminant value",
2716
- offset,
2717
- ));
2718
- }
2719
-
2720
- if cases.is_empty() {
2721
- bail!(offset, "enum type must have at least one variant");
2722
- }
2723
-
2724
- let mut tags = IndexSet::default();
2725
- tags.reserve(cases.len());
2726
-
2727
- for tag in cases {
2728
- let tag = to_kebab_str(tag, "enum tag", offset)?;
2729
- if !tags.insert(tag.to_owned()) {
2730
- bail!(
2731
- offset,
2732
- "enum tag name `{tag}` conflicts with previous tag name `{prev}`",
2733
- prev = tags.get(tag).unwrap()
2734
- );
2735
- }
2736
- }
2737
-
2738
- Ok(ComponentDefinedType::Enum(tags))
2739
- }
2740
-
2741
- fn create_component_val_type(
2742
- &self,
2743
- ty: crate::ComponentValType,
2744
- offset: usize,
2745
- ) -> Result<ComponentValType> {
2746
- Ok(match ty {
2747
- crate::ComponentValType::Primitive(pt) => ComponentValType::Primitive(pt),
2748
- crate::ComponentValType::Type(idx) => {
2749
- ComponentValType::Type(self.defined_type_at(idx, offset)?)
2750
- }
2751
- })
2752
- }
2753
-
2754
- pub fn core_type_at(&self, idx: u32, offset: usize) -> Result<ComponentCoreTypeId> {
2755
- self.core_types
2756
- .get(idx as usize)
2757
- .copied()
2758
- .ok_or_else(|| format_err!(offset, "unknown type {idx}: type index out of bounds"))
2759
- }
2760
-
2761
- pub fn component_type_at(&self, idx: u32, offset: usize) -> Result<ComponentAnyTypeId> {
2762
- self.types
2763
- .get(idx as usize)
2764
- .copied()
2765
- .ok_or_else(|| format_err!(offset, "unknown type {idx}: type index out of bounds"))
2766
- }
2767
-
2768
- fn function_type_at<'a>(
2769
- &self,
2770
- idx: u32,
2771
- types: &'a TypeList,
2772
- offset: usize,
2773
- ) -> Result<&'a ComponentFuncType> {
2774
- let id = self.component_type_at(idx, offset)?;
2775
- match id {
2776
- ComponentAnyTypeId::Func(id) => Ok(&types[id]),
2777
- _ => bail!(offset, "type index {idx} is not a function type"),
2778
- }
2779
- }
2780
-
2781
- fn function_at(&self, idx: u32, offset: usize) -> Result<ComponentFuncTypeId> {
2782
- self.funcs.get(idx as usize).copied().ok_or_else(|| {
2783
- format_err!(
2784
- offset,
2785
- "unknown function {idx}: function index out of bounds"
2786
- )
2787
- })
2788
- }
2789
-
2790
- fn component_at(&self, idx: u32, offset: usize) -> Result<ComponentTypeId> {
2791
- self.components.get(idx as usize).copied().ok_or_else(|| {
2792
- format_err!(
2793
- offset,
2794
- "unknown component {idx}: component index out of bounds"
2795
- )
2796
- })
2797
- }
2798
-
2799
- fn instance_at(&self, idx: u32, offset: usize) -> Result<ComponentInstanceTypeId> {
2800
- self.instances.get(idx as usize).copied().ok_or_else(|| {
2801
- format_err!(
2802
- offset,
2803
- "unknown instance {idx}: instance index out of bounds"
2804
- )
2805
- })
2806
- }
2807
-
2808
- fn value_at(&mut self, idx: u32, offset: usize) -> Result<&ComponentValType> {
2809
- match self.values.get_mut(idx as usize) {
2810
- Some((ty, used)) if !*used => {
2811
- *used = true;
2812
- Ok(ty)
2813
- }
2814
- Some(_) => bail!(offset, "value {idx} cannot be used more than once"),
2815
- None => bail!(offset, "unknown value {idx}: value index out of bounds"),
2816
- }
2817
- }
2818
-
2819
- fn defined_type_at(&self, idx: u32, offset: usize) -> Result<ComponentDefinedTypeId> {
2820
- match self.component_type_at(idx, offset)? {
2821
- ComponentAnyTypeId::Defined(id) => Ok(id),
2822
- _ => bail!(offset, "type index {idx} is not a defined type"),
2823
- }
2824
- }
2825
-
2826
- fn core_function_at(&self, idx: u32, offset: usize) -> Result<CoreTypeId> {
2827
- match self.core_funcs.get(idx as usize) {
2828
- Some(id) => Ok(*id),
2829
- None => bail!(
2830
- offset,
2831
- "unknown core function {idx}: function index out of bounds"
2832
- ),
2833
- }
2834
- }
2835
-
2836
- fn module_at(&self, idx: u32, offset: usize) -> Result<ComponentCoreModuleTypeId> {
2837
- match self.core_modules.get(idx as usize) {
2838
- Some(id) => Ok(*id),
2839
- None => bail!(offset, "unknown module {idx}: module index out of bounds"),
2840
- }
2841
- }
2842
-
2843
- fn core_instance_at(&self, idx: u32, offset: usize) -> Result<ComponentCoreInstanceTypeId> {
2844
- match self.core_instances.get(idx as usize) {
2845
- Some(id) => Ok(*id),
2846
- None => bail!(
2847
- offset,
2848
- "unknown core instance {idx}: instance index out of bounds"
2849
- ),
2850
- }
2851
- }
2852
-
2853
- fn core_instance_export<'a>(
2854
- &self,
2855
- instance_index: u32,
2856
- name: &str,
2857
- types: &'a TypeList,
2858
- offset: usize,
2859
- ) -> Result<&'a EntityType> {
2860
- match types[self.core_instance_at(instance_index, offset)?]
2861
- .internal_exports(types)
2862
- .get(name)
2863
- {
2864
- Some(export) => Ok(export),
2865
- None => bail!(
2866
- offset,
2867
- "core instance {instance_index} has no export named `{name}`"
2868
- ),
2869
- }
2870
- }
2871
-
2872
- fn global_at(&self, idx: u32, offset: usize) -> Result<&GlobalType> {
2873
- match self.core_globals.get(idx as usize) {
2874
- Some(t) => Ok(t),
2875
- None => bail!(offset, "unknown global {idx}: global index out of bounds"),
2876
- }
2877
- }
2878
-
2879
- fn table_at(&self, idx: u32, offset: usize) -> Result<&TableType> {
2880
- match self.core_tables.get(idx as usize) {
2881
- Some(t) => Ok(t),
2882
- None => bail!(offset, "unknown table {idx}: table index out of bounds"),
2883
- }
2884
- }
2885
-
2886
- fn memory_at(&self, idx: u32, offset: usize) -> Result<&MemoryType> {
2887
- match self.core_memories.get(idx as usize) {
2888
- Some(t) => Ok(t),
2889
- None => bail!(offset, "unknown memory {idx}: memory index out of bounds"),
2890
- }
2891
- }
2892
-
2893
- /// Completes the translation of this component, performing final
2894
- /// validation of its structure.
2895
- ///
2896
- /// This method is required to be called for translating all components.
2897
- /// Internally this will convert local data structures into a
2898
- /// `ComponentType` which is suitable to use to describe the type of this
2899
- /// component.
2900
- pub fn finish(&mut self, types: &TypeAlloc, offset: usize) -> Result<ComponentType> {
2901
- let mut ty = ComponentType {
2902
- // Inherit some fields based on translation of the component.
2903
- info: self.type_info,
2904
- imports: self.imports.clone(),
2905
- exports: self.exports.clone(),
2906
-
2907
- // This is filled in as a subset of `self.defined_resources`
2908
- // depending on what's actually used by the exports. See the
2909
- // bottom of this function.
2910
- defined_resources: Default::default(),
2911
-
2912
- // These are inherited directly from what was calculated for this
2913
- // component.
2914
- imported_resources: mem::take(&mut self.imported_resources)
2915
- .into_iter()
2916
- .collect(),
2917
- explicit_resources: mem::take(&mut self.explicit_resources),
2918
- };
2919
-
2920
- // Collect all "free variables", or resources, from the imports of this
2921
- // component. None of the resources defined within this component can
2922
- // be used as part of the exports. This set is then used to reject any
2923
- // of `self.defined_resources` which show up.
2924
- let mut free = IndexSet::default();
2925
- for ty in ty.imports.values() {
2926
- types.free_variables_component_entity(ty, &mut free);
2927
- }
2928
- for (resource, _path) in self.defined_resources.iter() {
2929
- // FIXME: this error message is quite opaque and doesn't indicate
2930
- // more contextual information such as:
2931
- //
2932
- // * what was the exported resource found in the imports
2933
- // * which import was the resource found within
2934
- //
2935
- // These are possible to calculate here if necessary, however.
2936
- if free.contains(resource) {
2937
- bail!(offset, "local resource type found in imports");
2938
- }
2939
- }
2940
-
2941
- // The next step in validation a component, with respect to resources,
2942
- // is to minimize the set of defined resources to only those that
2943
- // are actually used by the exports. This weeds out resources that are
2944
- // defined, used within a component, and never exported, for example.
2945
- //
2946
- // The free variables of all exports are inserted into the `free` set
2947
- // (which is reused from the imports after clearing it). The defined
2948
- // resources calculated for this component are then inserted into this
2949
- // type's list of defined resources if it's contained somewhere in
2950
- // the free variables.
2951
- //
2952
- // Note that at the same time all defined resources must be exported,
2953
- // somehow, transitively from this component. The `explicit_resources`
2954
- // map is consulted for this purpose which lists all explicitly
2955
- // exported resources in the component, regardless from whence they
2956
- // came. If not present in this map then it's not exported and an error
2957
- // is returned.
2958
- //
2959
- // NB: the "types are exported" check is probably sufficient nowadays
2960
- // that the check of the `explicit_resources` map is probably not
2961
- // necessary, but it's left here for completeness and out of an
2962
- // abundance of caution.
2963
- free.clear();
2964
- for ty in ty.exports.values() {
2965
- types.free_variables_component_entity(ty, &mut free);
2966
- }
2967
- for (id, _rep) in mem::take(&mut self.defined_resources) {
2968
- if !free.contains(&id) {
2969
- continue;
2970
- }
2971
-
2972
- let path = match ty.explicit_resources.get(&id).cloned() {
2973
- Some(path) => path,
2974
- // FIXME: this error message is quite opaque and doesn't
2975
- // indicate more contextual information such as:
2976
- //
2977
- // * which resource wasn't found in an export
2978
- // * which export has a reference to the resource
2979
- //
2980
- // These are possible to calculate here if necessary, however.
2981
- None => bail!(
2982
- offset,
2983
- "local resource type found in export but not exported itself"
2984
- ),
2985
- };
2986
-
2987
- ty.defined_resources.push((id, path));
2988
- }
2989
-
2990
- Ok(ty)
2991
- }
2992
-
2993
- fn check_value_support(&self, features: &WasmFeatures, offset: usize) -> Result<()> {
2994
- if !features.contains(WasmFeatures::COMPONENT_MODEL_VALUES) {
2995
- bail!(
2996
- offset,
2997
- "support for component model `value`s is not enabled"
2998
- );
2999
- }
3000
- Ok(())
3001
- }
3002
- }
3003
-
3004
- impl ComponentNameContext {
3005
- /// Registers that the resource `id` is named `name` within this context.
3006
- fn register(&mut self, name: &str, id: AliasableResourceId) {
3007
- let idx = self.all_resource_names.len();
3008
- let prev = self.resource_name_map.insert(id, idx);
3009
- assert!(
3010
- prev.is_none(),
3011
- "for {id:?}, inserted {idx:?} but already had {prev:?}"
3012
- );
3013
- self.all_resource_names.insert(name.to_string());
3014
- }
3015
-
3016
- fn validate_extern(
3017
- &self,
3018
- name: &str,
3019
- kind: ExternKind,
3020
- ty: &ComponentEntityType,
3021
- types: &TypeAlloc,
3022
- offset: usize,
3023
- kind_names: &mut IndexSet<ComponentName>,
3024
- items: &mut IndexMap<String, ComponentEntityType>,
3025
- info: &mut TypeInfo,
3026
- features: &WasmFeatures,
3027
- ) -> Result<()> {
3028
- // First validate that `name` is even a valid kebab name, meaning it's
3029
- // in kebab-case, is an ID, etc.
3030
- let kebab = ComponentName::new_with_features(name, offset, *features)
3031
- .with_context(|| format!("{} name `{name}` is not a valid extern name", kind.desc()))?;
3032
-
3033
- if let ExternKind::Export = kind {
3034
- match kebab.kind() {
3035
- ComponentNameKind::Label(_)
3036
- | ComponentNameKind::Method(_)
3037
- | ComponentNameKind::Static(_)
3038
- | ComponentNameKind::Constructor(_)
3039
- | ComponentNameKind::Interface(_) => {}
3040
-
3041
- ComponentNameKind::Hash(_)
3042
- | ComponentNameKind::Url(_)
3043
- | ComponentNameKind::Dependency(_) => {
3044
- bail!(offset, "name `{name}` is not a valid export name")
3045
- }
3046
- }
3047
- }
3048
-
3049
- // Validate that the kebab name, if it has structure such as
3050
- // `[method]a.b`, is indeed valid with respect to known resources.
3051
- self.validate(&kebab, ty, types, offset)
3052
- .with_context(|| format!("{} name `{kebab}` is not valid", kind.desc()))?;
3053
-
3054
- // Top-level kebab-names must all be unique, even between both imports
3055
- // and exports ot a component. For those names consult the `kebab_names`
3056
- // set.
3057
- if let Some(prev) = kind_names.replace(kebab.clone()) {
3058
- bail!(
3059
- offset,
3060
- "{} name `{kebab}` conflicts with previous name `{prev}`",
3061
- kind.desc()
3062
- );
3063
- }
3064
-
3065
- // Otherwise all strings must be unique, regardless of their name, so
3066
- // consult the `items` set to ensure that we're not for example
3067
- // importing the same interface ID twice.
3068
- match items.entry(name.to_string()) {
3069
- Entry::Occupied(e) => {
3070
- bail!(
3071
- offset,
3072
- "{kind} name `{name}` conflicts with previous name `{prev}`",
3073
- kind = kind.desc(),
3074
- prev = e.key(),
3075
- );
3076
- }
3077
- Entry::Vacant(e) => {
3078
- e.insert(*ty);
3079
- info.combine(ty.info(types), offset)?;
3080
- }
3081
- }
3082
- Ok(())
3083
- }
3084
-
3085
- /// Validates that the `name` provided is allowed to have the type `ty`.
3086
- fn validate(
3087
- &self,
3088
- name: &ComponentName,
3089
- ty: &ComponentEntityType,
3090
- types: &TypeAlloc,
3091
- offset: usize,
3092
- ) -> Result<()> {
3093
- let func = || {
3094
- let id = match ty {
3095
- ComponentEntityType::Func(id) => *id,
3096
- _ => bail!(offset, "item is not a func"),
3097
- };
3098
- Ok(&types[id])
3099
- };
3100
- match name.kind() {
3101
- // No validation necessary for these styles of names
3102
- ComponentNameKind::Label(_)
3103
- | ComponentNameKind::Interface(_)
3104
- | ComponentNameKind::Url(_)
3105
- | ComponentNameKind::Dependency(_)
3106
- | ComponentNameKind::Hash(_) => {}
3107
-
3108
- // Constructors must return `(own $resource)` and the `$resource`
3109
- // must be named within this context to match `rname`
3110
- ComponentNameKind::Constructor(rname) => {
3111
- let ty = func()?;
3112
- if ty.results.len() != 1 {
3113
- bail!(offset, "function should return one value");
3114
- }
3115
- let ty = ty.results[0].1;
3116
- let resource = match ty {
3117
- ComponentValType::Primitive(_) => None,
3118
- ComponentValType::Type(ty) => match &types[ty] {
3119
- ComponentDefinedType::Own(id) => Some(id),
3120
- _ => None,
3121
- },
3122
- };
3123
- let resource = match resource {
3124
- Some(id) => id,
3125
- None => bail!(offset, "function should return `(own $T)`"),
3126
- };
3127
- self.validate_resource_name(*resource, rname, offset)?;
3128
- }
3129
-
3130
- // Methods must take `(param "self" (borrow $resource))` as the
3131
- // first argument where `$resources` matches the name `resource` as
3132
- // named in this context.
3133
- ComponentNameKind::Method(name) => {
3134
- let ty = func()?;
3135
- if ty.params.len() == 0 {
3136
- bail!(offset, "function should have at least one argument");
3137
- }
3138
- let (pname, pty) = &ty.params[0];
3139
- if pname.as_str() != "self" {
3140
- bail!(
3141
- offset,
3142
- "function should have a first argument called `self`",
3143
- );
3144
- }
3145
- let id = match pty {
3146
- ComponentValType::Primitive(_) => None,
3147
- ComponentValType::Type(ty) => match &types[*ty] {
3148
- ComponentDefinedType::Borrow(id) => Some(id),
3149
- _ => None,
3150
- },
3151
- };
3152
- let id = match id {
3153
- Some(id) => id,
3154
- None => bail!(
3155
- offset,
3156
- "function should take a first argument of `(borrow $T)`"
3157
- ),
3158
- };
3159
- self.validate_resource_name(*id, name.resource(), offset)?;
3160
- }
3161
-
3162
- // Static methods don't have much validation beyond that they must
3163
- // be a function and the resource name referred to must already be
3164
- // in this context.
3165
- ComponentNameKind::Static(name) => {
3166
- func()?;
3167
- if !self.all_resource_names.contains(name.resource().as_str()) {
3168
- bail!(offset, "static resource name is not known in this context");
3169
- }
3170
- }
3171
- }
3172
-
3173
- Ok(())
3174
- }
3175
-
3176
- fn validate_resource_name(
3177
- &self,
3178
- id: AliasableResourceId,
3179
- name: &KebabStr,
3180
- offset: usize,
3181
- ) -> Result<()> {
3182
- let expected_name_idx = match self.resource_name_map.get(&id) {
3183
- Some(idx) => *idx,
3184
- None => {
3185
- bail!(
3186
- offset,
3187
- "resource used in function does not have a name in this context"
3188
- )
3189
- }
3190
- };
3191
- let expected_name = &self.all_resource_names[expected_name_idx];
3192
- if name.as_str() != expected_name {
3193
- bail!(
3194
- offset,
3195
- "function does not match expected \
3196
- resource name `{expected_name}`"
3197
- );
3198
- }
3199
- Ok(())
3200
- }
3201
- }
3202
-
3203
- use self::append_only::*;
3204
-
3205
- mod append_only {
3206
- use crate::prelude::IndexMap;
3207
- use core::hash::Hash;
3208
- use core::ops::Deref;
3209
-
3210
- pub struct IndexMapAppendOnly<K, V>(IndexMap<K, V>);
3211
-
3212
- impl<K, V> IndexMapAppendOnly<K, V>
3213
- where
3214
- K: Hash + Eq + PartialEq,
3215
- {
3216
- pub fn insert(&mut self, key: K, value: V) {
3217
- let prev = self.0.insert(key, value);
3218
- assert!(prev.is_none());
3219
- }
3220
- }
3221
-
3222
- impl<K, V> Deref for IndexMapAppendOnly<K, V> {
3223
- type Target = IndexMap<K, V>;
3224
- fn deref(&self) -> &IndexMap<K, V> {
3225
- &self.0
3226
- }
3227
- }
3228
-
3229
- impl<K, V> Default for IndexMapAppendOnly<K, V> {
3230
- fn default() -> Self {
3231
- Self(Default::default())
3232
- }
3233
- }
3234
-
3235
- impl<K, V> IntoIterator for IndexMapAppendOnly<K, V> {
3236
- type IntoIter = <IndexMap<K, V> as IntoIterator>::IntoIter;
3237
- type Item = <IndexMap<K, V> as IntoIterator>::Item;
3238
- fn into_iter(self) -> Self::IntoIter {
3239
- self.0.into_iter()
3240
- }
3241
- }
3242
- }