wasmtime 16.0.0 → 17.0.1

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