wasmtime 16.0.0 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1111) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +103 -79
  3. data/ext/Cargo.toml +7 -6
  4. data/ext/cargo-vendor/cranelift-bforest-0.104.0/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.104.0/Cargo.toml +40 -0
  6. data/ext/cargo-vendor/cranelift-codegen-0.104.0/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.104.0/Cargo.toml +175 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.104.0/build.rs +392 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isa/aarch64/inst.isle +4197 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isa/aarch64/lower/isle.rs +882 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isa/x64/abi.rs +1305 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isle_prelude.rs +957 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/machinst/isle.rs +908 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/machinst/mod.rs +558 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/machinst/pcc.rs +159 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/arithmetic.isle +169 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/bitops.isle +188 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/cprop.isle +248 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/extends.isle +116 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/icmp.isle +197 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/selects.isle +77 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/shifts.isle +307 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/spaceship.isle +194 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts.rs +265 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/prelude.isle +641 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/prelude_lower.isle +1073 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/prelude_opt.isle +134 -0
  28. data/ext/cargo-vendor/cranelift-codegen-meta-0.104.0/.cargo-checksum.json +1 -0
  29. data/ext/cargo-vendor/cranelift-codegen-meta-0.104.0/Cargo.toml +35 -0
  30. data/ext/cargo-vendor/cranelift-codegen-shared-0.104.0/.cargo-checksum.json +1 -0
  31. data/ext/cargo-vendor/cranelift-codegen-shared-0.104.0/Cargo.toml +22 -0
  32. data/ext/cargo-vendor/cranelift-control-0.104.0/.cargo-checksum.json +1 -0
  33. data/ext/cargo-vendor/cranelift-control-0.104.0/Cargo.toml +30 -0
  34. data/ext/cargo-vendor/cranelift-entity-0.104.0/.cargo-checksum.json +1 -0
  35. data/ext/cargo-vendor/cranelift-entity-0.104.0/Cargo.toml +50 -0
  36. data/ext/cargo-vendor/cranelift-entity-0.104.0/src/primary.rs +541 -0
  37. data/ext/cargo-vendor/cranelift-frontend-0.104.0/.cargo-checksum.json +1 -0
  38. data/ext/cargo-vendor/cranelift-frontend-0.104.0/Cargo.toml +68 -0
  39. data/ext/cargo-vendor/cranelift-isle-0.104.0/.cargo-checksum.json +1 -0
  40. data/ext/cargo-vendor/cranelift-isle-0.104.0/Cargo.toml +46 -0
  41. data/ext/cargo-vendor/cranelift-native-0.104.0/.cargo-checksum.json +1 -0
  42. data/ext/cargo-vendor/cranelift-native-0.104.0/Cargo.toml +43 -0
  43. data/ext/cargo-vendor/cranelift-wasm-0.104.0/.cargo-checksum.json +1 -0
  44. data/ext/cargo-vendor/cranelift-wasm-0.104.0/Cargo.toml +106 -0
  45. data/ext/cargo-vendor/cranelift-wasm-0.104.0/src/code_translator.rs +3646 -0
  46. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/.cargo-checksum.json +1 -0
  47. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/Cargo.toml +49 -0
  48. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/README.md +52 -0
  49. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/src/clocks.rs +56 -0
  50. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/src/lib.rs +24 -0
  51. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/src/noop_scheduler.rs +25 -0
  52. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/clocks.rs +33 -0
  53. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/common/mod.rs +33 -0
  54. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/random.rs +17 -0
  55. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/scheduler.rs +24 -0
  56. data/ext/cargo-vendor/rand_pcg-0.3.1/.cargo-checksum.json +1 -0
  57. data/ext/cargo-vendor/rand_pcg-0.3.1/CHANGELOG.md +37 -0
  58. data/ext/cargo-vendor/rand_pcg-0.3.1/COPYRIGHT +12 -0
  59. data/ext/cargo-vendor/rand_pcg-0.3.1/Cargo.toml +37 -0
  60. data/ext/cargo-vendor/rand_pcg-0.3.1/LICENSE-APACHE +201 -0
  61. data/ext/cargo-vendor/rand_pcg-0.3.1/LICENSE-MIT +26 -0
  62. data/ext/cargo-vendor/rand_pcg-0.3.1/README.md +42 -0
  63. data/ext/cargo-vendor/rand_pcg-0.3.1/src/lib.rs +45 -0
  64. data/ext/cargo-vendor/rand_pcg-0.3.1/src/pcg128.rs +296 -0
  65. data/ext/cargo-vendor/rand_pcg-0.3.1/src/pcg64.rs +166 -0
  66. data/ext/cargo-vendor/rand_pcg-0.3.1/tests/lcg128xsl64.rs +77 -0
  67. data/ext/cargo-vendor/rand_pcg-0.3.1/tests/lcg64xsh32.rs +70 -0
  68. data/ext/cargo-vendor/rand_pcg-0.3.1/tests/mcg128xsl64.rs +75 -0
  69. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.0/.cargo-checksum.json +1 -0
  70. data/ext/cargo-vendor/wasi-cap-std-sync-17.0.0/Cargo.toml +102 -0
  71. data/ext/cargo-vendor/wasi-common-17.0.0/.cargo-checksum.json +1 -0
  72. data/ext/cargo-vendor/wasi-common-17.0.0/Cargo.toml +131 -0
  73. data/ext/cargo-vendor/wasi-common-17.0.0/src/error.rs +26 -0
  74. data/ext/cargo-vendor/wasi-common-17.0.0/src/snapshots/preview_1/error.rs +266 -0
  75. data/ext/cargo-vendor/wasmtime-17.0.0/.cargo-checksum.json +1 -0
  76. data/ext/cargo-vendor/wasmtime-17.0.0/Cargo.toml +211 -0
  77. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/component.rs +545 -0
  78. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/instance.rs +815 -0
  79. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/linker.rs +580 -0
  80. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/matching.rs +215 -0
  81. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/mod.rs +351 -0
  82. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/resource_table.rs +350 -0
  83. data/ext/cargo-vendor/wasmtime-17.0.0/src/component/resources.rs +823 -0
  84. data/ext/cargo-vendor/wasmtime-17.0.0/src/config.rs +2428 -0
  85. data/ext/cargo-vendor/wasmtime-17.0.0/src/func/typed.rs +638 -0
  86. data/ext/cargo-vendor/wasmtime-17.0.0/src/lib.rs +526 -0
  87. data/ext/cargo-vendor/wasmtime-17.0.0/src/store.rs +2389 -0
  88. data/ext/cargo-vendor/wasmtime-asm-macros-17.0.0/.cargo-checksum.json +1 -0
  89. data/ext/cargo-vendor/wasmtime-asm-macros-17.0.0/Cargo.toml +22 -0
  90. data/ext/cargo-vendor/wasmtime-cache-17.0.0/.cargo-checksum.json +1 -0
  91. data/ext/cargo-vendor/wasmtime-cache-17.0.0/Cargo.toml +81 -0
  92. data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/.cargo-checksum.json +1 -0
  93. data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/Cargo.toml +67 -0
  94. data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/src/bindgen.rs +371 -0
  95. data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/tests/codegen/multiversion/root.wit +8 -0
  96. data/ext/cargo-vendor/wasmtime-component-util-17.0.0/.cargo-checksum.json +1 -0
  97. data/ext/cargo-vendor/wasmtime-component-util-17.0.0/Cargo.toml +25 -0
  98. data/ext/cargo-vendor/wasmtime-cranelift-17.0.0/.cargo-checksum.json +1 -0
  99. data/ext/cargo-vendor/wasmtime-cranelift-17.0.0/Cargo.toml +112 -0
  100. data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.0/.cargo-checksum.json +1 -0
  101. data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.0/Cargo.toml +71 -0
  102. data/ext/cargo-vendor/wasmtime-environ-17.0.0/.cargo-checksum.json +1 -0
  103. data/ext/cargo-vendor/wasmtime-environ-17.0.0/Cargo.lock +726 -0
  104. data/ext/cargo-vendor/wasmtime-environ-17.0.0/Cargo.toml +125 -0
  105. data/ext/cargo-vendor/wasmtime-environ-17.0.0/examples/factc.rs +205 -0
  106. data/ext/cargo-vendor/wasmtime-fiber-17.0.0/.cargo-checksum.json +1 -0
  107. data/ext/cargo-vendor/wasmtime-fiber-17.0.0/Cargo.toml +63 -0
  108. data/ext/cargo-vendor/wasmtime-jit-17.0.0/.cargo-checksum.json +1 -0
  109. data/ext/cargo-vendor/wasmtime-jit-17.0.0/Cargo.toml +125 -0
  110. data/ext/cargo-vendor/wasmtime-jit-debug-17.0.0/.cargo-checksum.json +1 -0
  111. data/ext/cargo-vendor/wasmtime-jit-debug-17.0.0/Cargo.toml +67 -0
  112. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-17.0.0/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-17.0.0/Cargo.toml +46 -0
  114. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/.cargo-checksum.json +1 -0
  115. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/Cargo.toml +139 -0
  116. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/instance/allocator/pooling/memory_pool.rs +997 -0
  117. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/instance/allocator/pooling.rs +658 -0
  118. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/memory.rs +973 -0
  119. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/parking_spot.rs +622 -0
  120. data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/sys/windows/mmap.rs +216 -0
  121. data/ext/cargo-vendor/wasmtime-types-17.0.0/.cargo-checksum.json +1 -0
  122. data/ext/cargo-vendor/wasmtime-types-17.0.0/Cargo.toml +36 -0
  123. data/ext/cargo-vendor/wasmtime-versioned-export-macros-17.0.0/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/wasmtime-versioned-export-macros-17.0.0/Cargo.toml +32 -0
  125. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/.cargo-checksum.json +1 -0
  126. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/Cargo.toml +261 -0
  127. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/ctx.rs +333 -0
  128. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/filesystem.rs +325 -0
  129. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/clocks.rs +103 -0
  130. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/filesystem.rs +1069 -0
  131. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/instance_network.rs +15 -0
  132. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/network.rs +625 -0
  133. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/tcp.rs +605 -0
  134. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/udp.rs +530 -0
  135. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/mod.rs +327 -0
  136. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/network.rs +108 -0
  137. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/poll.rs +175 -0
  138. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/preview1.rs +2362 -0
  139. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/stream.rs +181 -0
  140. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/tcp.rs +335 -0
  141. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/udp.rs +125 -0
  142. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/api.rs +217 -0
  143. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/async_.rs +364 -0
  144. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/main.rs +112 -0
  145. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/preview1.rs +243 -0
  146. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/sync.rs +303 -0
  147. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/command-extended.wit +6 -0
  148. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/command.wit +7 -0
  149. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/imports.wit +20 -0
  150. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/stdio.wit +17 -0
  151. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/terminal.wit +49 -0
  152. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/clocks/monotonic-clock.wit +45 -0
  153. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/clocks/wall-clock.wit +42 -0
  154. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/clocks/world.wit +6 -0
  155. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/filesystem/preopens.wit +8 -0
  156. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/filesystem/types.wit +634 -0
  157. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/filesystem/world.wit +6 -0
  158. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/http/proxy.wit +32 -0
  159. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/http/types.wit +570 -0
  160. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/error.wit +34 -0
  161. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/poll.wit +41 -0
  162. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/streams.wit +251 -0
  163. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/world.wit +6 -0
  164. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/insecure-seed.wit +25 -0
  165. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/insecure.wit +22 -0
  166. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/random.wit +26 -0
  167. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/world.wit +7 -0
  168. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/ip-name-lookup.wit +51 -0
  169. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/network.wit +145 -0
  170. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/tcp-create-socket.wit +27 -0
  171. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/tcp.wit +309 -0
  172. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/udp-create-socket.wit +27 -0
  173. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/udp.wit +264 -0
  174. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/world.wit +11 -0
  175. data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/test.wit +22 -0
  176. data/ext/cargo-vendor/wasmtime-winch-17.0.0/.cargo-checksum.json +1 -0
  177. data/ext/cargo-vendor/wasmtime-winch-17.0.0/Cargo.toml +77 -0
  178. data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.0/.cargo-checksum.json +1 -0
  179. data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.0/Cargo.toml +41 -0
  180. data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.0/src/lib.rs +2097 -0
  181. data/ext/cargo-vendor/wasmtime-wmemcheck-17.0.0/.cargo-checksum.json +1 -0
  182. data/ext/cargo-vendor/wasmtime-wmemcheck-17.0.0/Cargo.toml +29 -0
  183. data/ext/cargo-vendor/wiggle-17.0.0/.cargo-checksum.json +1 -0
  184. data/ext/cargo-vendor/wiggle-17.0.0/Cargo.toml +115 -0
  185. data/ext/cargo-vendor/wiggle-generate-17.0.0/.cargo-checksum.json +1 -0
  186. data/ext/cargo-vendor/wiggle-generate-17.0.0/Cargo.toml +65 -0
  187. data/ext/cargo-vendor/wiggle-macro-17.0.0/.cargo-checksum.json +1 -0
  188. data/ext/cargo-vendor/wiggle-macro-17.0.0/Cargo.toml +55 -0
  189. data/ext/cargo-vendor/winch-codegen-0.15.0/.cargo-checksum.json +1 -0
  190. data/ext/cargo-vendor/winch-codegen-0.15.0/Cargo.toml +76 -0
  191. data/ext/cargo-vendor/winch-codegen-0.15.0/src/codegen/context.rs +553 -0
  192. data/ext/cargo-vendor/winch-codegen-0.15.0/src/codegen/env.rs +309 -0
  193. data/ext/cargo-vendor/winch-codegen-0.15.0/src/isa/aarch64/masm.rs +457 -0
  194. data/ext/cargo-vendor/winch-codegen-0.15.0/src/isa/x64/asm.rs +1149 -0
  195. data/ext/cargo-vendor/winch-codegen-0.15.0/src/isa/x64/masm.rs +1044 -0
  196. data/ext/cargo-vendor/winch-codegen-0.15.0/src/masm.rs +708 -0
  197. data/ext/cargo-vendor/winch-codegen-0.15.0/src/stack.rs +452 -0
  198. data/ext/cargo-vendor/winch-codegen-0.15.0/src/visitor.rs +1617 -0
  199. data/ext/src/helpers/mod.rs +4 -0
  200. data/ext/src/helpers/nogvl.rs +29 -0
  201. data/ext/src/helpers/tmplock.rs +45 -0
  202. data/ext/src/ruby_api/engine.rs +7 -3
  203. data/ext/src/ruby_api/mod.rs +3 -0
  204. data/ext/src/ruby_api/module.rs +22 -8
  205. data/ext/src/ruby_api/store.rs +66 -12
  206. data/ext/src/ruby_api/wasi_ctx.rs +110 -0
  207. data/ext/src/ruby_api/wasi_ctx_builder.rs +10 -7
  208. data/lib/wasmtime/version.rb +1 -1
  209. metadata +931 -904
  210. data/ext/cargo-vendor/cranelift-bforest-0.103.0/.cargo-checksum.json +0 -1
  211. data/ext/cargo-vendor/cranelift-bforest-0.103.0/Cargo.toml +0 -40
  212. data/ext/cargo-vendor/cranelift-codegen-0.103.0/.cargo-checksum.json +0 -1
  213. data/ext/cargo-vendor/cranelift-codegen-0.103.0/Cargo.toml +0 -175
  214. data/ext/cargo-vendor/cranelift-codegen-0.103.0/build.rs +0 -391
  215. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/aarch64/inst.isle +0 -4193
  216. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/aarch64/lower/isle.rs +0 -874
  217. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/x64/abi.rs +0 -1300
  218. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isle_prelude.rs +0 -977
  219. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/isle.rs +0 -896
  220. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/mod.rs +0 -557
  221. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/pcc.rs +0 -160
  222. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/arithmetic.isle +0 -152
  223. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/bitops.isle +0 -198
  224. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/cprop.isle +0 -237
  225. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/extends.isle +0 -34
  226. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/icmp.isle +0 -199
  227. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/selects.isle +0 -76
  228. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/shifts.isle +0 -310
  229. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts.rs +0 -172
  230. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude.isle +0 -649
  231. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude_lower.isle +0 -1061
  232. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude_opt.isle +0 -58
  233. data/ext/cargo-vendor/cranelift-codegen-meta-0.103.0/.cargo-checksum.json +0 -1
  234. data/ext/cargo-vendor/cranelift-codegen-meta-0.103.0/Cargo.toml +0 -35
  235. data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/.cargo-checksum.json +0 -1
  236. data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/Cargo.toml +0 -22
  237. data/ext/cargo-vendor/cranelift-control-0.103.0/.cargo-checksum.json +0 -1
  238. data/ext/cargo-vendor/cranelift-control-0.103.0/Cargo.toml +0 -30
  239. data/ext/cargo-vendor/cranelift-entity-0.103.0/.cargo-checksum.json +0 -1
  240. data/ext/cargo-vendor/cranelift-entity-0.103.0/Cargo.toml +0 -50
  241. data/ext/cargo-vendor/cranelift-entity-0.103.0/src/primary.rs +0 -516
  242. data/ext/cargo-vendor/cranelift-frontend-0.103.0/.cargo-checksum.json +0 -1
  243. data/ext/cargo-vendor/cranelift-frontend-0.103.0/Cargo.toml +0 -68
  244. data/ext/cargo-vendor/cranelift-isle-0.103.0/.cargo-checksum.json +0 -1
  245. data/ext/cargo-vendor/cranelift-isle-0.103.0/Cargo.toml +0 -46
  246. data/ext/cargo-vendor/cranelift-native-0.103.0/.cargo-checksum.json +0 -1
  247. data/ext/cargo-vendor/cranelift-native-0.103.0/Cargo.toml +0 -43
  248. data/ext/cargo-vendor/cranelift-wasm-0.103.0/.cargo-checksum.json +0 -1
  249. data/ext/cargo-vendor/cranelift-wasm-0.103.0/Cargo.toml +0 -106
  250. data/ext/cargo-vendor/cranelift-wasm-0.103.0/src/code_translator.rs +0 -3646
  251. data/ext/cargo-vendor/wasi-cap-std-sync-16.0.0/.cargo-checksum.json +0 -1
  252. data/ext/cargo-vendor/wasi-cap-std-sync-16.0.0/Cargo.toml +0 -102
  253. data/ext/cargo-vendor/wasi-common-16.0.0/.cargo-checksum.json +0 -1
  254. data/ext/cargo-vendor/wasi-common-16.0.0/Cargo.toml +0 -131
  255. data/ext/cargo-vendor/wasi-common-16.0.0/src/error.rs +0 -26
  256. data/ext/cargo-vendor/wasi-common-16.0.0/src/snapshots/preview_1/error.rs +0 -265
  257. data/ext/cargo-vendor/wasmtime-16.0.0/.cargo-checksum.json +0 -1
  258. data/ext/cargo-vendor/wasmtime-16.0.0/Cargo.toml +0 -211
  259. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/component.rs +0 -505
  260. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/instance.rs +0 -797
  261. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/linker.rs +0 -523
  262. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/matching.rs +0 -215
  263. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/mod.rs +0 -349
  264. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/resources.rs +0 -725
  265. data/ext/cargo-vendor/wasmtime-16.0.0/src/config.rs +0 -2422
  266. data/ext/cargo-vendor/wasmtime-16.0.0/src/func/typed.rs +0 -638
  267. data/ext/cargo-vendor/wasmtime-16.0.0/src/lib.rs +0 -520
  268. data/ext/cargo-vendor/wasmtime-16.0.0/src/store.rs +0 -2388
  269. data/ext/cargo-vendor/wasmtime-asm-macros-16.0.0/.cargo-checksum.json +0 -1
  270. data/ext/cargo-vendor/wasmtime-asm-macros-16.0.0/Cargo.toml +0 -22
  271. data/ext/cargo-vendor/wasmtime-cache-16.0.0/.cargo-checksum.json +0 -1
  272. data/ext/cargo-vendor/wasmtime-cache-16.0.0/Cargo.toml +0 -81
  273. data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/.cargo-checksum.json +0 -1
  274. data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/Cargo.toml +0 -67
  275. data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/src/bindgen.rs +0 -371
  276. data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/tests/codegen/multiversion/root.wit +0 -7
  277. data/ext/cargo-vendor/wasmtime-component-util-16.0.0/.cargo-checksum.json +0 -1
  278. data/ext/cargo-vendor/wasmtime-component-util-16.0.0/Cargo.toml +0 -25
  279. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/.cargo-checksum.json +0 -1
  280. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/Cargo.toml +0 -112
  281. data/ext/cargo-vendor/wasmtime-cranelift-shared-16.0.0/.cargo-checksum.json +0 -1
  282. data/ext/cargo-vendor/wasmtime-cranelift-shared-16.0.0/Cargo.toml +0 -71
  283. data/ext/cargo-vendor/wasmtime-environ-16.0.0/.cargo-checksum.json +0 -1
  284. data/ext/cargo-vendor/wasmtime-environ-16.0.0/Cargo.lock +0 -660
  285. data/ext/cargo-vendor/wasmtime-environ-16.0.0/Cargo.toml +0 -125
  286. data/ext/cargo-vendor/wasmtime-environ-16.0.0/examples/factc.rs +0 -205
  287. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/.cargo-checksum.json +0 -1
  288. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/Cargo.toml +0 -63
  289. data/ext/cargo-vendor/wasmtime-jit-16.0.0/.cargo-checksum.json +0 -1
  290. data/ext/cargo-vendor/wasmtime-jit-16.0.0/Cargo.toml +0 -125
  291. data/ext/cargo-vendor/wasmtime-jit-debug-16.0.0/.cargo-checksum.json +0 -1
  292. data/ext/cargo-vendor/wasmtime-jit-debug-16.0.0/Cargo.toml +0 -67
  293. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-16.0.0/.cargo-checksum.json +0 -1
  294. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-16.0.0/Cargo.toml +0 -46
  295. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/.cargo-checksum.json +0 -1
  296. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/Cargo.toml +0 -139
  297. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling/memory_pool.rs +0 -1005
  298. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling.rs +0 -698
  299. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/memory.rs +0 -968
  300. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/parking_spot.rs +0 -520
  301. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/windows/mmap.rs +0 -211
  302. data/ext/cargo-vendor/wasmtime-types-16.0.0/.cargo-checksum.json +0 -1
  303. data/ext/cargo-vendor/wasmtime-types-16.0.0/Cargo.toml +0 -36
  304. data/ext/cargo-vendor/wasmtime-versioned-export-macros-16.0.0/.cargo-checksum.json +0 -1
  305. data/ext/cargo-vendor/wasmtime-versioned-export-macros-16.0.0/Cargo.toml +0 -32
  306. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/.cargo-checksum.json +0 -1
  307. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/Cargo.toml +0 -261
  308. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/ctx.rs +0 -325
  309. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/filesystem.rs +0 -326
  310. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/clocks.rs +0 -103
  311. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/filesystem.rs +0 -1069
  312. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/instance_network.rs +0 -15
  313. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/network.rs +0 -570
  314. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/tcp.rs +0 -632
  315. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/udp.rs +0 -550
  316. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/mod.rs +0 -328
  317. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/network.rs +0 -57
  318. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/poll.rs +0 -175
  319. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/preview1.rs +0 -2348
  320. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/stream.rs +0 -182
  321. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/table.rs +0 -337
  322. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/tcp.rs +0 -338
  323. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/udp.rs +0 -118
  324. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/api.rs +0 -218
  325. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/async_.rs +0 -360
  326. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/main.rs +0 -113
  327. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/preview1.rs +0 -239
  328. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/sync.rs +0 -299
  329. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/command-extended.wit +0 -6
  330. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/command.wit +0 -7
  331. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/imports.wit +0 -20
  332. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/stdio.wit +0 -17
  333. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/terminal.wit +0 -47
  334. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/clocks/monotonic-clock.wit +0 -45
  335. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/clocks/wall-clock.wit +0 -42
  336. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/clocks/world.wit +0 -6
  337. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/filesystem/preopens.wit +0 -8
  338. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/filesystem/types.wit +0 -634
  339. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/filesystem/world.wit +0 -6
  340. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/http/proxy.wit +0 -32
  341. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/http/types.wit +0 -570
  342. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/error.wit +0 -34
  343. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/poll.wit +0 -41
  344. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/streams.wit +0 -251
  345. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/world.wit +0 -6
  346. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/insecure-seed.wit +0 -25
  347. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/insecure.wit +0 -22
  348. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/random.wit +0 -26
  349. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/world.wit +0 -7
  350. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/ip-name-lookup.wit +0 -51
  351. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/network.wit +0 -147
  352. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/tcp-create-socket.wit +0 -26
  353. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/tcp.wit +0 -321
  354. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/udp-create-socket.wit +0 -26
  355. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/udp.wit +0 -277
  356. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/world.wit +0 -11
  357. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/test.wit +0 -22
  358. data/ext/cargo-vendor/wasmtime-winch-16.0.0/.cargo-checksum.json +0 -1
  359. data/ext/cargo-vendor/wasmtime-winch-16.0.0/Cargo.toml +0 -77
  360. data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/.cargo-checksum.json +0 -1
  361. data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/Cargo.toml +0 -41
  362. data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/src/lib.rs +0 -2095
  363. data/ext/cargo-vendor/wasmtime-wmemcheck-16.0.0/.cargo-checksum.json +0 -1
  364. data/ext/cargo-vendor/wasmtime-wmemcheck-16.0.0/Cargo.toml +0 -29
  365. data/ext/cargo-vendor/wiggle-16.0.0/.cargo-checksum.json +0 -1
  366. data/ext/cargo-vendor/wiggle-16.0.0/Cargo.toml +0 -115
  367. data/ext/cargo-vendor/wiggle-generate-16.0.0/.cargo-checksum.json +0 -1
  368. data/ext/cargo-vendor/wiggle-generate-16.0.0/Cargo.toml +0 -65
  369. data/ext/cargo-vendor/wiggle-macro-16.0.0/.cargo-checksum.json +0 -1
  370. data/ext/cargo-vendor/wiggle-macro-16.0.0/Cargo.toml +0 -55
  371. data/ext/cargo-vendor/winch-codegen-0.14.0/.cargo-checksum.json +0 -1
  372. data/ext/cargo-vendor/winch-codegen-0.14.0/Cargo.toml +0 -76
  373. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/context.rs +0 -545
  374. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/env.rs +0 -251
  375. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/aarch64/masm.rs +0 -444
  376. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/asm.rs +0 -1117
  377. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/masm.rs +0 -994
  378. data/ext/cargo-vendor/winch-codegen-0.14.0/src/masm.rs +0 -679
  379. data/ext/cargo-vendor/winch-codegen-0.14.0/src/stack.rs +0 -436
  380. data/ext/cargo-vendor/winch-codegen-0.14.0/src/visitor.rs +0 -1383
  381. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/LICENSE +0 -0
  382. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/README.md +0 -0
  383. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/lib.rs +0 -0
  384. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/map.rs +0 -0
  385. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/node.rs +0 -0
  386. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/path.rs +0 -0
  387. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/pool.rs +0 -0
  388. /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/set.rs +0 -0
  389. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/LICENSE +0 -0
  390. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/README.md +0 -0
  391. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/benches/x64-evex-encoding.rs +0 -0
  392. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/alias_analysis.rs +0 -0
  393. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/binemit/mod.rs +0 -0
  394. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/binemit/stack_map.rs +0 -0
  395. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/bitset.rs +0 -0
  396. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/cfg_printer.rs +0 -0
  397. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/constant_hash.rs +0 -0
  398. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/context.rs +0 -0
  399. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ctxhash.rs +0 -0
  400. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/cursor.rs +0 -0
  401. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/data_value.rs +0 -0
  402. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/dbg.rs +0 -0
  403. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/dce.rs +0 -0
  404. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/dominator_tree.rs +0 -0
  405. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph/cost.rs +0 -0
  406. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph/domtree.rs +0 -0
  407. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph/elaborate.rs +0 -0
  408. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph.rs +0 -0
  409. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/flowgraph.rs +0 -0
  410. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/fx.rs +0 -0
  411. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/incremental_cache.rs +0 -0
  412. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/inst_predicates.rs +0 -0
  413. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/atomic_rmw_op.rs +0 -0
  414. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/builder.rs +0 -0
  415. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/condcodes.rs +0 -0
  416. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/constant.rs +0 -0
  417. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/dfg.rs +0 -0
  418. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/dynamic_type.rs +0 -0
  419. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/entities.rs +0 -0
  420. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/extfunc.rs +0 -0
  421. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/extname.rs +0 -0
  422. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/function.rs +0 -0
  423. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/globalvalue.rs +0 -0
  424. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/immediates.rs +0 -0
  425. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/instructions.rs +0 -0
  426. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/jumptable.rs +0 -0
  427. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/known_symbol.rs +0 -0
  428. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/layout.rs +0 -0
  429. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/libcall.rs +0 -0
  430. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/memflags.rs +0 -0
  431. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/memtype.rs +0 -0
  432. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/mod.rs +0 -0
  433. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/pcc.rs +0 -0
  434. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/progpoint.rs +0 -0
  435. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/sourceloc.rs +0 -0
  436. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/stackslot.rs +0 -0
  437. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/table.rs +0 -0
  438. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/trapcode.rs +0 -0
  439. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/types.rs +0 -0
  440. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/abi.rs +0 -0
  441. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/args.rs +0 -0
  442. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/emit.rs +0 -0
  443. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/emit_tests.rs +0 -0
  444. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/imms.rs +0 -0
  445. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/mod.rs +0 -0
  446. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/regs.rs +0 -0
  447. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  448. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/unwind.rs +0 -0
  449. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst_neon.isle +0 -0
  450. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  451. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower.isle +0 -0
  452. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower.rs +0 -0
  453. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  454. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/mod.rs +0 -0
  455. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/pcc.rs +0 -0
  456. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/settings.rs +0 -0
  457. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/call_conv.rs +0 -0
  458. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/mod.rs +0 -0
  459. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/abi.rs +0 -0
  460. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/args.rs +0 -0
  461. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/emit.rs +0 -0
  462. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/emit_tests.rs +0 -0
  463. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/encode.rs +0 -0
  464. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/imms.rs +0 -0
  465. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/mod.rs +0 -0
  466. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/regs.rs +0 -0
  467. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  468. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/unwind.rs +0 -0
  469. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/vector.rs +0 -0
  470. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst.isle +0 -0
  471. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst_vector.isle +0 -0
  472. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  473. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower/isle.rs +0 -0
  474. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower.isle +0 -0
  475. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower.rs +0 -0
  476. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/mod.rs +0 -0
  477. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/settings.rs +0 -0
  478. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/abi.rs +0 -0
  479. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/args.rs +0 -0
  480. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/emit.rs +0 -0
  481. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/emit_tests.rs +0 -0
  482. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/imms.rs +0 -0
  483. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/mod.rs +0 -0
  484. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/regs.rs +0 -0
  485. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  486. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/unwind.rs +0 -0
  487. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst.isle +0 -0
  488. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  489. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower/isle.rs +0 -0
  490. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower.isle +0 -0
  491. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower.rs +0 -0
  492. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/mod.rs +0 -0
  493. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/settings.rs +0 -0
  494. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/unwind/systemv.rs +0 -0
  495. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/unwind/winx64.rs +0 -0
  496. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/unwind.rs +0 -0
  497. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/evex.rs +0 -0
  498. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/mod.rs +0 -0
  499. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/rex.rs +0 -0
  500. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/vex.rs +0 -0
  501. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/args.rs +0 -0
  502. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/emit.rs +0 -0
  503. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/emit_state.rs +0 -0
  504. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/emit_tests.rs +0 -0
  505. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/mod.rs +0 -0
  506. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/regs.rs +0 -0
  507. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  508. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  509. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/unwind.rs +0 -0
  510. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst.isle +0 -0
  511. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  512. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower/isle.rs +0 -0
  513. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower.isle +0 -0
  514. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower.rs +0 -0
  515. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/mod.rs +0 -0
  516. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/pcc.rs +0 -0
  517. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/settings.rs +0 -0
  518. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/iterators.rs +0 -0
  519. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/legalizer/globalvalue.rs +0 -0
  520. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/legalizer/mod.rs +0 -0
  521. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/legalizer/table.rs +0 -0
  522. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/lib.rs +0 -0
  523. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/loop_analysis.rs +0 -0
  524. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/abi.rs +0 -0
  525. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/blockorder.rs +0 -0
  526. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/buffer.rs +0 -0
  527. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/compile.rs +0 -0
  528. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/helpers.rs +0 -0
  529. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/inst_common.rs +0 -0
  530. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/lower.rs +0 -0
  531. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/reg.rs +0 -0
  532. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/valueregs.rs +0 -0
  533. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/vcode.rs +0 -0
  534. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/nan_canonicalization.rs +0 -0
  535. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/README.md +0 -0
  536. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/generated_code.rs +0 -0
  537. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/remat.isle +0 -0
  538. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/vector.isle +0 -0
  539. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/print_errors.rs +0 -0
  540. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/remove_constant_phis.rs +0 -0
  541. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/result.rs +0 -0
  542. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/scoped_hash_map.rs +0 -0
  543. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/settings.rs +0 -0
  544. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/souper_harvest.rs +0 -0
  545. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/timing.rs +0 -0
  546. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/unionfind.rs +0 -0
  547. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/unreachable_code.rs +0 -0
  548. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/value_label.rs +0 -0
  549. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/verifier/mod.rs +0 -0
  550. /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/write.rs +0 -0
  551. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/LICENSE +0 -0
  552. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/README.md +0 -0
  553. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/formats.rs +0 -0
  554. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/instructions.rs +0 -0
  555. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/isa.rs +0 -0
  556. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/mod.rs +0 -0
  557. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/operands.rs +0 -0
  558. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/settings.rs +0 -0
  559. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/types.rs +0 -0
  560. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/typevar.rs +0 -0
  561. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/constant_hash.rs +0 -0
  562. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/error.rs +0 -0
  563. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/gen_inst.rs +0 -0
  564. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/gen_settings.rs +0 -0
  565. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/gen_types.rs +0 -0
  566. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/arm64.rs +0 -0
  567. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/mod.rs +0 -0
  568. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/riscv64.rs +0 -0
  569. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/s390x.rs +0 -0
  570. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/x86.rs +0 -0
  571. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/lib.rs +0 -0
  572. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/entities.rs +0 -0
  573. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/formats.rs +0 -0
  574. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/immediates.rs +0 -0
  575. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/instructions.rs +0 -0
  576. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/mod.rs +0 -0
  577. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/settings.rs +0 -0
  578. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/types.rs +0 -0
  579. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/srcgen.rs +0 -0
  580. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/unique_table.rs +0 -0
  581. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/LICENSE +0 -0
  582. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/README.md +0 -0
  583. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/src/constant_hash.rs +0 -0
  584. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/src/constants.rs +0 -0
  585. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/src/lib.rs +0 -0
  586. /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/LICENSE +0 -0
  587. /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/README.md +0 -0
  588. /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/src/chaos.rs +0 -0
  589. /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/src/lib.rs +0 -0
  590. /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/src/zero_sized.rs +0 -0
  591. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/LICENSE +0 -0
  592. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/README.md +0 -0
  593. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/boxed_slice.rs +0 -0
  594. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/iter.rs +0 -0
  595. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/keys.rs +0 -0
  596. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/lib.rs +0 -0
  597. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/list.rs +0 -0
  598. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/map.rs +0 -0
  599. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/packed_option.rs +0 -0
  600. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/set.rs +0 -0
  601. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/sparse.rs +0 -0
  602. /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/unsigned.rs +0 -0
  603. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/LICENSE +0 -0
  604. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/README.md +0 -0
  605. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/frontend.rs +0 -0
  606. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/lib.rs +0 -0
  607. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/ssa.rs +0 -0
  608. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/switch.rs +0 -0
  609. /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/variable.rs +0 -0
  610. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/README.md +0 -0
  611. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/build.rs +0 -0
  612. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/bad_converters.isle +0 -0
  613. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  614. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  615. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/error1.isle +0 -0
  616. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/extra_parens.isle +0 -0
  617. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/impure_expression.isle +0 -0
  618. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/impure_rhs.isle +0 -0
  619. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
  620. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/multi_prio.isle +0 -0
  621. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/borrows.isle +0 -0
  622. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/borrows_main.rs +0 -0
  623. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/iflets.isle +0 -0
  624. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/iflets_main.rs +0 -0
  625. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_constructor.isle +0 -0
  626. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_constructor_main.rs +0 -0
  627. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_extractor.isle +0 -0
  628. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_extractor_main.rs +0 -0
  629. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/test.isle +0 -0
  630. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/test_main.rs +0 -0
  631. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/bound_var.isle +0 -0
  632. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/construct_and_extract.isle +0 -0
  633. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/conversions.isle +0 -0
  634. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/conversions_extern.isle +0 -0
  635. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/let.isle +0 -0
  636. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/nodebug.isle +0 -0
  637. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
  638. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/test2.isle +0 -0
  639. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/test3.isle +0 -0
  640. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/test4.isle +0 -0
  641. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/tutorial.isle +0 -0
  642. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/iconst.isle +0 -0
  643. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/iconst_main.rs +0 -0
  644. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/let_shadowing.isle +0 -0
  645. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/let_shadowing_main.rs +0 -0
  646. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/ast.rs +0 -0
  647. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/codegen.rs +0 -0
  648. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/compile.rs +0 -0
  649. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/error.rs +0 -0
  650. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/lexer.rs +0 -0
  651. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/lib.rs +0 -0
  652. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/log.rs +0 -0
  653. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/overlap.rs +0 -0
  654. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/parser.rs +0 -0
  655. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/sema.rs +0 -0
  656. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/serialize.rs +0 -0
  657. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/trie_again.rs +0 -0
  658. /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/tests/run_tests.rs +0 -0
  659. /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/LICENSE +0 -0
  660. /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/README.md +0 -0
  661. /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/src/lib.rs +0 -0
  662. /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/src/riscv.rs +0 -0
  663. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/LICENSE +0 -0
  664. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/README.md +0 -0
  665. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/code_translator/bounds_checks.rs +0 -0
  666. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/environ/dummy.rs +0 -0
  667. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/environ/mod.rs +0 -0
  668. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/environ/spec.rs +0 -0
  669. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/func_translator.rs +0 -0
  670. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/heap.rs +0 -0
  671. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/lib.rs +0 -0
  672. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/module_translator.rs +0 -0
  673. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/sections_translator.rs +0 -0
  674. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/state.rs +0 -0
  675. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/translation_utils.rs +0 -0
  676. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/tests/wasm_testsuite.rs +0 -0
  677. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/arith.wat +0 -0
  678. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/br_table.wat +0 -0
  679. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/call-simd.wat +0 -0
  680. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/call.wat +0 -0
  681. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_fannkuch.wat +0 -0
  682. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_fasta.wat +0 -0
  683. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_ifs.wat +0 -0
  684. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_primes.wat +0 -0
  685. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/fac-multi-value.wat +0 -0
  686. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/fibonacci.wat +0 -0
  687. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/globals.wat +0 -0
  688. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/icall-simd.wat +0 -0
  689. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/icall.wat +0 -0
  690. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-0.wat +0 -0
  691. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-1.wat +0 -0
  692. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-2.wat +0 -0
  693. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-3.wat +0 -0
  694. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-4.wat +0 -0
  695. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-5.wat +0 -0
  696. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-6.wat +0 -0
  697. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-unreachable-else-params-2.wat +0 -0
  698. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-unreachable-else-params.wat +0 -0
  699. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/issue-1306-name-section-with-u32-max-function-index.wasm +0 -0
  700. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/memory.wat +0 -0
  701. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-0.wat +0 -0
  702. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-1.wat +0 -0
  703. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-10.wat +0 -0
  704. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-11.wat +0 -0
  705. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-12.wat +0 -0
  706. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-13.wat +0 -0
  707. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-14.wat +0 -0
  708. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-15.wat +0 -0
  709. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-16.wat +0 -0
  710. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-17.wat +0 -0
  711. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-2.wat +0 -0
  712. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-3.wat +0 -0
  713. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-4.wat +0 -0
  714. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-5.wat +0 -0
  715. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-6.wat +0 -0
  716. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-7.wat +0 -0
  717. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-8.wat +0 -0
  718. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-9.wat +0 -0
  719. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/nullref.wat +0 -0
  720. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/passive-data.wat +0 -0
  721. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/pr2303.wat +0 -0
  722. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/pr2559.wat +0 -0
  723. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/ref-func-0.wat +0 -0
  724. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/rust_fannkuch.wat +0 -0
  725. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/select.wat +0 -0
  726. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/simd-store.wat +0 -0
  727. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/simd.wat +0 -0
  728. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/table-copy.wat +0 -0
  729. /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/unreachable_code.wat +0 -0
  730. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/LICENSE +0 -0
  731. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/README.md +0 -0
  732. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/clocks.rs +0 -0
  733. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/dir.rs +0 -0
  734. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/file.rs +0 -0
  735. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/lib.rs +0 -0
  736. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/net.rs +0 -0
  737. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/sched/unix.rs +0 -0
  738. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/sched/windows.rs +0 -0
  739. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/sched.rs +0 -0
  740. /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/stdio.rs +0 -0
  741. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/LICENSE +0 -0
  742. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/README.md +0 -0
  743. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/README.md +0 -0
  744. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/docs/README.md +0 -0
  745. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/README.md +0 -0
  746. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/docs.md +0 -0
  747. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/typenames.witx +0 -0
  748. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_args.witx +0 -0
  749. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_clock.witx +0 -0
  750. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_environ.witx +0 -0
  751. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_fd.witx +0 -0
  752. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_path.witx +0 -0
  753. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_poll.witx +0 -0
  754. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_proc.witx +0 -0
  755. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_random.witx +0 -0
  756. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sched.witx +0 -0
  757. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sock.witx +0 -0
  758. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/old/snapshot_0/docs.md +0 -0
  759. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/old/snapshot_0/witx/typenames.witx +0 -0
  760. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/old/snapshot_0/witx/wasi_unstable.witx +0 -0
  761. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/docs.html +0 -0
  762. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/docs.md +0 -0
  763. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/witx/typenames.witx +0 -0
  764. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx +0 -0
  765. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/proposal-template/README.md +0 -0
  766. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/proposals/README.md +0 -0
  767. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/snapshots/README.md +0 -0
  768. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/standard/README.md +0 -0
  769. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/build.rs +0 -0
  770. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/clocks.rs +0 -0
  771. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/ctx.rs +0 -0
  772. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/dir.rs +0 -0
  773. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/file.rs +0 -0
  774. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/lib.rs +0 -0
  775. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/pipe.rs +0 -0
  776. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/random.rs +0 -0
  777. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/sched/subscription.rs +0 -0
  778. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/sched.rs +0 -0
  779. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/snapshots/mod.rs +0 -0
  780. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/snapshots/preview_0.rs +0 -0
  781. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/snapshots/preview_1.rs +0 -0
  782. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/string_array.rs +0 -0
  783. /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/table.rs +0 -0
  784. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/LICENSE +0 -0
  785. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/README.md +0 -0
  786. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/code.rs +0 -0
  787. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/compiler.rs +0 -0
  788. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func/host.rs +0 -0
  789. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func/options.rs +0 -0
  790. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func/typed.rs +0 -0
  791. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func.rs +0 -0
  792. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/storage.rs +0 -0
  793. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/store.rs +0 -0
  794. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/types.rs +0 -0
  795. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/values.rs +0 -0
  796. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/coredump.rs +0 -0
  797. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/engine/serialization.rs +0 -0
  798. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/engine.rs +0 -0
  799. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/externals/global.rs +0 -0
  800. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/externals/table.rs +0 -0
  801. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/externals.rs +0 -0
  802. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/func.rs +0 -0
  803. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/instance.rs +0 -0
  804. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/limits.rs +0 -0
  805. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/linker.rs +0 -0
  806. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/memory.rs +0 -0
  807. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/module/registry.rs +0 -0
  808. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/module.rs +0 -0
  809. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/profiling.rs +0 -0
  810. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/ref.rs +0 -0
  811. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/resources.rs +0 -0
  812. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/signatures.rs +0 -0
  813. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/stack.rs +0 -0
  814. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/store/context.rs +0 -0
  815. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/store/data.rs +0 -0
  816. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/store/func_refs.rs +0 -0
  817. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/func.rs +0 -0
  818. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/global.rs +0 -0
  819. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/memory.rs +0 -0
  820. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/table.rs +0 -0
  821. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline.rs +0 -0
  822. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trap.rs +0 -0
  823. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/types/matching.rs +0 -0
  824. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/types.rs +0 -0
  825. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/unix.rs +0 -0
  826. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/v128.rs +0 -0
  827. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/values.rs +0 -0
  828. /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/windows.rs +0 -0
  829. /data/ext/cargo-vendor/{wasmtime-asm-macros-16.0.0 → wasmtime-asm-macros-17.0.0}/src/lib.rs +0 -0
  830. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/LICENSE +0 -0
  831. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/build.rs +0 -0
  832. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/config/tests.rs +0 -0
  833. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/config.rs +0 -0
  834. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/lib.rs +0 -0
  835. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/tests.rs +0 -0
  836. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  837. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/worker/tests.rs +0 -0
  838. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/worker.rs +0 -0
  839. /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/tests/cache_write_default_config.rs +0 -0
  840. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/src/component.rs +0 -0
  841. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/src/lib.rs +0 -0
  842. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/char.wit +0 -0
  843. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/conventions.wit +0 -0
  844. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/direct-import.wit +0 -0
  845. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/empty.wit +0 -0
  846. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/flags.wit +0 -0
  847. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/floats.wit +0 -0
  848. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/function-new.wit +0 -0
  849. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/integers.wit +0 -0
  850. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/lists.wit +0 -0
  851. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/many-arguments.wit +0 -0
  852. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/multi-return.wit +0 -0
  853. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  854. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  855. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/records.wit +0 -0
  856. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/rename.wit +0 -0
  857. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/resources-export.wit +0 -0
  858. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/resources-import.wit +0 -0
  859. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/share-types.wit +0 -0
  860. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/simple-functions.wit +0 -0
  861. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/simple-lists.wit +0 -0
  862. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/simple-wasi.wit +0 -0
  863. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/small-anonymous.wit +0 -0
  864. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/smoke-default.wit +0 -0
  865. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/smoke-export.wit +0 -0
  866. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/smoke.wit +0 -0
  867. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/strings.wit +0 -0
  868. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/use-paths.wit +0 -0
  869. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/variants.wit +0 -0
  870. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/worlds-with-types.wit +0 -0
  871. /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen.rs +0 -0
  872. /data/ext/cargo-vendor/{wasmtime-component-util-16.0.0 → wasmtime-component-util-17.0.0}/src/lib.rs +0 -0
  873. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/LICENSE +0 -0
  874. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/SECURITY.md +0 -0
  875. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/builder.rs +0 -0
  876. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/compiler/component.rs +0 -0
  877. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/compiler.rs +0 -0
  878. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/gc.rs +0 -0
  879. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/address_transform.rs +0 -0
  880. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/attr.rs +0 -0
  881. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/expression.rs +0 -0
  882. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/line_program.rs +0 -0
  883. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/mod.rs +0 -0
  884. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  885. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/refs.rs +0 -0
  886. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/simulate.rs +0 -0
  887. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/unit.rs +0 -0
  888. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/utils.rs +0 -0
  889. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/write_debuginfo.rs +0 -0
  890. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug.rs +0 -0
  891. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/func_environ.rs +0 -0
  892. /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/lib.rs +0 -0
  893. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/compiled_function.rs +0 -0
  894. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/isa_builder.rs +0 -0
  895. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/lib.rs +0 -0
  896. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/obj.rs +0 -0
  897. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/LICENSE +0 -0
  898. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/address_map.rs +0 -0
  899. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/builtin.rs +0 -0
  900. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/compilation.rs +0 -0
  901. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/compiler.rs +0 -0
  902. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/dfg.rs +0 -0
  903. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/info.rs +0 -0
  904. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/translate/adapt.rs +0 -0
  905. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/translate/inline.rs +0 -0
  906. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/translate.rs +0 -0
  907. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/types/resources.rs +0 -0
  908. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/types.rs +0 -0
  909. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  910. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component.rs +0 -0
  911. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/core_types.rs +0 -0
  912. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/signature.rs +0 -0
  913. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/trampoline.rs +0 -0
  914. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/transcode.rs +0 -0
  915. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/traps.rs +0 -0
  916. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact.rs +0 -0
  917. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/lib.rs +0 -0
  918. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/module.rs +0 -0
  919. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/module_environ.rs +0 -0
  920. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/module_types.rs +0 -0
  921. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/obj.rs +0 -0
  922. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/ref_bits.rs +0 -0
  923. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/scopevec.rs +0 -0
  924. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/stack_map.rs +0 -0
  925. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/trap_encoding.rs +0 -0
  926. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/tunables.rs +0 -0
  927. /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/vmoffsets.rs +0 -0
  928. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/LICENSE +0 -0
  929. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/build.rs +0 -0
  930. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/lib.rs +0 -0
  931. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/aarch64.rs +0 -0
  932. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/arm.rs +0 -0
  933. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/riscv64.rs +0 -0
  934. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/s390x.S +0 -0
  935. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/x86.rs +0 -0
  936. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/x86_64.rs +0 -0
  937. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix.rs +0 -0
  938. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/windows.c +0 -0
  939. /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/windows.rs +0 -0
  940. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/LICENSE +0 -0
  941. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/code_memory.rs +0 -0
  942. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/debug.rs +0 -0
  943. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/demangling.rs +0 -0
  944. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/instantiate.rs +0 -0
  945. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/lib.rs +0 -0
  946. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling/jitdump.rs +0 -0
  947. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling/perfmap.rs +0 -0
  948. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling/vtune.rs +0 -0
  949. /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling.rs +0 -0
  950. /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/README.md +0 -0
  951. /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/src/gdb_jit_int.rs +0 -0
  952. /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/src/lib.rs +0 -0
  953. /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/src/perf_jitdump.rs +0 -0
  954. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/lib.rs +0 -0
  955. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/libc.rs +0 -0
  956. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/miri.rs +0 -0
  957. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/win.rs +0 -0
  958. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/LICENSE +0 -0
  959. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/build.rs +0 -0
  960. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/proptest-regressions/instance/allocator/pooling/memory_pool.txt +0 -0
  961. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/aarch64.rs +0 -0
  962. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/mod.rs +0 -0
  963. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/riscv64.rs +0 -0
  964. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/s390x.S +0 -0
  965. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/s390x.rs +0 -0
  966. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/x86_64.rs +0 -0
  967. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/component/libcalls.rs +0 -0
  968. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/component/resources.rs +0 -0
  969. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/component.rs +0 -0
  970. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/cow.rs +0 -0
  971. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/debug_builtins.rs +0 -0
  972. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/export.rs +0 -0
  973. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/externref.rs +0 -0
  974. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/helpers.c +0 -0
  975. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/imports.rs +0 -0
  976. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/on_demand.rs +0 -0
  977. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/pooling/index_allocator.rs +0 -0
  978. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/pooling/stack_pool.rs +0 -0
  979. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/pooling/table_pool.rs +0 -0
  980. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator.rs +0 -0
  981. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance.rs +0 -0
  982. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/lib.rs +0 -0
  983. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/libcalls.rs +0 -0
  984. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mmap.rs +0 -0
  985. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mmap_vec.rs +0 -0
  986. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/module_id.rs +0 -0
  987. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/disabled.rs +0 -0
  988. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/enabled.rs +0 -0
  989. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/mod.rs +0 -0
  990. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/pkru.rs +0 -0
  991. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/sys.rs +0 -0
  992. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/send_sync_ptr.rs +0 -0
  993. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/store_box.rs +0 -0
  994. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/mmap.rs +0 -0
  995. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/mod.rs +0 -0
  996. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/traphandlers.rs +0 -0
  997. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/unwind.rs +0 -0
  998. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/vm.rs +0 -0
  999. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/mod.rs +0 -0
  1000. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/machports.rs +0 -0
  1001. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/macos_traphandlers.rs +0 -0
  1002. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/mmap.rs +0 -0
  1003. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/mod.rs +0 -0
  1004. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/signals.rs +0 -0
  1005. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/unwind.rs +0 -0
  1006. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/vm.rs +0 -0
  1007. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/mod.rs +0 -0
  1008. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/traphandlers.rs +0 -0
  1009. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/unwind.rs +0 -0
  1010. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/vm.rs +0 -0
  1011. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/table.rs +0 -0
  1012. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/traphandlers/backtrace.rs +0 -0
  1013. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/traphandlers/coredump.rs +0 -0
  1014. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/traphandlers.rs +0 -0
  1015. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/vmcontext/vm_host_func_context.rs +0 -0
  1016. /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/vmcontext.rs +0 -0
  1017. /data/ext/cargo-vendor/{wasmtime-types-16.0.0 → wasmtime-types-17.0.0}/LICENSE +0 -0
  1018. /data/ext/cargo-vendor/{wasmtime-types-16.0.0 → wasmtime-types-17.0.0}/src/error.rs +0 -0
  1019. /data/ext/cargo-vendor/{wasmtime-types-16.0.0 → wasmtime-types-17.0.0}/src/lib.rs +0 -0
  1020. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-16.0.0 → wasmtime-versioned-export-macros-17.0.0}/src/lib.rs +0 -0
  1021. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/LICENSE +0 -0
  1022. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/README.md +0 -0
  1023. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/build.rs +0 -0
  1024. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/lib.rs +0 -0
  1025. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/clocks/host.rs +0 -0
  1026. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/clocks.rs +0 -0
  1027. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/command.rs +0 -0
  1028. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/error.rs +0 -0
  1029. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/env.rs +0 -0
  1030. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/exit.rs +0 -0
  1031. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/filesystem/sync.rs +0 -0
  1032. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/io.rs +0 -0
  1033. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/mod.rs +0 -0
  1034. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/random.rs +0 -0
  1035. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/tcp_create_socket.rs +0 -0
  1036. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/udp_create_socket.rs +0 -0
  1037. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/ip_name_lookup.rs +0 -0
  1038. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/pipe.rs +0 -0
  1039. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/preview0.rs +0 -0
  1040. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/random.rs +0 -0
  1041. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/stdio/worker_thread_stdin.rs +0 -0
  1042. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/stdio.rs +0 -0
  1043. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/write_stream.rs +0 -0
  1044. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/tests/process_stdin.rs +0 -0
  1045. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/cli/environment.wit +0 -0
  1046. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/cli/exit.wit +0 -0
  1047. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/cli/run.wit +0 -0
  1048. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/http/handler.wit +0 -0
  1049. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/sockets/instance-network.wit +0 -0
  1050. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview0/typenames.witx +0 -0
  1051. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1052. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview1/typenames.witx +0 -0
  1053. /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1054. /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/LICENSE +0 -0
  1055. /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/src/builder.rs +0 -0
  1056. /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/src/compiler.rs +0 -0
  1057. /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/src/lib.rs +0 -0
  1058. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-16.0.0 → wasmtime-wit-bindgen-17.0.0}/src/rust.rs +0 -0
  1059. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-16.0.0 → wasmtime-wit-bindgen-17.0.0}/src/source.rs +0 -0
  1060. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-16.0.0 → wasmtime-wit-bindgen-17.0.0}/src/types.rs +0 -0
  1061. /data/ext/cargo-vendor/{wasmtime-wmemcheck-16.0.0 → wasmtime-wmemcheck-17.0.0}/src/lib.rs +0 -0
  1062. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/LICENSE +0 -0
  1063. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/README.md +0 -0
  1064. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/borrow.rs +0 -0
  1065. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/error.rs +0 -0
  1066. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/guest_type.rs +0 -0
  1067. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/lib.rs +0 -0
  1068. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/region.rs +0 -0
  1069. /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/wasmtime.rs +0 -0
  1070. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/LICENSE +0 -0
  1071. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/README.md +0 -0
  1072. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/codegen_settings.rs +0 -0
  1073. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/config.rs +0 -0
  1074. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/funcs.rs +0 -0
  1075. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/lib.rs +0 -0
  1076. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/lifetimes.rs +0 -0
  1077. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/module_trait.rs +0 -0
  1078. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/names.rs +0 -0
  1079. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/error.rs +0 -0
  1080. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/flags.rs +0 -0
  1081. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/handle.rs +0 -0
  1082. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/mod.rs +0 -0
  1083. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/record.rs +0 -0
  1084. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/variant.rs +0 -0
  1085. /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/wasmtime.rs +0 -0
  1086. /data/ext/cargo-vendor/{wiggle-macro-16.0.0 → wiggle-macro-17.0.0}/LICENSE +0 -0
  1087. /data/ext/cargo-vendor/{wiggle-macro-16.0.0 → wiggle-macro-17.0.0}/src/lib.rs +0 -0
  1088. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/LICENSE +0 -0
  1089. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/build.rs +0 -0
  1090. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/abi/local.rs +0 -0
  1091. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/abi/mod.rs +0 -0
  1092. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/builtin.rs +0 -0
  1093. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/call.rs +0 -0
  1094. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/control.rs +0 -0
  1095. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/mod.rs +0 -0
  1096. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/frame/mod.rs +0 -0
  1097. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/abi.rs +0 -0
  1098. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/address.rs +0 -0
  1099. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/asm.rs +0 -0
  1100. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/mod.rs +0 -0
  1101. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/regs.rs +0 -0
  1102. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/mod.rs +0 -0
  1103. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/reg.rs +0 -0
  1104. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/abi.rs +0 -0
  1105. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/address.rs +0 -0
  1106. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/mod.rs +0 -0
  1107. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/regs.rs +0 -0
  1108. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/lib.rs +0 -0
  1109. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/regalloc.rs +0 -0
  1110. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/regset.rs +0 -0
  1111. /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/trampoline.rs +0 -0
@@ -1,2095 +0,0 @@
1
- use crate::rust::{to_rust_ident, to_rust_upper_camel_case, RustGenerator, TypeMode};
2
- use crate::types::{TypeInfo, Types};
3
- use anyhow::{anyhow, bail, Context};
4
- use heck::*;
5
- use indexmap::{IndexMap, IndexSet};
6
- use std::collections::{BTreeMap, HashMap, HashSet};
7
- use std::fmt::Write as _;
8
- use std::io::{Read, Write};
9
- use std::mem;
10
- use std::process::{Command, Stdio};
11
- use wit_parser::*;
12
-
13
- macro_rules! uwrite {
14
- ($dst:expr, $($arg:tt)*) => {
15
- write!($dst, $($arg)*).unwrap()
16
- };
17
- }
18
-
19
- macro_rules! uwriteln {
20
- ($dst:expr, $($arg:tt)*) => {
21
- writeln!($dst, $($arg)*).unwrap()
22
- };
23
- }
24
-
25
- mod rust;
26
- mod source;
27
- mod types;
28
- use source::Source;
29
-
30
- #[derive(Clone)]
31
- enum InterfaceName {
32
- /// This interface was remapped using `with` to some other Rust code.
33
- Remapped {
34
- name_at_root: String,
35
- local_path: Vec<String>,
36
- },
37
- /// This interface is generated in the module hierarchy specified.
38
- Path(Vec<String>),
39
- }
40
-
41
- #[derive(Default)]
42
- struct Wasmtime {
43
- src: Source,
44
- opts: Opts,
45
- import_interfaces: Vec<(String, InterfaceName)>,
46
- import_functions: Vec<ImportFunction>,
47
- exports: Exports,
48
- types: Types,
49
- sizes: SizeAlign,
50
- interface_names: HashMap<InterfaceId, InterfaceName>,
51
- with_name_counter: usize,
52
- interface_last_seen_as_import: HashMap<InterfaceId, bool>,
53
- trappable_errors: IndexMap<TypeId, String>,
54
- }
55
-
56
- struct ImportFunction {
57
- add_to_linker: String,
58
- sig: String,
59
- }
60
-
61
- #[derive(Default)]
62
- struct Exports {
63
- fields: BTreeMap<String, (String, String)>,
64
- modules: Vec<(String, InterfaceName)>,
65
- funcs: Vec<String>,
66
- }
67
-
68
- #[derive(Default, Debug, Clone, Copy)]
69
- pub enum Ownership {
70
- /// Generated types will be composed entirely of owning fields, regardless
71
- /// of whether they are used as parameters to guest exports or not.
72
- #[default]
73
- Owning,
74
-
75
- /// Generated types used as parameters to guest exports will be "deeply
76
- /// borrowing", i.e. contain references rather than owned values when
77
- /// applicable.
78
- Borrowing {
79
- /// Whether or not to generate "duplicate" type definitions for a single
80
- /// WIT type if necessary, for example if it's used as both an import
81
- /// and an export, or if it's used both as a parameter to an export and
82
- /// a return value from an export.
83
- duplicate_if_necessary: bool,
84
- },
85
- }
86
-
87
- #[derive(Default, Debug, Clone)]
88
- pub struct Opts {
89
- /// Whether or not `rustfmt` is executed to format generated code.
90
- pub rustfmt: bool,
91
-
92
- /// Whether or not to emit `tracing` macro calls on function entry/exit.
93
- pub tracing: bool,
94
-
95
- /// Whether or not to use async rust functions and traits.
96
- pub async_: AsyncConfig,
97
-
98
- /// A list of "trappable errors" which are used to replace the `E` in
99
- /// `result<T, E>` found in WIT.
100
- pub trappable_error_type: Vec<TrappableError>,
101
-
102
- /// Whether to generate owning or borrowing type definitions.
103
- pub ownership: Ownership,
104
-
105
- /// Whether or not to generate code for only the interfaces of this wit file or not.
106
- pub only_interfaces: bool,
107
-
108
- /// Remapping of interface names to rust module names.
109
- /// TODO: is there a better type to use for the value of this map?
110
- pub with: HashMap<String, String>,
111
- }
112
-
113
- #[derive(Debug, Clone)]
114
- pub struct TrappableError {
115
- /// Full path to the error, such as `wasi:io/streams/error`.
116
- pub wit_path: String,
117
-
118
- /// The name, in Rust, of the error type to generate.
119
- pub rust_type_name: String,
120
- }
121
-
122
- #[derive(Default, Debug, Clone)]
123
- pub enum AsyncConfig {
124
- /// No functions are `async`.
125
- #[default]
126
- None,
127
- /// All generated functions should be `async`.
128
- All,
129
- /// These imported functions should not be async, but everything else is.
130
- AllExceptImports(HashSet<String>),
131
- /// These functions are the only imports that are async, all other imports
132
- /// are sync.
133
- ///
134
- /// Note that all exports are still async in this situation.
135
- OnlyImports(HashSet<String>),
136
- }
137
-
138
- impl AsyncConfig {
139
- pub fn is_import_async(&self, f: &str) -> bool {
140
- match self {
141
- AsyncConfig::None => false,
142
- AsyncConfig::All => true,
143
- AsyncConfig::AllExceptImports(set) => !set.contains(f),
144
- AsyncConfig::OnlyImports(set) => set.contains(f),
145
- }
146
- }
147
-
148
- pub fn maybe_async(&self) -> bool {
149
- match self {
150
- AsyncConfig::None => false,
151
- AsyncConfig::All | AsyncConfig::AllExceptImports(_) | AsyncConfig::OnlyImports(_) => {
152
- true
153
- }
154
- }
155
- }
156
- }
157
-
158
- impl Opts {
159
- pub fn generate(&self, resolve: &Resolve, world: WorldId) -> String {
160
- let mut r = Wasmtime::default();
161
- r.sizes.fill(resolve);
162
- r.opts = self.clone();
163
- r.generate(resolve, world)
164
- }
165
- }
166
-
167
- impl Wasmtime {
168
- fn name_interface(
169
- &mut self,
170
- resolve: &Resolve,
171
- id: InterfaceId,
172
- name: &WorldKey,
173
- is_export: bool,
174
- ) -> bool {
175
- let mut path = Vec::new();
176
- if is_export {
177
- path.push("exports".to_string());
178
- }
179
- match name {
180
- WorldKey::Name(name) => {
181
- path.push(name.to_snake_case());
182
- }
183
- WorldKey::Interface(_) => {
184
- let iface = &resolve.interfaces[id];
185
- let pkgname = &resolve.packages[iface.package.unwrap()].name;
186
- path.push(pkgname.namespace.to_snake_case());
187
- path.push(self.name_package_module(resolve, iface.package.unwrap()));
188
- path.push(iface.name.as_ref().unwrap().to_snake_case());
189
- }
190
- }
191
- let entry = if let Some(remapped_path) = self.lookup_replacement(resolve, name, None) {
192
- let remapped_path = remapped_path.to_string();
193
- let name = format!("__with_name{}", self.with_name_counter);
194
- self.with_name_counter += 1;
195
- uwriteln!(self.src, "use {remapped_path} as {name};");
196
- InterfaceName::Remapped {
197
- name_at_root: name,
198
- local_path: path,
199
- }
200
- } else {
201
- InterfaceName::Path(path)
202
- };
203
-
204
- let remapped = matches!(entry, InterfaceName::Remapped { .. });
205
- self.interface_names.insert(id, entry);
206
- remapped
207
- }
208
-
209
- /// If the package `id` is the only package with its namespace/name combo
210
- /// then pass through the name unmodified. If, however, there are multiple
211
- /// versions of this package then the package module is going to get version
212
- /// information.
213
- fn name_package_module(&self, resolve: &Resolve, id: PackageId) -> String {
214
- let pkg = &resolve.packages[id];
215
- let versions_with_same_name = resolve
216
- .packages
217
- .iter()
218
- .filter_map(|(_, p)| {
219
- if p.name.namespace == pkg.name.namespace && p.name.name == pkg.name.name {
220
- Some(&p.name.version)
221
- } else {
222
- None
223
- }
224
- })
225
- .collect::<Vec<_>>();
226
- let base = pkg.name.name.to_snake_case();
227
- if versions_with_same_name.len() == 1 {
228
- return base;
229
- }
230
-
231
- let version = match &pkg.name.version {
232
- Some(version) => version,
233
- // If this package didn't have a version then don't mangle its name
234
- // and other packages with the same name but with versions present
235
- // will have their names mangled.
236
- None => return base,
237
- };
238
-
239
- // Here there's multiple packages with the same name that differ only in
240
- // version, so the version needs to be mangled into the Rust module name
241
- // that we're generating. This in theory could look at all of
242
- // `versions_with_same_name` and produce a minimal diff, e.g. for 0.1.0
243
- // and 0.2.0 this could generate "foo1" and "foo2", but for now
244
- // a simpler path is chosen to generate "foo0_1_0" and "foo0_2_0".
245
- let version = version
246
- .to_string()
247
- .replace('.', "_")
248
- .replace('-', "_")
249
- .replace('+', "_")
250
- .to_snake_case();
251
- format!("{base}{version}")
252
- }
253
-
254
- fn generate(&mut self, resolve: &Resolve, id: WorldId) -> String {
255
- self.types.analyze(resolve, id);
256
- for (i, te) in self.opts.trappable_error_type.iter().enumerate() {
257
- let id = resolve_type_in_package(resolve, &te.wit_path)
258
- .context(format!("resolving {:?}", te))
259
- .unwrap();
260
- let name = format!("_TrappableError{i}");
261
- uwriteln!(self.src, "type {name} = {};", te.rust_type_name);
262
- let prev = self.trappable_errors.insert(id, name);
263
- assert!(prev.is_none());
264
- }
265
-
266
- let world = &resolve.worlds[id];
267
- for (name, import) in world.imports.iter() {
268
- if !self.opts.only_interfaces || matches!(import, WorldItem::Interface(_)) {
269
- self.import(resolve, id, name, import);
270
- }
271
- }
272
-
273
- for (name, export) in world.exports.iter() {
274
- if !self.opts.only_interfaces || matches!(export, WorldItem::Interface(_)) {
275
- self.export(resolve, name, export);
276
- }
277
- }
278
- self.finish(resolve, id)
279
- }
280
-
281
- fn import(&mut self, resolve: &Resolve, world: WorldId, name: &WorldKey, item: &WorldItem) {
282
- let mut gen = InterfaceGenerator::new(self, resolve);
283
- match item {
284
- WorldItem::Function(func) => {
285
- // Only generate a trait signature for free functions since
286
- // resource-related functions get their trait signatures
287
- // during `type_resource`.
288
- if let FunctionKind::Freestanding = func.kind {
289
- gen.generate_function_trait_sig(func);
290
- }
291
- let sig = mem::take(&mut gen.src).into();
292
- gen.generate_add_function_to_linker(TypeOwner::World(world), func, "linker");
293
- let add_to_linker = gen.src.into();
294
- self.import_functions
295
- .push(ImportFunction { sig, add_to_linker });
296
- }
297
- WorldItem::Interface(id) => {
298
- gen.gen.interface_last_seen_as_import.insert(*id, true);
299
- if gen.gen.name_interface(resolve, *id, name, false) {
300
- return;
301
- }
302
- gen.current_interface = Some((*id, name, false));
303
- gen.types(*id);
304
- let key_name = resolve.name_world_key(name);
305
-
306
- gen.generate_add_to_linker(*id, &key_name);
307
-
308
- let module = &gen.src[..];
309
-
310
- let snake = match name {
311
- WorldKey::Name(s) => s.to_snake_case(),
312
- WorldKey::Interface(id) => resolve.interfaces[*id]
313
- .name
314
- .as_ref()
315
- .unwrap()
316
- .to_snake_case(),
317
- };
318
- let module = format!(
319
- "
320
- #[allow(clippy::all)]
321
- pub mod {snake} {{
322
- #[allow(unused_imports)]
323
- use wasmtime::component::__internal::anyhow;
324
-
325
- {module}
326
- }}
327
- "
328
- );
329
- self.import_interfaces
330
- .push((module, self.interface_names[id].clone()));
331
- }
332
- WorldItem::Type(ty) => {
333
- let name = match name {
334
- WorldKey::Name(name) => name,
335
- WorldKey::Interface(_) => unreachable!(),
336
- };
337
- gen.define_type(name, *ty);
338
- let body = mem::take(&mut gen.src);
339
- self.src.push_str(&body);
340
- }
341
- };
342
- }
343
-
344
- fn export(&mut self, resolve: &Resolve, name: &WorldKey, item: &WorldItem) {
345
- let mut gen = InterfaceGenerator::new(self, resolve);
346
- let (field, ty, getter) = match item {
347
- WorldItem::Function(func) => {
348
- gen.define_rust_guest_export(resolve, None, func);
349
- let body = mem::take(&mut gen.src).into();
350
- let (_name, getter) = gen.extract_typed_function(func);
351
- assert!(gen.src.is_empty());
352
- self.exports.funcs.push(body);
353
- (
354
- func_field_name(resolve, func),
355
- "wasmtime::component::Func".to_string(),
356
- getter,
357
- )
358
- }
359
- WorldItem::Type(_) => unreachable!(),
360
- WorldItem::Interface(id) => {
361
- gen.gen.interface_last_seen_as_import.insert(*id, false);
362
- gen.gen.name_interface(resolve, *id, name, true);
363
- gen.current_interface = Some((*id, name, true));
364
- gen.types(*id);
365
- let iface = &resolve.interfaces[*id];
366
- let iface_name = match name {
367
- WorldKey::Name(name) => name,
368
- WorldKey::Interface(_) => iface.name.as_ref().unwrap(),
369
- };
370
- let camel = to_rust_upper_camel_case(iface_name);
371
- uwriteln!(gen.src, "pub struct {camel} {{");
372
- for (_, func) in iface.functions.iter() {
373
- uwriteln!(
374
- gen.src,
375
- "{}: wasmtime::component::Func,",
376
- func_field_name(resolve, func)
377
- );
378
- }
379
- uwriteln!(gen.src, "}}");
380
-
381
- uwriteln!(gen.src, "impl {camel} {{");
382
- uwrite!(
383
- gen.src,
384
- "
385
- pub fn new(
386
- __exports: &mut wasmtime::component::ExportInstance<'_, '_>,
387
- ) -> wasmtime::Result<{camel}> {{
388
- "
389
- );
390
- let mut fields = Vec::new();
391
- for (_, func) in iface.functions.iter() {
392
- let (name, getter) = gen.extract_typed_function(func);
393
- uwriteln!(gen.src, "let {name} = {getter};");
394
- fields.push(name);
395
- }
396
- uwriteln!(gen.src, "Ok({camel} {{");
397
- for name in fields {
398
- uwriteln!(gen.src, "{name},");
399
- }
400
- uwriteln!(gen.src, "}})");
401
- uwriteln!(gen.src, "}}");
402
-
403
- let mut resource_methods = IndexMap::new();
404
-
405
- for (_, func) in iface.functions.iter() {
406
- match func.kind {
407
- FunctionKind::Freestanding => {
408
- gen.define_rust_guest_export(resolve, Some(name), func);
409
- }
410
- FunctionKind::Method(id)
411
- | FunctionKind::Constructor(id)
412
- | FunctionKind::Static(id) => {
413
- resource_methods.entry(id).or_insert(Vec::new()).push(func);
414
- }
415
- }
416
- }
417
-
418
- for (id, _) in resource_methods.iter() {
419
- let name = resolve.types[*id].name.as_ref().unwrap();
420
- let snake = name.to_snake_case();
421
- let camel = name.to_upper_camel_case();
422
- uwriteln!(
423
- gen.src,
424
- "pub fn {snake}(&self) -> Guest{camel}<'_> {{
425
- Guest{camel} {{ funcs: self }}
426
- }}"
427
- );
428
- }
429
-
430
- uwriteln!(gen.src, "}}");
431
-
432
- for (id, methods) in resource_methods {
433
- let resource_name = resolve.types[id].name.as_ref().unwrap();
434
- let camel = resource_name.to_upper_camel_case();
435
- uwriteln!(gen.src, "impl Guest{camel}<'_> {{");
436
- for method in methods {
437
- gen.define_rust_guest_export(resolve, Some(name), method);
438
- }
439
- uwriteln!(gen.src, "}}");
440
- }
441
-
442
- let module = &gen.src[..];
443
- let snake = iface_name.to_snake_case();
444
-
445
- let module = format!(
446
- "
447
- #[allow(clippy::all)]
448
- pub mod {snake} {{
449
- #[allow(unused_imports)]
450
- use wasmtime::component::__internal::anyhow;
451
-
452
- {module}
453
- }}
454
- "
455
- );
456
- let pkgname = match name {
457
- WorldKey::Name(_) => None,
458
- WorldKey::Interface(_) => {
459
- Some(resolve.packages[iface.package.unwrap()].name.clone())
460
- }
461
- };
462
- self.exports
463
- .modules
464
- .push((module, self.interface_names[id].clone()));
465
-
466
- let name = resolve.name_world_key(name);
467
- let (path, method_name) = match pkgname {
468
- Some(pkgname) => (
469
- format!(
470
- "exports::{}::{}::{snake}::{camel}",
471
- pkgname.namespace.to_snake_case(),
472
- self.name_package_module(resolve, iface.package.unwrap()),
473
- ),
474
- format!(
475
- "{}_{}_{snake}",
476
- pkgname.namespace.to_snake_case(),
477
- pkgname.name.to_snake_case()
478
- ),
479
- ),
480
- None => (format!("exports::{snake}::{camel}"), snake.clone()),
481
- };
482
- let getter = format!(
483
- "\
484
- {path}::new(
485
- &mut __exports.instance(\"{name}\")
486
- .ok_or_else(|| anyhow::anyhow!(\"exported instance `{name}` not present\"))?
487
- )?\
488
- "
489
- );
490
- let field = format!("interface{}", self.exports.fields.len());
491
- self.exports.funcs.push(format!(
492
- "
493
- pub fn {method_name}(&self) -> &{path} {{
494
- &self.{field}
495
- }}
496
- ",
497
- ));
498
- (field, path, getter)
499
- }
500
- };
501
- let prev = self.exports.fields.insert(field, (ty, getter));
502
- assert!(prev.is_none());
503
- }
504
-
505
- fn build_struct(&mut self, resolve: &Resolve, world: WorldId) {
506
- let camel = to_rust_upper_camel_case(&resolve.worlds[world].name);
507
- uwriteln!(self.src, "pub struct {camel} {{");
508
- for (name, (ty, _)) in self.exports.fields.iter() {
509
- uwriteln!(self.src, "{name}: {ty},");
510
- }
511
- self.src.push_str("}\n");
512
-
513
- let (async_, async__, send, await_) = if self.opts.async_.maybe_async() {
514
- ("async", "_async", ":Send", ".await")
515
- } else {
516
- ("", "", "", "")
517
- };
518
-
519
- self.toplevel_import_trait(resolve, world);
520
-
521
- uwriteln!(self.src, "const _: () = {{");
522
- uwriteln!(self.src, "use wasmtime::component::__internal::anyhow;");
523
-
524
- uwriteln!(self.src, "impl {camel} {{");
525
- self.toplevel_add_to_linker(resolve, world);
526
- uwriteln!(
527
- self.src,
528
- "
529
- /// Instantiates the provided `module` using the specified
530
- /// parameters, wrapping up the result in a structure that
531
- /// translates between wasm and the host.
532
- pub {async_} fn instantiate{async__}<T {send}>(
533
- mut store: impl wasmtime::AsContextMut<Data = T>,
534
- component: &wasmtime::component::Component,
535
- linker: &wasmtime::component::Linker<T>,
536
- ) -> wasmtime::Result<(Self, wasmtime::component::Instance)> {{
537
- let instance = linker.instantiate{async__}(&mut store, component){await_}?;
538
- Ok((Self::new(store, &instance)?, instance))
539
- }}
540
-
541
- /// Instantiates a pre-instantiated module using the specified
542
- /// parameters, wrapping up the result in a structure that
543
- /// translates between wasm and the host.
544
- pub {async_} fn instantiate_pre<T {send}>(
545
- mut store: impl wasmtime::AsContextMut<Data = T>,
546
- instance_pre: &wasmtime::component::InstancePre<T>,
547
- ) -> wasmtime::Result<(Self, wasmtime::component::Instance)> {{
548
- let instance = instance_pre.instantiate{async__}(&mut store){await_}?;
549
- Ok((Self::new(store, &instance)?, instance))
550
- }}
551
-
552
- /// Low-level creation wrapper for wrapping up the exports
553
- /// of the `instance` provided in this structure of wasm
554
- /// exports.
555
- ///
556
- /// This function will extract exports from the `instance`
557
- /// defined within `store` and wrap them all up in the
558
- /// returned structure which can be used to interact with
559
- /// the wasm module.
560
- pub fn new(
561
- mut store: impl wasmtime::AsContextMut,
562
- instance: &wasmtime::component::Instance,
563
- ) -> wasmtime::Result<Self> {{
564
- let mut store = store.as_context_mut();
565
- let mut exports = instance.exports(&mut store);
566
- let mut __exports = exports.root();
567
- ",
568
- );
569
- for (name, (_, get)) in self.exports.fields.iter() {
570
- uwriteln!(self.src, "let {name} = {get};");
571
- }
572
- uwriteln!(self.src, "Ok({camel} {{");
573
- for (name, _) in self.exports.fields.iter() {
574
- uwriteln!(self.src, "{name},");
575
- }
576
- uwriteln!(self.src, "}})");
577
- uwriteln!(self.src, "}}"); // close `fn new`
578
-
579
- for func in self.exports.funcs.iter() {
580
- self.src.push_str(func);
581
- }
582
-
583
- uwriteln!(self.src, "}}"); // close `impl {camel}`
584
-
585
- uwriteln!(self.src, "}};"); // close `const _: () = ...
586
- }
587
-
588
- fn finish(&mut self, resolve: &Resolve, world: WorldId) -> String {
589
- if !self.opts.only_interfaces {
590
- self.build_struct(resolve, world)
591
- }
592
-
593
- let imports = mem::take(&mut self.import_interfaces);
594
- self.emit_modules(imports);
595
-
596
- let exports = mem::take(&mut self.exports.modules);
597
- self.emit_modules(exports);
598
-
599
- let mut src = mem::take(&mut self.src);
600
- if self.opts.rustfmt {
601
- let mut child = Command::new("rustfmt")
602
- .arg("--edition=2018")
603
- .stdin(Stdio::piped())
604
- .stdout(Stdio::piped())
605
- .spawn()
606
- .expect("failed to spawn `rustfmt`");
607
- child
608
- .stdin
609
- .take()
610
- .unwrap()
611
- .write_all(src.as_bytes())
612
- .unwrap();
613
- src.as_mut_string().truncate(0);
614
- child
615
- .stdout
616
- .take()
617
- .unwrap()
618
- .read_to_string(src.as_mut_string())
619
- .unwrap();
620
- let status = child.wait().unwrap();
621
- assert!(status.success());
622
- }
623
-
624
- src.into()
625
- }
626
-
627
- fn emit_modules(&mut self, modules: Vec<(String, InterfaceName)>) {
628
- #[derive(Default)]
629
- struct Module {
630
- submodules: BTreeMap<String, Module>,
631
- contents: Vec<String>,
632
- }
633
- let mut map = Module::default();
634
- for (module, name) in modules {
635
- let path = match name {
636
- InterfaceName::Remapped { local_path, .. } => local_path,
637
- InterfaceName::Path(path) => path,
638
- };
639
- let mut cur = &mut map;
640
- for name in path[..path.len() - 1].iter() {
641
- cur = cur
642
- .submodules
643
- .entry(name.clone())
644
- .or_insert(Module::default());
645
- }
646
- cur.contents.push(module);
647
- }
648
-
649
- emit(&mut self.src, map);
650
-
651
- fn emit(me: &mut Source, module: Module) {
652
- for (name, submodule) in module.submodules {
653
- uwriteln!(me, "pub mod {name} {{");
654
- emit(me, submodule);
655
- uwriteln!(me, "}}");
656
- }
657
- for submodule in module.contents {
658
- uwriteln!(me, "{submodule}");
659
- }
660
- }
661
- }
662
-
663
- fn lookup_replacement(
664
- &self,
665
- resolve: &Resolve,
666
- key: &WorldKey,
667
- item: Option<&str>,
668
- ) -> Option<&str> {
669
- // First try to lookup the exact name of the interface as specified
670
- // via `name_world_key`.
671
- let name = resolve.name_world_key(key);
672
- let candidate1 = match item {
673
- Some(item) => format!("{name}/{item}"),
674
- None => name.clone(),
675
- };
676
- if let Some(ret) = self.opts.with.get(&candidate1) {
677
- return Some(ret);
678
- }
679
-
680
- // .. if the above failed allow omitting the `@...` version information
681
- // and see if there's a `with` key for that.
682
- //
683
- // NB: this means that in a scenario where there's packages with the
684
- // same name/namespace where one has a version and one doesn't there's
685
- // no way to use `with` to specify just one and not the other. That
686
- // should be ok for now, but this should ideally detect a situation like
687
- // that and omit this fallback in such a situation.
688
- let version_start = name.find('@')?;
689
- let name = &name[..version_start];
690
- let candidate2 = match item {
691
- Some(item) => format!("{name}/{item}"),
692
- None => name.to_string(),
693
- };
694
- if let Some(ret) = self.opts.with.get(&candidate2) {
695
- return Some(ret);
696
- }
697
-
698
- None
699
- }
700
- }
701
-
702
- impl Wasmtime {
703
- fn has_world_trait(&self, resolve: &Resolve, world: WorldId) -> bool {
704
- !self.import_functions.is_empty() || get_world_resources(resolve, world).count() > 0
705
- }
706
-
707
- fn toplevel_import_trait(&mut self, resolve: &Resolve, world: WorldId) {
708
- if !self.has_world_trait(resolve, world) {
709
- return;
710
- }
711
-
712
- let world_camel = to_rust_upper_camel_case(&resolve.worlds[world].name);
713
- if self.opts.async_.maybe_async() {
714
- uwriteln!(self.src, "#[wasmtime::component::__internal::async_trait]")
715
- }
716
- uwrite!(self.src, "pub trait {world_camel}Imports");
717
- for (i, resource) in get_world_resources(resolve, world).enumerate() {
718
- if i == 0 {
719
- uwrite!(self.src, ": ");
720
- } else {
721
- uwrite!(self.src, " + ");
722
- }
723
- uwrite!(self.src, "Host{}", resource.to_upper_camel_case());
724
- }
725
- uwriteln!(self.src, " {{");
726
- for f in self.import_functions.iter() {
727
- self.src.push_str(&f.sig);
728
- self.src.push_str("\n");
729
- }
730
- uwriteln!(self.src, "}}");
731
- }
732
-
733
- fn toplevel_add_to_linker(&mut self, resolve: &Resolve, world: WorldId) {
734
- let has_world_trait = self.has_world_trait(resolve, world);
735
- if self.import_interfaces.is_empty() && !has_world_trait {
736
- return;
737
- }
738
- let mut interfaces = Vec::new();
739
- for (_, name) in self.import_interfaces.iter() {
740
- let path = match name {
741
- InterfaceName::Remapped { .. } => unreachable!("imported a remapped module"),
742
- InterfaceName::Path(path) => path,
743
- };
744
- interfaces.push(path.join("::"));
745
- }
746
-
747
- uwrite!(
748
- self.src,
749
- "
750
- pub fn add_to_linker<T, U>(
751
- linker: &mut wasmtime::component::Linker<T>,
752
- get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static,
753
- ) -> wasmtime::Result<()>
754
- where U: \
755
- "
756
- );
757
- let world_camel = to_rust_upper_camel_case(&resolve.worlds[world].name);
758
- let world_trait = format!("{world_camel}Imports");
759
- for (i, name) in interfaces
760
- .iter()
761
- .map(|n| format!("{n}::Host"))
762
- .chain(if has_world_trait {
763
- Some(world_trait.clone())
764
- } else {
765
- None
766
- })
767
- .enumerate()
768
- {
769
- if i > 0 {
770
- self.src.push_str(" + ");
771
- }
772
- self.src.push_str(&name);
773
- }
774
-
775
- let maybe_send = if self.opts.async_.maybe_async() {
776
- " + Send, T: Send"
777
- } else {
778
- ""
779
- };
780
-
781
- self.src.push_str(maybe_send);
782
- self.src.push_str(",\n{\n");
783
- for name in interfaces.iter() {
784
- uwriteln!(self.src, "{name}::add_to_linker(linker, get)?;");
785
- }
786
- if has_world_trait {
787
- uwriteln!(self.src, "Self::add_root_to_linker(linker, get)?;");
788
- }
789
- uwriteln!(self.src, "Ok(())\n}}");
790
- if !has_world_trait {
791
- return;
792
- }
793
-
794
- uwrite!(
795
- self.src,
796
- "
797
- pub fn add_root_to_linker<T, U>(
798
- linker: &mut wasmtime::component::Linker<T>,
799
- get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static,
800
- ) -> wasmtime::Result<()>
801
- where U: {world_trait}{maybe_send}
802
- {{
803
- let mut linker = linker.root();
804
- ",
805
- );
806
- for name in get_world_resources(resolve, world) {
807
- let camel = name.to_upper_camel_case();
808
- uwriteln!(
809
- self.src,
810
- "linker.resource::<{camel}>(
811
- \"{name}\",
812
- move |mut store, rep| -> wasmtime::Result<()> {{
813
- Host{camel}::drop(get(store.data_mut()), wasmtime::component::Resource::new_own(rep))
814
- }},
815
- )?;"
816
- )
817
- }
818
-
819
- for f in self.import_functions.iter() {
820
- self.src.push_str(&f.add_to_linker);
821
- self.src.push_str("\n");
822
- }
823
- uwriteln!(self.src, "Ok(())\n}}");
824
- }
825
- }
826
-
827
- fn resolve_type_in_package(resolve: &Resolve, wit_path: &str) -> anyhow::Result<TypeId> {
828
- // Build a map, `packages_to_omit_version`, where that package can be
829
- // uniquely identified by its name/namespace combo and as such version
830
- // information is not required.
831
- let mut packages_with_same_name = HashMap::new();
832
- for (id, pkg) in resolve.packages.iter() {
833
- packages_with_same_name
834
- .entry(PackageName {
835
- version: None,
836
- ..pkg.name.clone()
837
- })
838
- .or_insert(Vec::new())
839
- .push(id)
840
- }
841
- let packages_to_omit_version = packages_with_same_name
842
- .iter()
843
- .filter_map(
844
- |(_name, list)| {
845
- if list.len() == 1 {
846
- Some(list)
847
- } else {
848
- None
849
- }
850
- },
851
- )
852
- .flat_map(|l| l)
853
- .collect::<HashSet<_>>();
854
-
855
- // Look for an interface whose assigned prefix starts `wit_path`. Not
856
- // exactly the most efficient thing ever but is sufficient for now.
857
- for (id, interface) in resolve.interfaces.iter() {
858
- let iface_name = match &interface.name {
859
- Some(name) => name,
860
- None => continue,
861
- };
862
- let pkgid = interface.package.unwrap();
863
- let pkgname = &resolve.packages[pkgid].name;
864
- let prefix = if packages_to_omit_version.contains(&pkgid) {
865
- let mut name = pkgname.clone();
866
- name.version = None;
867
- format!("{name}/{iface_name}")
868
- } else {
869
- resolve.id_of(id).unwrap()
870
- };
871
- let wit_path = match wit_path.strip_prefix(&prefix) {
872
- Some(rest) => rest,
873
- None => continue,
874
- };
875
- let wit_path = wit_path
876
- .strip_prefix('/')
877
- .ok_or_else(|| anyhow!("expected `/` after interface name"))?;
878
-
879
- return interface
880
- .types
881
- .get(wit_path)
882
- .copied()
883
- .ok_or_else(|| anyhow!("no types found to match `{wit_path}` in interface"));
884
- }
885
-
886
- bail!("no package/interface found to match `{wit_path}`")
887
- }
888
-
889
- struct InterfaceGenerator<'a> {
890
- src: Source,
891
- gen: &'a mut Wasmtime,
892
- resolve: &'a Resolve,
893
- current_interface: Option<(InterfaceId, &'a WorldKey, bool)>,
894
- }
895
-
896
- impl<'a> InterfaceGenerator<'a> {
897
- fn new(gen: &'a mut Wasmtime, resolve: &'a Resolve) -> InterfaceGenerator<'a> {
898
- InterfaceGenerator {
899
- src: Source::default(),
900
- gen,
901
- resolve,
902
- current_interface: None,
903
- }
904
- }
905
-
906
- fn types_imported(&self) -> bool {
907
- match self.current_interface {
908
- Some((_, _, is_export)) => !is_export,
909
- None => true,
910
- }
911
- }
912
-
913
- fn types(&mut self, id: InterfaceId) {
914
- for (name, id) in self.resolve.interfaces[id].types.iter() {
915
- self.define_type(name, *id);
916
- }
917
- }
918
-
919
- fn define_type(&mut self, name: &str, id: TypeId) {
920
- let ty = &self.resolve.types[id];
921
- match &ty.kind {
922
- TypeDefKind::Record(record) => self.type_record(id, name, record, &ty.docs),
923
- TypeDefKind::Flags(flags) => self.type_flags(id, name, flags, &ty.docs),
924
- TypeDefKind::Tuple(tuple) => self.type_tuple(id, name, tuple, &ty.docs),
925
- TypeDefKind::Enum(enum_) => self.type_enum(id, name, enum_, &ty.docs),
926
- TypeDefKind::Variant(variant) => self.type_variant(id, name, variant, &ty.docs),
927
- TypeDefKind::Option(t) => self.type_option(id, name, t, &ty.docs),
928
- TypeDefKind::Result(r) => self.type_result(id, name, r, &ty.docs),
929
- TypeDefKind::List(t) => self.type_list(id, name, t, &ty.docs),
930
- TypeDefKind::Type(t) => self.type_alias(id, name, t, &ty.docs),
931
- TypeDefKind::Future(_) => todo!("generate for future"),
932
- TypeDefKind::Stream(_) => todo!("generate for stream"),
933
- TypeDefKind::Handle(handle) => self.type_handle(id, name, handle, &ty.docs),
934
- TypeDefKind::Resource => self.type_resource(id, name, ty, &ty.docs),
935
- TypeDefKind::Unknown => unreachable!(),
936
- }
937
- }
938
-
939
- fn type_handle(&mut self, id: TypeId, name: &str, handle: &Handle, docs: &Docs) {
940
- self.rustdoc(docs);
941
- let name = name.to_upper_camel_case();
942
- uwriteln!(self.src, "pub type {name} = ");
943
- self.print_handle(handle);
944
- self.push_str(";\n");
945
- self.assert_type(id, &name);
946
- }
947
-
948
- fn type_resource(&mut self, id: TypeId, name: &str, resource: &TypeDef, docs: &Docs) {
949
- let camel = name.to_upper_camel_case();
950
-
951
- if self.types_imported() {
952
- self.rustdoc(docs);
953
-
954
- let replacement = match self.current_interface {
955
- Some((_, key, _)) => self.gen.lookup_replacement(self.resolve, key, Some(name)),
956
- None => self.gen.opts.with.get(name).map(|s| s.as_str()),
957
- };
958
- match replacement {
959
- Some(path) => {
960
- uwriteln!(
961
- self.src,
962
- "pub use {}{path} as {camel};",
963
- self.path_to_root()
964
- );
965
- }
966
- None => {
967
- uwriteln!(self.src, "pub enum {camel} {{}}");
968
- }
969
- }
970
-
971
- if self.gen.opts.async_.maybe_async() {
972
- uwriteln!(self.src, "#[wasmtime::component::__internal::async_trait]")
973
- }
974
-
975
- uwriteln!(self.src, "pub trait Host{camel} {{");
976
-
977
- let functions = match resource.owner {
978
- TypeOwner::World(id) => self.resolve.worlds[id]
979
- .imports
980
- .values()
981
- .filter_map(|item| match item {
982
- WorldItem::Function(f) => Some(f),
983
- _ => None,
984
- })
985
- .collect(),
986
- TypeOwner::Interface(id) => self.resolve.interfaces[id]
987
- .functions
988
- .values()
989
- .collect::<Vec<_>>(),
990
- TypeOwner::None => {
991
- panic!("A resource must be owned by a world or interface");
992
- }
993
- };
994
-
995
- for func in functions {
996
- match func.kind {
997
- FunctionKind::Method(resource)
998
- | FunctionKind::Static(resource)
999
- | FunctionKind::Constructor(resource)
1000
- if id == resource => {}
1001
- _ => continue,
1002
- }
1003
-
1004
- self.generate_function_trait_sig(func);
1005
- }
1006
-
1007
- uwrite!(
1008
- self.src,
1009
- "fn drop(&mut self, rep: wasmtime::component::Resource<{camel}>) -> wasmtime::Result<()>;");
1010
-
1011
- uwriteln!(self.src, "}}");
1012
- } else {
1013
- let iface_name = match self.current_interface.unwrap().1 {
1014
- WorldKey::Name(name) => name.to_upper_camel_case(),
1015
- WorldKey::Interface(i) => self.resolve.interfaces[*i]
1016
- .name
1017
- .as_ref()
1018
- .unwrap()
1019
- .to_upper_camel_case(),
1020
- };
1021
- self.rustdoc(docs);
1022
- uwriteln!(
1023
- self.src,
1024
- "
1025
- pub type {camel} = wasmtime::component::ResourceAny;
1026
-
1027
- pub struct Guest{camel}<'a> {{
1028
- funcs: &'a {iface_name},
1029
- }}
1030
- "
1031
- );
1032
- }
1033
- }
1034
-
1035
- fn type_record(&mut self, id: TypeId, _name: &str, record: &Record, docs: &Docs) {
1036
- let info = self.info(id);
1037
- for (name, mode) in self.modes_of(id) {
1038
- let lt = self.lifetime_for(&info, mode);
1039
- self.rustdoc(docs);
1040
-
1041
- self.push_str("#[derive(wasmtime::component::ComponentType)]\n");
1042
- if lt.is_none() {
1043
- self.push_str("#[derive(wasmtime::component::Lift)]\n");
1044
- }
1045
- self.push_str("#[derive(wasmtime::component::Lower)]\n");
1046
- self.push_str("#[component(record)]\n");
1047
-
1048
- if info.is_copy() {
1049
- self.push_str("#[derive(Copy, Clone)]\n");
1050
- } else if info.is_clone() {
1051
- self.push_str("#[derive(Clone)]\n");
1052
- }
1053
- self.push_str(&format!("pub struct {}", name));
1054
- self.print_generics(lt);
1055
- self.push_str(" {\n");
1056
- for field in record.fields.iter() {
1057
- self.rustdoc(&field.docs);
1058
- self.push_str(&format!("#[component(name = \"{}\")]\n", field.name));
1059
- self.push_str("pub ");
1060
- self.push_str(&to_rust_ident(&field.name));
1061
- self.push_str(": ");
1062
- self.print_ty(&field.ty, mode);
1063
- self.push_str(",\n");
1064
- }
1065
- self.push_str("}\n");
1066
-
1067
- self.push_str("impl");
1068
- self.print_generics(lt);
1069
- self.push_str(" core::fmt::Debug for ");
1070
- self.push_str(&name);
1071
- self.print_generics(lt);
1072
- self.push_str(" {\n");
1073
- self.push_str(
1074
- "fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n",
1075
- );
1076
- self.push_str(&format!("f.debug_struct(\"{}\")", name));
1077
- for field in record.fields.iter() {
1078
- self.push_str(&format!(
1079
- ".field(\"{}\", &self.{})",
1080
- field.name,
1081
- to_rust_ident(&field.name)
1082
- ));
1083
- }
1084
- self.push_str(".finish()\n");
1085
- self.push_str("}\n");
1086
- self.push_str("}\n");
1087
-
1088
- if info.error {
1089
- self.push_str("impl");
1090
- self.print_generics(lt);
1091
- self.push_str(" core::fmt::Display for ");
1092
- self.push_str(&name);
1093
- self.print_generics(lt);
1094
- self.push_str(" {\n");
1095
- self.push_str(
1096
- "fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n",
1097
- );
1098
- self.push_str("write!(f, \"{:?}\", self)\n");
1099
- self.push_str("}\n");
1100
- self.push_str("}\n");
1101
- self.push_str("impl std::error::Error for ");
1102
- self.push_str(&name);
1103
- self.push_str("{}\n");
1104
- }
1105
- self.assert_type(id, &name);
1106
- }
1107
- }
1108
-
1109
- fn type_tuple(&mut self, id: TypeId, _name: &str, tuple: &Tuple, docs: &Docs) {
1110
- let info = self.info(id);
1111
- for (name, mode) in self.modes_of(id) {
1112
- let lt = self.lifetime_for(&info, mode);
1113
- self.rustdoc(docs);
1114
- self.push_str(&format!("pub type {}", name));
1115
- self.print_generics(lt);
1116
- self.push_str(" = (");
1117
- for ty in tuple.types.iter() {
1118
- self.print_ty(ty, mode);
1119
- self.push_str(",");
1120
- }
1121
- self.push_str(");\n");
1122
- self.assert_type(id, &name);
1123
- }
1124
- }
1125
-
1126
- fn type_flags(&mut self, id: TypeId, name: &str, flags: &Flags, docs: &Docs) {
1127
- self.rustdoc(docs);
1128
- let rust_name = to_rust_upper_camel_case(name);
1129
- self.src.push_str("wasmtime::component::flags!(\n");
1130
- self.src.push_str(&format!("{rust_name} {{\n"));
1131
- for flag in flags.flags.iter() {
1132
- // TODO wasmtime-component-macro doesnt support docs for flags rn
1133
- uwrite!(
1134
- self.src,
1135
- "#[component(name=\"{}\")] const {};\n",
1136
- flag.name,
1137
- flag.name.to_shouty_snake_case()
1138
- );
1139
- }
1140
- self.src.push_str("}\n");
1141
- self.src.push_str(");\n\n");
1142
- self.assert_type(id, &rust_name);
1143
- }
1144
-
1145
- fn type_variant(&mut self, id: TypeId, _name: &str, variant: &Variant, docs: &Docs) {
1146
- self.print_rust_enum(
1147
- id,
1148
- variant.cases.iter().map(|c| {
1149
- (
1150
- c.name.to_upper_camel_case(),
1151
- Some(c.name.clone()),
1152
- &c.docs,
1153
- c.ty.as_ref(),
1154
- )
1155
- }),
1156
- docs,
1157
- "variant",
1158
- );
1159
- }
1160
-
1161
- fn type_option(&mut self, id: TypeId, _name: &str, payload: &Type, docs: &Docs) {
1162
- let info = self.info(id);
1163
-
1164
- for (name, mode) in self.modes_of(id) {
1165
- self.rustdoc(docs);
1166
- let lt = self.lifetime_for(&info, mode);
1167
- self.push_str(&format!("pub type {}", name));
1168
- self.print_generics(lt);
1169
- self.push_str("= Option<");
1170
- self.print_ty(payload, mode);
1171
- self.push_str(">;\n");
1172
- self.assert_type(id, &name);
1173
- }
1174
- }
1175
-
1176
- // Emit a double-check that the wit-parser-understood size of a type agrees
1177
- // with the Wasmtime-understood size of a type.
1178
- fn assert_type(&mut self, id: TypeId, name: &str) {
1179
- self.push_str("const _: () = {\n");
1180
- uwriteln!(
1181
- self.src,
1182
- "assert!({} == <{name} as wasmtime::component::ComponentType>::SIZE32);",
1183
- self.gen.sizes.size(&Type::Id(id)),
1184
- );
1185
- uwriteln!(
1186
- self.src,
1187
- "assert!({} == <{name} as wasmtime::component::ComponentType>::ALIGN32);",
1188
- self.gen.sizes.align(&Type::Id(id)),
1189
- );
1190
- self.push_str("};\n");
1191
- }
1192
-
1193
- fn print_rust_enum<'b>(
1194
- &mut self,
1195
- id: TypeId,
1196
- cases: impl IntoIterator<Item = (String, Option<String>, &'b Docs, Option<&'b Type>)> + Clone,
1197
- docs: &Docs,
1198
- derive_component: &str,
1199
- ) where
1200
- Self: Sized,
1201
- {
1202
- let info = self.info(id);
1203
-
1204
- for (name, mode) in self.modes_of(id) {
1205
- let name = to_rust_upper_camel_case(&name);
1206
-
1207
- self.rustdoc(docs);
1208
- let lt = self.lifetime_for(&info, mode);
1209
- self.push_str("#[derive(wasmtime::component::ComponentType)]\n");
1210
- if lt.is_none() {
1211
- self.push_str("#[derive(wasmtime::component::Lift)]\n");
1212
- }
1213
- self.push_str("#[derive(wasmtime::component::Lower)]\n");
1214
- self.push_str(&format!("#[component({})]\n", derive_component));
1215
- if info.is_copy() {
1216
- self.push_str("#[derive(Copy, Clone)]\n");
1217
- } else if info.is_clone() {
1218
- self.push_str("#[derive(Clone)]\n");
1219
- }
1220
- self.push_str(&format!("pub enum {name}"));
1221
- self.print_generics(lt);
1222
- self.push_str("{\n");
1223
- for (case_name, component_name, docs, payload) in cases.clone() {
1224
- self.rustdoc(docs);
1225
- if let Some(n) = component_name {
1226
- self.push_str(&format!("#[component(name = \"{}\")] ", n));
1227
- }
1228
- self.push_str(&case_name);
1229
- if let Some(ty) = payload {
1230
- self.push_str("(");
1231
- self.print_ty(ty, mode);
1232
- self.push_str(")")
1233
- }
1234
- self.push_str(",\n");
1235
- }
1236
- self.push_str("}\n");
1237
-
1238
- self.print_rust_enum_debug(
1239
- id,
1240
- mode,
1241
- &name,
1242
- cases
1243
- .clone()
1244
- .into_iter()
1245
- .map(|(name, _attr, _docs, ty)| (name, ty)),
1246
- );
1247
-
1248
- if info.error {
1249
- self.push_str("impl");
1250
- self.print_generics(lt);
1251
- self.push_str(" core::fmt::Display for ");
1252
- self.push_str(&name);
1253
- self.print_generics(lt);
1254
- self.push_str(" {\n");
1255
- self.push_str(
1256
- "fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n",
1257
- );
1258
- self.push_str("write!(f, \"{:?}\", self)");
1259
- self.push_str("}\n");
1260
- self.push_str("}\n");
1261
- self.push_str("\n");
1262
-
1263
- self.push_str("impl");
1264
- self.print_generics(lt);
1265
- self.push_str(" std::error::Error for ");
1266
- self.push_str(&name);
1267
- self.print_generics(lt);
1268
- self.push_str(" {}\n");
1269
- }
1270
-
1271
- self.assert_type(id, &name);
1272
- }
1273
- }
1274
-
1275
- fn print_rust_enum_debug<'b>(
1276
- &mut self,
1277
- id: TypeId,
1278
- mode: TypeMode,
1279
- name: &str,
1280
- cases: impl IntoIterator<Item = (String, Option<&'b Type>)>,
1281
- ) where
1282
- Self: Sized,
1283
- {
1284
- let info = self.info(id);
1285
- let lt = self.lifetime_for(&info, mode);
1286
- self.push_str("impl");
1287
- self.print_generics(lt);
1288
- self.push_str(" core::fmt::Debug for ");
1289
- self.push_str(name);
1290
- self.print_generics(lt);
1291
- self.push_str(" {\n");
1292
- self.push_str("fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n");
1293
- self.push_str("match self {\n");
1294
- for (case_name, payload) in cases {
1295
- self.push_str(name);
1296
- self.push_str("::");
1297
- self.push_str(&case_name);
1298
- if payload.is_some() {
1299
- self.push_str("(e)");
1300
- }
1301
- self.push_str(" => {\n");
1302
- self.push_str(&format!("f.debug_tuple(\"{}::{}\")", name, case_name));
1303
- if payload.is_some() {
1304
- self.push_str(".field(e)");
1305
- }
1306
- self.push_str(".finish()\n");
1307
- self.push_str("}\n");
1308
- }
1309
- self.push_str("}\n");
1310
- self.push_str("}\n");
1311
- self.push_str("}\n");
1312
- }
1313
-
1314
- fn type_result(&mut self, id: TypeId, _name: &str, result: &Result_, docs: &Docs) {
1315
- let info = self.info(id);
1316
-
1317
- for (name, mode) in self.modes_of(id) {
1318
- self.rustdoc(docs);
1319
- let lt = self.lifetime_for(&info, mode);
1320
- self.push_str(&format!("pub type {}", name));
1321
- self.print_generics(lt);
1322
- self.push_str("= Result<");
1323
- self.print_optional_ty(result.ok.as_ref(), mode);
1324
- self.push_str(",");
1325
- self.print_optional_ty(result.err.as_ref(), mode);
1326
- self.push_str(">;\n");
1327
- self.assert_type(id, &name);
1328
- }
1329
- }
1330
-
1331
- fn type_enum(&mut self, id: TypeId, name: &str, enum_: &Enum, docs: &Docs) {
1332
- let info = self.info(id);
1333
-
1334
- let name = to_rust_upper_camel_case(name);
1335
- self.rustdoc(docs);
1336
- self.push_str("#[derive(wasmtime::component::ComponentType)]\n");
1337
- self.push_str("#[derive(wasmtime::component::Lift)]\n");
1338
- self.push_str("#[derive(wasmtime::component::Lower)]\n");
1339
- self.push_str("#[component(enum)]\n");
1340
- self.push_str("#[derive(Clone, Copy, PartialEq, Eq)]\n");
1341
- self.push_str(&format!("pub enum {} {{\n", name));
1342
- for case in enum_.cases.iter() {
1343
- self.rustdoc(&case.docs);
1344
- self.push_str(&format!("#[component(name = \"{}\")]", case.name));
1345
- self.push_str(&case.name.to_upper_camel_case());
1346
- self.push_str(",\n");
1347
- }
1348
- self.push_str("}\n");
1349
-
1350
- // Auto-synthesize an implementation of the standard `Error` trait for
1351
- // error-looking types based on their name.
1352
- if info.error {
1353
- self.push_str("impl ");
1354
- self.push_str(&name);
1355
- self.push_str("{\n");
1356
-
1357
- self.push_str("pub fn name(&self) -> &'static str {\n");
1358
- self.push_str("match self {\n");
1359
- for case in enum_.cases.iter() {
1360
- self.push_str(&name);
1361
- self.push_str("::");
1362
- self.push_str(&case.name.to_upper_camel_case());
1363
- self.push_str(" => \"");
1364
- self.push_str(case.name.as_str());
1365
- self.push_str("\",\n");
1366
- }
1367
- self.push_str("}\n");
1368
- self.push_str("}\n");
1369
-
1370
- self.push_str("pub fn message(&self) -> &'static str {\n");
1371
- self.push_str("match self {\n");
1372
- for case in enum_.cases.iter() {
1373
- self.push_str(&name);
1374
- self.push_str("::");
1375
- self.push_str(&case.name.to_upper_camel_case());
1376
- self.push_str(" => \"");
1377
- if let Some(contents) = &case.docs.contents {
1378
- self.push_str(contents.trim());
1379
- }
1380
- self.push_str("\",\n");
1381
- }
1382
- self.push_str("}\n");
1383
- self.push_str("}\n");
1384
-
1385
- self.push_str("}\n");
1386
-
1387
- self.push_str("impl core::fmt::Debug for ");
1388
- self.push_str(&name);
1389
- self.push_str(
1390
- "{\nfn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n",
1391
- );
1392
- self.push_str("f.debug_struct(\"");
1393
- self.push_str(&name);
1394
- self.push_str("\")\n");
1395
- self.push_str(".field(\"code\", &(*self as i32))\n");
1396
- self.push_str(".field(\"name\", &self.name())\n");
1397
- self.push_str(".field(\"message\", &self.message())\n");
1398
- self.push_str(".finish()\n");
1399
- self.push_str("}\n");
1400
- self.push_str("}\n");
1401
-
1402
- self.push_str("impl core::fmt::Display for ");
1403
- self.push_str(&name);
1404
- self.push_str(
1405
- "{\nfn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n",
1406
- );
1407
- self.push_str("write!(f, \"{} (error {})\", self.name(), *self as i32)");
1408
- self.push_str("}\n");
1409
- self.push_str("}\n");
1410
- self.push_str("\n");
1411
- self.push_str("impl std::error::Error for ");
1412
- self.push_str(&name);
1413
- self.push_str("{}\n");
1414
- } else {
1415
- self.print_rust_enum_debug(
1416
- id,
1417
- TypeMode::Owned,
1418
- &name,
1419
- enum_
1420
- .cases
1421
- .iter()
1422
- .map(|c| (c.name.to_upper_camel_case(), None)),
1423
- )
1424
- }
1425
- self.assert_type(id, &name);
1426
- }
1427
-
1428
- fn type_alias(&mut self, id: TypeId, _name: &str, ty: &Type, docs: &Docs) {
1429
- let info = self.info(id);
1430
- for (name, mode) in self.modes_of(id) {
1431
- self.rustdoc(docs);
1432
- self.push_str(&format!("pub type {}", name));
1433
- let lt = self.lifetime_for(&info, mode);
1434
- self.print_generics(lt);
1435
- self.push_str(" = ");
1436
- self.print_ty(ty, mode);
1437
- self.push_str(";\n");
1438
- let def_id = resolve_type_definition_id(self.resolve, id);
1439
- if !matches!(self.resolve().types[def_id].kind, TypeDefKind::Resource) {
1440
- self.assert_type(id, &name);
1441
- }
1442
- }
1443
- }
1444
-
1445
- fn type_list(&mut self, id: TypeId, _name: &str, ty: &Type, docs: &Docs) {
1446
- let info = self.info(id);
1447
- for (name, mode) in self.modes_of(id) {
1448
- let lt = self.lifetime_for(&info, mode);
1449
- self.rustdoc(docs);
1450
- self.push_str(&format!("pub type {}", name));
1451
- self.print_generics(lt);
1452
- self.push_str(" = ");
1453
- self.print_list(ty, mode);
1454
- self.push_str(";\n");
1455
- self.assert_type(id, &name);
1456
- }
1457
- }
1458
-
1459
- fn print_result_ty(&mut self, results: &Results, mode: TypeMode) {
1460
- match results {
1461
- Results::Named(rs) => match rs.len() {
1462
- 0 => self.push_str("()"),
1463
- 1 => self.print_ty(&rs[0].1, mode),
1464
- _ => {
1465
- self.push_str("(");
1466
- for (i, (_, ty)) in rs.iter().enumerate() {
1467
- if i > 0 {
1468
- self.push_str(", ")
1469
- }
1470
- self.print_ty(ty, mode)
1471
- }
1472
- self.push_str(")");
1473
- }
1474
- },
1475
- Results::Anon(ty) => self.print_ty(ty, mode),
1476
- }
1477
- }
1478
-
1479
- fn special_case_trappable_error(
1480
- &self,
1481
- results: &Results,
1482
- ) -> Option<(&'a Result_, TypeId, String)> {
1483
- // We fillin a special trappable error type in the case when a function has just one
1484
- // result, which is itself a `result<a, e>`, and the `e` is *not* a primitive
1485
- // (i.e. defined in std) type, and matches the typename given by the user.
1486
- let mut i = results.iter_types();
1487
- let id = match i.next()? {
1488
- Type::Id(id) => id,
1489
- _ => return None,
1490
- };
1491
- if i.next().is_some() {
1492
- return None;
1493
- }
1494
- let result = match &self.resolve.types[*id].kind {
1495
- TypeDefKind::Result(r) => r,
1496
- _ => return None,
1497
- };
1498
- let error_typeid = match result.err? {
1499
- Type::Id(id) => resolve_type_definition_id(&self.resolve, id),
1500
- _ => return None,
1501
- };
1502
-
1503
- let name = self.gen.trappable_errors.get(&error_typeid)?;
1504
-
1505
- let mut path = self.path_to_root();
1506
- uwrite!(path, "{name}");
1507
- Some((result, error_typeid, path))
1508
- }
1509
-
1510
- fn generate_add_to_linker(&mut self, id: InterfaceId, name: &str) {
1511
- let iface = &self.resolve.interfaces[id];
1512
- let owner = TypeOwner::Interface(id);
1513
-
1514
- if self.gen.opts.async_.maybe_async() {
1515
- uwriteln!(self.src, "#[wasmtime::component::__internal::async_trait]")
1516
- }
1517
- // Generate the `pub trait` which represents the host functionality for
1518
- // this import which additionally inherits from all resource traits
1519
- // for this interface defined by `type_resource`.
1520
- uwrite!(self.src, "pub trait Host");
1521
- for (i, resource) in get_resources(self.resolve, id).enumerate() {
1522
- if i == 0 {
1523
- uwrite!(self.src, ": ");
1524
- } else {
1525
- uwrite!(self.src, " + ");
1526
- }
1527
- uwrite!(self.src, "Host{}", resource.to_upper_camel_case());
1528
- }
1529
- uwriteln!(self.src, " {{");
1530
- for (_, func) in iface.functions.iter() {
1531
- match func.kind {
1532
- FunctionKind::Freestanding => {}
1533
- _ => continue,
1534
- }
1535
- self.generate_function_trait_sig(func);
1536
- }
1537
-
1538
- // Generate `convert_*` functions to convert custom trappable errors
1539
- // into the representation required by Wasmtime's component API.
1540
- let mut required_conversion_traits = IndexSet::new();
1541
- let mut errors_converted = IndexSet::new();
1542
- let my_error_types = iface
1543
- .types
1544
- .iter()
1545
- .filter(|(_, id)| self.gen.trappable_errors.contains_key(*id))
1546
- .map(|(_, id)| *id);
1547
- let used_error_types = iface
1548
- .functions
1549
- .iter()
1550
- .filter_map(|(_, func)| self.special_case_trappable_error(&func.results))
1551
- .map(|(_, id, _)| id);
1552
- for err in my_error_types.chain(used_error_types).collect::<Vec<_>>() {
1553
- let custom_name = &self.gen.trappable_errors[&err];
1554
- let err = &self.resolve.types[resolve_type_definition_id(self.resolve, err)];
1555
- let err_name = err.name.as_ref().unwrap();
1556
- let err_snake = err_name.to_snake_case();
1557
- let err_camel = err_name.to_upper_camel_case();
1558
- let owner = match err.owner {
1559
- TypeOwner::Interface(i) => i,
1560
- _ => unimplemented!(),
1561
- };
1562
- match self.path_to_interface(owner) {
1563
- Some(path) => {
1564
- required_conversion_traits.insert(format!("{path}::Host"));
1565
- }
1566
- None => {
1567
- if errors_converted.insert(err_name) {
1568
- let root = self.path_to_root();
1569
- uwriteln!(
1570
- self.src,
1571
- "fn convert_{err_snake}(&mut self, err: {root}{custom_name}) -> wasmtime::Result<{err_camel}>;"
1572
- );
1573
- }
1574
- }
1575
- }
1576
- }
1577
- uwriteln!(self.src, "}}");
1578
-
1579
- let mut where_clause = if self.gen.opts.async_.maybe_async() {
1580
- "T: Send, U: Host + Send".to_string()
1581
- } else {
1582
- "U: Host".to_string()
1583
- };
1584
-
1585
- for t in required_conversion_traits {
1586
- where_clause.push_str(" + ");
1587
- where_clause.push_str(&t);
1588
- }
1589
-
1590
- uwriteln!(
1591
- self.src,
1592
- "
1593
- pub fn add_to_linker<T, U>(
1594
- linker: &mut wasmtime::component::Linker<T>,
1595
- get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static,
1596
- ) -> wasmtime::Result<()>
1597
- where {where_clause}
1598
- {{
1599
- "
1600
- );
1601
- uwriteln!(self.src, "let mut inst = linker.instance(\"{name}\")?;");
1602
-
1603
- for name in get_resources(self.resolve, id) {
1604
- let camel = name.to_upper_camel_case();
1605
- uwriteln!(
1606
- self.src,
1607
- "inst.resource::<{camel}>(
1608
- \"{name}\",
1609
- move |mut store, rep| -> wasmtime::Result<()> {{
1610
- Host{camel}::drop(get(store.data_mut()), wasmtime::component::Resource::new_own(rep))
1611
- }},
1612
- )?;"
1613
- )
1614
- }
1615
-
1616
- for (_, func) in iface.functions.iter() {
1617
- self.generate_add_function_to_linker(owner, func, "inst");
1618
- }
1619
- uwriteln!(self.src, "Ok(())");
1620
- uwriteln!(self.src, "}}");
1621
- }
1622
-
1623
- fn generate_add_function_to_linker(&mut self, owner: TypeOwner, func: &Function, linker: &str) {
1624
- uwrite!(
1625
- self.src,
1626
- "{linker}.{}(\"{}\", ",
1627
- if self.gen.opts.async_.is_import_async(&func.name) {
1628
- "func_wrap_async"
1629
- } else {
1630
- "func_wrap"
1631
- },
1632
- func.name
1633
- );
1634
- self.generate_guest_import_closure(owner, func);
1635
- uwriteln!(self.src, ")?;")
1636
- }
1637
-
1638
- fn generate_guest_import_closure(&mut self, owner: TypeOwner, func: &Function) {
1639
- // Generate the closure that's passed to a `Linker`, the final piece of
1640
- // codegen here.
1641
-
1642
- self.src
1643
- .push_str("move |mut caller: wasmtime::StoreContextMut<'_, T>, (");
1644
- for (i, _param) in func.params.iter().enumerate() {
1645
- uwrite!(self.src, "arg{},", i);
1646
- }
1647
- self.src.push_str(") : (");
1648
-
1649
- for (_, ty) in func.params.iter() {
1650
- // Lift is required to be impled for this type, so we can't use
1651
- // a borrowed type:
1652
- self.print_ty(ty, TypeMode::Owned);
1653
- self.src.push_str(", ");
1654
- }
1655
- self.src.push_str(") |");
1656
- if self.gen.opts.async_.is_import_async(&func.name) {
1657
- self.src.push_str(" Box::new(async move { \n");
1658
- } else {
1659
- self.src.push_str(" { \n");
1660
- }
1661
-
1662
- if self.gen.opts.tracing {
1663
- uwrite!(
1664
- self.src,
1665
- "
1666
- let span = tracing::span!(
1667
- tracing::Level::TRACE,
1668
- \"wit-bindgen import\",
1669
- module = \"{}\",
1670
- function = \"{}\",
1671
- );
1672
- let _enter = span.enter();
1673
- ",
1674
- match owner {
1675
- TypeOwner::Interface(id) => self.resolve.interfaces[id]
1676
- .name
1677
- .as_deref()
1678
- .unwrap_or("<no module>"),
1679
- TypeOwner::World(id) => &self.resolve.worlds[id].name,
1680
- TypeOwner::None => "<no owner>",
1681
- },
1682
- func.name,
1683
- );
1684
- let mut event_fields = func
1685
- .params
1686
- .iter()
1687
- .enumerate()
1688
- .map(|(i, (name, _ty))| {
1689
- let name = to_rust_ident(&name);
1690
- format!("{name} = tracing::field::debug(&arg{i})")
1691
- })
1692
- .collect::<Vec<String>>();
1693
- event_fields.push(format!("\"call\""));
1694
- uwrite!(
1695
- self.src,
1696
- "tracing::event!(tracing::Level::TRACE, {});\n",
1697
- event_fields.join(", ")
1698
- );
1699
- }
1700
-
1701
- self.src.push_str("let host = get(caller.data_mut());\n");
1702
- let func_name = rust_function_name(func);
1703
- let host_trait = match func.kind {
1704
- FunctionKind::Freestanding => match owner {
1705
- TypeOwner::World(id) => format!(
1706
- "{}Imports",
1707
- self.resolve.worlds[id].name.to_upper_camel_case()
1708
- ),
1709
- _ => "Host".to_string(),
1710
- },
1711
- FunctionKind::Method(id) | FunctionKind::Static(id) | FunctionKind::Constructor(id) => {
1712
- let resource = self.resolve.types[id]
1713
- .name
1714
- .as_ref()
1715
- .unwrap()
1716
- .to_upper_camel_case();
1717
- format!("Host{resource}")
1718
- }
1719
- };
1720
- uwrite!(self.src, "let r = {host_trait}::{func_name}(host, ");
1721
-
1722
- for (i, _) in func.params.iter().enumerate() {
1723
- uwrite!(self.src, "arg{},", i);
1724
- }
1725
- if self.gen.opts.async_.is_import_async(&func.name) {
1726
- uwrite!(self.src, ").await;\n");
1727
- } else {
1728
- uwrite!(self.src, ");\n");
1729
- }
1730
-
1731
- if self.gen.opts.tracing {
1732
- uwrite!(
1733
- self.src,
1734
- "tracing::event!(tracing::Level::TRACE, result = tracing::field::debug(&r), \"return\");"
1735
- );
1736
- }
1737
-
1738
- if let Some((_, err, _)) = self.special_case_trappable_error(&func.results) {
1739
- let err = &self.resolve.types[resolve_type_definition_id(self.resolve, err)];
1740
- let err_name = err.name.as_ref().unwrap();
1741
- let owner = match err.owner {
1742
- TypeOwner::Interface(i) => i,
1743
- _ => unimplemented!(),
1744
- };
1745
- let convert_trait = match self.path_to_interface(owner) {
1746
- Some(path) => format!("{path}::Host"),
1747
- None => format!("Host"),
1748
- };
1749
- let convert = format!("{}::convert_{}", convert_trait, err_name.to_snake_case());
1750
- uwrite!(
1751
- self.src,
1752
- "Ok((match r {{
1753
- Ok(a) => Ok(a),
1754
- Err(e) => Err({convert}(host, e)?),
1755
- }},))"
1756
- );
1757
- } else if func.results.iter_types().len() == 1 {
1758
- uwrite!(self.src, "Ok((r?,))\n");
1759
- } else {
1760
- uwrite!(self.src, "r\n");
1761
- }
1762
-
1763
- if self.gen.opts.async_.is_import_async(&func.name) {
1764
- // Need to close Box::new and async block
1765
- self.src.push_str("})");
1766
- } else {
1767
- self.src.push_str("}");
1768
- }
1769
- }
1770
-
1771
- fn generate_function_trait_sig(&mut self, func: &Function) {
1772
- self.rustdoc(&func.docs);
1773
-
1774
- if self.gen.opts.async_.is_import_async(&func.name) {
1775
- self.push_str("async ");
1776
- }
1777
- self.push_str("fn ");
1778
- self.push_str(&rust_function_name(func));
1779
- self.push_str("(&mut self, ");
1780
- for (name, param) in func.params.iter() {
1781
- let name = to_rust_ident(name);
1782
- self.push_str(&name);
1783
- self.push_str(": ");
1784
- self.print_ty(param, TypeMode::Owned);
1785
- self.push_str(",");
1786
- }
1787
- self.push_str(")");
1788
- self.push_str(" -> ");
1789
-
1790
- if let Some((r, _id, error_typename)) = self.special_case_trappable_error(&func.results) {
1791
- // Functions which have a single result `result<ok,err>` get special
1792
- // cased to use the host_wasmtime_rust::Error<err>, making it possible
1793
- // for them to trap or use `?` to propogate their errors
1794
- self.push_str("Result<");
1795
- if let Some(ok) = r.ok {
1796
- self.print_ty(&ok, TypeMode::Owned);
1797
- } else {
1798
- self.push_str("()");
1799
- }
1800
- self.push_str(",");
1801
- self.push_str(&error_typename);
1802
- self.push_str(">");
1803
- } else {
1804
- // All other functions get their return values wrapped in an wasmtime::Result.
1805
- // Returning the anyhow::Error case can be used to trap.
1806
- self.push_str("wasmtime::Result<");
1807
- self.print_result_ty(&func.results, TypeMode::Owned);
1808
- self.push_str(">");
1809
- }
1810
-
1811
- self.push_str(";\n");
1812
- }
1813
-
1814
- fn extract_typed_function(&mut self, func: &Function) -> (String, String) {
1815
- let prev = mem::take(&mut self.src);
1816
- let snake = func_field_name(self.resolve, func);
1817
- uwrite!(self.src, "*__exports.typed_func::<(");
1818
- for (_, ty) in func.params.iter() {
1819
- self.print_ty(ty, TypeMode::AllBorrowed("'_"));
1820
- self.push_str(", ");
1821
- }
1822
- self.src.push_str("), (");
1823
- for ty in func.results.iter_types() {
1824
- self.print_ty(ty, TypeMode::Owned);
1825
- self.push_str(", ");
1826
- }
1827
- self.src.push_str(")>(\"");
1828
- self.src.push_str(&func.name);
1829
- self.src.push_str("\")?.func()");
1830
-
1831
- let ret = (snake, mem::take(&mut self.src).to_string());
1832
- self.src = prev;
1833
- ret
1834
- }
1835
-
1836
- fn define_rust_guest_export(
1837
- &mut self,
1838
- resolve: &Resolve,
1839
- ns: Option<&WorldKey>,
1840
- func: &Function,
1841
- ) {
1842
- // Exports must be async if anything could be async, it's just imports
1843
- // that get to be optionally async/sync.
1844
- let is_async = self.gen.opts.async_.maybe_async();
1845
-
1846
- let (async_, async__, await_) = if is_async {
1847
- ("async", "_async", ".await")
1848
- } else {
1849
- ("", "", "")
1850
- };
1851
-
1852
- self.rustdoc(&func.docs);
1853
-
1854
- uwrite!(
1855
- self.src,
1856
- "pub {async_} fn call_{}<S: wasmtime::AsContextMut>(&self, mut store: S, ",
1857
- func.item_name().to_snake_case(),
1858
- );
1859
-
1860
- for (i, param) in func.params.iter().enumerate() {
1861
- uwrite!(self.src, "arg{}: ", i);
1862
- self.print_ty(&param.1, TypeMode::AllBorrowed("'_"));
1863
- self.push_str(",");
1864
- }
1865
-
1866
- self.src.push_str(") -> wasmtime::Result<");
1867
- self.print_result_ty(&func.results, TypeMode::Owned);
1868
-
1869
- if is_async {
1870
- self.src
1871
- .push_str("> where <S as wasmtime::AsContext>::Data: Send {\n");
1872
- } else {
1873
- self.src.push_str("> {\n");
1874
- }
1875
-
1876
- if self.gen.opts.tracing {
1877
- let ns = match ns {
1878
- Some(key) => resolve.name_world_key(key),
1879
- None => "default".to_string(),
1880
- };
1881
- self.src.push_str(&format!(
1882
- "
1883
- let span = tracing::span!(
1884
- tracing::Level::TRACE,
1885
- \"wit-bindgen export\",
1886
- module = \"{ns}\",
1887
- function = \"{}\",
1888
- );
1889
- let _enter = span.enter();
1890
- ",
1891
- func.name,
1892
- ));
1893
- }
1894
-
1895
- self.src.push_str("let callee = unsafe {\n");
1896
- self.src.push_str("wasmtime::component::TypedFunc::<(");
1897
- for (_, ty) in func.params.iter() {
1898
- self.print_ty(ty, TypeMode::AllBorrowed("'_"));
1899
- self.push_str(", ");
1900
- }
1901
- self.src.push_str("), (");
1902
- for ty in func.results.iter_types() {
1903
- self.print_ty(ty, TypeMode::Owned);
1904
- self.push_str(", ");
1905
- }
1906
- let projection_to_func = match &func.kind {
1907
- FunctionKind::Freestanding => "",
1908
- _ => ".funcs",
1909
- };
1910
- uwriteln!(
1911
- self.src,
1912
- ")>::new_unchecked(self{projection_to_func}.{})",
1913
- func_field_name(self.resolve, func),
1914
- );
1915
- self.src.push_str("};\n");
1916
- self.src.push_str("let (");
1917
- for (i, _) in func.results.iter_types().enumerate() {
1918
- uwrite!(self.src, "ret{},", i);
1919
- }
1920
- uwrite!(
1921
- self.src,
1922
- ") = callee.call{async__}(store.as_context_mut(), ("
1923
- );
1924
- for (i, _) in func.params.iter().enumerate() {
1925
- uwrite!(self.src, "arg{}, ", i);
1926
- }
1927
- uwriteln!(self.src, ")){await_}?;");
1928
-
1929
- uwriteln!(
1930
- self.src,
1931
- "callee.post_return{async__}(store.as_context_mut()){await_}?;"
1932
- );
1933
-
1934
- self.src.push_str("Ok(");
1935
- if func.results.iter_types().len() == 1 {
1936
- self.src.push_str("ret0");
1937
- } else {
1938
- self.src.push_str("(");
1939
- for (i, _) in func.results.iter_types().enumerate() {
1940
- uwrite!(self.src, "ret{},", i);
1941
- }
1942
- self.src.push_str(")");
1943
- }
1944
- self.src.push_str(")\n");
1945
-
1946
- // End function body
1947
- self.src.push_str("}\n");
1948
- }
1949
-
1950
- fn rustdoc(&mut self, docs: &Docs) {
1951
- let docs = match &docs.contents {
1952
- Some(docs) => docs,
1953
- None => return,
1954
- };
1955
- for line in docs.trim().lines() {
1956
- self.push_str("/// ");
1957
- self.push_str(line);
1958
- self.push_str("\n");
1959
- }
1960
- }
1961
-
1962
- fn path_to_root(&self) -> String {
1963
- let mut path_to_root = String::new();
1964
- if let Some((_, key, is_export)) = self.current_interface {
1965
- match key {
1966
- WorldKey::Name(_) => {
1967
- path_to_root.push_str("super::");
1968
- }
1969
- WorldKey::Interface(_) => {
1970
- path_to_root.push_str("super::super::super::");
1971
- }
1972
- }
1973
- if is_export {
1974
- path_to_root.push_str("super::");
1975
- }
1976
- }
1977
- path_to_root
1978
- }
1979
- }
1980
-
1981
- impl<'a> RustGenerator<'a> for InterfaceGenerator<'a> {
1982
- fn resolve(&self) -> &'a Resolve {
1983
- self.resolve
1984
- }
1985
-
1986
- fn ownership(&self) -> Ownership {
1987
- self.gen.opts.ownership
1988
- }
1989
-
1990
- fn path_to_interface(&self, interface: InterfaceId) -> Option<String> {
1991
- if let Some((cur, _, _)) = self.current_interface {
1992
- if cur == interface {
1993
- return None;
1994
- }
1995
- }
1996
- let mut path_to_root = self.path_to_root();
1997
- match &self.gen.interface_names[&interface] {
1998
- InterfaceName::Remapped { name_at_root, .. } => path_to_root.push_str(name_at_root),
1999
- InterfaceName::Path(path) => {
2000
- for (i, name) in path.iter().enumerate() {
2001
- if i > 0 {
2002
- path_to_root.push_str("::");
2003
- }
2004
- path_to_root.push_str(name);
2005
- }
2006
- }
2007
- }
2008
- Some(path_to_root)
2009
- }
2010
-
2011
- fn push_str(&mut self, s: &str) {
2012
- self.src.push_str(s);
2013
- }
2014
-
2015
- fn info(&self, ty: TypeId) -> TypeInfo {
2016
- self.gen.types.get(ty)
2017
- }
2018
-
2019
- fn is_imported_interface(&self, interface: InterfaceId) -> bool {
2020
- self.gen.interface_last_seen_as_import[&interface]
2021
- }
2022
- }
2023
-
2024
- /// When an interface `use`s a type from another interface, it creates a new TypeId
2025
- /// referring to the definition TypeId. Chase this chain of references down to
2026
- /// a TypeId for type's definition.
2027
- fn resolve_type_definition_id(resolve: &Resolve, mut id: TypeId) -> TypeId {
2028
- loop {
2029
- match resolve.types[id].kind {
2030
- TypeDefKind::Type(Type::Id(def_id)) => id = def_id,
2031
- _ => return id,
2032
- }
2033
- }
2034
- }
2035
-
2036
- fn rust_function_name(func: &Function) -> String {
2037
- match func.kind {
2038
- FunctionKind::Method(_) | FunctionKind::Static(_) => to_rust_ident(func.item_name()),
2039
- FunctionKind::Constructor(_) => "new".to_string(),
2040
- FunctionKind::Freestanding => to_rust_ident(&func.name),
2041
- }
2042
- }
2043
-
2044
- fn func_field_name(resolve: &Resolve, func: &Function) -> String {
2045
- let mut name = String::new();
2046
- match func.kind {
2047
- FunctionKind::Method(id) => {
2048
- name.push_str("method-");
2049
- name.push_str(resolve.types[id].name.as_ref().unwrap());
2050
- name.push_str("-");
2051
- }
2052
- FunctionKind::Static(id) => {
2053
- name.push_str("static-");
2054
- name.push_str(resolve.types[id].name.as_ref().unwrap());
2055
- name.push_str("-");
2056
- }
2057
- FunctionKind::Constructor(id) => {
2058
- name.push_str("constructor-");
2059
- name.push_str(resolve.types[id].name.as_ref().unwrap());
2060
- name.push_str("-");
2061
- }
2062
- FunctionKind::Freestanding => {}
2063
- }
2064
- name.push_str(func.item_name());
2065
- name.to_snake_case()
2066
- }
2067
-
2068
- fn get_resources<'a>(resolve: &'a Resolve, id: InterfaceId) -> impl Iterator<Item = &'a str> + 'a {
2069
- resolve.interfaces[id]
2070
- .types
2071
- .iter()
2072
- .filter_map(move |(name, ty)| match resolve.types[*ty].kind {
2073
- TypeDefKind::Resource => Some(name.as_str()),
2074
- _ => None,
2075
- })
2076
- }
2077
-
2078
- fn get_world_resources<'a>(
2079
- resolve: &'a Resolve,
2080
- id: WorldId,
2081
- ) -> impl Iterator<Item = &'a str> + 'a {
2082
- resolve.worlds[id]
2083
- .imports
2084
- .iter()
2085
- .filter_map(move |(name, item)| match item {
2086
- WorldItem::Type(id) => match resolve.types[*id].kind {
2087
- TypeDefKind::Resource => Some(match name {
2088
- WorldKey::Name(s) => s.as_str(),
2089
- WorldKey::Interface(_) => unreachable!(),
2090
- }),
2091
- _ => None,
2092
- },
2093
- _ => None,
2094
- })
2095
- }