html-to-markdown 2.24.4 → 2.24.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2165) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -6
  3. data/README.md +1 -1
  4. data/ext/html-to-markdown-rb/native/Cargo.lock +254 -47
  5. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
  6. data/lib/html_to_markdown/version.rb +1 -1
  7. data/rust-vendor/anyhow/.cargo-checksum.json +1 -0
  8. data/rust-vendor/anyhow/.cargo_vcs_info.json +6 -0
  9. data/rust-vendor/anyhow/.github/FUNDING.yml +1 -0
  10. data/rust-vendor/anyhow/.github/workflows/ci.yml +147 -0
  11. data/rust-vendor/anyhow/Cargo.lock +424 -0
  12. data/rust-vendor/anyhow/Cargo.toml +132 -0
  13. data/rust-vendor/anyhow/Cargo.toml.orig +40 -0
  14. data/rust-vendor/anyhow/LICENSE-APACHE +176 -0
  15. data/rust-vendor/anyhow/LICENSE-MIT +23 -0
  16. data/rust-vendor/anyhow/README.md +179 -0
  17. data/rust-vendor/anyhow/build.rs +207 -0
  18. data/rust-vendor/anyhow/rust-toolchain.toml +2 -0
  19. data/rust-vendor/anyhow/src/backtrace.rs +410 -0
  20. data/rust-vendor/anyhow/src/chain.rs +102 -0
  21. data/rust-vendor/anyhow/src/context.rs +193 -0
  22. data/rust-vendor/anyhow/src/ensure.rs +935 -0
  23. data/rust-vendor/anyhow/src/error.rs +1086 -0
  24. data/rust-vendor/anyhow/src/fmt.rs +158 -0
  25. data/rust-vendor/anyhow/src/kind.rs +121 -0
  26. data/rust-vendor/anyhow/src/lib.rs +728 -0
  27. data/rust-vendor/anyhow/src/macros.rs +245 -0
  28. data/rust-vendor/anyhow/src/nightly.rs +58 -0
  29. data/rust-vendor/anyhow/src/ptr.rs +187 -0
  30. data/rust-vendor/anyhow/src/wrapper.rs +84 -0
  31. data/rust-vendor/anyhow/tests/common/mod.rs +14 -0
  32. data/rust-vendor/anyhow/tests/compiletest.rs +7 -0
  33. data/rust-vendor/anyhow/tests/drop/mod.rs +53 -0
  34. data/rust-vendor/anyhow/tests/test_autotrait.rs +34 -0
  35. data/rust-vendor/anyhow/tests/test_backtrace.rs +15 -0
  36. data/rust-vendor/anyhow/tests/test_boxed.rs +45 -0
  37. data/rust-vendor/anyhow/tests/test_chain.rs +69 -0
  38. data/rust-vendor/anyhow/tests/test_context.rs +172 -0
  39. data/rust-vendor/anyhow/tests/test_convert.rs +46 -0
  40. data/rust-vendor/anyhow/tests/test_downcast.rs +123 -0
  41. data/rust-vendor/anyhow/tests/test_ensure.rs +756 -0
  42. data/rust-vendor/anyhow/tests/test_ffi.rs +19 -0
  43. data/rust-vendor/anyhow/tests/test_fmt.rs +93 -0
  44. data/rust-vendor/anyhow/tests/test_macros.rs +97 -0
  45. data/rust-vendor/anyhow/tests/test_repr.rs +30 -0
  46. data/rust-vendor/anyhow/tests/test_source.rs +62 -0
  47. data/rust-vendor/anyhow/tests/ui/chained-comparison.rs +8 -0
  48. data/rust-vendor/anyhow/tests/ui/chained-comparison.stderr +10 -0
  49. data/rust-vendor/anyhow/tests/ui/empty-ensure.rs +6 -0
  50. data/rust-vendor/anyhow/tests/ui/empty-ensure.stderr +12 -0
  51. data/rust-vendor/anyhow/tests/ui/ensure-nonbool.rs +40 -0
  52. data/rust-vendor/anyhow/tests/ui/ensure-nonbool.stderr +113 -0
  53. data/rust-vendor/anyhow/tests/ui/must-use.rs +11 -0
  54. data/rust-vendor/anyhow/tests/ui/must-use.stderr +15 -0
  55. data/rust-vendor/anyhow/tests/ui/no-impl.rs +8 -0
  56. data/rust-vendor/anyhow/tests/ui/no-impl.stderr +32 -0
  57. data/rust-vendor/anyhow/tests/ui/temporary-value.rs +5 -0
  58. data/rust-vendor/anyhow/tests/ui/temporary-value.stderr +15 -0
  59. data/rust-vendor/anyhow/tests/ui/wrong-interpolation.rs +5 -0
  60. data/rust-vendor/anyhow/tests/ui/wrong-interpolation.stderr +5 -0
  61. data/rust-vendor/bitflags/.cargo-checksum.json +1 -1
  62. data/rust-vendor/bitflags/.cargo_vcs_info.json +1 -1
  63. data/rust-vendor/bitflags/CHANGELOG.md +12 -0
  64. data/rust-vendor/bitflags/Cargo.lock +48 -48
  65. data/rust-vendor/bitflags/Cargo.toml +1 -1
  66. data/rust-vendor/bitflags/Cargo.toml.orig +1 -1
  67. data/rust-vendor/bitflags/README.md +1 -1
  68. data/rust-vendor/bitflags/src/external.rs +1 -1
  69. data/rust-vendor/bitflags/src/lib.rs +1 -1
  70. data/rust-vendor/bitflags/src/tests/known_bits.rs +47 -0
  71. data/rust-vendor/bitflags/src/tests/unknown_bits.rs +53 -0
  72. data/rust-vendor/bitflags/src/tests.rs +2 -0
  73. data/rust-vendor/bitflags/src/traits.rs +11 -1
  74. data/rust-vendor/cc/.cargo-checksum.json +1 -1
  75. data/rust-vendor/cc/.cargo_vcs_info.json +1 -1
  76. data/rust-vendor/cc/CHANGELOG.md +7 -0
  77. data/rust-vendor/cc/Cargo.lock +331 -7
  78. data/rust-vendor/cc/Cargo.toml +1 -1
  79. data/rust-vendor/cc/Cargo.toml.orig +1 -1
  80. data/rust-vendor/cc/src/lib.rs +10 -13
  81. data/rust-vendor/cc/src/target/generated.rs +1 -0
  82. data/rust-vendor/cpp_demangle/.cargo-checksum.json +1 -1
  83. data/rust-vendor/cpp_demangle/.cargo_vcs_info.json +1 -1
  84. data/rust-vendor/cpp_demangle/CHANGELOG.md +55 -0
  85. data/rust-vendor/cpp_demangle/Cargo.lock +5 -5
  86. data/rust-vendor/cpp_demangle/Cargo.toml +2 -2
  87. data/rust-vendor/cpp_demangle/Cargo.toml.orig +2 -2
  88. data/rust-vendor/cpp_demangle/README.md +9 -9
  89. data/rust-vendor/cpp_demangle/build.rs +10 -9
  90. data/rust-vendor/cpp_demangle/examples/cppfilt.rs +1 -1
  91. data/rust-vendor/cpp_demangle/examples/simple.rs +1 -1
  92. data/rust-vendor/cpp_demangle/src/ast.rs +238 -36
  93. data/rust-vendor/cpp_demangle/src/lib.rs +31 -46
  94. data/rust-vendor/cpp_demangle/src/subs.rs +1 -1
  95. data/rust-vendor/flate2/.cargo-checksum.json +1 -1
  96. data/rust-vendor/flate2/.cargo_vcs_info.json +1 -1
  97. data/rust-vendor/flate2/Cargo.lock +3 -3
  98. data/rust-vendor/flate2/Cargo.toml +13 -2
  99. data/rust-vendor/flate2/Cargo.toml.orig +16 -13
  100. data/rust-vendor/flate2/LICENSE-MIT +1 -1
  101. data/rust-vendor/flate2/src/crc.rs +177 -42
  102. data/rust-vendor/flate2/src/gz/mod.rs +159 -0
  103. data/rust-vendor/foldhash-0.1.5/.cargo-checksum.json +1 -0
  104. data/rust-vendor/foldhash-0.1.5/.cargo_vcs_info.json +6 -0
  105. data/rust-vendor/foldhash-0.1.5/Cargo.lock +852 -0
  106. data/rust-vendor/foldhash-0.1.5/Cargo.toml +76 -0
  107. data/rust-vendor/foldhash-0.1.5/Cargo.toml.orig +44 -0
  108. data/rust-vendor/foldhash-0.1.5/LICENSE +19 -0
  109. data/rust-vendor/foldhash-0.1.5/README.md +277 -0
  110. data/rust-vendor/foldhash-0.1.5/src/convenience.rs +73 -0
  111. data/rust-vendor/foldhash-0.1.5/src/fast.rs +270 -0
  112. data/rust-vendor/foldhash-0.1.5/src/lib.rs +284 -0
  113. data/rust-vendor/foldhash-0.1.5/src/quality.rs +174 -0
  114. data/rust-vendor/foldhash-0.1.5/src/seed.rs +267 -0
  115. data/rust-vendor/getrandom/.cargo-checksum.json +1 -1
  116. data/rust-vendor/getrandom/.cargo_vcs_info.json +1 -1
  117. data/rust-vendor/getrandom/CHANGELOG.md +39 -1
  118. data/rust-vendor/getrandom/Cargo.lock +451 -60
  119. data/rust-vendor/getrandom/Cargo.toml +44 -5
  120. data/rust-vendor/getrandom/Cargo.toml.orig +45 -10
  121. data/rust-vendor/getrandom/LICENSE-MIT +1 -1
  122. data/rust-vendor/getrandom/README.md +72 -40
  123. data/rust-vendor/getrandom/benches/buffer.rs +10 -8
  124. data/rust-vendor/getrandom/build.rs +1 -47
  125. data/rust-vendor/getrandom/src/backends/custom.rs +1 -1
  126. data/rust-vendor/getrandom/src/backends/efi_rng.rs +1 -1
  127. data/rust-vendor/getrandom/src/backends/esp_idf.rs +1 -1
  128. data/rust-vendor/getrandom/src/backends/extern_impl.rs +19 -0
  129. data/rust-vendor/getrandom/src/backends/fuchsia.rs +1 -1
  130. data/rust-vendor/getrandom/src/backends/getentropy.rs +4 -3
  131. data/rust-vendor/getrandom/src/backends/getrandom.rs +4 -12
  132. data/rust-vendor/getrandom/src/backends/hermit.rs +1 -1
  133. data/rust-vendor/getrandom/src/backends/linux_android_with_fallback.rs +8 -10
  134. data/rust-vendor/getrandom/src/backends/linux_raw.rs +101 -75
  135. data/rust-vendor/getrandom/src/backends/netbsd.rs +3 -3
  136. data/rust-vendor/getrandom/src/backends/rdrand.rs +26 -13
  137. data/rust-vendor/getrandom/src/backends/rndr.rs +13 -11
  138. data/rust-vendor/getrandom/src/backends/solaris.rs +5 -4
  139. data/rust-vendor/getrandom/src/backends/solid.rs +1 -1
  140. data/rust-vendor/getrandom/src/backends/use_file.rs +17 -28
  141. data/rust-vendor/getrandom/src/backends/vxworks.rs +2 -4
  142. data/rust-vendor/getrandom/src/backends/wasi_p1.rs +1 -1
  143. data/rust-vendor/getrandom/src/backends/wasi_p2_3.rs +61 -0
  144. data/rust-vendor/getrandom/src/backends/wasm_js.rs +1 -1
  145. data/rust-vendor/getrandom/src/backends/windows.rs +7 -11
  146. data/rust-vendor/getrandom/src/backends/windows_legacy.rs +1 -1
  147. data/rust-vendor/getrandom/src/backends.rs +9 -28
  148. data/rust-vendor/getrandom/src/error.rs +39 -6
  149. data/rust-vendor/getrandom/src/error_std_impls.rs +1 -3
  150. data/rust-vendor/getrandom/src/lib.rs +39 -18
  151. data/rust-vendor/getrandom/src/sys_rng.rs +55 -0
  152. data/rust-vendor/getrandom/src/util.rs +3 -15
  153. data/rust-vendor/getrandom/src/utils/get_errno.rs +29 -0
  154. data/rust-vendor/getrandom/src/utils/lazy.rs +64 -0
  155. data/rust-vendor/getrandom/src/utils/sanitizer.rs +28 -0
  156. data/rust-vendor/getrandom/src/utils/sys_fill_exact.rs +41 -0
  157. data/rust-vendor/getrandom/tests/mod.rs +6 -94
  158. data/rust-vendor/getrandom/tests/sys_rng.rs +18 -0
  159. data/rust-vendor/getrandom-0.3.4/.cargo-checksum.json +1 -0
  160. data/rust-vendor/getrandom-0.3.4/.cargo_vcs_info.json +6 -0
  161. data/rust-vendor/getrandom-0.3.4/CHANGELOG.md +673 -0
  162. data/rust-vendor/getrandom-0.3.4/Cargo.lock +292 -0
  163. data/rust-vendor/getrandom-0.3.4/Cargo.toml +133 -0
  164. data/rust-vendor/getrandom-0.3.4/Cargo.toml.orig +100 -0
  165. data/rust-vendor/getrandom-0.3.4/LICENSE-APACHE +201 -0
  166. data/rust-vendor/getrandom-0.3.4/LICENSE-MIT +26 -0
  167. data/rust-vendor/getrandom-0.3.4/README.md +386 -0
  168. data/rust-vendor/getrandom-0.3.4/SECURITY.md +13 -0
  169. data/rust-vendor/getrandom-0.3.4/benches/buffer.rs +121 -0
  170. data/rust-vendor/getrandom-0.3.4/build.rs +57 -0
  171. data/rust-vendor/getrandom-0.3.4/src/backends/apple_other.rs +21 -0
  172. data/rust-vendor/getrandom-0.3.4/src/backends/custom.rs +13 -0
  173. data/rust-vendor/getrandom-0.3.4/src/backends/efi_rng.rs +124 -0
  174. data/rust-vendor/getrandom-0.3.4/src/backends/esp_idf.rs +21 -0
  175. data/rust-vendor/getrandom-0.3.4/src/backends/fuchsia.rs +16 -0
  176. data/rust-vendor/getrandom-0.3.4/src/backends/getentropy.rs +27 -0
  177. data/rust-vendor/getrandom-0.3.4/src/backends/getrandom.rs +39 -0
  178. data/rust-vendor/getrandom-0.3.4/src/backends/hermit.rs +53 -0
  179. data/rust-vendor/getrandom-0.3.4/src/backends/linux_android_with_fallback.rs +103 -0
  180. data/rust-vendor/getrandom-0.3.4/src/backends/linux_raw.rs +143 -0
  181. data/rust-vendor/getrandom-0.3.4/src/backends/netbsd.rs +78 -0
  182. data/rust-vendor/getrandom-0.3.4/src/backends/rdrand.rs +182 -0
  183. data/rust-vendor/getrandom-0.3.4/src/backends/rndr.rs +145 -0
  184. data/rust-vendor/getrandom-0.3.4/src/backends/solaris.rs +42 -0
  185. data/rust-vendor/getrandom-0.3.4/src/backends/solid.rs +19 -0
  186. data/rust-vendor/getrandom-0.3.4/src/backends/unsupported.rs +9 -0
  187. data/rust-vendor/getrandom-0.3.4/src/backends/use_file.rs +234 -0
  188. data/rust-vendor/getrandom-0.3.4/src/backends/vxworks.rs +54 -0
  189. data/rust-vendor/getrandom-0.3.4/src/backends/wasi_p1.rs +32 -0
  190. data/rust-vendor/getrandom-0.3.4/src/backends/wasm_js.rs +72 -0
  191. data/rust-vendor/getrandom-0.3.4/src/backends/windows.rs +61 -0
  192. data/rust-vendor/getrandom-0.3.4/src/backends/windows_legacy.rs +48 -0
  193. data/rust-vendor/getrandom-0.3.4/src/backends.rs +209 -0
  194. data/rust-vendor/getrandom-0.3.4/src/error.rs +212 -0
  195. data/rust-vendor/getrandom-0.3.4/src/error_std_impls.rs +15 -0
  196. data/rust-vendor/getrandom-0.3.4/src/lib.rs +138 -0
  197. data/rust-vendor/getrandom-0.3.4/src/util.rs +84 -0
  198. data/rust-vendor/getrandom-0.3.4/tests/mod.rs +297 -0
  199. data/rust-vendor/hashbrown-0.15.5/.cargo-checksum.json +1 -0
  200. data/rust-vendor/hashbrown-0.15.5/.cargo_vcs_info.json +6 -0
  201. data/rust-vendor/hashbrown-0.15.5/CHANGELOG.md +619 -0
  202. data/rust-vendor/hashbrown-0.15.5/Cargo.lock +306 -0
  203. data/rust-vendor/hashbrown-0.15.5/Cargo.toml +164 -0
  204. data/rust-vendor/hashbrown-0.15.5/Cargo.toml.orig +77 -0
  205. data/rust-vendor/hashbrown-0.15.5/Cross.toml +3 -0
  206. data/rust-vendor/hashbrown-0.15.5/LICENSE-APACHE +201 -0
  207. data/rust-vendor/hashbrown-0.15.5/LICENSE-MIT +25 -0
  208. data/rust-vendor/hashbrown-0.15.5/README.md +80 -0
  209. data/rust-vendor/hashbrown-0.15.5/benches/bench.rs +329 -0
  210. data/rust-vendor/hashbrown-0.15.5/benches/insert_unique_unchecked.rs +34 -0
  211. data/rust-vendor/hashbrown-0.15.5/benches/set_ops.rs +148 -0
  212. data/rust-vendor/hashbrown-0.15.5/clippy.toml +1 -0
  213. data/rust-vendor/hashbrown-0.15.5/src/control/bitmask.rs +117 -0
  214. data/rust-vendor/hashbrown-0.15.5/src/control/group/generic.rs +154 -0
  215. data/rust-vendor/hashbrown-0.15.5/src/control/group/lsx.rs +137 -0
  216. data/rust-vendor/hashbrown-0.15.5/src/control/group/mod.rs +43 -0
  217. data/rust-vendor/hashbrown-0.15.5/src/control/group/neon.rs +121 -0
  218. data/rust-vendor/hashbrown-0.15.5/src/control/group/sse2.rs +146 -0
  219. data/rust-vendor/hashbrown-0.15.5/src/control/mod.rs +10 -0
  220. data/rust-vendor/hashbrown-0.15.5/src/control/tag.rs +83 -0
  221. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/mod.rs +4 -0
  222. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/rayon/helpers.rs +27 -0
  223. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/rayon/map.rs +721 -0
  224. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/rayon/mod.rs +5 -0
  225. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/rayon/raw.rs +230 -0
  226. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/rayon/set.rs +659 -0
  227. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/rayon/table.rs +249 -0
  228. data/rust-vendor/hashbrown-0.15.5/src/external_trait_impls/serde.rs +220 -0
  229. data/rust-vendor/hashbrown-0.15.5/src/lib.rs +188 -0
  230. data/rust-vendor/hashbrown-0.15.5/src/macros.rs +70 -0
  231. data/rust-vendor/hashbrown-0.15.5/src/map.rs +6583 -0
  232. data/rust-vendor/hashbrown-0.15.5/src/raw/alloc.rs +92 -0
  233. data/rust-vendor/hashbrown-0.15.5/src/raw/mod.rs +4436 -0
  234. data/rust-vendor/hashbrown-0.15.5/src/raw_entry.rs +1740 -0
  235. data/rust-vendor/hashbrown-0.15.5/src/rustc_entry.rs +567 -0
  236. data/rust-vendor/hashbrown-0.15.5/src/scopeguard.rs +72 -0
  237. data/rust-vendor/hashbrown-0.15.5/src/set.rs +3121 -0
  238. data/rust-vendor/hashbrown-0.15.5/src/table.rs +2380 -0
  239. data/rust-vendor/hashbrown-0.15.5/src/util.rs +38 -0
  240. data/rust-vendor/hashbrown-0.15.5/tests/equivalent_trait.rs +53 -0
  241. data/rust-vendor/hashbrown-0.15.5/tests/hasher.rs +65 -0
  242. data/rust-vendor/hashbrown-0.15.5/tests/rayon.rs +535 -0
  243. data/rust-vendor/hashbrown-0.15.5/tests/serde.rs +65 -0
  244. data/rust-vendor/hashbrown-0.15.5/tests/set.rs +34 -0
  245. data/rust-vendor/heck/.cargo-checksum.json +1 -0
  246. data/rust-vendor/heck/.cargo_vcs_info.json +6 -0
  247. data/rust-vendor/heck/CHANGELOG.md +25 -0
  248. data/rust-vendor/heck/Cargo.toml +34 -0
  249. data/rust-vendor/heck/Cargo.toml.orig +11 -0
  250. data/rust-vendor/heck/LICENSE-APACHE +201 -0
  251. data/rust-vendor/heck/LICENSE-MIT +25 -0
  252. data/rust-vendor/heck/README.md +53 -0
  253. data/rust-vendor/heck/src/kebab.rs +75 -0
  254. data/rust-vendor/heck/src/lib.rs +192 -0
  255. data/rust-vendor/heck/src/lower_camel.rs +88 -0
  256. data/rust-vendor/heck/src/shouty_kebab.rs +73 -0
  257. data/rust-vendor/heck/src/shouty_snake.rs +86 -0
  258. data/rust-vendor/heck/src/snake.rs +100 -0
  259. data/rust-vendor/heck/src/title.rs +75 -0
  260. data/rust-vendor/heck/src/train.rs +87 -0
  261. data/rust-vendor/heck/src/upper_camel.rs +88 -0
  262. data/rust-vendor/html-to-markdown-rs/src/converter/inline/semantic/typography.rs +32 -22
  263. data/rust-vendor/html-to-markdown-rs/tests/integration_test.rs +44 -0
  264. data/rust-vendor/id-arena/.cargo-checksum.json +1 -0
  265. data/rust-vendor/id-arena/.cargo_vcs_info.json +6 -0
  266. data/rust-vendor/id-arena/.travis.yml +22 -0
  267. data/rust-vendor/id-arena/CHANGELOG.md +71 -0
  268. data/rust-vendor/id-arena/Cargo.lock +61 -0
  269. data/rust-vendor/id-arena/Cargo.toml +54 -0
  270. data/rust-vendor/id-arena/Cargo.toml.orig +21 -0
  271. data/rust-vendor/id-arena/LICENSE-APACHE +201 -0
  272. data/rust-vendor/id-arena/LICENSE-MIT +25 -0
  273. data/rust-vendor/id-arena/README.md +101 -0
  274. data/rust-vendor/id-arena/README.tpl +3 -0
  275. data/rust-vendor/id-arena/src/lib.rs +726 -0
  276. data/rust-vendor/id-arena/src/rayon.rs +282 -0
  277. data/rust-vendor/id-arena/tests/readme_up_to_date.rs +22 -0
  278. data/rust-vendor/leb128fmt/.cargo-checksum.json +1 -0
  279. data/rust-vendor/leb128fmt/.cargo_vcs_info.json +6 -0
  280. data/rust-vendor/leb128fmt/CHANGELOG.md +11 -0
  281. data/rust-vendor/leb128fmt/Cargo.toml +55 -0
  282. data/rust-vendor/leb128fmt/Cargo.toml.orig +32 -0
  283. data/rust-vendor/leb128fmt/LICENSE-APACHE +201 -0
  284. data/rust-vendor/leb128fmt/LICENSE-MIT +23 -0
  285. data/rust-vendor/leb128fmt/README.md +162 -0
  286. data/rust-vendor/leb128fmt/src/lib.rs +1650 -0
  287. data/rust-vendor/libc/.cargo-checksum.json +1 -1
  288. data/rust-vendor/libc/.cargo_vcs_info.json +1 -1
  289. data/rust-vendor/libc/CHANGELOG.md +42 -0
  290. data/rust-vendor/libc/Cargo.lock +1 -1
  291. data/rust-vendor/libc/Cargo.toml +75 -51
  292. data/rust-vendor/libc/Cargo.toml.orig +85 -53
  293. data/rust-vendor/libc/LICENSE-MIT +1 -1
  294. data/rust-vendor/libc/src/fuchsia/mod.rs +12 -10
  295. data/rust-vendor/libc/src/macros.rs +63 -71
  296. data/rust-vendor/libc/src/new/linux_uapi/linux/can/error.rs +73 -0
  297. data/rust-vendor/libc/src/new/linux_uapi/linux/can.rs +1 -0
  298. data/rust-vendor/libc/src/new/mod.rs +3 -2
  299. data/rust-vendor/libc/src/new/qurt/dlfcn.rs +26 -0
  300. data/rust-vendor/libc/src/new/qurt/fcntl.rs +4 -1
  301. data/rust-vendor/libc/src/new/qurt/mod.rs +224 -14
  302. data/rust-vendor/libc/src/new/qurt/pthread.rs +1 -22
  303. data/rust-vendor/libc/src/new/qurt/signal.rs +54 -4
  304. data/rust-vendor/libc/src/new/qurt/stdio.rs +0 -5
  305. data/rust-vendor/libc/src/new/qurt/sys/mman.rs +55 -0
  306. data/rust-vendor/libc/src/new/qurt/sys/mod.rs +2 -0
  307. data/rust-vendor/libc/src/new/qurt/sys/sched.rs +24 -0
  308. data/rust-vendor/libc/src/new/qurt/sys/stat.rs +0 -6
  309. data/rust-vendor/libc/src/new/qurt/time.rs +4 -22
  310. data/rust-vendor/libc/src/new/qurt/unistd.rs +210 -20
  311. data/rust-vendor/libc/src/qurt/mod.rs +9 -325
  312. data/rust-vendor/libc/src/types.rs +2 -2
  313. data/rust-vendor/libc/src/unix/aix/mod.rs +11 -20
  314. data/rust-vendor/libc/src/unix/aix/powerpc64.rs +6 -6
  315. data/rust-vendor/libc/src/unix/bsd/apple/mod.rs +15 -0
  316. data/rust-vendor/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs +4 -4
  317. data/rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs +3 -3
  318. data/rust-vendor/libc/src/unix/bsd/freebsdlike/mod.rs +14 -0
  319. data/rust-vendor/libc/src/unix/bsd/mod.rs +0 -14
  320. data/rust-vendor/libc/src/unix/bsd/netbsdlike/mod.rs +6 -0
  321. data/rust-vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs +15 -7
  322. data/rust-vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs +41 -1
  323. data/rust-vendor/libc/src/unix/cygwin/mod.rs +2 -2
  324. data/rust-vendor/libc/src/unix/haiku/mod.rs +1 -1
  325. data/rust-vendor/libc/src/unix/haiku/x86_64.rs +2 -2
  326. data/rust-vendor/libc/src/unix/hurd/mod.rs +6 -6
  327. data/rust-vendor/libc/src/unix/linux_like/android/mod.rs +2 -0
  328. data/rust-vendor/libc/src/unix/linux_like/linux/gnu/mod.rs +3 -0
  329. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b32/arm/mod.rs +16 -13
  330. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b32/hexagon.rs +12 -13
  331. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b32/mips/mod.rs +25 -16
  332. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b32/powerpc.rs +16 -13
  333. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs +12 -15
  334. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b32/x86/mod.rs +10 -13
  335. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs +0 -15
  336. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs +0 -15
  337. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/mips64.rs +0 -15
  338. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/powerpc64.rs +0 -15
  339. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs +0 -15
  340. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/s390x.rs +0 -15
  341. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/wasm32/mod.rs +0 -15
  342. data/rust-vendor/libc/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs +9 -15
  343. data/rust-vendor/libc/src/unix/mod.rs +87 -11
  344. data/rust-vendor/libc/src/unix/newlib/arm/mod.rs +1 -1
  345. data/rust-vendor/libc/src/unix/newlib/horizon/mod.rs +1 -1
  346. data/rust-vendor/libc/src/unix/newlib/vita/mod.rs +3 -3
  347. data/rust-vendor/libc/src/unix/nto/mod.rs +23 -6
  348. data/rust-vendor/libc/src/unix/redox/mod.rs +45 -3
  349. data/rust-vendor/libc/src/unix/solarish/illumos.rs +2 -0
  350. data/rust-vendor/libc/src/vxworks/mod.rs +7 -7
  351. data/rust-vendor/memchr/.cargo-checksum.json +1 -1
  352. data/rust-vendor/memchr/.cargo_vcs_info.json +1 -1
  353. data/rust-vendor/memchr/Cargo.lock +13 -13
  354. data/rust-vendor/memchr/Cargo.toml +1 -1
  355. data/rust-vendor/memchr/Cargo.toml.orig +1 -1
  356. data/rust-vendor/memchr/src/cow.rs +3 -1
  357. data/rust-vendor/memchr/src/memmem/mod.rs +42 -3
  358. data/rust-vendor/prettyplease/.cargo-checksum.json +1 -0
  359. data/rust-vendor/prettyplease/.cargo_vcs_info.json +6 -0
  360. data/rust-vendor/prettyplease/.github/FUNDING.yml +1 -0
  361. data/rust-vendor/prettyplease/.github/workflows/ci.yml +123 -0
  362. data/rust-vendor/prettyplease/Cargo.lock +54 -0
  363. data/rust-vendor/prettyplease/Cargo.toml +90 -0
  364. data/rust-vendor/prettyplease/Cargo.toml.orig +43 -0
  365. data/rust-vendor/prettyplease/LICENSE-APACHE +176 -0
  366. data/rust-vendor/prettyplease/LICENSE-MIT +23 -0
  367. data/rust-vendor/prettyplease/README.md +312 -0
  368. data/rust-vendor/prettyplease/build.rs +21 -0
  369. data/rust-vendor/prettyplease/examples/.tokeignore +1 -0
  370. data/rust-vendor/prettyplease/examples/input.rs +1 -0
  371. data/rust-vendor/prettyplease/examples/output.prettyplease.rs +593 -0
  372. data/rust-vendor/prettyplease/examples/output.rustc.rs +506 -0
  373. data/rust-vendor/prettyplease/examples/output.rustfmt.rs +552 -0
  374. data/rust-vendor/prettyplease/src/algorithm.rs +386 -0
  375. data/rust-vendor/prettyplease/src/attr.rs +288 -0
  376. data/rust-vendor/prettyplease/src/classify.rs +324 -0
  377. data/rust-vendor/prettyplease/src/convenience.rs +98 -0
  378. data/rust-vendor/prettyplease/src/data.rs +79 -0
  379. data/rust-vendor/prettyplease/src/expr.rs +1533 -0
  380. data/rust-vendor/prettyplease/src/file.rs +17 -0
  381. data/rust-vendor/prettyplease/src/fixup.rs +676 -0
  382. data/rust-vendor/prettyplease/src/generics.rs +426 -0
  383. data/rust-vendor/prettyplease/src/item.rs +1813 -0
  384. data/rust-vendor/prettyplease/src/iter.rs +46 -0
  385. data/rust-vendor/prettyplease/src/lib.rs +385 -0
  386. data/rust-vendor/prettyplease/src/lifetime.rs +9 -0
  387. data/rust-vendor/prettyplease/src/lit.rs +57 -0
  388. data/rust-vendor/prettyplease/src/mac.rs +706 -0
  389. data/rust-vendor/prettyplease/src/pat.rs +254 -0
  390. data/rust-vendor/prettyplease/src/path.rs +194 -0
  391. data/rust-vendor/prettyplease/src/precedence.rs +148 -0
  392. data/rust-vendor/prettyplease/src/ring.rs +81 -0
  393. data/rust-vendor/prettyplease/src/stmt.rs +221 -0
  394. data/rust-vendor/prettyplease/src/token.rs +80 -0
  395. data/rust-vendor/prettyplease/src/ty.rs +326 -0
  396. data/rust-vendor/prettyplease/tests/test.rs +51 -0
  397. data/rust-vendor/prettyplease/tests/test_precedence.rs +900 -0
  398. data/rust-vendor/regex/.cargo-checksum.json +1 -1
  399. data/rust-vendor/regex/.cargo_vcs_info.json +1 -1
  400. data/rust-vendor/regex/CHANGELOG.md +13 -0
  401. data/rust-vendor/regex/Cargo.lock +5 -5
  402. data/rust-vendor/regex/Cargo.toml +15 -7
  403. data/rust-vendor/regex/Cargo.toml.orig +19 -2
  404. data/rust-vendor/regex-automata/.cargo-checksum.json +1 -1
  405. data/rust-vendor/regex-automata/.cargo_vcs_info.json +1 -1
  406. data/rust-vendor/regex-automata/Cargo.lock +3 -3
  407. data/rust-vendor/regex-automata/Cargo.toml +16 -1
  408. data/rust-vendor/regex-automata/Cargo.toml.orig +2 -1
  409. data/rust-vendor/regex-automata/src/dfa/onepass.rs +21 -5
  410. data/rust-vendor/regex-automata/tests/dfa/onepass/mod.rs +1 -0
  411. data/rust-vendor/regex-automata/tests/dfa/onepass/regression.rs +61 -0
  412. data/rust-vendor/regex-automata/tests/nfa/thompson/backtrack/mod.rs +1 -0
  413. data/rust-vendor/regex-automata/tests/nfa/thompson/backtrack/regression.rs +20 -0
  414. data/rust-vendor/regex-automata/tests/nfa/thompson/pikevm/mod.rs +1 -0
  415. data/rust-vendor/regex-automata/tests/nfa/thompson/pikevm/regression.rs +20 -0
  416. data/rust-vendor/regex-syntax/.cargo-checksum.json +1 -1
  417. data/rust-vendor/regex-syntax/.cargo_vcs_info.json +1 -1
  418. data/rust-vendor/regex-syntax/Cargo.lock +1 -1
  419. data/rust-vendor/regex-syntax/Cargo.toml +16 -5
  420. data/rust-vendor/regex-syntax/Cargo.toml.orig +2 -1
  421. data/rust-vendor/semver/.cargo-checksum.json +1 -0
  422. data/rust-vendor/semver/.cargo_vcs_info.json +6 -0
  423. data/rust-vendor/semver/.github/FUNDING.yml +1 -0
  424. data/rust-vendor/semver/.github/workflows/ci.yml +140 -0
  425. data/rust-vendor/semver/Cargo.lock +75 -0
  426. data/rust-vendor/semver/Cargo.toml +86 -0
  427. data/rust-vendor/semver/Cargo.toml.orig +36 -0
  428. data/rust-vendor/semver/LICENSE-APACHE +176 -0
  429. data/rust-vendor/semver/LICENSE-MIT +23 -0
  430. data/rust-vendor/semver/README.md +84 -0
  431. data/rust-vendor/semver/benches/parse.rs +24 -0
  432. data/rust-vendor/semver/src/display.rs +163 -0
  433. data/rust-vendor/semver/src/error.rs +126 -0
  434. data/rust-vendor/semver/src/eval.rs +179 -0
  435. data/rust-vendor/semver/src/identifier.rs +412 -0
  436. data/rust-vendor/semver/src/impls.rs +163 -0
  437. data/rust-vendor/semver/src/lib.rs +570 -0
  438. data/rust-vendor/semver/src/parse.rs +404 -0
  439. data/rust-vendor/semver/src/serde.rs +109 -0
  440. data/rust-vendor/semver/tests/node/mod.rs +43 -0
  441. data/rust-vendor/semver/tests/test_autotrait.rs +14 -0
  442. data/rust-vendor/semver/tests/test_identifier.rs +51 -0
  443. data/rust-vendor/semver/tests/test_version.rs +251 -0
  444. data/rust-vendor/semver/tests/test_version_req.rs +480 -0
  445. data/rust-vendor/semver/tests/util/mod.rs +54 -0
  446. data/rust-vendor/symbolic-common/.cargo-checksum.json +1 -1
  447. data/rust-vendor/symbolic-common/Cargo.lock +74 -3
  448. data/rust-vendor/symbolic-common/Cargo.toml +2 -2
  449. data/rust-vendor/symbolic-common/Cargo.toml.orig +1 -1
  450. data/rust-vendor/symbolic-demangle/.cargo-checksum.json +1 -1
  451. data/rust-vendor/symbolic-demangle/Cargo.lock +87 -9
  452. data/rust-vendor/symbolic-demangle/Cargo.toml +5 -5
  453. data/rust-vendor/symbolic-demangle/Cargo.toml.orig +2 -2
  454. data/rust-vendor/syn/.cargo-checksum.json +1 -1
  455. data/rust-vendor/syn/.cargo_vcs_info.json +1 -1
  456. data/rust-vendor/syn/Cargo.lock +322 -109
  457. data/rust-vendor/syn/Cargo.toml +2 -2
  458. data/rust-vendor/syn/Cargo.toml.orig +2 -2
  459. data/rust-vendor/syn/benches/rust.rs +1 -2
  460. data/rust-vendor/syn/src/lib.rs +1 -1
  461. data/rust-vendor/syn/src/parse.rs +2 -2
  462. data/rust-vendor/syn/src/path.rs +1 -5
  463. data/rust-vendor/syn/tests/common/eq.rs +28 -17
  464. data/rust-vendor/syn/tests/common/parse.rs +1 -2
  465. data/rust-vendor/syn/tests/repo/progress.rs +1 -1
  466. data/rust-vendor/syn/tests/test_round_trip.rs +5 -36
  467. data/rust-vendor/tempfile/.cargo-checksum.json +1 -1
  468. data/rust-vendor/tempfile/.cargo_vcs_info.json +1 -1
  469. data/rust-vendor/tempfile/CHANGELOG.md +4 -0
  470. data/rust-vendor/tempfile/Cargo.lock +333 -21
  471. data/rust-vendor/tempfile/Cargo.toml +2 -2
  472. data/rust-vendor/tempfile/Cargo.toml.orig +2 -2
  473. data/rust-vendor/unicode-ident/.cargo-checksum.json +1 -1
  474. data/rust-vendor/unicode-ident/.cargo_vcs_info.json +1 -1
  475. data/rust-vendor/unicode-ident/.github/workflows/ci.yml +10 -10
  476. data/rust-vendor/unicode-ident/Cargo.lock +468 -186
  477. data/rust-vendor/unicode-ident/Cargo.toml +8 -8
  478. data/rust-vendor/unicode-ident/Cargo.toml.orig +7 -5
  479. data/rust-vendor/unicode-ident/src/lib.rs +1 -1
  480. data/rust-vendor/unicode-xid/.cargo-checksum.json +1 -0
  481. data/rust-vendor/unicode-xid/.cargo_vcs_info.json +6 -0
  482. data/rust-vendor/unicode-xid/COPYRIGHT +7 -0
  483. data/rust-vendor/unicode-xid/Cargo.toml +65 -0
  484. data/rust-vendor/unicode-xid/Cargo.toml.orig +34 -0
  485. data/rust-vendor/unicode-xid/LICENSE-APACHE +201 -0
  486. data/rust-vendor/unicode-xid/LICENSE-MIT +25 -0
  487. data/rust-vendor/unicode-xid/README.md +61 -0
  488. data/rust-vendor/unicode-xid/benches/xid.rs +60 -0
  489. data/rust-vendor/unicode-xid/src/lib.rs +90 -0
  490. data/rust-vendor/unicode-xid/src/tables.rs +1537 -0
  491. data/rust-vendor/unicode-xid/src/tests.rs +95 -0
  492. data/rust-vendor/unicode-xid/tests/exhaustive_tests.rs +25 -0
  493. data/rust-vendor/uuid/.cargo-checksum.json +1 -1
  494. data/rust-vendor/uuid/.cargo_vcs_info.json +1 -1
  495. data/rust-vendor/uuid/Cargo.lock +298 -44
  496. data/rust-vendor/uuid/Cargo.toml +5 -5
  497. data/rust-vendor/uuid/Cargo.toml.orig +5 -5
  498. data/rust-vendor/uuid/README.md +3 -3
  499. data/rust-vendor/uuid/src/error.rs +1 -7
  500. data/rust-vendor/uuid/src/lib.rs +4 -4
  501. data/rust-vendor/wasip3/.cargo-checksum.json +1 -0
  502. data/rust-vendor/wasip3/.cargo_vcs_info.json +6 -0
  503. data/rust-vendor/wasip3/Cargo.lock +483 -0
  504. data/rust-vendor/wasip3/Cargo.toml +96 -0
  505. data/rust-vendor/wasip3/Cargo.toml.orig +49 -0
  506. data/rust-vendor/wasip3/README.md +56 -0
  507. data/rust-vendor/wasip3/examples/cli-command.rs +19 -0
  508. data/rust-vendor/wasip3/examples/http-proxy-compat.rs +20 -0
  509. data/rust-vendor/wasip3/examples/http-proxy.rs +22 -0
  510. data/rust-vendor/wasip3/src/command.rs +513 -0
  511. data/rust-vendor/wasip3/src/http_compat/body_writer.rs +145 -0
  512. data/rust-vendor/wasip3/src/http_compat/conversions.rs +307 -0
  513. data/rust-vendor/wasip3/src/http_compat/mod.rs +314 -0
  514. data/rust-vendor/wasip3/src/imports.rs +10543 -0
  515. data/rust-vendor/wasip3/src/lib.rs +280 -0
  516. data/rust-vendor/wasip3/src/service.rs +7274 -0
  517. data/rust-vendor/wasip3/wit/deps/cli.wit +256 -0
  518. data/rust-vendor/wasip3/wit/deps/clocks.wit +161 -0
  519. data/rust-vendor/wasip3/wit/deps/filesystem.wit +553 -0
  520. data/rust-vendor/wasip3/wit/deps/http.wit +457 -0
  521. data/rust-vendor/wasip3/wit/deps/random.wit +92 -0
  522. data/rust-vendor/wasip3/wit/deps/sockets.wit +752 -0
  523. data/rust-vendor/wasip3/wit/wasi-crate.wit +1 -0
  524. data/rust-vendor/wasm-encoder/.cargo-checksum.json +1 -0
  525. data/rust-vendor/wasm-encoder/.cargo_vcs_info.json +6 -0
  526. data/rust-vendor/wasm-encoder/Cargo.lock +348 -0
  527. data/rust-vendor/wasm-encoder/Cargo.toml +104 -0
  528. data/rust-vendor/wasm-encoder/Cargo.toml.orig +43 -0
  529. data/rust-vendor/wasm-encoder/README.md +81 -0
  530. data/rust-vendor/wasm-encoder/src/component/aliases.rs +161 -0
  531. data/rust-vendor/wasm-encoder/src/component/builder.rs +826 -0
  532. data/rust-vendor/wasm-encoder/src/component/canonicals.rs +584 -0
  533. data/rust-vendor/wasm-encoder/src/component/components.rs +30 -0
  534. data/rust-vendor/wasm-encoder/src/component/exports.rs +130 -0
  535. data/rust-vendor/wasm-encoder/src/component/imports.rs +170 -0
  536. data/rust-vendor/wasm-encoder/src/component/instances.rs +200 -0
  537. data/rust-vendor/wasm-encoder/src/component/modules.rs +30 -0
  538. data/rust-vendor/wasm-encoder/src/component/names.rs +162 -0
  539. data/rust-vendor/wasm-encoder/src/component/start.rs +53 -0
  540. data/rust-vendor/wasm-encoder/src/component/types.rs +816 -0
  541. data/rust-vendor/wasm-encoder/src/component.rs +169 -0
  542. data/rust-vendor/wasm-encoder/src/core/branch_hints.rs +127 -0
  543. data/rust-vendor/wasm-encoder/src/core/code.rs +2464 -0
  544. data/rust-vendor/wasm-encoder/src/core/custom.rs +74 -0
  545. data/rust-vendor/wasm-encoder/src/core/data.rs +187 -0
  546. data/rust-vendor/wasm-encoder/src/core/dump.rs +629 -0
  547. data/rust-vendor/wasm-encoder/src/core/elements.rs +225 -0
  548. data/rust-vendor/wasm-encoder/src/core/exports.rs +86 -0
  549. data/rust-vendor/wasm-encoder/src/core/functions.rs +64 -0
  550. data/rust-vendor/wasm-encoder/src/core/globals.rs +101 -0
  551. data/rust-vendor/wasm-encoder/src/core/imports.rs +230 -0
  552. data/rust-vendor/wasm-encoder/src/core/instructions.rs +4686 -0
  553. data/rust-vendor/wasm-encoder/src/core/linking.rs +264 -0
  554. data/rust-vendor/wasm-encoder/src/core/memories.rs +116 -0
  555. data/rust-vendor/wasm-encoder/src/core/names.rs +305 -0
  556. data/rust-vendor/wasm-encoder/src/core/producers.rs +181 -0
  557. data/rust-vendor/wasm-encoder/src/core/start.rs +40 -0
  558. data/rust-vendor/wasm-encoder/src/core/tables.rs +130 -0
  559. data/rust-vendor/wasm-encoder/src/core/tags.rs +86 -0
  560. data/rust-vendor/wasm-encoder/src/core/types.rs +753 -0
  561. data/rust-vendor/wasm-encoder/src/core.rs +179 -0
  562. data/rust-vendor/wasm-encoder/src/lib.rs +224 -0
  563. data/rust-vendor/wasm-encoder/src/raw.rs +32 -0
  564. data/rust-vendor/wasm-encoder/src/reencode/component.rs +1548 -0
  565. data/rust-vendor/wasm-encoder/src/reencode.rs +2134 -0
  566. data/rust-vendor/wasm-metadata/.cargo-checksum.json +1 -0
  567. data/rust-vendor/wasm-metadata/.cargo_vcs_info.json +6 -0
  568. data/rust-vendor/wasm-metadata/Cargo.lock +769 -0
  569. data/rust-vendor/wasm-metadata/Cargo.toml +152 -0
  570. data/rust-vendor/wasm-metadata/Cargo.toml.orig +38 -0
  571. data/rust-vendor/wasm-metadata/README.md +27 -0
  572. data/rust-vendor/wasm-metadata/src/add_metadata.rs +91 -0
  573. data/rust-vendor/wasm-metadata/src/clap.rs +169 -0
  574. data/rust-vendor/wasm-metadata/src/dependencies.rs +142 -0
  575. data/rust-vendor/wasm-metadata/src/lib.rs +83 -0
  576. data/rust-vendor/wasm-metadata/src/metadata.rs +34 -0
  577. data/rust-vendor/wasm-metadata/src/names/component.rs +107 -0
  578. data/rust-vendor/wasm-metadata/src/names/mod.rs +5 -0
  579. data/rust-vendor/wasm-metadata/src/names/module.rs +101 -0
  580. data/rust-vendor/wasm-metadata/src/oci_annotations/authors.rs +111 -0
  581. data/rust-vendor/wasm-metadata/src/oci_annotations/description.rs +110 -0
  582. data/rust-vendor/wasm-metadata/src/oci_annotations/homepage.rs +118 -0
  583. data/rust-vendor/wasm-metadata/src/oci_annotations/licenses.rs +122 -0
  584. data/rust-vendor/wasm-metadata/src/oci_annotations/mod.rs +32 -0
  585. data/rust-vendor/wasm-metadata/src/oci_annotations/revision.rs +113 -0
  586. data/rust-vendor/wasm-metadata/src/oci_annotations/source.rs +117 -0
  587. data/rust-vendor/wasm-metadata/src/oci_annotations/version.rs +110 -0
  588. data/rust-vendor/wasm-metadata/src/payload.rs +215 -0
  589. data/rust-vendor/wasm-metadata/src/producers.rs +254 -0
  590. data/rust-vendor/wasm-metadata/src/rewrite.rs +224 -0
  591. data/rust-vendor/wasm-metadata/src/utils.rs +21 -0
  592. data/rust-vendor/wasm-metadata/tests/component.rs +310 -0
  593. data/rust-vendor/wasm-metadata/tests/module.rs +86 -0
  594. data/rust-vendor/wasmparser/.cargo-checksum.json +1 -0
  595. data/rust-vendor/wasmparser/.cargo_vcs_info.json +6 -0
  596. data/rust-vendor/wasmparser/Cargo.lock +687 -0
  597. data/rust-vendor/wasmparser/Cargo.toml +161 -0
  598. data/rust-vendor/wasmparser/Cargo.toml.orig +89 -0
  599. data/rust-vendor/wasmparser/README.md +28 -0
  600. data/rust-vendor/wasmparser/benches/.gitignore +1 -0
  601. data/rust-vendor/wasmparser/benches/benchmark.rs +395 -0
  602. data/rust-vendor/wasmparser/examples/simple.rs +37 -0
  603. data/rust-vendor/wasmparser/src/arity.rs +318 -0
  604. data/rust-vendor/wasmparser/src/binary_reader.rs +2109 -0
  605. data/rust-vendor/wasmparser/src/collections/hash.rs +120 -0
  606. data/rust-vendor/wasmparser/src/collections/index_map/detail.rs +1100 -0
  607. data/rust-vendor/wasmparser/src/collections/index_map/tests.rs +183 -0
  608. data/rust-vendor/wasmparser/src/collections/index_map.rs +653 -0
  609. data/rust-vendor/wasmparser/src/collections/index_set.rs +316 -0
  610. data/rust-vendor/wasmparser/src/collections/map.rs +852 -0
  611. data/rust-vendor/wasmparser/src/collections/mod.rs +34 -0
  612. data/rust-vendor/wasmparser/src/collections/set.rs +672 -0
  613. data/rust-vendor/wasmparser/src/features.rs +442 -0
  614. data/rust-vendor/wasmparser/src/lib.rs +1340 -0
  615. data/rust-vendor/wasmparser/src/limits.rs +90 -0
  616. data/rust-vendor/wasmparser/src/parser.rs +1925 -0
  617. data/rust-vendor/wasmparser/src/readers/component/aliases.rs +119 -0
  618. data/rust-vendor/wasmparser/src/readers/component/canonicals.rs +458 -0
  619. data/rust-vendor/wasmparser/src/readers/component/exports.rs +135 -0
  620. data/rust-vendor/wasmparser/src/readers/component/imports.rs +145 -0
  621. data/rust-vendor/wasmparser/src/readers/component/instances.rs +166 -0
  622. data/rust-vendor/wasmparser/src/readers/component/names.rs +101 -0
  623. data/rust-vendor/wasmparser/src/readers/component/start.rs +31 -0
  624. data/rust-vendor/wasmparser/src/readers/component/types.rs +537 -0
  625. data/rust-vendor/wasmparser/src/readers/component.rs +17 -0
  626. data/rust-vendor/wasmparser/src/readers/core/branch_hinting.rs +59 -0
  627. data/rust-vendor/wasmparser/src/readers/core/code.rs +177 -0
  628. data/rust-vendor/wasmparser/src/readers/core/coredumps.rs +274 -0
  629. data/rust-vendor/wasmparser/src/readers/core/custom.rs +134 -0
  630. data/rust-vendor/wasmparser/src/readers/core/data.rs +94 -0
  631. data/rust-vendor/wasmparser/src/readers/core/dylink0.rs +117 -0
  632. data/rust-vendor/wasmparser/src/readers/core/elements.rs +153 -0
  633. data/rust-vendor/wasmparser/src/readers/core/exports.rs +75 -0
  634. data/rust-vendor/wasmparser/src/readers/core/functions.rs +17 -0
  635. data/rust-vendor/wasmparser/src/readers/core/globals.rs +51 -0
  636. data/rust-vendor/wasmparser/src/readers/core/imports.rs +307 -0
  637. data/rust-vendor/wasmparser/src/readers/core/init.rs +70 -0
  638. data/rust-vendor/wasmparser/src/readers/core/linking.rs +457 -0
  639. data/rust-vendor/wasmparser/src/readers/core/memories.rs +61 -0
  640. data/rust-vendor/wasmparser/src/readers/core/names.rs +162 -0
  641. data/rust-vendor/wasmparser/src/readers/core/operators.rs +1105 -0
  642. data/rust-vendor/wasmparser/src/readers/core/producers.rs +84 -0
  643. data/rust-vendor/wasmparser/src/readers/core/reloc.rs +300 -0
  644. data/rust-vendor/wasmparser/src/readers/core/tables.rs +96 -0
  645. data/rust-vendor/wasmparser/src/readers/core/tags.rs +32 -0
  646. data/rust-vendor/wasmparser/src/readers/core/types/matches.rs +321 -0
  647. data/rust-vendor/wasmparser/src/readers/core/types.rs +2249 -0
  648. data/rust-vendor/wasmparser/src/readers/core.rs +43 -0
  649. data/rust-vendor/wasmparser/src/readers.rs +330 -0
  650. data/rust-vendor/wasmparser/src/resources.rs +265 -0
  651. data/rust-vendor/wasmparser/src/validator/component.rs +4765 -0
  652. data/rust-vendor/wasmparser/src/validator/component_types.rs +4036 -0
  653. data/rust-vendor/wasmparser/src/validator/core/canonical.rs +552 -0
  654. data/rust-vendor/wasmparser/src/validator/core.rs +1313 -0
  655. data/rust-vendor/wasmparser/src/validator/func.rs +613 -0
  656. data/rust-vendor/wasmparser/src/validator/names.rs +1017 -0
  657. data/rust-vendor/wasmparser/src/validator/operators/simd.rs +971 -0
  658. data/rust-vendor/wasmparser/src/validator/operators.rs +4696 -0
  659. data/rust-vendor/wasmparser/src/validator/types.rs +1327 -0
  660. data/rust-vendor/wasmparser/src/validator.rs +1645 -0
  661. data/rust-vendor/wasmparser/tests/big-module.rs +62 -0
  662. data/rust-vendor/wit-bindgen/.cargo-checksum.json +1 -1
  663. data/rust-vendor/wit-bindgen/.cargo_vcs_info.json +1 -1
  664. data/rust-vendor/wit-bindgen/Cargo.lock +76 -66
  665. data/rust-vendor/wit-bindgen/Cargo.toml +25 -11
  666. data/rust-vendor/wit-bindgen/Cargo.toml.orig +11 -3
  667. data/rust-vendor/wit-bindgen/src/lib.rs +21 -15
  668. data/rust-vendor/wit-bindgen/src/rt/async_support/abi_buffer.rs +35 -32
  669. data/rust-vendor/wit-bindgen/src/rt/async_support/cabi.rs +15 -20
  670. data/rust-vendor/wit-bindgen/src/rt/async_support/error_context.rs +11 -22
  671. data/rust-vendor/wit-bindgen/src/rt/async_support/future_support.rs +406 -146
  672. data/rust-vendor/wit-bindgen/src/rt/async_support/inter_task_wakeup.rs +98 -0
  673. data/rust-vendor/wit-bindgen/src/rt/async_support/inter_task_wakeup_disabled.rs +45 -0
  674. data/rust-vendor/wit-bindgen/src/rt/async_support/spawn.rs +82 -0
  675. data/rust-vendor/wit-bindgen/src/rt/async_support/spawn_disabled.rs +30 -0
  676. data/rust-vendor/wit-bindgen/src/rt/async_support/stream_support.rs +262 -122
  677. data/rust-vendor/wit-bindgen/src/rt/async_support/subtask.rs +49 -54
  678. data/rust-vendor/wit-bindgen/src/rt/async_support/unit_stream.rs +81 -0
  679. data/rust-vendor/wit-bindgen/src/rt/async_support/waitable.rs +47 -31
  680. data/rust-vendor/wit-bindgen/src/rt/async_support/waitable_set.rs +17 -35
  681. data/rust-vendor/wit-bindgen/src/rt/async_support.rs +262 -188
  682. data/rust-vendor/wit-bindgen/src/rt/mod.rs +14 -12
  683. data/rust-vendor/wit-bindgen/src/rt/wit_bindgen_cabi_realloc.c +2 -2
  684. data/rust-vendor/wit-bindgen/src/rt/wit_bindgen_cabi_realloc.o +0 -0
  685. data/rust-vendor/wit-bindgen/src/rt/wit_bindgen_cabi_realloc.rs +2 -2
  686. data/rust-vendor/wit-bindgen/src/rt/wit_bindgen_cabi_wasip3.o +0 -0
  687. data/rust-vendor/wit-bindgen-0.46.0/.cargo-checksum.json +1 -0
  688. data/rust-vendor/wit-bindgen-0.46.0/.cargo_vcs_info.json +6 -0
  689. data/rust-vendor/wit-bindgen-0.46.0/Cargo.lock +428 -0
  690. data/rust-vendor/wit-bindgen-0.46.0/Cargo.toml +88 -0
  691. data/rust-vendor/wit-bindgen-0.46.0/Cargo.toml.orig +37 -0
  692. data/rust-vendor/wit-bindgen-0.46.0/LICENSE-APACHE +201 -0
  693. data/rust-vendor/wit-bindgen-0.46.0/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
  694. data/rust-vendor/wit-bindgen-0.46.0/LICENSE-MIT +23 -0
  695. data/rust-vendor/wit-bindgen-0.46.0/README.md +45 -0
  696. data/rust-vendor/wit-bindgen-0.46.0/build.rs +32 -0
  697. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_0_world_imports.rs +17 -0
  698. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_1_interface_imports.rs +32 -0
  699. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_2_imported_resources.rs +22 -0
  700. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_3_world_exports.rs +47 -0
  701. data/rust-vendor/wit-bindgen-0.46.0/src/examples/_4_exported_resources.rs +26 -0
  702. data/rust-vendor/wit-bindgen-0.46.0/src/examples.rs +55 -0
  703. data/rust-vendor/wit-bindgen-0.46.0/src/lib.rs +881 -0
  704. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/abi_buffer.rs +417 -0
  705. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/cabi.rs +112 -0
  706. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/error_context.rs +94 -0
  707. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/future_support.rs +734 -0
  708. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/stream_support.rs +604 -0
  709. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/subtask.rs +289 -0
  710. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/waitable.rs +466 -0
  711. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support/waitable_set.rs +100 -0
  712. data/rust-vendor/wit-bindgen-0.46.0/src/rt/async_support.rs +634 -0
  713. data/rust-vendor/wit-bindgen-0.46.0/src/rt/mod.rs +230 -0
  714. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_realloc.c +10 -0
  715. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_realloc.o +0 -0
  716. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_realloc.rs +11 -0
  717. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_wasip3.c +12 -0
  718. data/rust-vendor/wit-bindgen-0.46.0/src/rt/wit_bindgen_cabi_wasip3.o +0 -0
  719. data/rust-vendor/wit-bindgen-0.46.0/wasi-cli@0.2.0.wasm +0 -0
  720. data/rust-vendor/wit-bindgen-core/.cargo-checksum.json +1 -0
  721. data/rust-vendor/wit-bindgen-core/.cargo_vcs_info.json +6 -0
  722. data/rust-vendor/wit-bindgen-core/Cargo.lock +340 -0
  723. data/rust-vendor/wit-bindgen-core/Cargo.toml +75 -0
  724. data/rust-vendor/wit-bindgen-core/Cargo.toml.orig +30 -0
  725. data/rust-vendor/wit-bindgen-core/LICENSE-APACHE +201 -0
  726. data/rust-vendor/wit-bindgen-core/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
  727. data/rust-vendor/wit-bindgen-core/LICENSE-MIT +23 -0
  728. data/rust-vendor/wit-bindgen-core/src/abi.rs +2526 -0
  729. data/rust-vendor/wit-bindgen-core/src/async_.rs +200 -0
  730. data/rust-vendor/wit-bindgen-core/src/lib.rs +239 -0
  731. data/rust-vendor/wit-bindgen-core/src/ns.rs +27 -0
  732. data/rust-vendor/wit-bindgen-core/src/path.rs +47 -0
  733. data/rust-vendor/wit-bindgen-core/src/source.rs +222 -0
  734. data/rust-vendor/wit-bindgen-core/src/types.rs +232 -0
  735. data/rust-vendor/wit-bindgen-rust/.cargo-checksum.json +1 -0
  736. data/rust-vendor/wit-bindgen-rust/.cargo_vcs_info.json +6 -0
  737. data/rust-vendor/wit-bindgen-rust/Cargo.lock +547 -0
  738. data/rust-vendor/wit-bindgen-rust/Cargo.toml +112 -0
  739. data/rust-vendor/wit-bindgen-rust/Cargo.toml.orig +44 -0
  740. data/rust-vendor/wit-bindgen-rust/LICENSE-APACHE +201 -0
  741. data/rust-vendor/wit-bindgen-rust/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
  742. data/rust-vendor/wit-bindgen-rust/LICENSE-MIT +23 -0
  743. data/rust-vendor/wit-bindgen-rust/build.rs +4 -0
  744. data/rust-vendor/wit-bindgen-rust/src/bindgen.rs +1215 -0
  745. data/rust-vendor/wit-bindgen-rust/src/interface.rs +3020 -0
  746. data/rust-vendor/wit-bindgen-rust/src/lib.rs +1880 -0
  747. data/rust-vendor/wit-bindgen-rust/tests/codegen.rs +174 -0
  748. data/rust-vendor/wit-bindgen-rust/tests/wit/path1/world.wit +3 -0
  749. data/rust-vendor/wit-bindgen-rust/tests/wit/path2/world.wit +3 -0
  750. data/rust-vendor/wit-bindgen-rust/tests/wit/path3/package.wit +3 -0
  751. data/rust-vendor/wit-bindgen-rust-macro/.cargo-checksum.json +1 -0
  752. data/rust-vendor/wit-bindgen-rust-macro/.cargo_vcs_info.json +6 -0
  753. data/rust-vendor/wit-bindgen-rust-macro/Cargo.lock +306 -0
  754. data/rust-vendor/wit-bindgen-rust-macro/Cargo.toml +62 -0
  755. data/rust-vendor/wit-bindgen-rust-macro/Cargo.toml.orig +28 -0
  756. data/rust-vendor/wit-bindgen-rust-macro/LICENSE-APACHE +201 -0
  757. data/rust-vendor/wit-bindgen-rust-macro/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
  758. data/rust-vendor/wit-bindgen-rust-macro/LICENSE-MIT +23 -0
  759. data/rust-vendor/wit-bindgen-rust-macro/build.rs +5 -0
  760. data/rust-vendor/wit-bindgen-rust-macro/src/lib.rs +606 -0
  761. data/rust-vendor/wit-component/.cargo-checksum.json +1 -0
  762. data/rust-vendor/wit-component/.cargo_vcs_info.json +6 -0
  763. data/rust-vendor/wit-component/Cargo.lock +1823 -0
  764. data/rust-vendor/wit-component/Cargo.toml +217 -0
  765. data/rust-vendor/wit-component/Cargo.toml.orig +61 -0
  766. data/rust-vendor/wit-component/README.md +251 -0
  767. data/rust-vendor/wit-component/src/dummy.rs +395 -0
  768. data/rust-vendor/wit-component/src/encoding/dedupe.rs +164 -0
  769. data/rust-vendor/wit-component/src/encoding/types.rs +510 -0
  770. data/rust-vendor/wit-component/src/encoding/wit.rs +393 -0
  771. data/rust-vendor/wit-component/src/encoding/world.rs +525 -0
  772. data/rust-vendor/wit-component/src/encoding.rs +3231 -0
  773. data/rust-vendor/wit-component/src/gc.rs +1134 -0
  774. data/rust-vendor/wit-component/src/lib.rs +178 -0
  775. data/rust-vendor/wit-component/src/linking/metadata.rs +515 -0
  776. data/rust-vendor/wit-component/src/linking.rs +1727 -0
  777. data/rust-vendor/wit-component/src/metadata.rs +447 -0
  778. data/rust-vendor/wit-component/src/printing.rs +1485 -0
  779. data/rust-vendor/wit-component/src/semver_check.rs +113 -0
  780. data/rust-vendor/wit-component/src/targets.rs +44 -0
  781. data/rust-vendor/wit-component/src/validation.rs +2679 -0
  782. data/rust-vendor/wit-component/tests/.gitignore +2 -0
  783. data/rust-vendor/wit-component/tests/components/adapt-empty-interface/adapt-old.wat +3 -0
  784. data/rust-vendor/wit-component/tests/components/adapt-empty-interface/adapt-old.wit +5 -0
  785. data/rust-vendor/wit-component/tests/components/adapt-empty-interface/component.wat +60 -0
  786. data/rust-vendor/wit-component/tests/components/adapt-empty-interface/component.wit.print +4 -0
  787. data/rust-vendor/wit-component/tests/components/adapt-empty-interface/module.wat +3 -0
  788. data/rust-vendor/wit-component/tests/components/adapt-empty-interface/module.wit +2 -0
  789. data/rust-vendor/wit-component/tests/components/adapt-export-default/adapt-old.wat +4 -0
  790. data/rust-vendor/wit-component/tests/components/adapt-export-default/adapt-old.wit +3 -0
  791. data/rust-vendor/wit-component/tests/components/adapt-export-default/component.wat +32 -0
  792. data/rust-vendor/wit-component/tests/components/adapt-export-default/component.wit.print +5 -0
  793. data/rust-vendor/wit-component/tests/components/adapt-export-default/module.wat +3 -0
  794. data/rust-vendor/wit-component/tests/components/adapt-export-default/module.wit +2 -0
  795. data/rust-vendor/wit-component/tests/components/adapt-export-namespaced/adapt-old.wat +4 -0
  796. data/rust-vendor/wit-component/tests/components/adapt-export-namespaced/adapt-old.wit +7 -0
  797. data/rust-vendor/wit-component/tests/components/adapt-export-namespaced/component.wat +42 -0
  798. data/rust-vendor/wit-component/tests/components/adapt-export-namespaced/component.wit.print +5 -0
  799. data/rust-vendor/wit-component/tests/components/adapt-export-namespaced/module.wat +3 -0
  800. data/rust-vendor/wit-component/tests/components/adapt-export-namespaced/module.wit +3 -0
  801. data/rust-vendor/wit-component/tests/components/adapt-export-reallocs/adapt-old.wat +47 -0
  802. data/rust-vendor/wit-component/tests/components/adapt-export-reallocs/adapt-old.wit +6 -0
  803. data/rust-vendor/wit-component/tests/components/adapt-export-reallocs/component.wat +131 -0
  804. data/rust-vendor/wit-component/tests/components/adapt-export-reallocs/component.wit.print +9 -0
  805. data/rust-vendor/wit-component/tests/components/adapt-export-reallocs/module.wat +8 -0
  806. data/rust-vendor/wit-component/tests/components/adapt-export-reallocs/module.wit +3 -0
  807. data/rust-vendor/wit-component/tests/components/adapt-export-save-args/adapt-old.wat +13 -0
  808. data/rust-vendor/wit-component/tests/components/adapt-export-save-args/adapt-old.wit +3 -0
  809. data/rust-vendor/wit-component/tests/components/adapt-export-save-args/component.wat +86 -0
  810. data/rust-vendor/wit-component/tests/components/adapt-export-save-args/component.wit.print +5 -0
  811. data/rust-vendor/wit-component/tests/components/adapt-export-save-args/module.wat +4 -0
  812. data/rust-vendor/wit-component/tests/components/adapt-export-save-args/module.wit +2 -0
  813. data/rust-vendor/wit-component/tests/components/adapt-export-with-post-return/adapt-old.wat +33 -0
  814. data/rust-vendor/wit-component/tests/components/adapt-export-with-post-return/adapt-old.wit +7 -0
  815. data/rust-vendor/wit-component/tests/components/adapt-export-with-post-return/component.wat +101 -0
  816. data/rust-vendor/wit-component/tests/components/adapt-export-with-post-return/component.wit.print +5 -0
  817. data/rust-vendor/wit-component/tests/components/adapt-export-with-post-return/module.wat +9 -0
  818. data/rust-vendor/wit-component/tests/components/adapt-export-with-post-return/module.wit +3 -0
  819. data/rust-vendor/wit-component/tests/components/adapt-import-only-used-in-adapter/adapt-unused.wat +7 -0
  820. data/rust-vendor/wit-component/tests/components/adapt-import-only-used-in-adapter/adapt-unused.wit +9 -0
  821. data/rust-vendor/wit-component/tests/components/adapt-import-only-used-in-adapter/component.wat +115 -0
  822. data/rust-vendor/wit-component/tests/components/adapt-import-only-used-in-adapter/component.wit.print +9 -0
  823. data/rust-vendor/wit-component/tests/components/adapt-import-only-used-in-adapter/module.wat +5 -0
  824. data/rust-vendor/wit-component/tests/components/adapt-import-only-used-in-adapter/module.wit +6 -0
  825. data/rust-vendor/wit-component/tests/components/adapt-inject-stack/adapt-old.wat +54 -0
  826. data/rust-vendor/wit-component/tests/components/adapt-inject-stack/adapt-old.wit +5 -0
  827. data/rust-vendor/wit-component/tests/components/adapt-inject-stack/component.wat +163 -0
  828. data/rust-vendor/wit-component/tests/components/adapt-inject-stack/component.wit.print +7 -0
  829. data/rust-vendor/wit-component/tests/components/adapt-inject-stack/module.wat +4 -0
  830. data/rust-vendor/wit-component/tests/components/adapt-inject-stack/module.wit +2 -0
  831. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-adapt-realloc/adapt-old.wat +76 -0
  832. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-adapt-realloc/adapt-old.wit +5 -0
  833. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-adapt-realloc/component.wat +174 -0
  834. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-adapt-realloc/component.wit.print +7 -0
  835. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-adapt-realloc/module.wat +12 -0
  836. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-adapt-realloc/module.wit +2 -0
  837. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc/adapt-old.wat +76 -0
  838. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc/adapt-old.wit +5 -0
  839. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc/component.wat +199 -0
  840. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc/component.wit.print +7 -0
  841. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc/module.wat +38 -0
  842. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc/module.wit +3 -0
  843. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc-no-state/adapt-old.wat +68 -0
  844. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc-no-state/adapt-old.wit +5 -0
  845. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc-no-state/component.wat +216 -0
  846. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc-no-state/component.wit.print +7 -0
  847. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc-no-state/module.wat +38 -0
  848. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-realloc-no-state/module.wit +3 -0
  849. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-reallocing-adapter/adapt-old.wat +62 -0
  850. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-reallocing-adapter/adapt-old.wit +5 -0
  851. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-reallocing-adapter/component.wat +187 -0
  852. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-reallocing-adapter/component.wit.print +7 -0
  853. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-reallocing-adapter/module.wat +38 -0
  854. data/rust-vendor/wit-component/tests/components/adapt-inject-stack-with-reallocing-adapter/module.wit +2 -0
  855. data/rust-vendor/wit-component/tests/components/adapt-list-return/adapt-old.wat +14 -0
  856. data/rust-vendor/wit-component/tests/components/adapt-list-return/adapt-old.wit +5 -0
  857. data/rust-vendor/wit-component/tests/components/adapt-list-return/component.wat +104 -0
  858. data/rust-vendor/wit-component/tests/components/adapt-list-return/component.wit.print +7 -0
  859. data/rust-vendor/wit-component/tests/components/adapt-list-return/module.wat +4 -0
  860. data/rust-vendor/wit-component/tests/components/adapt-list-return/module.wit +3 -0
  861. data/rust-vendor/wit-component/tests/components/adapt-memory-simple/adapt-old.wat +4 -0
  862. data/rust-vendor/wit-component/tests/components/adapt-memory-simple/adapt-old.wit +5 -0
  863. data/rust-vendor/wit-component/tests/components/adapt-memory-simple/component.wat +92 -0
  864. data/rust-vendor/wit-component/tests/components/adapt-memory-simple/component.wit.print +7 -0
  865. data/rust-vendor/wit-component/tests/components/adapt-memory-simple/module.wat +4 -0
  866. data/rust-vendor/wit-component/tests/components/adapt-memory-simple/module.wit +2 -0
  867. data/rust-vendor/wit-component/tests/components/adapt-multiple/adapt-foo.wat +10 -0
  868. data/rust-vendor/wit-component/tests/components/adapt-multiple/adapt-foo.wit +8 -0
  869. data/rust-vendor/wit-component/tests/components/adapt-multiple/component.wat +107 -0
  870. data/rust-vendor/wit-component/tests/components/adapt-multiple/component.wit.print +10 -0
  871. data/rust-vendor/wit-component/tests/components/adapt-multiple/module.wat +4 -0
  872. data/rust-vendor/wit-component/tests/components/adapt-multiple/module.wit +2 -0
  873. data/rust-vendor/wit-component/tests/components/adapt-preview1/adapt-wasi-snapshot-preview1.wat +13 -0
  874. data/rust-vendor/wit-component/tests/components/adapt-preview1/adapt-wasi-snapshot-preview1.wit +12 -0
  875. data/rust-vendor/wit-component/tests/components/adapt-preview1/component.wat +119 -0
  876. data/rust-vendor/wit-component/tests/components/adapt-preview1/component.wit.print +8 -0
  877. data/rust-vendor/wit-component/tests/components/adapt-preview1/module.wat +11 -0
  878. data/rust-vendor/wit-component/tests/components/adapt-preview1/module.wit +7 -0
  879. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/adapt-wasip2.wat +8 -0
  880. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/adapt-wasip2.wit +1 -0
  881. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/component.wat +74 -0
  882. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/component.wit.print +4 -0
  883. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/deps/cli/environment.wit +5 -0
  884. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/module.wat +11 -0
  885. data/rust-vendor/wit-component/tests/components/adapt-stub-wasip2/module.wit +5 -0
  886. data/rust-vendor/wit-component/tests/components/adapt-unused/adapt-old.wat +4 -0
  887. data/rust-vendor/wit-component/tests/components/adapt-unused/adapt-old.wit +5 -0
  888. data/rust-vendor/wit-component/tests/components/adapt-unused/component.wat +12 -0
  889. data/rust-vendor/wit-component/tests/components/adapt-unused/component.wit.print +4 -0
  890. data/rust-vendor/wit-component/tests/components/adapt-unused/module.wat +1 -0
  891. data/rust-vendor/wit-component/tests/components/adapt-unused/module.wit +2 -0
  892. data/rust-vendor/wit-component/tests/components/async-builtins/component.wat +259 -0
  893. data/rust-vendor/wit-component/tests/components/async-builtins/component.wit.print +6 -0
  894. data/rust-vendor/wit-component/tests/components/async-builtins/module.wat +28 -0
  895. data/rust-vendor/wit-component/tests/components/async-builtins/module.wit +10 -0
  896. data/rust-vendor/wit-component/tests/components/async-export/component.wat +91 -0
  897. data/rust-vendor/wit-component/tests/components/async-export/component.wit.print +6 -0
  898. data/rust-vendor/wit-component/tests/components/async-export/module.wat +8 -0
  899. data/rust-vendor/wit-component/tests/components/async-export/module.wit +30 -0
  900. data/rust-vendor/wit-component/tests/components/async-export-with-callback/component.wat +59 -0
  901. data/rust-vendor/wit-component/tests/components/async-export-with-callback/component.wit.print +6 -0
  902. data/rust-vendor/wit-component/tests/components/async-export-with-callback/module.wat +8 -0
  903. data/rust-vendor/wit-component/tests/components/async-export-with-callback/module.wit +10 -0
  904. data/rust-vendor/wit-component/tests/components/async-import/component.wat +125 -0
  905. data/rust-vendor/wit-component/tests/components/async-import/component.wit.print +6 -0
  906. data/rust-vendor/wit-component/tests/components/async-import/module.wat +8 -0
  907. data/rust-vendor/wit-component/tests/components/async-import/module.wit +10 -0
  908. data/rust-vendor/wit-component/tests/components/async-import-only-intrinsic/component.wat +34 -0
  909. data/rust-vendor/wit-component/tests/components/async-import-only-intrinsic/component.wit.print +5 -0
  910. data/rust-vendor/wit-component/tests/components/async-import-only-intrinsic/module.wat +4 -0
  911. data/rust-vendor/wit-component/tests/components/async-import-only-intrinsic/module.wit +17 -0
  912. data/rust-vendor/wit-component/tests/components/async-import-tricky/component.wat +39 -0
  913. data/rust-vendor/wit-component/tests/components/async-import-tricky/component.wit.print +5 -0
  914. data/rust-vendor/wit-component/tests/components/async-import-tricky/module.wat +6 -0
  915. data/rust-vendor/wit-component/tests/components/async-import-tricky/module.wit +17 -0
  916. data/rust-vendor/wit-component/tests/components/async-streams-and-futures/component.wat +649 -0
  917. data/rust-vendor/wit-component/tests/components/async-streams-and-futures/component.wit.print +9 -0
  918. data/rust-vendor/wit-component/tests/components/async-streams-and-futures/module.wat +92 -0
  919. data/rust-vendor/wit-component/tests/components/async-streams-and-futures/module.wit +12 -0
  920. data/rust-vendor/wit-component/tests/components/async-unit-builtins/component.wat +138 -0
  921. data/rust-vendor/wit-component/tests/components/async-unit-builtins/component.wit.print +4 -0
  922. data/rust-vendor/wit-component/tests/components/async-unit-builtins/module.wat +18 -0
  923. data/rust-vendor/wit-component/tests/components/async-unit-builtins/module.wit +4 -0
  924. data/rust-vendor/wit-component/tests/components/bare-funcs/component.wat +93 -0
  925. data/rust-vendor/wit-component/tests/components/bare-funcs/component.wit.print +9 -0
  926. data/rust-vendor/wit-component/tests/components/bare-funcs/module.wat +13 -0
  927. data/rust-vendor/wit-component/tests/components/bare-funcs/module.wit +7 -0
  928. data/rust-vendor/wit-component/tests/components/cm32-names/component.wat +366 -0
  929. data/rust-vendor/wit-component/tests/components/cm32-names/component.wit.print +25 -0
  930. data/rust-vendor/wit-component/tests/components/cm32-names/module.wat +32 -0
  931. data/rust-vendor/wit-component/tests/components/cm32-names/module.wit +30 -0
  932. data/rust-vendor/wit-component/tests/components/custom-page-sizes/component.wat +23 -0
  933. data/rust-vendor/wit-component/tests/components/custom-page-sizes/component.wit.print +4 -0
  934. data/rust-vendor/wit-component/tests/components/custom-page-sizes/module.wat +12 -0
  935. data/rust-vendor/wit-component/tests/components/custom-page-sizes/module.wit +3 -0
  936. data/rust-vendor/wit-component/tests/components/deduplicate-imports/adapt-wasi-snapshot-preview1.wat +10 -0
  937. data/rust-vendor/wit-component/tests/components/deduplicate-imports/adapt-wasi-snapshot-preview1.wit +10 -0
  938. data/rust-vendor/wit-component/tests/components/deduplicate-imports/component.wat +132 -0
  939. data/rust-vendor/wit-component/tests/components/deduplicate-imports/component.wit.print +9 -0
  940. data/rust-vendor/wit-component/tests/components/deduplicate-imports/module.wat +40 -0
  941. data/rust-vendor/wit-component/tests/components/deduplicate-imports/module.wit +9 -0
  942. data/rust-vendor/wit-component/tests/components/empty/component.wat +12 -0
  943. data/rust-vendor/wit-component/tests/components/empty/component.wit.print +4 -0
  944. data/rust-vendor/wit-component/tests/components/empty/module.wat +1 -0
  945. data/rust-vendor/wit-component/tests/components/empty/module.wit +2 -0
  946. data/rust-vendor/wit-component/tests/components/ensure-default-type-exports/component.wat +50 -0
  947. data/rust-vendor/wit-component/tests/components/ensure-default-type-exports/component.wit.print +7 -0
  948. data/rust-vendor/wit-component/tests/components/ensure-default-type-exports/module.wat +6 -0
  949. data/rust-vendor/wit-component/tests/components/ensure-default-type-exports/module.wit +17 -0
  950. data/rust-vendor/wit-component/tests/components/error-adapt-missing-memory/adapt-old.wat +4 -0
  951. data/rust-vendor/wit-component/tests/components/error-adapt-missing-memory/adapt-old.wit +5 -0
  952. data/rust-vendor/wit-component/tests/components/error-adapt-missing-memory/error.txt +1 -0
  953. data/rust-vendor/wit-component/tests/components/error-adapt-missing-memory/module.wat +3 -0
  954. data/rust-vendor/wit-component/tests/components/error-adapt-missing-memory/module.wit +2 -0
  955. data/rust-vendor/wit-component/tests/components/error-async-export-missing-callback/error.txt +1 -0
  956. data/rust-vendor/wit-component/tests/components/error-async-export-missing-callback/module.wat +6 -0
  957. data/rust-vendor/wit-component/tests/components/error-async-export-missing-callback/module.wit +10 -0
  958. data/rust-vendor/wit-component/tests/components/error-default-export-sig-mismatch/error.txt +1 -0
  959. data/rust-vendor/wit-component/tests/components/error-default-export-sig-mismatch/module.wat +3 -0
  960. data/rust-vendor/wit-component/tests/components/error-default-export-sig-mismatch/module.wit +5 -0
  961. data/rust-vendor/wit-component/tests/components/error-empty-module-import/error.txt +1 -0
  962. data/rust-vendor/wit-component/tests/components/error-empty-module-import/module.wat +3 -0
  963. data/rust-vendor/wit-component/tests/components/error-empty-module-import/module.wit +2 -0
  964. data/rust-vendor/wit-component/tests/components/error-export-sig-mismatch/error.txt +1 -0
  965. data/rust-vendor/wit-component/tests/components/error-export-sig-mismatch/module.wat +3 -0
  966. data/rust-vendor/wit-component/tests/components/error-export-sig-mismatch/module.wit +7 -0
  967. data/rust-vendor/wit-component/tests/components/error-import-resource-rep/error.txt +1 -0
  968. data/rust-vendor/wit-component/tests/components/error-import-resource-rep/module.wat +3 -0
  969. data/rust-vendor/wit-component/tests/components/error-import-resource-rep/module.wit +5 -0
  970. data/rust-vendor/wit-component/tests/components/error-import-resource-wrong-signature/error.txt +1 -0
  971. data/rust-vendor/wit-component/tests/components/error-import-resource-wrong-signature/module.wat +3 -0
  972. data/rust-vendor/wit-component/tests/components/error-import-resource-wrong-signature/module.wit +5 -0
  973. data/rust-vendor/wit-component/tests/components/error-import-sig-mismatch/error.txt +1 -0
  974. data/rust-vendor/wit-component/tests/components/error-import-sig-mismatch/module.wat +3 -0
  975. data/rust-vendor/wit-component/tests/components/error-import-sig-mismatch/module.wit +7 -0
  976. data/rust-vendor/wit-component/tests/components/error-invalid-module-import/error.txt +1 -0
  977. data/rust-vendor/wit-component/tests/components/error-invalid-module-import/module.wat +3 -0
  978. data/rust-vendor/wit-component/tests/components/error-invalid-module-import/module.wit +2 -0
  979. data/rust-vendor/wit-component/tests/components/error-link-duplicate-initializers/error.txt +1 -0
  980. data/rust-vendor/wit-component/tests/components/error-link-duplicate-initializers/lib-bar.wat +12 -0
  981. data/rust-vendor/wit-component/tests/components/error-link-duplicate-initializers/lib-bar.wit +3 -0
  982. data/rust-vendor/wit-component/tests/components/error-link-duplicate-initializers/lib-foo.wat +21 -0
  983. data/rust-vendor/wit-component/tests/components/error-link-duplicate-initializers/lib-foo.wit +10 -0
  984. data/rust-vendor/wit-component/tests/components/error-link-missing-needed/error.txt +2 -0
  985. data/rust-vendor/wit-component/tests/components/error-link-missing-needed/lib-foo.wat +15 -0
  986. data/rust-vendor/wit-component/tests/components/error-link-missing-needed/lib-foo.wit +10 -0
  987. data/rust-vendor/wit-component/tests/components/error-link-missing-symbols/error.txt +3 -0
  988. data/rust-vendor/wit-component/tests/components/error-link-missing-symbols/lib-foo.wat +13 -0
  989. data/rust-vendor/wit-component/tests/components/error-link-missing-symbols/lib-foo.wit +10 -0
  990. data/rust-vendor/wit-component/tests/components/error-missing-default-export/error.txt +1 -0
  991. data/rust-vendor/wit-component/tests/components/error-missing-default-export/module.wat +1 -0
  992. data/rust-vendor/wit-component/tests/components/error-missing-default-export/module.wit +4 -0
  993. data/rust-vendor/wit-component/tests/components/error-missing-export/error.txt +1 -0
  994. data/rust-vendor/wit-component/tests/components/error-missing-export/module.wat +1 -0
  995. data/rust-vendor/wit-component/tests/components/error-missing-export/module.wit +7 -0
  996. data/rust-vendor/wit-component/tests/components/error-missing-import/error.txt +1 -0
  997. data/rust-vendor/wit-component/tests/components/error-missing-import/module.wat +3 -0
  998. data/rust-vendor/wit-component/tests/components/error-missing-import/module.wit +2 -0
  999. data/rust-vendor/wit-component/tests/components/error-missing-import-func/error.txt +1 -0
  1000. data/rust-vendor/wit-component/tests/components/error-missing-import-func/module.wat +3 -0
  1001. data/rust-vendor/wit-component/tests/components/error-missing-import-func/module.wit +9 -0
  1002. data/rust-vendor/wit-component/tests/components/error-missing-module-metadata/adapt-old.wat +4 -0
  1003. data/rust-vendor/wit-component/tests/components/error-missing-module-metadata/adapt-old.wit +5 -0
  1004. data/rust-vendor/wit-component/tests/components/error-missing-module-metadata/error.txt +1 -0
  1005. data/rust-vendor/wit-component/tests/components/error-missing-module-metadata/module.wat +4 -0
  1006. data/rust-vendor/wit-component/tests/components/error-missing-module-metadata/module.wit +4 -0
  1007. data/rust-vendor/wit-component/tests/components/export-interface-using-import/component.wat +37 -0
  1008. data/rust-vendor/wit-component/tests/components/export-interface-using-import/component.wit.print +9 -0
  1009. data/rust-vendor/wit-component/tests/components/export-interface-using-import/module.wat +1 -0
  1010. data/rust-vendor/wit-component/tests/components/export-interface-using-import/module.wit +17 -0
  1011. data/rust-vendor/wit-component/tests/components/export-name-shuffling/component.wat +43 -0
  1012. data/rust-vendor/wit-component/tests/components/export-name-shuffling/component.wit.print +10 -0
  1013. data/rust-vendor/wit-component/tests/components/export-name-shuffling/module.wat +3 -0
  1014. data/rust-vendor/wit-component/tests/components/export-name-shuffling/module.wit +17 -0
  1015. data/rust-vendor/wit-component/tests/components/export-resource/component.wat +102 -0
  1016. data/rust-vendor/wit-component/tests/components/export-resource/component.wit.print +10 -0
  1017. data/rust-vendor/wit-component/tests/components/export-resource/module.wat +15 -0
  1018. data/rust-vendor/wit-component/tests/components/export-resource/module.wit +11 -0
  1019. data/rust-vendor/wit-component/tests/components/export-type-name-conflict/component.wat +46 -0
  1020. data/rust-vendor/wit-component/tests/components/export-type-name-conflict/component.wit.print +11 -0
  1021. data/rust-vendor/wit-component/tests/components/export-type-name-conflict/module.wat +5 -0
  1022. data/rust-vendor/wit-component/tests/components/export-type-name-conflict/module.wit +15 -0
  1023. data/rust-vendor/wit-component/tests/components/export-with-type-alias/component.wat +40 -0
  1024. data/rust-vendor/wit-component/tests/components/export-with-type-alias/component.wit.print +5 -0
  1025. data/rust-vendor/wit-component/tests/components/export-with-type-alias/module.wat +3 -0
  1026. data/rust-vendor/wit-component/tests/components/export-with-type-alias/module.wit +11 -0
  1027. data/rust-vendor/wit-component/tests/components/exports/component.wat +139 -0
  1028. data/rust-vendor/wit-component/tests/components/exports/component.wit.print +29 -0
  1029. data/rust-vendor/wit-component/tests/components/exports/module.wat +14 -0
  1030. data/rust-vendor/wit-component/tests/components/exports/module.wit +29 -0
  1031. data/rust-vendor/wit-component/tests/components/fallible-constructor/component.wat +73 -0
  1032. data/rust-vendor/wit-component/tests/components/fallible-constructor/component.wit.print +9 -0
  1033. data/rust-vendor/wit-component/tests/components/fallible-constructor/module.wat +5 -0
  1034. data/rust-vendor/wit-component/tests/components/fallible-constructor/module.wit +9 -0
  1035. data/rust-vendor/wit-component/tests/components/import-and-export-resource/component.wat +53 -0
  1036. data/rust-vendor/wit-component/tests/components/import-and-export-resource/component.wit.print +8 -0
  1037. data/rust-vendor/wit-component/tests/components/import-and-export-resource/module.wat +6 -0
  1038. data/rust-vendor/wit-component/tests/components/import-and-export-resource/module.wit +12 -0
  1039. data/rust-vendor/wit-component/tests/components/import-conflict/component.wat +118 -0
  1040. data/rust-vendor/wit-component/tests/components/import-conflict/component.wit.print +7 -0
  1041. data/rust-vendor/wit-component/tests/components/import-conflict/module.wat +7 -0
  1042. data/rust-vendor/wit-component/tests/components/import-conflict/module.wit +19 -0
  1043. data/rust-vendor/wit-component/tests/components/import-empty-interface/component.wat +12 -0
  1044. data/rust-vendor/wit-component/tests/components/import-empty-interface/component.wit.print +4 -0
  1045. data/rust-vendor/wit-component/tests/components/import-empty-interface/module.wat +1 -0
  1046. data/rust-vendor/wit-component/tests/components/import-empty-interface/module.wit +5 -0
  1047. data/rust-vendor/wit-component/tests/components/import-export/component.wat +124 -0
  1048. data/rust-vendor/wit-component/tests/components/import-export/component.wit.print +14 -0
  1049. data/rust-vendor/wit-component/tests/components/import-export/module.wat +10 -0
  1050. data/rust-vendor/wit-component/tests/components/import-export/module.wit +14 -0
  1051. data/rust-vendor/wit-component/tests/components/import-export-same-iface-name/component.wat +59 -0
  1052. data/rust-vendor/wit-component/tests/components/import-export-same-iface-name/component.wit.print +8 -0
  1053. data/rust-vendor/wit-component/tests/components/import-export-same-iface-name/deps/dep/foo.wit +5 -0
  1054. data/rust-vendor/wit-component/tests/components/import-export-same-iface-name/module.wat +5 -0
  1055. data/rust-vendor/wit-component/tests/components/import-export-same-iface-name/module.wit +11 -0
  1056. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/adapt-old.wat +23 -0
  1057. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/adapt-old.wit +9 -0
  1058. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/component.wat +220 -0
  1059. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/component.wit.print +16 -0
  1060. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/deps/shared-dependency/doc.wit +13 -0
  1061. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/deps/shared-dependency/types.wit +3 -0
  1062. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/module.wat +15 -0
  1063. data/rust-vendor/wit-component/tests/components/import-in-adapter-and-main-module/module.wit +11 -0
  1064. data/rust-vendor/wit-component/tests/components/import-only-resource-static-function/component.wat +30 -0
  1065. data/rust-vendor/wit-component/tests/components/import-only-resource-static-function/component.wit.print +5 -0
  1066. data/rust-vendor/wit-component/tests/components/import-only-resource-static-function/module.wat +3 -0
  1067. data/rust-vendor/wit-component/tests/components/import-only-resource-static-function/module.wit +11 -0
  1068. data/rust-vendor/wit-component/tests/components/import-partial-export-full/component.wat +34 -0
  1069. data/rust-vendor/wit-component/tests/components/import-partial-export-full/component.wit.print +8 -0
  1070. data/rust-vendor/wit-component/tests/components/import-partial-export-full/module.wat +1 -0
  1071. data/rust-vendor/wit-component/tests/components/import-partial-export-full/module.wit +19 -0
  1072. data/rust-vendor/wit-component/tests/components/import-resource-in-interface/component.wat +41 -0
  1073. data/rust-vendor/wit-component/tests/components/import-resource-in-interface/component.wit.print +10 -0
  1074. data/rust-vendor/wit-component/tests/components/import-resource-in-interface/module.wat +5 -0
  1075. data/rust-vendor/wit-component/tests/components/import-resource-in-interface/module.wit +11 -0
  1076. data/rust-vendor/wit-component/tests/components/import-resource-simple/component.wat +33 -0
  1077. data/rust-vendor/wit-component/tests/components/import-resource-simple/component.wit.print +8 -0
  1078. data/rust-vendor/wit-component/tests/components/import-resource-simple/module.wat +5 -0
  1079. data/rust-vendor/wit-component/tests/components/import-resource-simple/module.wit +9 -0
  1080. data/rust-vendor/wit-component/tests/components/imports/component.wat +149 -0
  1081. data/rust-vendor/wit-component/tests/components/imports/component.wit.print +29 -0
  1082. data/rust-vendor/wit-component/tests/components/imports/module.wat +12 -0
  1083. data/rust-vendor/wit-component/tests/components/imports/module.wit +33 -0
  1084. data/rust-vendor/wit-component/tests/components/initialize/component.wat +38 -0
  1085. data/rust-vendor/wit-component/tests/components/initialize/component.wit.print +5 -0
  1086. data/rust-vendor/wit-component/tests/components/initialize/module.wat +6 -0
  1087. data/rust-vendor/wit-component/tests/components/initialize/module.wit +5 -0
  1088. data/rust-vendor/wit-component/tests/components/lift-options/component.wat +286 -0
  1089. data/rust-vendor/wit-component/tests/components/lift-options/component.wit.print +5 -0
  1090. data/rust-vendor/wit-component/tests/components/lift-options/module.wat +24 -0
  1091. data/rust-vendor/wit-component/tests/components/lift-options/module.wit +40 -0
  1092. data/rust-vendor/wit-component/tests/components/link/component.wat +271 -0
  1093. data/rust-vendor/wit-component/tests/components/link/component.wit.print +7 -0
  1094. data/rust-vendor/wit-component/tests/components/link/lib-bar.wat +29 -0
  1095. data/rust-vendor/wit-component/tests/components/link/lib-bar.wit +10 -0
  1096. data/rust-vendor/wit-component/tests/components/link/lib-c.wat +27 -0
  1097. data/rust-vendor/wit-component/tests/components/link/lib-c.wit +3 -0
  1098. data/rust-vendor/wit-component/tests/components/link/lib-foo.wat +55 -0
  1099. data/rust-vendor/wit-component/tests/components/link/lib-foo.wit +3 -0
  1100. data/rust-vendor/wit-component/tests/components/link/lib-unused.wat +55 -0
  1101. data/rust-vendor/wit-component/tests/components/link/lib-unused.wit +3 -0
  1102. data/rust-vendor/wit-component/tests/components/link-asyncify/component.wat +267 -0
  1103. data/rust-vendor/wit-component/tests/components/link-asyncify/component.wit.print +5 -0
  1104. data/rust-vendor/wit-component/tests/components/link-asyncify/lib-bar.wat +81 -0
  1105. data/rust-vendor/wit-component/tests/components/link-asyncify/lib-bar.wit +9 -0
  1106. data/rust-vendor/wit-component/tests/components/link-asyncify/lib-foo.wat +78 -0
  1107. data/rust-vendor/wit-component/tests/components/link-asyncify/lib-foo.wit +3 -0
  1108. data/rust-vendor/wit-component/tests/components/link-bare-funcs/component.wat +212 -0
  1109. data/rust-vendor/wit-component/tests/components/link-bare-funcs/component.wit.print +9 -0
  1110. data/rust-vendor/wit-component/tests/components/link-bare-funcs/lib-c.wat +27 -0
  1111. data/rust-vendor/wit-component/tests/components/link-bare-funcs/lib-c.wit +3 -0
  1112. data/rust-vendor/wit-component/tests/components/link-bare-funcs/lib-foo.wat +18 -0
  1113. data/rust-vendor/wit-component/tests/components/link-bare-funcs/lib-foo.wit +7 -0
  1114. data/rust-vendor/wit-component/tests/components/link-circular/component.wat +133 -0
  1115. data/rust-vendor/wit-component/tests/components/link-circular/component.wit.print +7 -0
  1116. data/rust-vendor/wit-component/tests/components/link-circular/lib-bar.wat +12 -0
  1117. data/rust-vendor/wit-component/tests/components/link-circular/lib-bar.wit +3 -0
  1118. data/rust-vendor/wit-component/tests/components/link-circular/lib-foo.wat +15 -0
  1119. data/rust-vendor/wit-component/tests/components/link-circular/lib-foo.wit +10 -0
  1120. data/rust-vendor/wit-component/tests/components/link-dl-openable/component.wat +108 -0
  1121. data/rust-vendor/wit-component/tests/components/link-dl-openable/component.wit.print +7 -0
  1122. data/rust-vendor/wit-component/tests/components/link-dl-openable/dlopen-lib-foo.wat +15 -0
  1123. data/rust-vendor/wit-component/tests/components/link-dl-openable/dlopen-lib-foo.wit +10 -0
  1124. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/component.wat +657 -0
  1125. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/component.wit.print +7 -0
  1126. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/dlopen-lib-foo.wat +17 -0
  1127. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/dlopen-lib-foo.wit +10 -0
  1128. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/lib-c.wat +30 -0
  1129. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/lib-c.wit +3 -0
  1130. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/stub-missing-functions +0 -0
  1131. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl/use-built-in-libdl +0 -0
  1132. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/component.wat +654 -0
  1133. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/component.wit.print +7 -0
  1134. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/dlopen-lib-foo.wat +19 -0
  1135. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/dlopen-lib-foo.wit +10 -0
  1136. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/lib-c.wat +39 -0
  1137. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/lib-c.wit +3 -0
  1138. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/lib-unused.wat +55 -0
  1139. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/lib-unused.wit +3 -0
  1140. data/rust-vendor/wit-component/tests/components/link-dl-openable-builtin-libdl-with-unused/use-built-in-libdl +0 -0
  1141. data/rust-vendor/wit-component/tests/components/link-duplicate-symbols/component.wat +135 -0
  1142. data/rust-vendor/wit-component/tests/components/link-duplicate-symbols/component.wit.print +7 -0
  1143. data/rust-vendor/wit-component/tests/components/link-duplicate-symbols/lib-bar.wat +13 -0
  1144. data/rust-vendor/wit-component/tests/components/link-duplicate-symbols/lib-bar.wit +3 -0
  1145. data/rust-vendor/wit-component/tests/components/link-duplicate-symbols/lib-foo.wat +15 -0
  1146. data/rust-vendor/wit-component/tests/components/link-duplicate-symbols/lib-foo.wit +10 -0
  1147. data/rust-vendor/wit-component/tests/components/link-got-func/component.wat +125 -0
  1148. data/rust-vendor/wit-component/tests/components/link-got-func/component.wit.print +7 -0
  1149. data/rust-vendor/wit-component/tests/components/link-got-func/lib-bar.wat +10 -0
  1150. data/rust-vendor/wit-component/tests/components/link-got-func/lib-bar.wit +3 -0
  1151. data/rust-vendor/wit-component/tests/components/link-got-func/lib-foo.wat +10 -0
  1152. data/rust-vendor/wit-component/tests/components/link-got-func/lib-foo.wit +10 -0
  1153. data/rust-vendor/wit-component/tests/components/link-initialize/component.wat +271 -0
  1154. data/rust-vendor/wit-component/tests/components/link-initialize/component.wit.print +7 -0
  1155. data/rust-vendor/wit-component/tests/components/link-initialize/lib-bar.wat +29 -0
  1156. data/rust-vendor/wit-component/tests/components/link-initialize/lib-bar.wit +10 -0
  1157. data/rust-vendor/wit-component/tests/components/link-initialize/lib-c.wat +27 -0
  1158. data/rust-vendor/wit-component/tests/components/link-initialize/lib-c.wit +3 -0
  1159. data/rust-vendor/wit-component/tests/components/link-initialize/lib-foo.wat +55 -0
  1160. data/rust-vendor/wit-component/tests/components/link-initialize/lib-foo.wit +3 -0
  1161. data/rust-vendor/wit-component/tests/components/link-lib-with-async-export/component.wat +148 -0
  1162. data/rust-vendor/wit-component/tests/components/link-lib-with-async-export/component.wit.print +19 -0
  1163. data/rust-vendor/wit-component/tests/components/link-lib-with-async-export/lib-c.wat +4 -0
  1164. data/rust-vendor/wit-component/tests/components/link-lib-with-async-export/lib-c.wit +3 -0
  1165. data/rust-vendor/wit-component/tests/components/link-lib-with-async-export/lib-foo.wat +12 -0
  1166. data/rust-vendor/wit-component/tests/components/link-lib-with-async-export/lib-foo.wit +16 -0
  1167. data/rust-vendor/wit-component/tests/components/link-resources/component.wat +150 -0
  1168. data/rust-vendor/wit-component/tests/components/link-resources/component.wit.print +6 -0
  1169. data/rust-vendor/wit-component/tests/components/link-resources/lib-bar.wat +15 -0
  1170. data/rust-vendor/wit-component/tests/components/link-resources/lib-bar.wit +13 -0
  1171. data/rust-vendor/wit-component/tests/components/link-resources/lib-foo.wat +17 -0
  1172. data/rust-vendor/wit-component/tests/components/link-resources/lib-foo.wit +13 -0
  1173. data/rust-vendor/wit-component/tests/components/link-stack-high-and-low/component.wat +146 -0
  1174. data/rust-vendor/wit-component/tests/components/link-stack-high-and-low/component.wit.print +5 -0
  1175. data/rust-vendor/wit-component/tests/components/link-stack-high-and-low/lib-bar.wat +19 -0
  1176. data/rust-vendor/wit-component/tests/components/link-stack-high-and-low/lib-bar.wit +9 -0
  1177. data/rust-vendor/wit-component/tests/components/link-stack-high-and-low/lib-foo.wat +17 -0
  1178. data/rust-vendor/wit-component/tests/components/link-stack-high-and-low/lib-foo.wit +3 -0
  1179. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/adapt-wasip2.wat +8 -0
  1180. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/adapt-wasip2.wit +1 -0
  1181. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/component.wat +330 -0
  1182. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/component.wit.print +7 -0
  1183. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/deps/cli/environment.wit +5 -0
  1184. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-bar.wat +29 -0
  1185. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-bar.wit +10 -0
  1186. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-c.wat +29 -0
  1187. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-c.wit +5 -0
  1188. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-foo.wat +55 -0
  1189. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-foo.wit +3 -0
  1190. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-unused.wat +55 -0
  1191. data/rust-vendor/wit-component/tests/components/link-stub-wasip2/lib-unused.wit +3 -0
  1192. data/rust-vendor/wit-component/tests/components/link-stubs/component.wat +118 -0
  1193. data/rust-vendor/wit-component/tests/components/link-stubs/component.wit.print +7 -0
  1194. data/rust-vendor/wit-component/tests/components/link-stubs/lib-foo.wat +13 -0
  1195. data/rust-vendor/wit-component/tests/components/link-stubs/lib-foo.wit +10 -0
  1196. data/rust-vendor/wit-component/tests/components/link-stubs/stub-missing-functions +0 -0
  1197. data/rust-vendor/wit-component/tests/components/link-tag/component.wat +123 -0
  1198. data/rust-vendor/wit-component/tests/components/link-tag/component.wit.print +5 -0
  1199. data/rust-vendor/wit-component/tests/components/link-tag/lib-bar.wat +6 -0
  1200. data/rust-vendor/wit-component/tests/components/link-tag/lib-bar.wit +3 -0
  1201. data/rust-vendor/wit-component/tests/components/link-tag/lib-foo.wat +7 -0
  1202. data/rust-vendor/wit-component/tests/components/link-tag/lib-foo.wit +5 -0
  1203. data/rust-vendor/wit-component/tests/components/link-weak-cabi-realloc/component.wat +99 -0
  1204. data/rust-vendor/wit-component/tests/components/link-weak-cabi-realloc/component.wit.print +5 -0
  1205. data/rust-vendor/wit-component/tests/components/link-weak-cabi-realloc/lib-foo.wat +14 -0
  1206. data/rust-vendor/wit-component/tests/components/link-weak-cabi-realloc/lib-foo.wit +9 -0
  1207. data/rust-vendor/wit-component/tests/components/link-weak-import/component.wat +120 -0
  1208. data/rust-vendor/wit-component/tests/components/link-weak-import/component.wit.print +7 -0
  1209. data/rust-vendor/wit-component/tests/components/link-weak-import/lib-foo.wat +15 -0
  1210. data/rust-vendor/wit-component/tests/components/link-weak-import/lib-foo.wit +10 -0
  1211. data/rust-vendor/wit-component/tests/components/live-exports-dead-imports/component.wat +38 -0
  1212. data/rust-vendor/wit-component/tests/components/live-exports-dead-imports/component.wit.print +5 -0
  1213. data/rust-vendor/wit-component/tests/components/live-exports-dead-imports/module.wat +4 -0
  1214. data/rust-vendor/wit-component/tests/components/live-exports-dead-imports/module.wit +12 -0
  1215. data/rust-vendor/wit-component/tests/components/lower-options/component.wat +281 -0
  1216. data/rust-vendor/wit-component/tests/components/lower-options/component.wit.print +5 -0
  1217. data/rust-vendor/wit-component/tests/components/lower-options/module.wat +20 -0
  1218. data/rust-vendor/wit-component/tests/components/lower-options/module.wit +40 -0
  1219. data/rust-vendor/wit-component/tests/components/many-same-names/component.wat +48 -0
  1220. data/rust-vendor/wit-component/tests/components/many-same-names/component.wit.print +10 -0
  1221. data/rust-vendor/wit-component/tests/components/many-same-names/module.wat +3 -0
  1222. data/rust-vendor/wit-component/tests/components/many-same-names/module.wit +21 -0
  1223. data/rust-vendor/wit-component/tests/components/merge-import-versions/component.wat +125 -0
  1224. data/rust-vendor/wit-component/tests/components/merge-import-versions/component.wit.print +5 -0
  1225. data/rust-vendor/wit-component/tests/components/merge-import-versions/module.wat +15 -0
  1226. data/rust-vendor/wit-component/tests/components/merge-import-versions/module.wit +30 -0
  1227. data/rust-vendor/wit-component/tests/components/merge-import-versions-with-adapter/adapt-old.wat +10 -0
  1228. data/rust-vendor/wit-component/tests/components/merge-import-versions-with-adapter/adapt-old.wit +19 -0
  1229. data/rust-vendor/wit-component/tests/components/merge-import-versions-with-adapter/component.wat +104 -0
  1230. data/rust-vendor/wit-component/tests/components/merge-import-versions-with-adapter/component.wit.print +5 -0
  1231. data/rust-vendor/wit-component/tests/components/merge-import-versions-with-adapter/module.wat +9 -0
  1232. data/rust-vendor/wit-component/tests/components/merge-import-versions-with-adapter/module.wit +14 -0
  1233. data/rust-vendor/wit-component/tests/components/multi-package/baz/qux/component.wat +90 -0
  1234. data/rust-vendor/wit-component/tests/components/multi-package/baz/qux/component.wit.print +13 -0
  1235. data/rust-vendor/wit-component/tests/components/multi-package/baz/qux/module.wat +7 -0
  1236. data/rust-vendor/wit-component/tests/components/multi-package/component.wat +44 -0
  1237. data/rust-vendor/wit-component/tests/components/multi-package/component.wit.print +4 -0
  1238. data/rust-vendor/wit-component/tests/components/multi-package/foo/bar/component.wat +82 -0
  1239. data/rust-vendor/wit-component/tests/components/multi-package/foo/bar/component.wit.print +13 -0
  1240. data/rust-vendor/wit-component/tests/components/multi-package/foo/bar/module.wat +6 -0
  1241. data/rust-vendor/wit-component/tests/components/multi-package/module.wit +25 -0
  1242. data/rust-vendor/wit-component/tests/components/no-realloc-required/component.wat +67 -0
  1243. data/rust-vendor/wit-component/tests/components/no-realloc-required/component.wit.print +7 -0
  1244. data/rust-vendor/wit-component/tests/components/no-realloc-required/module.wat +4 -0
  1245. data/rust-vendor/wit-component/tests/components/no-realloc-required/module.wit +7 -0
  1246. data/rust-vendor/wit-component/tests/components/post-return/component.wat +36 -0
  1247. data/rust-vendor/wit-component/tests/components/post-return/component.wit.print +5 -0
  1248. data/rust-vendor/wit-component/tests/components/post-return/module.wat +6 -0
  1249. data/rust-vendor/wit-component/tests/components/post-return/module.wit +5 -0
  1250. data/rust-vendor/wit-component/tests/components/rename-import-interface/component.wat +29 -0
  1251. data/rust-vendor/wit-component/tests/components/rename-import-interface/component.wit.print +5 -0
  1252. data/rust-vendor/wit-component/tests/components/rename-import-interface/module.wat +3 -0
  1253. data/rust-vendor/wit-component/tests/components/rename-import-interface/module.wit +9 -0
  1254. data/rust-vendor/wit-component/tests/components/rename-interface/component.wat +39 -0
  1255. data/rust-vendor/wit-component/tests/components/rename-interface/component.wit.print +10 -0
  1256. data/rust-vendor/wit-component/tests/components/rename-interface/module.wat +3 -0
  1257. data/rust-vendor/wit-component/tests/components/rename-interface/module.wit +18 -0
  1258. data/rust-vendor/wit-component/tests/components/resource-intrinsics-with-just-import/component.wat +28 -0
  1259. data/rust-vendor/wit-component/tests/components/resource-intrinsics-with-just-import/component.wit.print +7 -0
  1260. data/rust-vendor/wit-component/tests/components/resource-intrinsics-with-just-import/module.wat +3 -0
  1261. data/rust-vendor/wit-component/tests/components/resource-intrinsics-with-just-import/module.wit +7 -0
  1262. data/rust-vendor/wit-component/tests/components/resource-used-through-import/component.wat +57 -0
  1263. data/rust-vendor/wit-component/tests/components/resource-used-through-import/component.wit.print +11 -0
  1264. data/rust-vendor/wit-component/tests/components/resource-used-through-import/module.wat +6 -0
  1265. data/rust-vendor/wit-component/tests/components/resource-used-through-import/module.wit +13 -0
  1266. data/rust-vendor/wit-component/tests/components/resource-using-export/component.wat +64 -0
  1267. data/rust-vendor/wit-component/tests/components/resource-using-export/component.wit.print +10 -0
  1268. data/rust-vendor/wit-component/tests/components/resource-using-export/module.wat +6 -0
  1269. data/rust-vendor/wit-component/tests/components/resource-using-export/module.wit +16 -0
  1270. data/rust-vendor/wit-component/tests/components/simple/component.wat +64 -0
  1271. data/rust-vendor/wit-component/tests/components/simple/component.wit.print +7 -0
  1272. data/rust-vendor/wit-component/tests/components/simple/module.wat +10 -0
  1273. data/rust-vendor/wit-component/tests/components/simple/module.wit +7 -0
  1274. data/rust-vendor/wit-component/tests/components/threading/component.wat +163 -0
  1275. data/rust-vendor/wit-component/tests/components/threading/component.wit.print +6 -0
  1276. data/rust-vendor/wit-component/tests/components/threading/module.wat +22 -0
  1277. data/rust-vendor/wit-component/tests/components/threading/module.wit +10 -0
  1278. data/rust-vendor/wit-component/tests/components/tricky-order/component.wat +44 -0
  1279. data/rust-vendor/wit-component/tests/components/tricky-order/component.wit.print +11 -0
  1280. data/rust-vendor/wit-component/tests/components/tricky-order/module.wat +1 -0
  1281. data/rust-vendor/wit-component/tests/components/tricky-order/module.wit +20 -0
  1282. data/rust-vendor/wit-component/tests/components/tricky-resources/component.wat +75 -0
  1283. data/rust-vendor/wit-component/tests/components/tricky-resources/component.wit.print +11 -0
  1284. data/rust-vendor/wit-component/tests/components/tricky-resources/module.wat +7 -0
  1285. data/rust-vendor/wit-component/tests/components/tricky-resources/module.wit +19 -0
  1286. data/rust-vendor/wit-component/tests/components/tricky-resources2/component.wat +50 -0
  1287. data/rust-vendor/wit-component/tests/components/tricky-resources2/component.wit.print +10 -0
  1288. data/rust-vendor/wit-component/tests/components/tricky-resources2/module.wat +4 -0
  1289. data/rust-vendor/wit-component/tests/components/tricky-resources2/module.wit +14 -0
  1290. data/rust-vendor/wit-component/tests/components/tricky-resources3/component.wat +44 -0
  1291. data/rust-vendor/wit-component/tests/components/tricky-resources3/component.wit.print +9 -0
  1292. data/rust-vendor/wit-component/tests/components/tricky-resources3/module.wat +1 -0
  1293. data/rust-vendor/wit-component/tests/components/tricky-resources3/module.wit +17 -0
  1294. data/rust-vendor/wit-component/tests/components/tricky-resources4/component.wat +64 -0
  1295. data/rust-vendor/wit-component/tests/components/tricky-resources4/component.wit.print +8 -0
  1296. data/rust-vendor/wit-component/tests/components/tricky-resources4/module.wat +6 -0
  1297. data/rust-vendor/wit-component/tests/components/tricky-resources4/module.wit +16 -0
  1298. data/rust-vendor/wit-component/tests/components/unused-import/component.wat +29 -0
  1299. data/rust-vendor/wit-component/tests/components/unused-import/component.wit.print +5 -0
  1300. data/rust-vendor/wit-component/tests/components/unused-import/module.wat +3 -0
  1301. data/rust-vendor/wit-component/tests/components/unused-import/module.wit +12 -0
  1302. data/rust-vendor/wit-component/tests/components/worlds-with-type-renamings/component.wat +67 -0
  1303. data/rust-vendor/wit-component/tests/components/worlds-with-type-renamings/component.wit.print +8 -0
  1304. data/rust-vendor/wit-component/tests/components/worlds-with-type-renamings/module.wat +12 -0
  1305. data/rust-vendor/wit-component/tests/components/worlds-with-type-renamings/module.wit +17 -0
  1306. data/rust-vendor/wit-component/tests/components/worlds-with-types/component.wat +25 -0
  1307. data/rust-vendor/wit-component/tests/components/worlds-with-types/component.wit.print +11 -0
  1308. data/rust-vendor/wit-component/tests/components/worlds-with-types/module.wat +3 -0
  1309. data/rust-vendor/wit-component/tests/components/worlds-with-types/module.wit +10 -0
  1310. data/rust-vendor/wit-component/tests/components.rs +291 -0
  1311. data/rust-vendor/wit-component/tests/interfaces/console.wat +18 -0
  1312. data/rust-vendor/wit-component/tests/interfaces/console.wit +5 -0
  1313. data/rust-vendor/wit-component/tests/interfaces/console.wit.print +6 -0
  1314. data/rust-vendor/wit-component/tests/interfaces/diamond-disambiguate/foo.wit.print +20 -0
  1315. data/rust-vendor/wit-component/tests/interfaces/diamond-disambiguate/join.wit +10 -0
  1316. data/rust-vendor/wit-component/tests/interfaces/diamond-disambiguate/shared1.wit +3 -0
  1317. data/rust-vendor/wit-component/tests/interfaces/diamond-disambiguate/shared2.wit +3 -0
  1318. data/rust-vendor/wit-component/tests/interfaces/diamond-disambiguate.wat +70 -0
  1319. data/rust-vendor/wit-component/tests/interfaces/diamond.wat +107 -0
  1320. data/rust-vendor/wit-component/tests/interfaces/diamond.wit +31 -0
  1321. data/rust-vendor/wit-component/tests/interfaces/diamond.wit.print +34 -0
  1322. data/rust-vendor/wit-component/tests/interfaces/doc-comments/foo.wit +79 -0
  1323. data/rust-vendor/wit-component/tests/interfaces/doc-comments/foo.wit.print +78 -0
  1324. data/rust-vendor/wit-component/tests/interfaces/doc-comments.wat +73 -0
  1325. data/rust-vendor/wit-component/tests/interfaces/empty.wat +50 -0
  1326. data/rust-vendor/wit-component/tests/interfaces/empty.wit +12 -0
  1327. data/rust-vendor/wit-component/tests/interfaces/empty.wit.print +16 -0
  1328. data/rust-vendor/wit-component/tests/interfaces/export-other-packages-interface/deps/the-dep/the-doc.wit +9 -0
  1329. data/rust-vendor/wit-component/tests/interfaces/export-other-packages-interface/foo.wit +5 -0
  1330. data/rust-vendor/wit-component/tests/interfaces/export-other-packages-interface/foo.wit.print +5 -0
  1331. data/rust-vendor/wit-component/tests/interfaces/export-other-packages-interface.wat +23 -0
  1332. data/rust-vendor/wit-component/tests/interfaces/exports.wat +39 -0
  1333. data/rust-vendor/wit-component/tests/interfaces/exports.wit +13 -0
  1334. data/rust-vendor/wit-component/tests/interfaces/exports.wit.print +13 -0
  1335. data/rust-vendor/wit-component/tests/interfaces/flags.wat +79 -0
  1336. data/rust-vendor/wit-component/tests/interfaces/flags.wit +100 -0
  1337. data/rust-vendor/wit-component/tests/interfaces/flags.wit.print +100 -0
  1338. data/rust-vendor/wit-component/tests/interfaces/floats.wat +47 -0
  1339. data/rust-vendor/wit-component/tests/interfaces/floats.wit +12 -0
  1340. data/rust-vendor/wit-component/tests/interfaces/floats.wit.print +15 -0
  1341. data/rust-vendor/wit-component/tests/interfaces/foreign-use-chain/deps/bar/bar.wit +9 -0
  1342. data/rust-vendor/wit-component/tests/interfaces/foreign-use-chain/foo.wit +5 -0
  1343. data/rust-vendor/wit-component/tests/interfaces/foreign-use-chain/foo.wit.print +6 -0
  1344. data/rust-vendor/wit-component/tests/interfaces/foreign-use-chain.wat +31 -0
  1345. data/rust-vendor/wit-component/tests/interfaces/import-and-export.wat +54 -0
  1346. data/rust-vendor/wit-component/tests/interfaces/import-and-export.wit +14 -0
  1347. data/rust-vendor/wit-component/tests/interfaces/import-and-export.wit.print +15 -0
  1348. data/rust-vendor/wit-component/tests/interfaces/integers.wat +107 -0
  1349. data/rust-vendor/wit-component/tests/interfaces/integers.wit +27 -0
  1350. data/rust-vendor/wit-component/tests/interfaces/integers.wit.print +45 -0
  1351. data/rust-vendor/wit-component/tests/interfaces/lists.wat +211 -0
  1352. data/rust-vendor/wit-component/tests/interfaces/lists.wit +96 -0
  1353. data/rust-vendor/wit-component/tests/interfaces/lists.wit.print +96 -0
  1354. data/rust-vendor/wit-component/tests/interfaces/maps.wat +186 -0
  1355. data/rust-vendor/wit-component/tests/interfaces/maps.wit +38 -0
  1356. data/rust-vendor/wit-component/tests/interfaces/maps.wit.print +57 -0
  1357. data/rust-vendor/wit-component/tests/interfaces/multi-doc/a.wit +9 -0
  1358. data/rust-vendor/wit-component/tests/interfaces/multi-doc/b.wit +9 -0
  1359. data/rust-vendor/wit-component/tests/interfaces/multi-doc/foo.wit.print +20 -0
  1360. data/rust-vendor/wit-component/tests/interfaces/multi-doc.wat +78 -0
  1361. data/rust-vendor/wit-component/tests/interfaces/multiple-use.wat +67 -0
  1362. data/rust-vendor/wit-component/tests/interfaces/multiple-use.wit +16 -0
  1363. data/rust-vendor/wit-component/tests/interfaces/multiple-use.wit.print +18 -0
  1364. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain/chain.wit.print +18 -0
  1365. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain/def.wit +13 -0
  1366. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain/the-use.wit +5 -0
  1367. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain.wat +70 -0
  1368. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain2/bar.wit +13 -0
  1369. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain2/foo.wit +5 -0
  1370. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain2/foo.wit.print +20 -0
  1371. data/rust-vendor/wit-component/tests/interfaces/pkg-use-chain2.wat +70 -0
  1372. data/rust-vendor/wit-component/tests/interfaces/preserve-dep-type-order/deps/dep/foo.wit +11 -0
  1373. data/rust-vendor/wit-component/tests/interfaces/preserve-dep-type-order/foo.wit +9 -0
  1374. data/rust-vendor/wit-component/tests/interfaces/preserve-dep-type-order/foo.wit.print +9 -0
  1375. data/rust-vendor/wit-component/tests/interfaces/preserve-dep-type-order.wat +47 -0
  1376. data/rust-vendor/wit-component/tests/interfaces/preserve-foreign-reexport/deps/my-dep/my-doc.wit +8 -0
  1377. data/rust-vendor/wit-component/tests/interfaces/preserve-foreign-reexport/foo.wit +5 -0
  1378. data/rust-vendor/wit-component/tests/interfaces/preserve-foreign-reexport/foo.wit.print +5 -0
  1379. data/rust-vendor/wit-component/tests/interfaces/preserve-foreign-reexport.wat +24 -0
  1380. data/rust-vendor/wit-component/tests/interfaces/print-keyword.wat +21 -0
  1381. data/rust-vendor/wit-component/tests/interfaces/print-keyword.wit +10 -0
  1382. data/rust-vendor/wit-component/tests/interfaces/print-keyword.wit.print +12 -0
  1383. data/rust-vendor/wit-component/tests/interfaces/records.wat +141 -0
  1384. data/rust-vendor/wit-component/tests/interfaces/records.wit +63 -0
  1385. data/rust-vendor/wit-component/tests/interfaces/records.wit.print +64 -0
  1386. data/rust-vendor/wit-component/tests/interfaces/reference-out-of-order.wat +63 -0
  1387. data/rust-vendor/wit-component/tests/interfaces/reference-out-of-order.wit +28 -0
  1388. data/rust-vendor/wit-component/tests/interfaces/reference-out-of-order.wit.print +31 -0
  1389. data/rust-vendor/wit-component/tests/interfaces/resources.wat +192 -0
  1390. data/rust-vendor/wit-component/tests/interfaces/resources.wit +80 -0
  1391. data/rust-vendor/wit-component/tests/interfaces/resources.wit.print +81 -0
  1392. data/rust-vendor/wit-component/tests/interfaces/simple-deps/deps/some-dep/types.wit +5 -0
  1393. data/rust-vendor/wit-component/tests/interfaces/simple-deps/foo.wit +4 -0
  1394. data/rust-vendor/wit-component/tests/interfaces/simple-deps/foo.wit.print +6 -0
  1395. data/rust-vendor/wit-component/tests/interfaces/simple-deps.wat +26 -0
  1396. data/rust-vendor/wit-component/tests/interfaces/simple-multi/bar.wit +1 -0
  1397. data/rust-vendor/wit-component/tests/interfaces/simple-multi/foo.wit +3 -0
  1398. data/rust-vendor/wit-component/tests/interfaces/simple-multi/foo.wit.print +8 -0
  1399. data/rust-vendor/wit-component/tests/interfaces/simple-multi.wat +24 -0
  1400. data/rust-vendor/wit-component/tests/interfaces/simple-use.wat +40 -0
  1401. data/rust-vendor/wit-component/tests/interfaces/simple-use.wit +13 -0
  1402. data/rust-vendor/wit-component/tests/interfaces/simple-use.wit.print +15 -0
  1403. data/rust-vendor/wit-component/tests/interfaces/simple-world.wat +35 -0
  1404. data/rust-vendor/wit-component/tests/interfaces/simple-world.wit +9 -0
  1405. data/rust-vendor/wit-component/tests/interfaces/simple-world.wit.print +9 -0
  1406. data/rust-vendor/wit-component/tests/interfaces/single-named-result.wat +18 -0
  1407. data/rust-vendor/wit-component/tests/interfaces/type-alias.wat +51 -0
  1408. data/rust-vendor/wit-component/tests/interfaces/type-alias.wit +13 -0
  1409. data/rust-vendor/wit-component/tests/interfaces/type-alias.wit.print +15 -0
  1410. data/rust-vendor/wit-component/tests/interfaces/type-alias2.wat +41 -0
  1411. data/rust-vendor/wit-component/tests/interfaces/type-alias2.wit +15 -0
  1412. data/rust-vendor/wit-component/tests/interfaces/type-alias2.wit.print +15 -0
  1413. data/rust-vendor/wit-component/tests/interfaces/upstream-deps-same-name/deps/a/the-name.wit +4 -0
  1414. data/rust-vendor/wit-component/tests/interfaces/upstream-deps-same-name/deps/b/the-name.wit +4 -0
  1415. data/rust-vendor/wit-component/tests/interfaces/upstream-deps-same-name/foo.wit +6 -0
  1416. data/rust-vendor/wit-component/tests/interfaces/upstream-deps-same-name/foo.wit.print +7 -0
  1417. data/rust-vendor/wit-component/tests/interfaces/upstream-deps-same-name.wat +36 -0
  1418. data/rust-vendor/wit-component/tests/interfaces/use-chain.wat +72 -0
  1419. data/rust-vendor/wit-component/tests/interfaces/use-chain.wit +15 -0
  1420. data/rust-vendor/wit-component/tests/interfaces/use-chain.wit.print +18 -0
  1421. data/rust-vendor/wit-component/tests/interfaces/use-for-type.wat +49 -0
  1422. data/rust-vendor/wit-component/tests/interfaces/use-for-type.wit +16 -0
  1423. data/rust-vendor/wit-component/tests/interfaces/use-for-type.wit.print +17 -0
  1424. data/rust-vendor/wit-component/tests/interfaces/variants.wat +197 -0
  1425. data/rust-vendor/wit-component/tests/interfaces/variants.wit +78 -0
  1426. data/rust-vendor/wit-component/tests/interfaces/variants.wit.print +95 -0
  1427. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/command.wit +7 -0
  1428. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/environment.wit +18 -0
  1429. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/exit.wit +4 -0
  1430. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/imports.wit +20 -0
  1431. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/run.wit +4 -0
  1432. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/stdio.wit +17 -0
  1433. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/cli/terminal.wit +47 -0
  1434. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/clocks/monotonic-clock.wit +45 -0
  1435. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/clocks/wall-clock.wit +42 -0
  1436. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/clocks/world.wit +6 -0
  1437. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/filesystem/preopens.wit +8 -0
  1438. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/filesystem/types.wit +634 -0
  1439. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/filesystem/world.wit +6 -0
  1440. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/io/error.wit +34 -0
  1441. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/io/poll.wit +41 -0
  1442. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/io/streams.wit +251 -0
  1443. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/io/world.wit +6 -0
  1444. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/random/insecure-seed.wit +25 -0
  1445. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/random/insecure.wit +22 -0
  1446. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/random/random.wit +26 -0
  1447. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/random/world.wit +7 -0
  1448. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/instance-network.wit +9 -0
  1449. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/ip-name-lookup.wit +51 -0
  1450. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/network.wit +147 -0
  1451. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/tcp-create-socket.wit +26 -0
  1452. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/tcp.wit +321 -0
  1453. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/udp-create-socket.wit +26 -0
  1454. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/udp.wit +277 -0
  1455. data/rust-vendor/wit-component/tests/interfaces/wasi-http/deps/sockets/world.wit +11 -0
  1456. data/rust-vendor/wit-component/tests/interfaces/wasi-http/handler.wit +43 -0
  1457. data/rust-vendor/wit-component/tests/interfaces/wasi-http/http.wit.print +571 -0
  1458. data/rust-vendor/wit-component/tests/interfaces/wasi-http/proxy.wit +32 -0
  1459. data/rust-vendor/wit-component/tests/interfaces/wasi-http/types.wit +570 -0
  1460. data/rust-vendor/wit-component/tests/interfaces/wasi-http.wat +881 -0
  1461. data/rust-vendor/wit-component/tests/interfaces/world-inline-interface.wat +24 -0
  1462. data/rust-vendor/wit-component/tests/interfaces/world-inline-interface.wit +6 -0
  1463. data/rust-vendor/wit-component/tests/interfaces/world-inline-interface.wit.print +9 -0
  1464. data/rust-vendor/wit-component/tests/interfaces/world-pkg-conflict/bar.wit +3 -0
  1465. data/rust-vendor/wit-component/tests/interfaces/world-pkg-conflict/foo.wit +9 -0
  1466. data/rust-vendor/wit-component/tests/interfaces/world-pkg-conflict/foo.wit.print +12 -0
  1467. data/rust-vendor/wit-component/tests/interfaces/world-pkg-conflict.wat +47 -0
  1468. data/rust-vendor/wit-component/tests/interfaces/world-top-level.wat +55 -0
  1469. data/rust-vendor/wit-component/tests/interfaces/world-top-level.wit +20 -0
  1470. data/rust-vendor/wit-component/tests/interfaces/world-top-level.wit.print +19 -0
  1471. data/rust-vendor/wit-component/tests/interfaces/worlds-with-types.wat +56 -0
  1472. data/rust-vendor/wit-component/tests/interfaces/worlds-with-types.wit +23 -0
  1473. data/rust-vendor/wit-component/tests/interfaces/worlds-with-types.wit.print +23 -0
  1474. data/rust-vendor/wit-component/tests/interfaces.rs +123 -0
  1475. data/rust-vendor/wit-component/tests/linking.rs +299 -0
  1476. data/rust-vendor/wit-component/tests/merge/bad-interface1/error.txt +1 -0
  1477. data/rust-vendor/wit-component/tests/merge/bad-interface1/from/a.wit +5 -0
  1478. data/rust-vendor/wit-component/tests/merge/bad-interface1/from/deps/foo/a.wit +5 -0
  1479. data/rust-vendor/wit-component/tests/merge/bad-interface1/into/a.wit +5 -0
  1480. data/rust-vendor/wit-component/tests/merge/bad-interface1/into/deps/foo/a.wit +5 -0
  1481. data/rust-vendor/wit-component/tests/merge/bad-interface2/error.txt +1 -0
  1482. data/rust-vendor/wit-component/tests/merge/bad-interface2/from/a.wit +5 -0
  1483. data/rust-vendor/wit-component/tests/merge/bad-interface2/from/deps/foo/a.wit +7 -0
  1484. data/rust-vendor/wit-component/tests/merge/bad-interface2/into/a.wit +5 -0
  1485. data/rust-vendor/wit-component/tests/merge/bad-interface2/into/deps/foo/a.wit +7 -0
  1486. data/rust-vendor/wit-component/tests/merge/bad-world1/error.txt +1 -0
  1487. data/rust-vendor/wit-component/tests/merge/bad-world1/from/a.wit +4 -0
  1488. data/rust-vendor/wit-component/tests/merge/bad-world1/from/deps/foo/a.wit +11 -0
  1489. data/rust-vendor/wit-component/tests/merge/bad-world1/into/a.wit +4 -0
  1490. data/rust-vendor/wit-component/tests/merge/bad-world1/into/deps/foo/a.wit +9 -0
  1491. data/rust-vendor/wit-component/tests/merge/bad-world2/error.txt +1 -0
  1492. data/rust-vendor/wit-component/tests/merge/bad-world2/from/a.wit +5 -0
  1493. data/rust-vendor/wit-component/tests/merge/bad-world2/from/deps/foo/a.wit +8 -0
  1494. data/rust-vendor/wit-component/tests/merge/bad-world2/into/a.wit +5 -0
  1495. data/rust-vendor/wit-component/tests/merge/bad-world2/into/deps/foo/a.wit +9 -0
  1496. data/rust-vendor/wit-component/tests/merge/bad-world3/error.txt +1 -0
  1497. data/rust-vendor/wit-component/tests/merge/bad-world3/from/a.wit +5 -0
  1498. data/rust-vendor/wit-component/tests/merge/bad-world3/from/deps/foo/a.wit +8 -0
  1499. data/rust-vendor/wit-component/tests/merge/bad-world3/into/a.wit +5 -0
  1500. data/rust-vendor/wit-component/tests/merge/bad-world3/into/deps/foo/a.wit +9 -0
  1501. data/rust-vendor/wit-component/tests/merge/bad-world4/error.txt +1 -0
  1502. data/rust-vendor/wit-component/tests/merge/bad-world4/from/a.wit +5 -0
  1503. data/rust-vendor/wit-component/tests/merge/bad-world4/from/deps/foo/a.wit +11 -0
  1504. data/rust-vendor/wit-component/tests/merge/bad-world4/into/a.wit +5 -0
  1505. data/rust-vendor/wit-component/tests/merge/bad-world4/into/deps/foo/a.wit +9 -0
  1506. data/rust-vendor/wit-component/tests/merge/bad-world5/error.txt +1 -0
  1507. data/rust-vendor/wit-component/tests/merge/bad-world5/from/a.wit +5 -0
  1508. data/rust-vendor/wit-component/tests/merge/bad-world5/from/deps/foo/a.wit +11 -0
  1509. data/rust-vendor/wit-component/tests/merge/bad-world5/into/a.wit +5 -0
  1510. data/rust-vendor/wit-component/tests/merge/bad-world5/into/deps/foo/a.wit +9 -0
  1511. data/rust-vendor/wit-component/tests/merge/success/from/a.wit +7 -0
  1512. data/rust-vendor/wit-component/tests/merge/success/from/deps/foo/only-from.wit +5 -0
  1513. data/rust-vendor/wit-component/tests/merge/success/from/deps/foo/shared.wit +46 -0
  1514. data/rust-vendor/wit-component/tests/merge/success/from/deps/only-from-dep/a.wit +5 -0
  1515. data/rust-vendor/wit-component/tests/merge/success/into/b.wit +7 -0
  1516. data/rust-vendor/wit-component/tests/merge/success/into/deps/foo/only-into.wit +5 -0
  1517. data/rust-vendor/wit-component/tests/merge/success/into/deps/foo/shared.wit +44 -0
  1518. data/rust-vendor/wit-component/tests/merge/success/merge/foo.wit +77 -0
  1519. data/rust-vendor/wit-component/tests/merge/success/merge/from.wit +8 -0
  1520. data/rust-vendor/wit-component/tests/merge/success/merge/into.wit +8 -0
  1521. data/rust-vendor/wit-component/tests/merge/success/merge/only-from-dep.wit +6 -0
  1522. data/rust-vendor/wit-component/tests/merge.rs +80 -0
  1523. data/rust-vendor/wit-component/tests/targets/error-missing-export/error.txt +2 -0
  1524. data/rust-vendor/wit-component/tests/targets/error-missing-export/test.wat +39 -0
  1525. data/rust-vendor/wit-component/tests/targets/error-missing-export/test.wit +18 -0
  1526. data/rust-vendor/wit-component/tests/targets/error-missing-import/error.txt +2 -0
  1527. data/rust-vendor/wit-component/tests/targets/error-missing-import/test.wat +37 -0
  1528. data/rust-vendor/wit-component/tests/targets/error-missing-import/test.wit +13 -0
  1529. data/rust-vendor/wit-component/tests/targets/success/test.wat +56 -0
  1530. data/rust-vendor/wit-component/tests/targets/success/test.wit +14 -0
  1531. data/rust-vendor/wit-component/tests/targets/success-empty/test.wat +1 -0
  1532. data/rust-vendor/wit-component/tests/targets/success-empty/test.wit +9 -0
  1533. data/rust-vendor/wit-component/tests/targets.rs +89 -0
  1534. data/rust-vendor/wit-component/tests/wit/parse-dir/wit/deps/bar/bar.wit +9 -0
  1535. data/rust-vendor/wit-component/tests/wit/parse-dir/wit/world.wit +5 -0
  1536. data/rust-vendor/wit-component/tests/wit.rs +49 -0
  1537. data/rust-vendor/wit-parser/.cargo-checksum.json +1 -0
  1538. data/rust-vendor/wit-parser/.cargo_vcs_info.json +6 -0
  1539. data/rust-vendor/wit-parser/Cargo.lock +576 -0
  1540. data/rust-vendor/wit-parser/Cargo.toml +157 -0
  1541. data/rust-vendor/wit-parser/Cargo.toml.orig +56 -0
  1542. data/rust-vendor/wit-parser/README.md +13 -0
  1543. data/rust-vendor/wit-parser/src/abi.rs +410 -0
  1544. data/rust-vendor/wit-parser/src/ast/lex.rs +751 -0
  1545. data/rust-vendor/wit-parser/src/ast/resolve.rs +1813 -0
  1546. data/rust-vendor/wit-parser/src/ast/toposort.rs +249 -0
  1547. data/rust-vendor/wit-parser/src/ast.rs +1958 -0
  1548. data/rust-vendor/wit-parser/src/decoding.rs +1864 -0
  1549. data/rust-vendor/wit-parser/src/lib.rs +1413 -0
  1550. data/rust-vendor/wit-parser/src/live.rs +264 -0
  1551. data/rust-vendor/wit-parser/src/metadata.rs +772 -0
  1552. data/rust-vendor/wit-parser/src/resolve/clone.rs +227 -0
  1553. data/rust-vendor/wit-parser/src/resolve.rs +4636 -0
  1554. data/rust-vendor/wit-parser/src/serde_.rs +140 -0
  1555. data/rust-vendor/wit-parser/src/sizealign.rs +626 -0
  1556. data/rust-vendor/wit-parser/tests/.gitignore +2 -0
  1557. data/rust-vendor/wit-parser/tests/all.rs +153 -0
  1558. data/rust-vendor/wit-parser/tests/ui/async.wit +24 -0
  1559. data/rust-vendor/wit-parser/tests/ui/async.wit.json +151 -0
  1560. data/rust-vendor/wit-parser/tests/ui/comments.wit +25 -0
  1561. data/rust-vendor/wit-parser/tests/ui/comments.wit.json +46 -0
  1562. data/rust-vendor/wit-parser/tests/ui/complex-include/deps/bar/root.wit +9 -0
  1563. data/rust-vendor/wit-parser/tests/ui/complex-include/deps/baz/root.wit +9 -0
  1564. data/rust-vendor/wit-parser/tests/ui/complex-include/root.wit +26 -0
  1565. data/rust-vendor/wit-parser/tests/ui/complex-include.wit.json +200 -0
  1566. data/rust-vendor/wit-parser/tests/ui/cross-package-resource/deps/foo/foo.wit +5 -0
  1567. data/rust-vendor/wit-parser/tests/ui/cross-package-resource/foo.wit +7 -0
  1568. data/rust-vendor/wit-parser/tests/ui/cross-package-resource.wit.json +67 -0
  1569. data/rust-vendor/wit-parser/tests/ui/diamond1/deps/dep1/types.wit +2 -0
  1570. data/rust-vendor/wit-parser/tests/ui/diamond1/deps/dep2/types.wit +2 -0
  1571. data/rust-vendor/wit-parser/tests/ui/diamond1/join.wit +6 -0
  1572. data/rust-vendor/wit-parser/tests/ui/diamond1.wit.json +59 -0
  1573. data/rust-vendor/wit-parser/tests/ui/disambiguate-diamond/shared1.wit +3 -0
  1574. data/rust-vendor/wit-parser/tests/ui/disambiguate-diamond/shared2.wit +3 -0
  1575. data/rust-vendor/wit-parser/tests/ui/disambiguate-diamond/world.wit +13 -0
  1576. data/rust-vendor/wit-parser/tests/ui/disambiguate-diamond.wit.json +115 -0
  1577. data/rust-vendor/wit-parser/tests/ui/empty.wit +1 -0
  1578. data/rust-vendor/wit-parser/tests/ui/empty.wit.json +12 -0
  1579. data/rust-vendor/wit-parser/tests/ui/error-context.wit +7 -0
  1580. data/rust-vendor/wit-parser/tests/ui/error-context.wit.json +59 -0
  1581. data/rust-vendor/wit-parser/tests/ui/feature-gates.wit +118 -0
  1582. data/rust-vendor/wit-parser/tests/ui/feature-gates.wit.json +301 -0
  1583. data/rust-vendor/wit-parser/tests/ui/feature-types.wit +13 -0
  1584. data/rust-vendor/wit-parser/tests/ui/feature-types.wit.json +66 -0
  1585. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +3 -0
  1586. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/corp/saas.wit +4 -0
  1587. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +2 -0
  1588. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +5 -0
  1589. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +13 -0
  1590. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/wasi/clocks.wit +5 -0
  1591. data/rust-vendor/wit-parser/tests/ui/foreign-deps/deps/wasi/filesystem.wit +7 -0
  1592. data/rust-vendor/wit-parser/tests/ui/foreign-deps/root.wit +44 -0
  1593. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +3 -0
  1594. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/corp/saas.wit +4 -0
  1595. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +2 -0
  1596. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +5 -0
  1597. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +13 -0
  1598. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +5 -0
  1599. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +7 -0
  1600. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +6 -0
  1601. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union/root.wit +50 -0
  1602. data/rust-vendor/wit-parser/tests/ui/foreign-deps-union.wit.json +410 -0
  1603. data/rust-vendor/wit-parser/tests/ui/foreign-deps.wit.json +362 -0
  1604. data/rust-vendor/wit-parser/tests/ui/foreign-interface-dep-gated.wit +17 -0
  1605. data/rust-vendor/wit-parser/tests/ui/foreign-interface-dep-gated.wit.json +39 -0
  1606. data/rust-vendor/wit-parser/tests/ui/foreign-world-dep-gated.wit +17 -0
  1607. data/rust-vendor/wit-parser/tests/ui/foreign-world-dep-gated.wit.json +39 -0
  1608. data/rust-vendor/wit-parser/tests/ui/functions.wit +11 -0
  1609. data/rust-vendor/wit-parser/tests/ui/functions.wit.json +115 -0
  1610. data/rust-vendor/wit-parser/tests/ui/gated-include.wit +67 -0
  1611. data/rust-vendor/wit-parser/tests/ui/gated-include.wit.json +346 -0
  1612. data/rust-vendor/wit-parser/tests/ui/gated-use.wit +13 -0
  1613. data/rust-vendor/wit-parser/tests/ui/gated-use.wit.json +34 -0
  1614. data/rust-vendor/wit-parser/tests/ui/ignore-files-deps/deps/bar/types.wit +2 -0
  1615. data/rust-vendor/wit-parser/tests/ui/ignore-files-deps/deps/ignore-me.txt +1 -0
  1616. data/rust-vendor/wit-parser/tests/ui/ignore-files-deps/world.wit +5 -0
  1617. data/rust-vendor/wit-parser/tests/ui/ignore-files-deps.wit.json +41 -0
  1618. data/rust-vendor/wit-parser/tests/ui/import-export-overlap1.wit +5 -0
  1619. data/rust-vendor/wit-parser/tests/ui/import-export-overlap1.wit.json +37 -0
  1620. data/rust-vendor/wit-parser/tests/ui/import-export-overlap2.wit +5 -0
  1621. data/rust-vendor/wit-parser/tests/ui/import-export-overlap2.wit.json +42 -0
  1622. data/rust-vendor/wit-parser/tests/ui/include-reps.wit +15 -0
  1623. data/rust-vendor/wit-parser/tests/ui/include-reps.wit.json +68 -0
  1624. data/rust-vendor/wit-parser/tests/ui/kebab-name-include-with.wit +8 -0
  1625. data/rust-vendor/wit-parser/tests/ui/kebab-name-include-with.wit.json +66 -0
  1626. data/rust-vendor/wit-parser/tests/ui/kinds-of-deps/a.wit +8 -0
  1627. data/rust-vendor/wit-parser/tests/ui/kinds-of-deps/deps/b/root.wit +3 -0
  1628. data/rust-vendor/wit-parser/tests/ui/kinds-of-deps/deps/c.wit +3 -0
  1629. data/rust-vendor/wit-parser/tests/ui/kinds-of-deps/deps/d.wat +6 -0
  1630. data/rust-vendor/wit-parser/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  1631. data/rust-vendor/wit-parser/tests/ui/kinds-of-deps.wit.json +95 -0
  1632. data/rust-vendor/wit-parser/tests/ui/many-names/a.wit +2 -0
  1633. data/rust-vendor/wit-parser/tests/ui/many-names/b.wit +5 -0
  1634. data/rust-vendor/wit-parser/tests/ui/many-names.wit.json +42 -0
  1635. data/rust-vendor/wit-parser/tests/ui/maps.wit +34 -0
  1636. data/rust-vendor/wit-parser/tests/ui/maps.wit.json +255 -0
  1637. data/rust-vendor/wit-parser/tests/ui/multi-file/bar.wit +21 -0
  1638. data/rust-vendor/wit-parser/tests/ui/multi-file/cycle-a.wit +7 -0
  1639. data/rust-vendor/wit-parser/tests/ui/multi-file/cycle-b.wit +3 -0
  1640. data/rust-vendor/wit-parser/tests/ui/multi-file/foo.wit +31 -0
  1641. data/rust-vendor/wit-parser/tests/ui/multi-file-multi-package/a.wit +24 -0
  1642. data/rust-vendor/wit-parser/tests/ui/multi-file-multi-package/b.wit +23 -0
  1643. data/rust-vendor/wit-parser/tests/ui/multi-file-multi-package.wit.json +255 -0
  1644. data/rust-vendor/wit-parser/tests/ui/multi-file.wit.json +300 -0
  1645. data/rust-vendor/wit-parser/tests/ui/multi-package-deps/deps/dep.wit +13 -0
  1646. data/rust-vendor/wit-parser/tests/ui/multi-package-deps/root.wit +16 -0
  1647. data/rust-vendor/wit-parser/tests/ui/multi-package-deps.wit.json +161 -0
  1648. data/rust-vendor/wit-parser/tests/ui/multi-package-gated-include.wit +114 -0
  1649. data/rust-vendor/wit-parser/tests/ui/multi-package-gated-include.wit.json +697 -0
  1650. data/rust-vendor/wit-parser/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +4 -0
  1651. data/rust-vendor/wit-parser/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +4 -0
  1652. data/rust-vendor/wit-parser/tests/ui/multi-package-shared-deps/packages.wit +41 -0
  1653. data/rust-vendor/wit-parser/tests/ui/multi-package-shared-deps.wit.json +261 -0
  1654. data/rust-vendor/wit-parser/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +8 -0
  1655. data/rust-vendor/wit-parser/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +14 -0
  1656. data/rust-vendor/wit-parser/tests/ui/multi-package-transitive-deps/packages.wit +12 -0
  1657. data/rust-vendor/wit-parser/tests/ui/multi-package-transitive-deps.wit.json +174 -0
  1658. data/rust-vendor/wit-parser/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +5 -0
  1659. data/rust-vendor/wit-parser/tests/ui/name-both-resource-and-type/foo.wit +9 -0
  1660. data/rust-vendor/wit-parser/tests/ui/name-both-resource-and-type.wit.json +89 -0
  1661. data/rust-vendor/wit-parser/tests/ui/package-syntax1.wit +1 -0
  1662. data/rust-vendor/wit-parser/tests/ui/package-syntax1.wit.json +12 -0
  1663. data/rust-vendor/wit-parser/tests/ui/package-syntax3.wit +1 -0
  1664. data/rust-vendor/wit-parser/tests/ui/package-syntax3.wit.json +12 -0
  1665. data/rust-vendor/wit-parser/tests/ui/package-syntax4.wit +1 -0
  1666. data/rust-vendor/wit-parser/tests/ui/package-syntax4.wit.json +12 -0
  1667. data/rust-vendor/wit-parser/tests/ui/packages-multiple-nested.wit +35 -0
  1668. data/rust-vendor/wit-parser/tests/ui/packages-multiple-nested.wit.json +184 -0
  1669. data/rust-vendor/wit-parser/tests/ui/packages-nested-colliding-decl-names.wit +24 -0
  1670. data/rust-vendor/wit-parser/tests/ui/packages-nested-colliding-decl-names.wit.json +135 -0
  1671. data/rust-vendor/wit-parser/tests/ui/packages-nested-internal-references.wit +16 -0
  1672. data/rust-vendor/wit-parser/tests/ui/packages-nested-internal-references.wit.json +91 -0
  1673. data/rust-vendor/wit-parser/tests/ui/packages-nested-with-semver.wit +24 -0
  1674. data/rust-vendor/wit-parser/tests/ui/packages-nested-with-semver.wit.json +135 -0
  1675. data/rust-vendor/wit-parser/tests/ui/packages-single-nested.wit +12 -0
  1676. data/rust-vendor/wit-parser/tests/ui/packages-single-nested.wit.json +75 -0
  1677. data/rust-vendor/wit-parser/tests/ui/parse-fail/alias-no-type.wit +6 -0
  1678. data/rust-vendor/wit-parser/tests/ui/parse-fail/alias-no-type.wit.result +5 -0
  1679. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world.wit +6 -0
  1680. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world.wit.result +5 -0
  1681. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world2.wit +6 -0
  1682. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world2.wit.result +5 -0
  1683. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world3.wit +6 -0
  1684. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world3.wit.result +5 -0
  1685. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world4.wit +11 -0
  1686. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad-world4.wit.result +5 -0
  1687. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad1.wit +7 -0
  1688. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad1.wit.result +5 -0
  1689. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad2.wit +7 -0
  1690. data/rust-vendor/wit-parser/tests/ui/parse-fail/async-bad2.wit.result +5 -0
  1691. data/rust-vendor/wit-parser/tests/ui/parse-fail/async.wit.result +5 -0
  1692. data/rust-vendor/wit-parser/tests/ui/parse-fail/async1.wit.result +5 -0
  1693. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated1.wit +4 -0
  1694. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated1.wit.result +5 -0
  1695. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated2.wit +4 -0
  1696. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated2.wit.result +5 -0
  1697. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated3.wit +4 -0
  1698. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated3.wit.result +5 -0
  1699. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated4.wit +5 -0
  1700. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-deprecated4.wit.result +5 -0
  1701. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-function.wit +7 -0
  1702. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-function.wit.result +5 -0
  1703. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-function2.wit +7 -0
  1704. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-function2.wit.result +5 -0
  1705. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate1.wit +8 -0
  1706. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
  1707. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate2.wit +8 -0
  1708. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
  1709. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate3.wit +6 -0
  1710. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate3.wit.result +5 -0
  1711. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate4.wit +8 -0
  1712. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate4.wit.result +5 -0
  1713. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate5.wit +11 -0
  1714. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-gate5.wit.result +5 -0
  1715. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-include1.wit +5 -0
  1716. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-include1.wit.result +5 -0
  1717. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-include2.wit +9 -0
  1718. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-include2.wit.result +5 -0
  1719. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-include3.wit +5 -0
  1720. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-include3.wit.result +5 -0
  1721. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list.wit +7 -0
  1722. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list.wit.result +5 -0
  1723. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list2.wit +7 -0
  1724. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list2.wit.result +5 -0
  1725. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list3.wit +7 -0
  1726. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list3.wit.result +5 -0
  1727. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list4.wit +7 -0
  1728. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-list4.wit.result +5 -0
  1729. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg1/root.wit +5 -0
  1730. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg1.wit.result +5 -0
  1731. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +1 -0
  1732. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg2/root.wit +5 -0
  1733. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg2.wit.result +5 -0
  1734. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg3/deps/bar/.gitkeep +0 -0
  1735. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +2 -0
  1736. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg3/root.wit +5 -0
  1737. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg3.wit.result +5 -0
  1738. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg4/deps/bar/.gitkeep +0 -0
  1739. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +4 -0
  1740. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg4/root.wit +4 -0
  1741. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg4.wit.result +5 -0
  1742. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg5/deps/bar/.gitkeep +0 -0
  1743. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +3 -0
  1744. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg5/root.wit +4 -0
  1745. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg5.wit.result +5 -0
  1746. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg6/deps/bar/.gitkeep +0 -0
  1747. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +4 -0
  1748. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg6/root.wit +4 -0
  1749. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-pkg6.wit.result +8 -0
  1750. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource1.wit +5 -0
  1751. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource1.wit.result +5 -0
  1752. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource10.wit +5 -0
  1753. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource10.wit.result +5 -0
  1754. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource11.wit +5 -0
  1755. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource11.wit.result +5 -0
  1756. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource12.wit +6 -0
  1757. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource12.wit.result +5 -0
  1758. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource13.wit +6 -0
  1759. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource13.wit.result +5 -0
  1760. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource14.wit +7 -0
  1761. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource14.wit.result +5 -0
  1762. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +5 -0
  1763. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource15/foo.wit +7 -0
  1764. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource15.wit.result +5 -0
  1765. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource16.wit +7 -0
  1766. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource16.wit.result +5 -0
  1767. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource17.wit +8 -0
  1768. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource17.wit.result +5 -0
  1769. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource2.wit +5 -0
  1770. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource2.wit.result +5 -0
  1771. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource3.wit +6 -0
  1772. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource3.wit.result +5 -0
  1773. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource4.wit +6 -0
  1774. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource4.wit.result +5 -0
  1775. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource5.wit +7 -0
  1776. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource5.wit.result +5 -0
  1777. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource6.wit +7 -0
  1778. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource6.wit.result +5 -0
  1779. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource7.wit +8 -0
  1780. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource7.wit.result +5 -0
  1781. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource8.wit +8 -0
  1782. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource8.wit.result +5 -0
  1783. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource9.wit +7 -0
  1784. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-resource9.wit.result +5 -0
  1785. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-since1.wit +4 -0
  1786. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-since1.wit.result +5 -0
  1787. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-since3.wit +5 -0
  1788. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-since3.wit.result +5 -0
  1789. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-world-type1.wit +5 -0
  1790. data/rust-vendor/wit-parser/tests/ui/parse-fail/bad-world-type1.wit.result +5 -0
  1791. data/rust-vendor/wit-parser/tests/ui/parse-fail/case-insensitive-duplicates.wit +9 -0
  1792. data/rust-vendor/wit-parser/tests/ui/parse-fail/case-insensitive-duplicates.wit.result +1 -0
  1793. data/rust-vendor/wit-parser/tests/ui/parse-fail/conflicting-package/a.wit +1 -0
  1794. data/rust-vendor/wit-parser/tests/ui/parse-fail/conflicting-package/b.wit +1 -0
  1795. data/rust-vendor/wit-parser/tests/ui/parse-fail/conflicting-package.wit.result +5 -0
  1796. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle.wit +6 -0
  1797. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle.wit.result +5 -0
  1798. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle2.wit +7 -0
  1799. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle2.wit.result +5 -0
  1800. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle3.wit +7 -0
  1801. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle3.wit.result +5 -0
  1802. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle4.wit +7 -0
  1803. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle4.wit.result +5 -0
  1804. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle5.wit +7 -0
  1805. data/rust-vendor/wit-parser/tests/ui/parse-fail/cycle5.wit.result +5 -0
  1806. data/rust-vendor/wit-parser/tests/ui/parse-fail/dangling-type.wit +5 -0
  1807. data/rust-vendor/wit-parser/tests/ui/parse-fail/dangling-type.wit.result +5 -0
  1808. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-function-params.wit +7 -0
  1809. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-function-params.wit.result +5 -0
  1810. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-functions.wit +8 -0
  1811. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-functions.wit.result +5 -0
  1812. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-interface.wit +6 -0
  1813. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-interface.wit.result +5 -0
  1814. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-interface2/foo.wit +3 -0
  1815. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-interface2/foo2.wit +3 -0
  1816. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-interface2.wit.result +5 -0
  1817. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-type.wit +7 -0
  1818. data/rust-vendor/wit-parser/tests/ui/parse-fail/duplicate-type.wit.result +5 -0
  1819. data/rust-vendor/wit-parser/tests/ui/parse-fail/empty-enum.wit +6 -0
  1820. data/rust-vendor/wit-parser/tests/ui/parse-fail/empty-enum.wit.result +5 -0
  1821. data/rust-vendor/wit-parser/tests/ui/parse-fail/empty-variant1.wit +6 -0
  1822. data/rust-vendor/wit-parser/tests/ui/parse-fail/empty-variant1.wit.result +5 -0
  1823. data/rust-vendor/wit-parser/tests/ui/parse-fail/export-twice.wit +8 -0
  1824. data/rust-vendor/wit-parser/tests/ui/parse-fail/export-twice.wit.result +5 -0
  1825. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export1.wit +17 -0
  1826. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export1.wit.result +5 -0
  1827. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export2.wit +18 -0
  1828. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export2.wit.result +5 -0
  1829. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export3.wit +37 -0
  1830. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export3.wit.result +5 -0
  1831. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export4.wit +44 -0
  1832. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export4.wit.result +5 -0
  1833. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export5.wit +18 -0
  1834. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-and-export5.wit.result +5 -0
  1835. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-twice.wit +8 -0
  1836. data/rust-vendor/wit-parser/tests/ui/parse-fail/import-twice.wit.result +5 -0
  1837. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-cycle.wit +9 -0
  1838. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-cycle.wit.result +5 -0
  1839. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +3 -0
  1840. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-foreign/root.wit +5 -0
  1841. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-foreign.wit.result +5 -0
  1842. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-with-id.wit +11 -0
  1843. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-with-id.wit.result +5 -0
  1844. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-with-on-id.wit +11 -0
  1845. data/rust-vendor/wit-parser/tests/ui/parse-fail/include-with-on-id.wit.result +5 -0
  1846. data/rust-vendor/wit-parser/tests/ui/parse-fail/invalid-toplevel.wit +5 -0
  1847. data/rust-vendor/wit-parser/tests/ui/parse-fail/invalid-toplevel.wit.result +5 -0
  1848. data/rust-vendor/wit-parser/tests/ui/parse-fail/invalid-type-reference.wit +10 -0
  1849. data/rust-vendor/wit-parser/tests/ui/parse-fail/invalid-type-reference.wit.result +5 -0
  1850. data/rust-vendor/wit-parser/tests/ui/parse-fail/invalid-type-reference2.wit +6 -0
  1851. data/rust-vendor/wit-parser/tests/ui/parse-fail/invalid-type-reference2.wit.result +5 -0
  1852. data/rust-vendor/wit-parser/tests/ui/parse-fail/kebab-name-include-not-found.wit +8 -0
  1853. data/rust-vendor/wit-parser/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +5 -0
  1854. data/rust-vendor/wit-parser/tests/ui/parse-fail/kebab-name-include.wit +8 -0
  1855. data/rust-vendor/wit-parser/tests/ui/parse-fail/kebab-name-include.wit.result +5 -0
  1856. data/rust-vendor/wit-parser/tests/ui/parse-fail/keyword.wit +5 -0
  1857. data/rust-vendor/wit-parser/tests/ui/parse-fail/keyword.wit.result +5 -0
  1858. data/rust-vendor/wit-parser/tests/ui/parse-fail/map-invalid-key.wit +7 -0
  1859. data/rust-vendor/wit-parser/tests/ui/parse-fail/map-invalid-key.wit.result +5 -0
  1860. data/rust-vendor/wit-parser/tests/ui/parse-fail/missing-main-declaration-initial-main.wit +23 -0
  1861. data/rust-vendor/wit-parser/tests/ui/parse-fail/missing-main-declaration-initial-main.wit.result +1 -0
  1862. data/rust-vendor/wit-parser/tests/ui/parse-fail/missing-main-declaration-initial-nested.wit +23 -0
  1863. data/rust-vendor/wit-parser/tests/ui/parse-fail/missing-main-declaration-initial-nested.wit.result +1 -0
  1864. data/rust-vendor/wit-parser/tests/ui/parse-fail/missing-package.wit +0 -0
  1865. data/rust-vendor/wit-parser/tests/ui/parse-fail/missing-package.wit.result +1 -0
  1866. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +5 -0
  1867. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +5 -0
  1868. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +5 -0
  1869. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-package-deps-share-nest/deps/dep1/types.wit +12 -0
  1870. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-package-deps-share-nest/deps/dep2/types.wit +12 -0
  1871. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-package-deps-share-nest/root.wit +8 -0
  1872. data/rust-vendor/wit-parser/tests/ui/parse-fail/multi-package-deps-share-nest.wit.result +3 -0
  1873. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-package-docs/a.wit +2 -0
  1874. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-package-docs/b.wit +2 -0
  1875. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-package-docs.wit.result +5 -0
  1876. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-package-inline-cycle.wit +12 -0
  1877. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +5 -0
  1878. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +15 -0
  1879. data/rust-vendor/wit-parser/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +5 -0
  1880. data/rust-vendor/wit-parser/tests/ui/parse-fail/nested-packages-colliding-names.wit +5 -0
  1881. data/rust-vendor/wit-parser/tests/ui/parse-fail/nested-packages-colliding-names.wit.result +3 -0
  1882. data/rust-vendor/wit-parser/tests/ui/parse-fail/nested-packages-with-error.wit +14 -0
  1883. data/rust-vendor/wit-parser/tests/ui/parse-fail/nested-packages-with-error.wit.result +5 -0
  1884. data/rust-vendor/wit-parser/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +1 -0
  1885. data/rust-vendor/wit-parser/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +5 -0
  1886. data/rust-vendor/wit-parser/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +5 -0
  1887. data/rust-vendor/wit-parser/tests/ui/parse-fail/non-existance-world-include/deps/bar/.gitkeep +0 -0
  1888. data/rust-vendor/wit-parser/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +4 -0
  1889. data/rust-vendor/wit-parser/tests/ui/parse-fail/non-existance-world-include/root.wit +5 -0
  1890. data/rust-vendor/wit-parser/tests/ui/parse-fail/non-existance-world-include.wit.result +5 -0
  1891. data/rust-vendor/wit-parser/tests/ui/parse-fail/old-float-types.wit +5 -0
  1892. data/rust-vendor/wit-parser/tests/ui/parse-fail/old-float-types.wit.result +5 -0
  1893. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +4 -0
  1894. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle/root.wit +4 -0
  1895. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle.wit.result +5 -0
  1896. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +4 -0
  1897. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +4 -0
  1898. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle2/root.wit +4 -0
  1899. data/rust-vendor/wit-parser/tests/ui/parse-fail/pkg-cycle2.wit.result +5 -0
  1900. data/rust-vendor/wit-parser/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +10 -0
  1901. data/rust-vendor/wit-parser/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +5 -0
  1902. data/rust-vendor/wit-parser/tests/ui/parse-fail/resources-return-borrow.wit +10 -0
  1903. data/rust-vendor/wit-parser/tests/ui/parse-fail/resources-return-borrow.wit.result +5 -0
  1904. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow1.wit +7 -0
  1905. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow1.wit.result +5 -0
  1906. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow2.wit +8 -0
  1907. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow2.wit.result +5 -0
  1908. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow3.wit +7 -0
  1909. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow3.wit.result +5 -0
  1910. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow4.wit +7 -0
  1911. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow4.wit.result +5 -0
  1912. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow5.wit +7 -0
  1913. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow5.wit.result +5 -0
  1914. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow6.wit +7 -0
  1915. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow6.wit.result +5 -0
  1916. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow7.wit +11 -0
  1917. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow7.wit.result +5 -0
  1918. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow8/deps/baz.wit +9 -0
  1919. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow8/foo.wit +7 -0
  1920. data/rust-vendor/wit-parser/tests/ui/parse-fail/return-borrow8.wit.result +5 -0
  1921. data/rust-vendor/wit-parser/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +5 -0
  1922. data/rust-vendor/wit-parser/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +8 -0
  1923. data/rust-vendor/wit-parser/tests/ui/parse-fail/type-and-resource-same-name.wit.result +5 -0
  1924. data/rust-vendor/wit-parser/tests/ui/parse-fail/undefined-typed.wit +6 -0
  1925. data/rust-vendor/wit-parser/tests/ui/parse-fail/undefined-typed.wit.result +5 -0
  1926. data/rust-vendor/wit-parser/tests/ui/parse-fail/unknown-interface.wit +7 -0
  1927. data/rust-vendor/wit-parser/tests/ui/parse-fail/unknown-interface.wit.result +5 -0
  1928. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface1.wit +7 -0
  1929. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface1.wit.result +5 -0
  1930. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface2.wit +8 -0
  1931. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface2.wit.result +5 -0
  1932. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface3.wit +5 -0
  1933. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface3.wit.result +5 -0
  1934. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface4.wit +7 -0
  1935. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-interface4.wit.result +7 -0
  1936. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use1.wit +7 -0
  1937. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use1.wit.result +5 -0
  1938. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use10/bar.wit +5 -0
  1939. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use10/foo.wit +2 -0
  1940. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use10.wit.result +5 -0
  1941. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use2.wit +10 -0
  1942. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use2.wit.result +5 -0
  1943. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use3.wit +11 -0
  1944. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use3.wit.result +5 -0
  1945. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use7.wit +10 -0
  1946. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use7.wit.result +5 -0
  1947. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use8.wit +9 -0
  1948. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use8.wit.result +5 -0
  1949. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use9.wit +9 -0
  1950. data/rust-vendor/wit-parser/tests/ui/parse-fail/unresolved-use9.wit.result +5 -0
  1951. data/rust-vendor/wit-parser/tests/ui/parse-fail/unterminated-string.wit.result +5 -0
  1952. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-and-include-world/deps/bar/.gitkeep +0 -0
  1953. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +4 -0
  1954. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-and-include-world/root.wit +7 -0
  1955. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-and-include-world.wit.result +5 -0
  1956. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-conflict.wit +11 -0
  1957. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-conflict.wit.result +5 -0
  1958. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-conflict2.wit +13 -0
  1959. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-conflict2.wit.result +5 -0
  1960. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-conflict3.wit +13 -0
  1961. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-conflict3.wit.result +5 -0
  1962. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-cycle1.wit +7 -0
  1963. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-cycle1.wit.result +5 -0
  1964. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-cycle4.wit +14 -0
  1965. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-cycle4.wit.result +5 -0
  1966. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-shadow1.wit +7 -0
  1967. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-shadow1.wit.result +5 -0
  1968. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-world/deps/bar/.gitkeep +0 -0
  1969. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-world/deps/bar/baz.wit +4 -0
  1970. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-world/root.wit +7 -0
  1971. data/rust-vendor/wit-parser/tests/ui/parse-fail/use-world.wit.result +5 -0
  1972. data/rust-vendor/wit-parser/tests/ui/parse-fail/very-nested-packages.wit +8 -0
  1973. data/rust-vendor/wit-parser/tests/ui/parse-fail/very-nested-packages.wit.result +5 -0
  1974. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-interface-clash.wit +3 -0
  1975. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-interface-clash.wit.result +5 -0
  1976. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-same-fields2.wit +8 -0
  1977. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-same-fields2.wit.result +5 -0
  1978. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-same-fields3.wit +8 -0
  1979. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-same-fields3.wit.result +5 -0
  1980. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-top-level-func.wit +5 -0
  1981. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-top-level-func.wit.result +5 -0
  1982. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-top-level-func2.wit +4 -0
  1983. data/rust-vendor/wit-parser/tests/ui/parse-fail/world-top-level-func2.wit.result +5 -0
  1984. data/rust-vendor/wit-parser/tests/ui/random.wit +27 -0
  1985. data/rust-vendor/wit-parser/tests/ui/random.wit.json +56 -0
  1986. data/rust-vendor/wit-parser/tests/ui/resources-empty.wit +10 -0
  1987. data/rust-vendor/wit-parser/tests/ui/resources-empty.wit.json +70 -0
  1988. data/rust-vendor/wit-parser/tests/ui/resources-multiple-returns-own.wit +10 -0
  1989. data/rust-vendor/wit-parser/tests/ui/resources-multiple-returns-own.wit.json +85 -0
  1990. data/rust-vendor/wit-parser/tests/ui/resources-multiple.wit +17 -0
  1991. data/rust-vendor/wit-parser/tests/ui/resources-multiple.wit.json +207 -0
  1992. data/rust-vendor/wit-parser/tests/ui/resources-return-own.wit +10 -0
  1993. data/rust-vendor/wit-parser/tests/ui/resources-return-own.wit.json +73 -0
  1994. data/rust-vendor/wit-parser/tests/ui/resources.wit +55 -0
  1995. data/rust-vendor/wit-parser/tests/ui/resources.wit.json +387 -0
  1996. data/rust-vendor/wit-parser/tests/ui/resources1.wit +12 -0
  1997. data/rust-vendor/wit-parser/tests/ui/resources1.wit.json +92 -0
  1998. data/rust-vendor/wit-parser/tests/ui/same-name-import-export.wit +6 -0
  1999. data/rust-vendor/wit-parser/tests/ui/same-name-import-export.wit.json +39 -0
  2000. data/rust-vendor/wit-parser/tests/ui/shared-types.wit +10 -0
  2001. data/rust-vendor/wit-parser/tests/ui/shared-types.wit.json +79 -0
  2002. data/rust-vendor/wit-parser/tests/ui/simple-wasm-text.wat +6 -0
  2003. data/rust-vendor/wit-parser/tests/ui/simple-wasm-text.wit.json +21 -0
  2004. data/rust-vendor/wit-parser/tests/ui/since-and-unstable.wit +107 -0
  2005. data/rust-vendor/wit-parser/tests/ui/since-and-unstable.wit.json +608 -0
  2006. data/rust-vendor/wit-parser/tests/ui/streams-and-futures.wit +15 -0
  2007. data/rust-vendor/wit-parser/tests/ui/streams-and-futures.wit.json +205 -0
  2008. data/rust-vendor/wit-parser/tests/ui/stress-export-elaborate.wit +54 -0
  2009. data/rust-vendor/wit-parser/tests/ui/stress-export-elaborate.wit.json +1156 -0
  2010. data/rust-vendor/wit-parser/tests/ui/type-then-eof.wit +5 -0
  2011. data/rust-vendor/wit-parser/tests/ui/type-then-eof.wit.json +28 -0
  2012. data/rust-vendor/wit-parser/tests/ui/types.wit +59 -0
  2013. data/rust-vendor/wit-parser/tests/ui/types.wit.json +768 -0
  2014. data/rust-vendor/wit-parser/tests/ui/union-fuzz-1.wit +9 -0
  2015. data/rust-vendor/wit-parser/tests/ui/union-fuzz-1.wit.json +35 -0
  2016. data/rust-vendor/wit-parser/tests/ui/union-fuzz-2.wit +12 -0
  2017. data/rust-vendor/wit-parser/tests/ui/union-fuzz-2.wit.json +62 -0
  2018. data/rust-vendor/wit-parser/tests/ui/unstable-resource.wit +17 -0
  2019. data/rust-vendor/wit-parser/tests/ui/unstable-resource.wit.json +44 -0
  2020. data/rust-vendor/wit-parser/tests/ui/use-chain.wit +11 -0
  2021. data/rust-vendor/wit-parser/tests/ui/use-chain.wit.json +53 -0
  2022. data/rust-vendor/wit-parser/tests/ui/use.wit +34 -0
  2023. data/rust-vendor/wit-parser/tests/ui/use.wit.json +168 -0
  2024. data/rust-vendor/wit-parser/tests/ui/version-syntax.wit +10 -0
  2025. data/rust-vendor/wit-parser/tests/ui/version-syntax.wit.json +57 -0
  2026. data/rust-vendor/wit-parser/tests/ui/versions/deps/a1/foo.wit +5 -0
  2027. data/rust-vendor/wit-parser/tests/ui/versions/deps/a2/foo.wit +5 -0
  2028. data/rust-vendor/wit-parser/tests/ui/versions/foo.wit +7 -0
  2029. data/rust-vendor/wit-parser/tests/ui/versions.wit.json +91 -0
  2030. data/rust-vendor/wit-parser/tests/ui/wasi.wit +178 -0
  2031. data/rust-vendor/wit-parser/tests/ui/wasi.wit.json +539 -0
  2032. data/rust-vendor/wit-parser/tests/ui/with-resource-as.wit +15 -0
  2033. data/rust-vendor/wit-parser/tests/ui/with-resource-as.wit.json +221 -0
  2034. data/rust-vendor/wit-parser/tests/ui/world-diamond.wit +23 -0
  2035. data/rust-vendor/wit-parser/tests/ui/world-diamond.wit.json +115 -0
  2036. data/rust-vendor/wit-parser/tests/ui/world-iface-no-collide.wit +11 -0
  2037. data/rust-vendor/wit-parser/tests/ui/world-iface-no-collide.wit.json +67 -0
  2038. data/rust-vendor/wit-parser/tests/ui/world-implicit-import1.wit +12 -0
  2039. data/rust-vendor/wit-parser/tests/ui/world-implicit-import1.wit.json +81 -0
  2040. data/rust-vendor/wit-parser/tests/ui/world-implicit-import2.wit +11 -0
  2041. data/rust-vendor/wit-parser/tests/ui/world-implicit-import2.wit.json +68 -0
  2042. data/rust-vendor/wit-parser/tests/ui/world-implicit-import3.wit +11 -0
  2043. data/rust-vendor/wit-parser/tests/ui/world-implicit-import3.wit.json +69 -0
  2044. data/rust-vendor/wit-parser/tests/ui/world-same-fields4.wit +13 -0
  2045. data/rust-vendor/wit-parser/tests/ui/world-same-fields4.wit.json +82 -0
  2046. data/rust-vendor/wit-parser/tests/ui/world-top-level-funcs.wit +9 -0
  2047. data/rust-vendor/wit-parser/tests/ui/world-top-level-funcs.wit.json +79 -0
  2048. data/rust-vendor/wit-parser/tests/ui/world-top-level-resources.wit +24 -0
  2049. data/rust-vendor/wit-parser/tests/ui/world-top-level-resources.wit.json +225 -0
  2050. data/rust-vendor/wit-parser/tests/ui/worlds-union-dedup.wit +23 -0
  2051. data/rust-vendor/wit-parser/tests/ui/worlds-union-dedup.wit.json +112 -0
  2052. data/rust-vendor/wit-parser/tests/ui/worlds-with-types.wit +34 -0
  2053. data/rust-vendor/wit-parser/tests/ui/worlds-with-types.wit.json +188 -0
  2054. data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
  2055. data/rust-vendor/zerocopy/.cargo_vcs_info.json +1 -2
  2056. data/rust-vendor/zerocopy/Cargo.lock +3 -3
  2057. data/rust-vendor/zerocopy/Cargo.toml +4 -4
  2058. data/rust-vendor/zerocopy/Cargo.toml.orig +4 -4
  2059. data/rust-vendor/zerocopy/agent_docs/reviewing.md +8 -0
  2060. data/rust-vendor/zerocopy/build.rs +1 -0
  2061. data/rust-vendor/zerocopy/ci/release_crate_version.sh +3 -0
  2062. data/rust-vendor/zerocopy/src/doctests.rs +18 -2
  2063. data/rust-vendor/zerocopy/src/impls.rs +7 -4
  2064. data/rust-vendor/zerocopy/src/lib.rs +60 -28
  2065. data/rust-vendor/zerocopy/src/macros.rs +24 -4
  2066. data/rust-vendor/zerocopy/src/pointer/invariant.rs +31 -3
  2067. data/rust-vendor/zerocopy/src/pointer/mod.rs +2 -2
  2068. data/rust-vendor/zerocopy/src/pointer/ptr.rs +3 -3
  2069. data/rust-vendor/zerocopy/src/util/macros.rs +21 -6
  2070. data/rust-vendor/zerocopy/tests/trybuild.rs +3 -18
  2071. data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
  2072. data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
  2073. data/rust-vendor/zerocopy-derive/Cargo.lock +1 -1
  2074. data/rust-vendor/zerocopy-derive/Cargo.toml +9 -2
  2075. data/rust-vendor/zerocopy-derive/Cargo.toml.orig +5 -2
  2076. data/rust-vendor/zerocopy-derive/src/derive/from_bytes.rs +9 -7
  2077. data/rust-vendor/zerocopy-derive/src/derive/into_bytes.rs +8 -4
  2078. data/rust-vendor/zerocopy-derive/src/derive/try_from_bytes.rs +52 -18
  2079. data/rust-vendor/zerocopy-derive/src/derive/unaligned.rs +3 -3
  2080. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_enum.expected.rs +7 -3
  2081. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_struct.expected.rs +7 -3
  2082. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_union.expected.rs +7 -3
  2083. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_zeros.expected.rs +7 -3
  2084. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes.expected.rs +7 -3
  2085. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_1.expected.rs +22 -10
  2086. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_2.expected.rs +22 -10
  2087. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_3.expected.rs +22 -10
  2088. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_trivial_is_bit_valid_enum.expected.rs +7 -3
  2089. data/rust-vendor/zerocopy-derive/src/util.rs +72 -5
  2090. data/rust-vendor/zerocopy-derive/tests/on_error.rs +169 -0
  2091. data/rust-vendor/zerocopy-derive/tests/trybuild.rs +9 -7
  2092. data/rust-vendor/zerocopy-derive/tests/ui-msrv/cfgs/on_error.rs +19 -0
  2093. data/rust-vendor/zerocopy-derive/tests/ui-msrv/cfgs/on_error.stderr +16 -0
  2094. data/rust-vendor/zerocopy-derive/tests/ui-msrv/{union_into_bytes_cfg → cfgs}/union_into_bytes_cfg.stderr +1 -1
  2095. data/rust-vendor/zerocopy-derive/tests/ui-nightly/cfgs/on_error.rs +19 -0
  2096. data/rust-vendor/zerocopy-derive/tests/ui-nightly/cfgs/on_error.stderr +31 -0
  2097. data/rust-vendor/zerocopy-derive/tests/ui-nightly/cfgs/union_into_bytes_cfg.stderr +8 -0
  2098. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.stderr +0 -14
  2099. data/rust-vendor/zerocopy-derive/tests/ui-stable/cfgs/on_error.rs +19 -0
  2100. data/rust-vendor/zerocopy-derive/tests/ui-stable/cfgs/on_error.stderr +27 -0
  2101. data/rust-vendor/zerocopy-derive/tests/ui-stable/cfgs/union_into_bytes_cfg.stderr +8 -0
  2102. data/rust-vendor/zerocopy-derive/tests/ui-stable/union.stderr +0 -14
  2103. data/rust-vendor/zmij/.cargo-checksum.json +1 -1
  2104. data/rust-vendor/zmij/.cargo_vcs_info.json +1 -1
  2105. data/rust-vendor/zmij/.github/workflows/ci.yml +9 -6
  2106. data/rust-vendor/zmij/Cargo.lock +281 -58
  2107. data/rust-vendor/zmij/Cargo.toml +3 -3
  2108. data/rust-vendor/zmij/Cargo.toml.orig +3 -3
  2109. data/rust-vendor/zmij/README.md +1 -1
  2110. data/rust-vendor/zmij/src/lib.rs +124 -79
  2111. data/rust-vendor/zmij/src/tests.rs +11 -5
  2112. data/rust-vendor/zmij/tests/ryu_comparison.rs +3 -3
  2113. metadata +1841 -55
  2114. data/rust-vendor/libc/src/qurt/hexagon.rs +0 -340
  2115. data/rust-vendor/regex/.vim/coc-settings.json +0 -6
  2116. data/rust-vendor/regex/Cross.toml +0 -7
  2117. data/rust-vendor/regex/rustfmt.toml +0 -2
  2118. data/rust-vendor/regex/test +0 -46
  2119. data/rust-vendor/regex/testdata/README.md +0 -22
  2120. data/rust-vendor/regex/testdata/fowler/basic.toml +0 -1611
  2121. data/rust-vendor/regex/testdata/fowler/dat/README +0 -25
  2122. data/rust-vendor/regex/testdata/fowler/dat/basic.dat +0 -223
  2123. data/rust-vendor/regex/testdata/fowler/dat/nullsubexpr.dat +0 -74
  2124. data/rust-vendor/regex/testdata/fowler/dat/repetition.dat +0 -169
  2125. data/rust-vendor/regex/testdata/fowler/nullsubexpr.toml +0 -405
  2126. data/rust-vendor/regex/testdata/fowler/repetition.toml +0 -746
  2127. data/rust-vendor/regex-automata/test +0 -95
  2128. data/rust-vendor/regex-automata/tests/fuzz/mod.rs +0 -2
  2129. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_dense_crash-9486fb7c8a93b12c12a62166b43d31640c0208a9 +0 -0
  2130. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_dense_minimized-from-9486fb7c8a93b12c12a62166b43d31640c0208a9 +0 -0
  2131. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-0da59c0434eaf35e5a6b470fa9244bb79c72b000 +0 -0
  2132. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-18cfc246f2ddfc3dfc92b0c7893178c7cf65efa9 +0 -0
  2133. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-61fd8e3003bf9d99f6c1e5a8488727eefd234b98 +0 -0
  2134. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-a1b839d899ced76d5d7d0f78f9edb7a421505838 +0 -0
  2135. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-c383ae07ec5e191422eadc492117439011816570 +0 -0
  2136. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-d07703ceb94b10dcd9e4acb809f2051420449e2b +0 -0
  2137. data/rust-vendor/regex-automata/tests/fuzz/testdata/deserialize_sparse_crash-dbb8172d3984e7e7d03f4b5f8bb86ecd1460eff9 +0 -0
  2138. data/rust-vendor/regex-automata/tests/gen/README.md +0 -65
  2139. data/rust-vendor/regex-automata/tests/gen/dense/multi_pattern_v2_fwd.bigendian.dfa +0 -0
  2140. data/rust-vendor/regex-automata/tests/gen/dense/multi_pattern_v2_fwd.littleendian.dfa +0 -0
  2141. data/rust-vendor/regex-automata/tests/gen/dense/multi_pattern_v2_rev.bigendian.dfa +0 -0
  2142. data/rust-vendor/regex-automata/tests/gen/dense/multi_pattern_v2_rev.littleendian.dfa +0 -0
  2143. data/rust-vendor/regex-automata/tests/gen/sparse/multi_pattern_v2_fwd.bigendian.dfa +0 -0
  2144. data/rust-vendor/regex-automata/tests/gen/sparse/multi_pattern_v2_fwd.littleendian.dfa +0 -0
  2145. data/rust-vendor/regex-automata/tests/gen/sparse/multi_pattern_v2_rev.bigendian.dfa +0 -0
  2146. data/rust-vendor/regex-automata/tests/gen/sparse/multi_pattern_v2_rev.littleendian.dfa +0 -0
  2147. data/rust-vendor/regex-syntax/benches/bench.rs +0 -63
  2148. data/rust-vendor/regex-syntax/test +0 -30
  2149. data/rust-vendor/zerocopy/tests/ui-msrv/invalid-impls/invalid-impls.rs +0 -31
  2150. data/rust-vendor/zerocopy/tests/ui-msrv/invalid-impls/invalid-impls.stderr +0 -159
  2151. data/rust-vendor/zerocopy/tests/ui-nightly/invalid-impls/invalid-impls.rs +0 -31
  2152. data/rust-vendor/zerocopy/tests/ui-nightly/invalid-impls/invalid-impls.stderr +0 -139
  2153. data/rust-vendor/zerocopy/tests/ui-stable/invalid-impls/invalid-impls.rs +0 -31
  2154. data/rust-vendor/zerocopy/tests/ui-stable/invalid-impls/invalid-impls.stderr +0 -155
  2155. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.stderr +0 -22
  2156. data/rust-vendor/zerocopy-derive/tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.stderr +0 -22
  2157. /data/rust-vendor/{getrandom → getrandom-0.3.4}/src/backends/sanitizer.rs +0 -0
  2158. /data/rust-vendor/{getrandom → getrandom-0.3.4}/src/backends/wasi_p2.rs +0 -0
  2159. /data/rust-vendor/{getrandom → getrandom-0.3.4}/src/lazy.rs +0 -0
  2160. /data/rust-vendor/{getrandom → getrandom-0.3.4}/src/util_libc.rs +0 -0
  2161. /data/rust-vendor/{wit-bindgen → wit-bindgen-0.46.0}/src/rt/wit_bindgen_cabi.c +0 -0
  2162. /data/rust-vendor/{wit-bindgen → wit-bindgen-0.46.0}/src/rt/wit_bindgen_cabi.o +0 -0
  2163. /data/rust-vendor/zerocopy-derive/tests/ui-msrv/{union_into_bytes_cfg → cfgs}/union_into_bytes_cfg.rs +0 -0
  2164. /data/rust-vendor/zerocopy-derive/tests/ui-nightly/{union_into_bytes_cfg → cfgs}/union_into_bytes_cfg.rs +0 -0
  2165. /data/rust-vendor/zerocopy-derive/tests/ui-stable/{union_into_bytes_cfg → cfgs}/union_into_bytes_cfg.rs +0 -0
@@ -0,0 +1,2464 @@
1
+ use crate::{
2
+ Encode, HeapType, InstructionSink, RefType, Section, SectionId, ValType, encode_section,
3
+ };
4
+ use alloc::borrow::Cow;
5
+ use alloc::vec;
6
+ use alloc::vec::Vec;
7
+
8
+ /// An encoder for the code section.
9
+ ///
10
+ /// Code sections are only supported for modules.
11
+ ///
12
+ /// # Example
13
+ ///
14
+ /// ```
15
+ /// use wasm_encoder::{
16
+ /// CodeSection, Function, FunctionSection, Module,
17
+ /// TypeSection, ValType
18
+ /// };
19
+ ///
20
+ /// let mut types = TypeSection::new();
21
+ /// types.ty().function(vec![], vec![ValType::I32]);
22
+ ///
23
+ /// let mut functions = FunctionSection::new();
24
+ /// let type_index = 0;
25
+ /// functions.function(type_index);
26
+ ///
27
+ /// let locals = vec![];
28
+ /// let mut func = Function::new(locals);
29
+ /// func.instructions().i32_const(42);
30
+ /// let mut code = CodeSection::new();
31
+ /// code.function(&func);
32
+ ///
33
+ /// let mut module = Module::new();
34
+ /// module
35
+ /// .section(&types)
36
+ /// .section(&functions)
37
+ /// .section(&code);
38
+ ///
39
+ /// let wasm_bytes = module.finish();
40
+ /// ```
41
+ #[derive(Clone, Default, Debug)]
42
+ pub struct CodeSection {
43
+ bytes: Vec<u8>,
44
+ num_added: u32,
45
+ }
46
+
47
+ impl CodeSection {
48
+ /// Create a new code section encoder.
49
+ pub fn new() -> Self {
50
+ Self::default()
51
+ }
52
+
53
+ /// The number of functions in the section.
54
+ pub fn len(&self) -> u32 {
55
+ self.num_added
56
+ }
57
+
58
+ /// The number of bytes already added to this section.
59
+ ///
60
+ /// This number doesn't include the vector length that precedes the
61
+ /// code entries, since it has a variable size that isn't known until all
62
+ /// functions are added.
63
+ pub fn byte_len(&self) -> usize {
64
+ self.bytes.len()
65
+ }
66
+
67
+ /// Determines if the section is empty.
68
+ pub fn is_empty(&self) -> bool {
69
+ self.num_added == 0
70
+ }
71
+
72
+ /// Write a function body into this code section.
73
+ pub fn function(&mut self, func: &Function) -> &mut Self {
74
+ func.encode(&mut self.bytes);
75
+ self.num_added += 1;
76
+ self
77
+ }
78
+
79
+ /// Add a raw byte slice into this code section as a function body.
80
+ ///
81
+ /// The length prefix of the function body will be automatically prepended,
82
+ /// and should not be included in the raw byte slice.
83
+ ///
84
+ /// # Example
85
+ ///
86
+ /// You can use the `raw` method to copy an already-encoded function body
87
+ /// into a new code section encoder:
88
+ ///
89
+ /// ```
90
+ /// # use wasmparser::{BinaryReader, CodeSectionReader};
91
+ /// // id, size, # entries, entry
92
+ /// let code_section = [10, 6, 1, 4, 0, 65, 0, 11];
93
+ ///
94
+ /// // Parse the code section.
95
+ /// let reader = BinaryReader::new(&code_section, 0);
96
+ /// let reader = CodeSectionReader::new(reader).unwrap();
97
+ /// let body = reader.into_iter().next().unwrap().unwrap();
98
+ /// let body_range = body.range();
99
+ ///
100
+ /// // Add the body to a new code section encoder by copying bytes rather
101
+ /// // than re-parsing and re-encoding it.
102
+ /// let mut encoder = wasm_encoder::CodeSection::new();
103
+ /// encoder.raw(&code_section[body_range.start..body_range.end]);
104
+ /// ```
105
+ pub fn raw(&mut self, data: &[u8]) -> &mut Self {
106
+ data.encode(&mut self.bytes);
107
+ self.num_added += 1;
108
+ self
109
+ }
110
+ }
111
+
112
+ impl Encode for CodeSection {
113
+ fn encode(&self, sink: &mut Vec<u8>) {
114
+ encode_section(sink, self.num_added, &self.bytes);
115
+ }
116
+ }
117
+
118
+ impl Section for CodeSection {
119
+ fn id(&self) -> u8 {
120
+ SectionId::Code.into()
121
+ }
122
+ }
123
+
124
+ /// An encoder for a function body within the code section.
125
+ ///
126
+ /// # Example
127
+ ///
128
+ /// ```
129
+ /// use wasm_encoder::{CodeSection, Function};
130
+ ///
131
+ /// // Define the function body for:
132
+ /// //
133
+ /// // (func (param i32 i32) (result i32)
134
+ /// // local.get 0
135
+ /// // local.get 1
136
+ /// // i32.add)
137
+ /// let locals = vec![];
138
+ /// let mut func = Function::new(locals);
139
+ /// func.instructions()
140
+ /// .local_get(0)
141
+ /// .local_get(1)
142
+ /// .i32_add();
143
+ ///
144
+ /// // Add our function to the code section.
145
+ /// let mut code = CodeSection::new();
146
+ /// code.function(&func);
147
+ /// ```
148
+ #[derive(Clone, Debug, Eq, PartialEq)]
149
+ pub struct Function {
150
+ bytes: Vec<u8>,
151
+ }
152
+
153
+ impl Function {
154
+ /// Create a new function body with the given locals.
155
+ ///
156
+ /// The argument is an iterator over `(N, Ty)`, which defines
157
+ /// that the next `N` locals will be of type `Ty`.
158
+ ///
159
+ /// For example, a function with locals 0 and 1 of type I32 and
160
+ /// local 2 of type F32 would be created as:
161
+ ///
162
+ /// ```
163
+ /// # use wasm_encoder::{Function, ValType};
164
+ /// let f = Function::new([(2, ValType::I32), (1, ValType::F32)]);
165
+ /// ```
166
+ ///
167
+ /// For more information about the code section (and function definition) in the WASM binary format
168
+ /// see the [WebAssembly spec](https://webassembly.github.io/spec/core/binary/modules.html#binary-func)
169
+ pub fn new<L>(locals: L) -> Self
170
+ where
171
+ L: IntoIterator<Item = (u32, ValType)>,
172
+ L::IntoIter: ExactSizeIterator,
173
+ {
174
+ let locals = locals.into_iter();
175
+ let mut bytes = vec![];
176
+ locals.len().encode(&mut bytes);
177
+ for (count, ty) in locals {
178
+ count.encode(&mut bytes);
179
+ ty.encode(&mut bytes);
180
+ }
181
+ Function { bytes }
182
+ }
183
+
184
+ /// Create a function from a list of locals' types.
185
+ ///
186
+ /// Unlike [`Function::new`], this constructor simply takes a list of types
187
+ /// which are in order associated with locals.
188
+ ///
189
+ /// For example:
190
+ ///
191
+ /// ```
192
+ /// # use wasm_encoder::{Function, ValType};
193
+ /// let f = Function::new([(2, ValType::I32), (1, ValType::F32)]);
194
+ /// let g = Function::new_with_locals_types([
195
+ /// ValType::I32, ValType::I32, ValType::F32
196
+ /// ]);
197
+ ///
198
+ /// assert_eq!(f, g)
199
+ /// ```
200
+ pub fn new_with_locals_types<L>(locals: L) -> Self
201
+ where
202
+ L: IntoIterator<Item = ValType>,
203
+ {
204
+ let locals = locals.into_iter();
205
+
206
+ let mut locals_collected: Vec<(u32, ValType)> = vec![];
207
+ for l in locals {
208
+ if let Some((last_count, last_type)) = locals_collected.last_mut() {
209
+ if l == *last_type {
210
+ // Increment the count of consecutive locals of this type
211
+ *last_count += 1;
212
+ continue;
213
+ }
214
+ }
215
+ // If we didn't increment, a new type of local appeared
216
+ locals_collected.push((1, l));
217
+ }
218
+
219
+ Function::new(locals_collected)
220
+ }
221
+
222
+ /// Get an instruction encoder for this function body.
223
+ pub fn instructions(&mut self) -> InstructionSink<'_> {
224
+ InstructionSink::new(&mut self.bytes)
225
+ }
226
+
227
+ /// Write an instruction into this function body.
228
+ pub fn instruction(&mut self, instruction: &Instruction) -> &mut Self {
229
+ instruction.encode(&mut self.bytes);
230
+ self
231
+ }
232
+
233
+ /// Add raw bytes to this function's body.
234
+ pub fn raw<B>(&mut self, bytes: B) -> &mut Self
235
+ where
236
+ B: IntoIterator<Item = u8>,
237
+ {
238
+ self.bytes.extend(bytes);
239
+ self
240
+ }
241
+
242
+ /// The number of bytes already added to this function.
243
+ ///
244
+ /// This number doesn't include the variable-width size field that `encode`
245
+ /// will write before the added bytes, since the size of that field isn't
246
+ /// known until all the instructions are added to this function.
247
+ pub fn byte_len(&self) -> usize {
248
+ self.bytes.len()
249
+ }
250
+
251
+ /// Unwraps and returns the raw byte encoding of this function.
252
+ ///
253
+ /// This encoding doesn't include the variable-width size field
254
+ /// that `encode` will write before the added bytes. As such, its
255
+ /// length will match the return value of [`Function::byte_len`].
256
+ ///
257
+ /// # Use Case
258
+ ///
259
+ /// This raw byte form is suitable for later using with
260
+ /// [`CodeSection::raw`]. Note that it *differs* from what results
261
+ /// from [`Function::encode`] precisely due to the *lack* of the
262
+ /// length prefix; [`CodeSection::raw`] will use this. Using
263
+ /// [`Function::encode`] instead produces bytes that cannot be fed
264
+ /// into other wasm-encoder types without stripping off the length
265
+ /// prefix, which is awkward and error-prone.
266
+ ///
267
+ /// This method combined with [`CodeSection::raw`] may be useful
268
+ /// together if one wants to save the result of function encoding
269
+ /// and use it later: for example, caching the result of some code
270
+ /// generation process.
271
+ ///
272
+ /// For example:
273
+ ///
274
+ /// ```
275
+ /// # use wasm_encoder::{CodeSection, Function};
276
+ /// let mut f = Function::new([]);
277
+ /// f.instructions().end();
278
+ /// let bytes = f.into_raw_body();
279
+ /// // (save `bytes` somewhere for later use)
280
+ /// let mut code = CodeSection::new();
281
+ /// code.raw(&bytes[..]);
282
+ ///
283
+ /// assert_eq!(2, bytes.len()); // Locals count, then `end`
284
+ /// assert_eq!(3, code.byte_len()); // Function length byte, function body
285
+ /// ```
286
+ pub fn into_raw_body(self) -> Vec<u8> {
287
+ self.bytes
288
+ }
289
+ }
290
+
291
+ impl Encode for Function {
292
+ fn encode(&self, sink: &mut Vec<u8>) {
293
+ self.bytes.encode(sink);
294
+ }
295
+ }
296
+
297
+ /// An IEEE binary32 immediate floating point value, represented as a u32
298
+ /// containing the bit pattern.
299
+ ///
300
+ /// All bit patterns are allowed.
301
+ #[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
302
+ pub struct Ieee32(pub(crate) u32);
303
+
304
+ impl Ieee32 {
305
+ /// Creates a new Ieee32
306
+ pub const fn new(bits: u32) -> Self {
307
+ Ieee32(bits)
308
+ }
309
+
310
+ /// Gets the underlying bits of the 32-bit float.
311
+ pub const fn bits(self) -> u32 {
312
+ self.0
313
+ }
314
+ }
315
+
316
+ impl From<f32> for Ieee32 {
317
+ fn from(value: f32) -> Self {
318
+ Ieee32(u32::from_le_bytes(value.to_le_bytes()))
319
+ }
320
+ }
321
+
322
+ impl From<Ieee32> for f32 {
323
+ fn from(bits: Ieee32) -> f32 {
324
+ f32::from_bits(bits.bits())
325
+ }
326
+ }
327
+
328
+ impl Encode for Ieee32 {
329
+ fn encode(&self, sink: &mut Vec<u8>) {
330
+ let bits = self.bits();
331
+ sink.extend(bits.to_le_bytes())
332
+ }
333
+ }
334
+
335
+ /// An IEEE binary64 immediate floating point value, represented as a u64
336
+ /// containing the bit pattern.
337
+ ///
338
+ /// All bit patterns are allowed.
339
+ #[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
340
+ pub struct Ieee64(pub(crate) u64);
341
+
342
+ impl Ieee64 {
343
+ /// Creates a new Ieee64
344
+ pub const fn new(bits: u64) -> Self {
345
+ Ieee64(bits)
346
+ }
347
+
348
+ /// Gets the underlying bits of the 64-bit float.
349
+ pub const fn bits(self) -> u64 {
350
+ self.0
351
+ }
352
+ }
353
+
354
+ impl From<f64> for Ieee64 {
355
+ fn from(value: f64) -> Self {
356
+ Ieee64(u64::from_le_bytes(value.to_le_bytes()))
357
+ }
358
+ }
359
+
360
+ impl From<Ieee64> for f64 {
361
+ fn from(bits: Ieee64) -> f64 {
362
+ f64::from_bits(bits.bits())
363
+ }
364
+ }
365
+
366
+ impl Encode for Ieee64 {
367
+ fn encode(&self, sink: &mut Vec<u8>) {
368
+ let bits = self.bits();
369
+ sink.extend(bits.to_le_bytes())
370
+ }
371
+ }
372
+
373
+ /// The immediate for a memory instruction.
374
+ #[derive(Clone, Copy, Debug)]
375
+ pub struct MemArg {
376
+ /// A static offset to add to the instruction's dynamic address operand.
377
+ ///
378
+ /// This is a `u64` field for the memory64 proposal, but 32-bit memories
379
+ /// limit offsets to at most `u32::MAX` bytes. This will be encoded as a LEB
380
+ /// but it won't generate a valid module if an offset is specified which is
381
+ /// larger than the maximum size of the index space for the memory indicated
382
+ /// by `memory_index`.
383
+ pub offset: u64,
384
+ /// The expected alignment of the instruction's dynamic address operand
385
+ /// (expressed the exponent of a power of two).
386
+ pub align: u32,
387
+ /// The index of the memory this instruction is operating upon.
388
+ pub memory_index: u32,
389
+ }
390
+
391
+ impl Encode for MemArg {
392
+ fn encode(&self, sink: &mut Vec<u8>) {
393
+ if self.memory_index == 0 {
394
+ self.align.encode(sink);
395
+ self.offset.encode(sink);
396
+ } else {
397
+ (self.align | (1 << 6)).encode(sink);
398
+ self.memory_index.encode(sink);
399
+ self.offset.encode(sink);
400
+ }
401
+ }
402
+ }
403
+
404
+ /// The memory ordering for atomic instructions.
405
+ ///
406
+ /// For an in-depth explanation of memory orderings, see the C++ documentation
407
+ /// for [`memory_order`] or the Rust documentation for [`atomic::Ordering`].
408
+ ///
409
+ /// [`memory_order`]: https://en.cppreference.com/w/cpp/atomic/memory_order
410
+ /// [`atomic::Ordering`]: https://doc.rust-lang.org/std/sync/atomic/enum.Ordering.html
411
+ #[derive(Clone, Copy, Debug)]
412
+ pub enum Ordering {
413
+ /// For a load, it acquires; this orders all operations before the last
414
+ /// "releasing" store. For a store, it releases; this orders all operations
415
+ /// before it at the next "acquiring" load.
416
+ AcqRel,
417
+ /// Like `AcqRel` but all threads see all sequentially consistent operations
418
+ /// in the same order.
419
+ SeqCst,
420
+ }
421
+
422
+ impl Encode for Ordering {
423
+ fn encode(&self, sink: &mut Vec<u8>) {
424
+ let flag: u8 = match self {
425
+ Ordering::SeqCst => 0,
426
+ Ordering::AcqRel => 1,
427
+ };
428
+ sink.push(flag);
429
+ }
430
+ }
431
+
432
+ /// Describe an unchecked SIMD lane index.
433
+ pub type Lane = u8;
434
+
435
+ /// The type for a `block`/`if`/`loop`.
436
+ #[derive(Clone, Copy, Debug)]
437
+ pub enum BlockType {
438
+ /// `[] -> []`
439
+ Empty,
440
+ /// `[] -> [t]`
441
+ Result(ValType),
442
+ /// The `n`th function type.
443
+ FunctionType(u32),
444
+ }
445
+
446
+ impl Encode for BlockType {
447
+ fn encode(&self, sink: &mut Vec<u8>) {
448
+ match *self {
449
+ Self::Empty => sink.push(0x40),
450
+ Self::Result(ty) => ty.encode(sink),
451
+ Self::FunctionType(f) => (f as i64).encode(sink),
452
+ }
453
+ }
454
+ }
455
+
456
+ /// WebAssembly instructions.
457
+ #[derive(Clone, Debug)]
458
+ #[non_exhaustive]
459
+ #[allow(missing_docs, non_camel_case_types)]
460
+ pub enum Instruction<'a> {
461
+ // Control instructions.
462
+ Unreachable,
463
+ Nop,
464
+ Block(BlockType),
465
+ Loop(BlockType),
466
+ If(BlockType),
467
+ Else,
468
+ End,
469
+ Br(u32),
470
+ BrIf(u32),
471
+ BrTable(Cow<'a, [u32]>, u32),
472
+ BrOnNull(u32),
473
+ BrOnNonNull(u32),
474
+ Return,
475
+ Call(u32),
476
+ CallRef(u32),
477
+ CallIndirect {
478
+ type_index: u32,
479
+ table_index: u32,
480
+ },
481
+ ReturnCallRef(u32),
482
+ ReturnCall(u32),
483
+ ReturnCallIndirect {
484
+ type_index: u32,
485
+ table_index: u32,
486
+ },
487
+ TryTable(BlockType, Cow<'a, [Catch]>),
488
+ Throw(u32),
489
+ ThrowRef,
490
+
491
+ // Deprecated exception-handling instructions
492
+ Try(BlockType),
493
+ Delegate(u32),
494
+ Catch(u32),
495
+ CatchAll,
496
+ Rethrow(u32),
497
+
498
+ // Parametric instructions.
499
+ Drop,
500
+ Select,
501
+
502
+ // Variable instructions.
503
+ LocalGet(u32),
504
+ LocalSet(u32),
505
+ LocalTee(u32),
506
+ GlobalGet(u32),
507
+ GlobalSet(u32),
508
+
509
+ // Memory instructions.
510
+ I32Load(MemArg),
511
+ I64Load(MemArg),
512
+ F32Load(MemArg),
513
+ F64Load(MemArg),
514
+ I32Load8S(MemArg),
515
+ I32Load8U(MemArg),
516
+ I32Load16S(MemArg),
517
+ I32Load16U(MemArg),
518
+ I64Load8S(MemArg),
519
+ I64Load8U(MemArg),
520
+ I64Load16S(MemArg),
521
+ I64Load16U(MemArg),
522
+ I64Load32S(MemArg),
523
+ I64Load32U(MemArg),
524
+ I32Store(MemArg),
525
+ I64Store(MemArg),
526
+ F32Store(MemArg),
527
+ F64Store(MemArg),
528
+ I32Store8(MemArg),
529
+ I32Store16(MemArg),
530
+ I64Store8(MemArg),
531
+ I64Store16(MemArg),
532
+ I64Store32(MemArg),
533
+ MemorySize(u32),
534
+ MemoryGrow(u32),
535
+ MemoryInit {
536
+ mem: u32,
537
+ data_index: u32,
538
+ },
539
+ DataDrop(u32),
540
+ MemoryCopy {
541
+ src_mem: u32,
542
+ dst_mem: u32,
543
+ },
544
+ MemoryFill(u32),
545
+ MemoryDiscard(u32),
546
+
547
+ // Numeric instructions.
548
+ I32Const(i32),
549
+ I64Const(i64),
550
+ F32Const(Ieee32),
551
+ F64Const(Ieee64),
552
+ I32Eqz,
553
+ I32Eq,
554
+ I32Ne,
555
+ I32LtS,
556
+ I32LtU,
557
+ I32GtS,
558
+ I32GtU,
559
+ I32LeS,
560
+ I32LeU,
561
+ I32GeS,
562
+ I32GeU,
563
+ I64Eqz,
564
+ I64Eq,
565
+ I64Ne,
566
+ I64LtS,
567
+ I64LtU,
568
+ I64GtS,
569
+ I64GtU,
570
+ I64LeS,
571
+ I64LeU,
572
+ I64GeS,
573
+ I64GeU,
574
+ F32Eq,
575
+ F32Ne,
576
+ F32Lt,
577
+ F32Gt,
578
+ F32Le,
579
+ F32Ge,
580
+ F64Eq,
581
+ F64Ne,
582
+ F64Lt,
583
+ F64Gt,
584
+ F64Le,
585
+ F64Ge,
586
+ I32Clz,
587
+ I32Ctz,
588
+ I32Popcnt,
589
+ I32Add,
590
+ I32Sub,
591
+ I32Mul,
592
+ I32DivS,
593
+ I32DivU,
594
+ I32RemS,
595
+ I32RemU,
596
+ I32And,
597
+ I32Or,
598
+ I32Xor,
599
+ I32Shl,
600
+ I32ShrS,
601
+ I32ShrU,
602
+ I32Rotl,
603
+ I32Rotr,
604
+ I64Clz,
605
+ I64Ctz,
606
+ I64Popcnt,
607
+ I64Add,
608
+ I64Sub,
609
+ I64Mul,
610
+ I64DivS,
611
+ I64DivU,
612
+ I64RemS,
613
+ I64RemU,
614
+ I64And,
615
+ I64Or,
616
+ I64Xor,
617
+ I64Shl,
618
+ I64ShrS,
619
+ I64ShrU,
620
+ I64Rotl,
621
+ I64Rotr,
622
+ F32Abs,
623
+ F32Neg,
624
+ F32Ceil,
625
+ F32Floor,
626
+ F32Trunc,
627
+ F32Nearest,
628
+ F32Sqrt,
629
+ F32Add,
630
+ F32Sub,
631
+ F32Mul,
632
+ F32Div,
633
+ F32Min,
634
+ F32Max,
635
+ F32Copysign,
636
+ F64Abs,
637
+ F64Neg,
638
+ F64Ceil,
639
+ F64Floor,
640
+ F64Trunc,
641
+ F64Nearest,
642
+ F64Sqrt,
643
+ F64Add,
644
+ F64Sub,
645
+ F64Mul,
646
+ F64Div,
647
+ F64Min,
648
+ F64Max,
649
+ F64Copysign,
650
+ I32WrapI64,
651
+ I32TruncF32S,
652
+ I32TruncF32U,
653
+ I32TruncF64S,
654
+ I32TruncF64U,
655
+ I64ExtendI32S,
656
+ I64ExtendI32U,
657
+ I64TruncF32S,
658
+ I64TruncF32U,
659
+ I64TruncF64S,
660
+ I64TruncF64U,
661
+ F32ConvertI32S,
662
+ F32ConvertI32U,
663
+ F32ConvertI64S,
664
+ F32ConvertI64U,
665
+ F32DemoteF64,
666
+ F64ConvertI32S,
667
+ F64ConvertI32U,
668
+ F64ConvertI64S,
669
+ F64ConvertI64U,
670
+ F64PromoteF32,
671
+ I32ReinterpretF32,
672
+ I64ReinterpretF64,
673
+ F32ReinterpretI32,
674
+ F64ReinterpretI64,
675
+ I32Extend8S,
676
+ I32Extend16S,
677
+ I64Extend8S,
678
+ I64Extend16S,
679
+ I64Extend32S,
680
+ I32TruncSatF32S,
681
+ I32TruncSatF32U,
682
+ I32TruncSatF64S,
683
+ I32TruncSatF64U,
684
+ I64TruncSatF32S,
685
+ I64TruncSatF32U,
686
+ I64TruncSatF64S,
687
+ I64TruncSatF64U,
688
+
689
+ // Reference types instructions.
690
+ TypedSelect(ValType),
691
+ TypedSelectMulti(Cow<'a, [ValType]>),
692
+ RefNull(HeapType),
693
+ RefIsNull,
694
+ RefFunc(u32),
695
+ RefEq,
696
+ RefAsNonNull,
697
+
698
+ // GC types instructions.
699
+ StructNew(u32),
700
+ StructNewDefault(u32),
701
+ StructGet {
702
+ struct_type_index: u32,
703
+ field_index: u32,
704
+ },
705
+ StructGetS {
706
+ struct_type_index: u32,
707
+ field_index: u32,
708
+ },
709
+ StructGetU {
710
+ struct_type_index: u32,
711
+ field_index: u32,
712
+ },
713
+ StructSet {
714
+ struct_type_index: u32,
715
+ field_index: u32,
716
+ },
717
+ StructNewDesc(u32),
718
+ StructNewDefaultDesc(u32),
719
+
720
+ ArrayNew(u32),
721
+ ArrayNewDefault(u32),
722
+ ArrayNewFixed {
723
+ array_type_index: u32,
724
+ array_size: u32,
725
+ },
726
+ ArrayNewData {
727
+ array_type_index: u32,
728
+ array_data_index: u32,
729
+ },
730
+ ArrayNewElem {
731
+ array_type_index: u32,
732
+ array_elem_index: u32,
733
+ },
734
+ ArrayGet(u32),
735
+ ArrayGetS(u32),
736
+ ArrayGetU(u32),
737
+ ArraySet(u32),
738
+ ArrayLen,
739
+ ArrayFill(u32),
740
+ ArrayCopy {
741
+ array_type_index_dst: u32,
742
+ array_type_index_src: u32,
743
+ },
744
+ ArrayInitData {
745
+ array_type_index: u32,
746
+ array_data_index: u32,
747
+ },
748
+ ArrayInitElem {
749
+ array_type_index: u32,
750
+ array_elem_index: u32,
751
+ },
752
+ RefTestNonNull(HeapType),
753
+ RefTestNullable(HeapType),
754
+ RefCastNonNull(HeapType),
755
+ RefCastNullable(HeapType),
756
+ BrOnCast {
757
+ relative_depth: u32,
758
+ from_ref_type: RefType,
759
+ to_ref_type: RefType,
760
+ },
761
+ BrOnCastFail {
762
+ relative_depth: u32,
763
+ from_ref_type: RefType,
764
+ to_ref_type: RefType,
765
+ },
766
+ AnyConvertExtern,
767
+ ExternConvertAny,
768
+
769
+ RefI31,
770
+ I31GetS,
771
+ I31GetU,
772
+
773
+ // Bulk memory instructions.
774
+ TableInit {
775
+ elem_index: u32,
776
+ table: u32,
777
+ },
778
+ ElemDrop(u32),
779
+ TableFill(u32),
780
+ TableSet(u32),
781
+ TableGet(u32),
782
+ TableGrow(u32),
783
+ TableSize(u32),
784
+ TableCopy {
785
+ src_table: u32,
786
+ dst_table: u32,
787
+ },
788
+
789
+ // SIMD instructions.
790
+ V128Load(MemArg),
791
+ V128Load8x8S(MemArg),
792
+ V128Load8x8U(MemArg),
793
+ V128Load16x4S(MemArg),
794
+ V128Load16x4U(MemArg),
795
+ V128Load32x2S(MemArg),
796
+ V128Load32x2U(MemArg),
797
+ V128Load8Splat(MemArg),
798
+ V128Load16Splat(MemArg),
799
+ V128Load32Splat(MemArg),
800
+ V128Load64Splat(MemArg),
801
+ V128Load32Zero(MemArg),
802
+ V128Load64Zero(MemArg),
803
+ V128Store(MemArg),
804
+ V128Load8Lane {
805
+ memarg: MemArg,
806
+ lane: Lane,
807
+ },
808
+ V128Load16Lane {
809
+ memarg: MemArg,
810
+ lane: Lane,
811
+ },
812
+ V128Load32Lane {
813
+ memarg: MemArg,
814
+ lane: Lane,
815
+ },
816
+ V128Load64Lane {
817
+ memarg: MemArg,
818
+ lane: Lane,
819
+ },
820
+ V128Store8Lane {
821
+ memarg: MemArg,
822
+ lane: Lane,
823
+ },
824
+ V128Store16Lane {
825
+ memarg: MemArg,
826
+ lane: Lane,
827
+ },
828
+ V128Store32Lane {
829
+ memarg: MemArg,
830
+ lane: Lane,
831
+ },
832
+ V128Store64Lane {
833
+ memarg: MemArg,
834
+ lane: Lane,
835
+ },
836
+ V128Const(i128),
837
+ I8x16Shuffle([Lane; 16]),
838
+ I8x16ExtractLaneS(Lane),
839
+ I8x16ExtractLaneU(Lane),
840
+ I8x16ReplaceLane(Lane),
841
+ I16x8ExtractLaneS(Lane),
842
+ I16x8ExtractLaneU(Lane),
843
+ I16x8ReplaceLane(Lane),
844
+ I32x4ExtractLane(Lane),
845
+ I32x4ReplaceLane(Lane),
846
+ I64x2ExtractLane(Lane),
847
+ I64x2ReplaceLane(Lane),
848
+ F32x4ExtractLane(Lane),
849
+ F32x4ReplaceLane(Lane),
850
+ F64x2ExtractLane(Lane),
851
+ F64x2ReplaceLane(Lane),
852
+ I8x16Swizzle,
853
+ I8x16Splat,
854
+ I16x8Splat,
855
+ I32x4Splat,
856
+ I64x2Splat,
857
+ F32x4Splat,
858
+ F64x2Splat,
859
+ I8x16Eq,
860
+ I8x16Ne,
861
+ I8x16LtS,
862
+ I8x16LtU,
863
+ I8x16GtS,
864
+ I8x16GtU,
865
+ I8x16LeS,
866
+ I8x16LeU,
867
+ I8x16GeS,
868
+ I8x16GeU,
869
+ I16x8Eq,
870
+ I16x8Ne,
871
+ I16x8LtS,
872
+ I16x8LtU,
873
+ I16x8GtS,
874
+ I16x8GtU,
875
+ I16x8LeS,
876
+ I16x8LeU,
877
+ I16x8GeS,
878
+ I16x8GeU,
879
+ I32x4Eq,
880
+ I32x4Ne,
881
+ I32x4LtS,
882
+ I32x4LtU,
883
+ I32x4GtS,
884
+ I32x4GtU,
885
+ I32x4LeS,
886
+ I32x4LeU,
887
+ I32x4GeS,
888
+ I32x4GeU,
889
+ I64x2Eq,
890
+ I64x2Ne,
891
+ I64x2LtS,
892
+ I64x2GtS,
893
+ I64x2LeS,
894
+ I64x2GeS,
895
+ F32x4Eq,
896
+ F32x4Ne,
897
+ F32x4Lt,
898
+ F32x4Gt,
899
+ F32x4Le,
900
+ F32x4Ge,
901
+ F64x2Eq,
902
+ F64x2Ne,
903
+ F64x2Lt,
904
+ F64x2Gt,
905
+ F64x2Le,
906
+ F64x2Ge,
907
+ V128Not,
908
+ V128And,
909
+ V128AndNot,
910
+ V128Or,
911
+ V128Xor,
912
+ V128Bitselect,
913
+ V128AnyTrue,
914
+ I8x16Abs,
915
+ I8x16Neg,
916
+ I8x16Popcnt,
917
+ I8x16AllTrue,
918
+ I8x16Bitmask,
919
+ I8x16NarrowI16x8S,
920
+ I8x16NarrowI16x8U,
921
+ I8x16Shl,
922
+ I8x16ShrS,
923
+ I8x16ShrU,
924
+ I8x16Add,
925
+ I8x16AddSatS,
926
+ I8x16AddSatU,
927
+ I8x16Sub,
928
+ I8x16SubSatS,
929
+ I8x16SubSatU,
930
+ I8x16MinS,
931
+ I8x16MinU,
932
+ I8x16MaxS,
933
+ I8x16MaxU,
934
+ I8x16AvgrU,
935
+ I16x8ExtAddPairwiseI8x16S,
936
+ I16x8ExtAddPairwiseI8x16U,
937
+ I16x8Abs,
938
+ I16x8Neg,
939
+ I16x8Q15MulrSatS,
940
+ I16x8AllTrue,
941
+ I16x8Bitmask,
942
+ I16x8NarrowI32x4S,
943
+ I16x8NarrowI32x4U,
944
+ I16x8ExtendLowI8x16S,
945
+ I16x8ExtendHighI8x16S,
946
+ I16x8ExtendLowI8x16U,
947
+ I16x8ExtendHighI8x16U,
948
+ I16x8Shl,
949
+ I16x8ShrS,
950
+ I16x8ShrU,
951
+ I16x8Add,
952
+ I16x8AddSatS,
953
+ I16x8AddSatU,
954
+ I16x8Sub,
955
+ I16x8SubSatS,
956
+ I16x8SubSatU,
957
+ I16x8Mul,
958
+ I16x8MinS,
959
+ I16x8MinU,
960
+ I16x8MaxS,
961
+ I16x8MaxU,
962
+ I16x8AvgrU,
963
+ I16x8ExtMulLowI8x16S,
964
+ I16x8ExtMulHighI8x16S,
965
+ I16x8ExtMulLowI8x16U,
966
+ I16x8ExtMulHighI8x16U,
967
+ I32x4ExtAddPairwiseI16x8S,
968
+ I32x4ExtAddPairwiseI16x8U,
969
+ I32x4Abs,
970
+ I32x4Neg,
971
+ I32x4AllTrue,
972
+ I32x4Bitmask,
973
+ I32x4ExtendLowI16x8S,
974
+ I32x4ExtendHighI16x8S,
975
+ I32x4ExtendLowI16x8U,
976
+ I32x4ExtendHighI16x8U,
977
+ I32x4Shl,
978
+ I32x4ShrS,
979
+ I32x4ShrU,
980
+ I32x4Add,
981
+ I32x4Sub,
982
+ I32x4Mul,
983
+ I32x4MinS,
984
+ I32x4MinU,
985
+ I32x4MaxS,
986
+ I32x4MaxU,
987
+ I32x4DotI16x8S,
988
+ I32x4ExtMulLowI16x8S,
989
+ I32x4ExtMulHighI16x8S,
990
+ I32x4ExtMulLowI16x8U,
991
+ I32x4ExtMulHighI16x8U,
992
+ I64x2Abs,
993
+ I64x2Neg,
994
+ I64x2AllTrue,
995
+ I64x2Bitmask,
996
+ I64x2ExtendLowI32x4S,
997
+ I64x2ExtendHighI32x4S,
998
+ I64x2ExtendLowI32x4U,
999
+ I64x2ExtendHighI32x4U,
1000
+ I64x2Shl,
1001
+ I64x2ShrS,
1002
+ I64x2ShrU,
1003
+ I64x2Add,
1004
+ I64x2Sub,
1005
+ I64x2Mul,
1006
+ I64x2ExtMulLowI32x4S,
1007
+ I64x2ExtMulHighI32x4S,
1008
+ I64x2ExtMulLowI32x4U,
1009
+ I64x2ExtMulHighI32x4U,
1010
+ F32x4Ceil,
1011
+ F32x4Floor,
1012
+ F32x4Trunc,
1013
+ F32x4Nearest,
1014
+ F32x4Abs,
1015
+ F32x4Neg,
1016
+ F32x4Sqrt,
1017
+ F32x4Add,
1018
+ F32x4Sub,
1019
+ F32x4Mul,
1020
+ F32x4Div,
1021
+ F32x4Min,
1022
+ F32x4Max,
1023
+ F32x4PMin,
1024
+ F32x4PMax,
1025
+ F64x2Ceil,
1026
+ F64x2Floor,
1027
+ F64x2Trunc,
1028
+ F64x2Nearest,
1029
+ F64x2Abs,
1030
+ F64x2Neg,
1031
+ F64x2Sqrt,
1032
+ F64x2Add,
1033
+ F64x2Sub,
1034
+ F64x2Mul,
1035
+ F64x2Div,
1036
+ F64x2Min,
1037
+ F64x2Max,
1038
+ F64x2PMin,
1039
+ F64x2PMax,
1040
+ I32x4TruncSatF32x4S,
1041
+ I32x4TruncSatF32x4U,
1042
+ F32x4ConvertI32x4S,
1043
+ F32x4ConvertI32x4U,
1044
+ I32x4TruncSatF64x2SZero,
1045
+ I32x4TruncSatF64x2UZero,
1046
+ F64x2ConvertLowI32x4S,
1047
+ F64x2ConvertLowI32x4U,
1048
+ F32x4DemoteF64x2Zero,
1049
+ F64x2PromoteLowF32x4,
1050
+
1051
+ // Relaxed simd proposal
1052
+ I8x16RelaxedSwizzle,
1053
+ I32x4RelaxedTruncF32x4S,
1054
+ I32x4RelaxedTruncF32x4U,
1055
+ I32x4RelaxedTruncF64x2SZero,
1056
+ I32x4RelaxedTruncF64x2UZero,
1057
+ F32x4RelaxedMadd,
1058
+ F32x4RelaxedNmadd,
1059
+ F64x2RelaxedMadd,
1060
+ F64x2RelaxedNmadd,
1061
+ I8x16RelaxedLaneselect,
1062
+ I16x8RelaxedLaneselect,
1063
+ I32x4RelaxedLaneselect,
1064
+ I64x2RelaxedLaneselect,
1065
+ F32x4RelaxedMin,
1066
+ F32x4RelaxedMax,
1067
+ F64x2RelaxedMin,
1068
+ F64x2RelaxedMax,
1069
+ I16x8RelaxedQ15mulrS,
1070
+ I16x8RelaxedDotI8x16I7x16S,
1071
+ I32x4RelaxedDotI8x16I7x16AddS,
1072
+
1073
+ // Atomic instructions (the threads proposal)
1074
+ MemoryAtomicNotify(MemArg),
1075
+ MemoryAtomicWait32(MemArg),
1076
+ MemoryAtomicWait64(MemArg),
1077
+ AtomicFence,
1078
+ I32AtomicLoad(MemArg),
1079
+ I64AtomicLoad(MemArg),
1080
+ I32AtomicLoad8U(MemArg),
1081
+ I32AtomicLoad16U(MemArg),
1082
+ I64AtomicLoad8U(MemArg),
1083
+ I64AtomicLoad16U(MemArg),
1084
+ I64AtomicLoad32U(MemArg),
1085
+ I32AtomicStore(MemArg),
1086
+ I64AtomicStore(MemArg),
1087
+ I32AtomicStore8(MemArg),
1088
+ I32AtomicStore16(MemArg),
1089
+ I64AtomicStore8(MemArg),
1090
+ I64AtomicStore16(MemArg),
1091
+ I64AtomicStore32(MemArg),
1092
+ I32AtomicRmwAdd(MemArg),
1093
+ I64AtomicRmwAdd(MemArg),
1094
+ I32AtomicRmw8AddU(MemArg),
1095
+ I32AtomicRmw16AddU(MemArg),
1096
+ I64AtomicRmw8AddU(MemArg),
1097
+ I64AtomicRmw16AddU(MemArg),
1098
+ I64AtomicRmw32AddU(MemArg),
1099
+ I32AtomicRmwSub(MemArg),
1100
+ I64AtomicRmwSub(MemArg),
1101
+ I32AtomicRmw8SubU(MemArg),
1102
+ I32AtomicRmw16SubU(MemArg),
1103
+ I64AtomicRmw8SubU(MemArg),
1104
+ I64AtomicRmw16SubU(MemArg),
1105
+ I64AtomicRmw32SubU(MemArg),
1106
+ I32AtomicRmwAnd(MemArg),
1107
+ I64AtomicRmwAnd(MemArg),
1108
+ I32AtomicRmw8AndU(MemArg),
1109
+ I32AtomicRmw16AndU(MemArg),
1110
+ I64AtomicRmw8AndU(MemArg),
1111
+ I64AtomicRmw16AndU(MemArg),
1112
+ I64AtomicRmw32AndU(MemArg),
1113
+ I32AtomicRmwOr(MemArg),
1114
+ I64AtomicRmwOr(MemArg),
1115
+ I32AtomicRmw8OrU(MemArg),
1116
+ I32AtomicRmw16OrU(MemArg),
1117
+ I64AtomicRmw8OrU(MemArg),
1118
+ I64AtomicRmw16OrU(MemArg),
1119
+ I64AtomicRmw32OrU(MemArg),
1120
+ I32AtomicRmwXor(MemArg),
1121
+ I64AtomicRmwXor(MemArg),
1122
+ I32AtomicRmw8XorU(MemArg),
1123
+ I32AtomicRmw16XorU(MemArg),
1124
+ I64AtomicRmw8XorU(MemArg),
1125
+ I64AtomicRmw16XorU(MemArg),
1126
+ I64AtomicRmw32XorU(MemArg),
1127
+ I32AtomicRmwXchg(MemArg),
1128
+ I64AtomicRmwXchg(MemArg),
1129
+ I32AtomicRmw8XchgU(MemArg),
1130
+ I32AtomicRmw16XchgU(MemArg),
1131
+ I64AtomicRmw8XchgU(MemArg),
1132
+ I64AtomicRmw16XchgU(MemArg),
1133
+ I64AtomicRmw32XchgU(MemArg),
1134
+ I32AtomicRmwCmpxchg(MemArg),
1135
+ I64AtomicRmwCmpxchg(MemArg),
1136
+ I32AtomicRmw8CmpxchgU(MemArg),
1137
+ I32AtomicRmw16CmpxchgU(MemArg),
1138
+ I64AtomicRmw8CmpxchgU(MemArg),
1139
+ I64AtomicRmw16CmpxchgU(MemArg),
1140
+ I64AtomicRmw32CmpxchgU(MemArg),
1141
+
1142
+ // More atomic instructions (the shared-everything-threads proposal)
1143
+ GlobalAtomicGet {
1144
+ ordering: Ordering,
1145
+ global_index: u32,
1146
+ },
1147
+ GlobalAtomicSet {
1148
+ ordering: Ordering,
1149
+ global_index: u32,
1150
+ },
1151
+ GlobalAtomicRmwAdd {
1152
+ ordering: Ordering,
1153
+ global_index: u32,
1154
+ },
1155
+ GlobalAtomicRmwSub {
1156
+ ordering: Ordering,
1157
+ global_index: u32,
1158
+ },
1159
+ GlobalAtomicRmwAnd {
1160
+ ordering: Ordering,
1161
+ global_index: u32,
1162
+ },
1163
+ GlobalAtomicRmwOr {
1164
+ ordering: Ordering,
1165
+ global_index: u32,
1166
+ },
1167
+ GlobalAtomicRmwXor {
1168
+ ordering: Ordering,
1169
+ global_index: u32,
1170
+ },
1171
+ GlobalAtomicRmwXchg {
1172
+ ordering: Ordering,
1173
+ global_index: u32,
1174
+ },
1175
+ GlobalAtomicRmwCmpxchg {
1176
+ ordering: Ordering,
1177
+ global_index: u32,
1178
+ },
1179
+ TableAtomicGet {
1180
+ ordering: Ordering,
1181
+ table_index: u32,
1182
+ },
1183
+ TableAtomicSet {
1184
+ ordering: Ordering,
1185
+ table_index: u32,
1186
+ },
1187
+ TableAtomicRmwXchg {
1188
+ ordering: Ordering,
1189
+ table_index: u32,
1190
+ },
1191
+ TableAtomicRmwCmpxchg {
1192
+ ordering: Ordering,
1193
+ table_index: u32,
1194
+ },
1195
+ StructAtomicGet {
1196
+ ordering: Ordering,
1197
+ struct_type_index: u32,
1198
+ field_index: u32,
1199
+ },
1200
+ StructAtomicGetS {
1201
+ ordering: Ordering,
1202
+ struct_type_index: u32,
1203
+ field_index: u32,
1204
+ },
1205
+ StructAtomicGetU {
1206
+ ordering: Ordering,
1207
+ struct_type_index: u32,
1208
+ field_index: u32,
1209
+ },
1210
+ StructAtomicSet {
1211
+ ordering: Ordering,
1212
+ struct_type_index: u32,
1213
+ field_index: u32,
1214
+ },
1215
+ StructAtomicRmwAdd {
1216
+ ordering: Ordering,
1217
+ struct_type_index: u32,
1218
+ field_index: u32,
1219
+ },
1220
+ StructAtomicRmwSub {
1221
+ ordering: Ordering,
1222
+ struct_type_index: u32,
1223
+ field_index: u32,
1224
+ },
1225
+ StructAtomicRmwAnd {
1226
+ ordering: Ordering,
1227
+ struct_type_index: u32,
1228
+ field_index: u32,
1229
+ },
1230
+ StructAtomicRmwOr {
1231
+ ordering: Ordering,
1232
+ struct_type_index: u32,
1233
+ field_index: u32,
1234
+ },
1235
+ StructAtomicRmwXor {
1236
+ ordering: Ordering,
1237
+ struct_type_index: u32,
1238
+ field_index: u32,
1239
+ },
1240
+ StructAtomicRmwXchg {
1241
+ ordering: Ordering,
1242
+ struct_type_index: u32,
1243
+ field_index: u32,
1244
+ },
1245
+ StructAtomicRmwCmpxchg {
1246
+ ordering: Ordering,
1247
+ struct_type_index: u32,
1248
+ field_index: u32,
1249
+ },
1250
+ ArrayAtomicGet {
1251
+ ordering: Ordering,
1252
+ array_type_index: u32,
1253
+ },
1254
+ ArrayAtomicGetS {
1255
+ ordering: Ordering,
1256
+ array_type_index: u32,
1257
+ },
1258
+ ArrayAtomicGetU {
1259
+ ordering: Ordering,
1260
+ array_type_index: u32,
1261
+ },
1262
+ ArrayAtomicSet {
1263
+ ordering: Ordering,
1264
+ array_type_index: u32,
1265
+ },
1266
+ ArrayAtomicRmwAdd {
1267
+ ordering: Ordering,
1268
+ array_type_index: u32,
1269
+ },
1270
+ ArrayAtomicRmwSub {
1271
+ ordering: Ordering,
1272
+ array_type_index: u32,
1273
+ },
1274
+ ArrayAtomicRmwAnd {
1275
+ ordering: Ordering,
1276
+ array_type_index: u32,
1277
+ },
1278
+ ArrayAtomicRmwOr {
1279
+ ordering: Ordering,
1280
+ array_type_index: u32,
1281
+ },
1282
+ ArrayAtomicRmwXor {
1283
+ ordering: Ordering,
1284
+ array_type_index: u32,
1285
+ },
1286
+ ArrayAtomicRmwXchg {
1287
+ ordering: Ordering,
1288
+ array_type_index: u32,
1289
+ },
1290
+ ArrayAtomicRmwCmpxchg {
1291
+ ordering: Ordering,
1292
+ array_type_index: u32,
1293
+ },
1294
+ RefI31Shared,
1295
+ // Stack switching
1296
+ ContNew(u32),
1297
+ ContBind {
1298
+ argument_index: u32,
1299
+ result_index: u32,
1300
+ },
1301
+ Suspend(u32),
1302
+ Resume {
1303
+ cont_type_index: u32,
1304
+ resume_table: Cow<'a, [Handle]>,
1305
+ },
1306
+ ResumeThrow {
1307
+ cont_type_index: u32,
1308
+ tag_index: u32,
1309
+ resume_table: Cow<'a, [Handle]>,
1310
+ },
1311
+ Switch {
1312
+ cont_type_index: u32,
1313
+ tag_index: u32,
1314
+ },
1315
+
1316
+ // Wide Arithmetic
1317
+ I64Add128,
1318
+ I64Sub128,
1319
+ I64MulWideS,
1320
+ I64MulWideU,
1321
+
1322
+ RefGetDesc(u32),
1323
+ RefCastDescNonNull(HeapType),
1324
+ RefCastDescNullable(HeapType),
1325
+ BrOnCastDesc {
1326
+ relative_depth: u32,
1327
+ from_ref_type: RefType,
1328
+ to_ref_type: RefType,
1329
+ },
1330
+ BrOnCastDescFail {
1331
+ relative_depth: u32,
1332
+ from_ref_type: RefType,
1333
+ to_ref_type: RefType,
1334
+ },
1335
+ }
1336
+
1337
+ impl Encode for Instruction<'_> {
1338
+ fn encode(&self, bytes: &mut Vec<u8>) {
1339
+ let mut sink = InstructionSink::new(bytes);
1340
+ match *self {
1341
+ // Control instructions.
1342
+ Instruction::Unreachable => sink.unreachable(),
1343
+ Instruction::Nop => sink.nop(),
1344
+ Instruction::Block(bt) => sink.block(bt),
1345
+ Instruction::Loop(bt) => sink.loop_(bt),
1346
+ Instruction::If(bt) => sink.if_(bt),
1347
+ Instruction::Else => sink.else_(),
1348
+ Instruction::Try(bt) => sink.try_(bt),
1349
+ Instruction::Catch(t) => sink.catch(t),
1350
+ Instruction::Throw(t) => sink.throw(t),
1351
+ Instruction::Rethrow(l) => sink.rethrow(l),
1352
+ Instruction::ThrowRef => sink.throw_ref(),
1353
+ Instruction::End => sink.end(),
1354
+ Instruction::Br(l) => sink.br(l),
1355
+ Instruction::BrIf(l) => sink.br_if(l),
1356
+ Instruction::BrTable(ref ls, l) => sink.br_table(ls.iter().copied(), l),
1357
+ Instruction::BrOnNull(l) => sink.br_on_null(l),
1358
+ Instruction::BrOnNonNull(l) => sink.br_on_non_null(l),
1359
+ Instruction::Return => sink.return_(),
1360
+ Instruction::Call(f) => sink.call(f),
1361
+ Instruction::CallRef(ty) => sink.call_ref(ty),
1362
+ Instruction::CallIndirect {
1363
+ type_index,
1364
+ table_index,
1365
+ } => sink.call_indirect(table_index, type_index),
1366
+ Instruction::ReturnCallRef(ty) => sink.return_call_ref(ty),
1367
+
1368
+ Instruction::ReturnCall(f) => sink.return_call(f),
1369
+ Instruction::ReturnCallIndirect {
1370
+ type_index,
1371
+ table_index,
1372
+ } => sink.return_call_indirect(table_index, type_index),
1373
+ Instruction::Delegate(l) => sink.delegate(l),
1374
+ Instruction::CatchAll => sink.catch_all(),
1375
+
1376
+ // Parametric instructions.
1377
+ Instruction::Drop => sink.drop(),
1378
+ Instruction::Select => sink.select(),
1379
+ Instruction::TypedSelect(ty) => sink.typed_select(ty),
1380
+ Instruction::TypedSelectMulti(ref tys) => sink.typed_select_multi(tys.as_ref()),
1381
+
1382
+ Instruction::TryTable(ty, ref catches) => sink.try_table(ty, catches.iter().cloned()),
1383
+
1384
+ // Variable instructions.
1385
+ Instruction::LocalGet(l) => sink.local_get(l),
1386
+ Instruction::LocalSet(l) => sink.local_set(l),
1387
+ Instruction::LocalTee(l) => sink.local_tee(l),
1388
+ Instruction::GlobalGet(g) => sink.global_get(g),
1389
+ Instruction::GlobalSet(g) => sink.global_set(g),
1390
+ Instruction::TableGet(table) => sink.table_get(table),
1391
+ Instruction::TableSet(table) => sink.table_set(table),
1392
+
1393
+ // Memory instructions.
1394
+ Instruction::I32Load(m) => sink.i32_load(m),
1395
+ Instruction::I64Load(m) => sink.i64_load(m),
1396
+ Instruction::F32Load(m) => sink.f32_load(m),
1397
+ Instruction::F64Load(m) => sink.f64_load(m),
1398
+ Instruction::I32Load8S(m) => sink.i32_load8_s(m),
1399
+ Instruction::I32Load8U(m) => sink.i32_load8_u(m),
1400
+ Instruction::I32Load16S(m) => sink.i32_load16_s(m),
1401
+ Instruction::I32Load16U(m) => sink.i32_load16_u(m),
1402
+ Instruction::I64Load8S(m) => sink.i64_load8_s(m),
1403
+ Instruction::I64Load8U(m) => sink.i64_load8_u(m),
1404
+ Instruction::I64Load16S(m) => sink.i64_load16_s(m),
1405
+ Instruction::I64Load16U(m) => sink.i64_load16_u(m),
1406
+ Instruction::I64Load32S(m) => sink.i64_load32_s(m),
1407
+ Instruction::I64Load32U(m) => sink.i64_load32_u(m),
1408
+ Instruction::I32Store(m) => sink.i32_store(m),
1409
+ Instruction::I64Store(m) => sink.i64_store(m),
1410
+ Instruction::F32Store(m) => sink.f32_store(m),
1411
+ Instruction::F64Store(m) => sink.f64_store(m),
1412
+ Instruction::I32Store8(m) => sink.i32_store8(m),
1413
+ Instruction::I32Store16(m) => sink.i32_store16(m),
1414
+ Instruction::I64Store8(m) => sink.i64_store8(m),
1415
+ Instruction::I64Store16(m) => sink.i64_store16(m),
1416
+ Instruction::I64Store32(m) => sink.i64_store32(m),
1417
+ Instruction::MemorySize(i) => sink.memory_size(i),
1418
+ Instruction::MemoryGrow(i) => sink.memory_grow(i),
1419
+ Instruction::MemoryInit { mem, data_index } => sink.memory_init(mem, data_index),
1420
+ Instruction::DataDrop(data) => sink.data_drop(data),
1421
+ Instruction::MemoryCopy { src_mem, dst_mem } => sink.memory_copy(dst_mem, src_mem),
1422
+ Instruction::MemoryFill(mem) => sink.memory_fill(mem),
1423
+ Instruction::MemoryDiscard(mem) => sink.memory_discard(mem),
1424
+
1425
+ // Numeric instructions.
1426
+ Instruction::I32Const(x) => sink.i32_const(x),
1427
+ Instruction::I64Const(x) => sink.i64_const(x),
1428
+ Instruction::F32Const(x) => sink.f32_const(x),
1429
+ Instruction::F64Const(x) => sink.f64_const(x),
1430
+ Instruction::I32Eqz => sink.i32_eqz(),
1431
+ Instruction::I32Eq => sink.i32_eq(),
1432
+ Instruction::I32Ne => sink.i32_ne(),
1433
+ Instruction::I32LtS => sink.i32_lt_s(),
1434
+ Instruction::I32LtU => sink.i32_lt_u(),
1435
+ Instruction::I32GtS => sink.i32_gt_s(),
1436
+ Instruction::I32GtU => sink.i32_gt_u(),
1437
+ Instruction::I32LeS => sink.i32_le_s(),
1438
+ Instruction::I32LeU => sink.i32_le_u(),
1439
+ Instruction::I32GeS => sink.i32_ge_s(),
1440
+ Instruction::I32GeU => sink.i32_ge_u(),
1441
+ Instruction::I64Eqz => sink.i64_eqz(),
1442
+ Instruction::I64Eq => sink.i64_eq(),
1443
+ Instruction::I64Ne => sink.i64_ne(),
1444
+ Instruction::I64LtS => sink.i64_lt_s(),
1445
+ Instruction::I64LtU => sink.i64_lt_u(),
1446
+ Instruction::I64GtS => sink.i64_gt_s(),
1447
+ Instruction::I64GtU => sink.i64_gt_u(),
1448
+ Instruction::I64LeS => sink.i64_le_s(),
1449
+ Instruction::I64LeU => sink.i64_le_u(),
1450
+ Instruction::I64GeS => sink.i64_ge_s(),
1451
+ Instruction::I64GeU => sink.i64_ge_u(),
1452
+ Instruction::F32Eq => sink.f32_eq(),
1453
+ Instruction::F32Ne => sink.f32_ne(),
1454
+ Instruction::F32Lt => sink.f32_lt(),
1455
+ Instruction::F32Gt => sink.f32_gt(),
1456
+ Instruction::F32Le => sink.f32_le(),
1457
+ Instruction::F32Ge => sink.f32_ge(),
1458
+ Instruction::F64Eq => sink.f64_eq(),
1459
+ Instruction::F64Ne => sink.f64_ne(),
1460
+ Instruction::F64Lt => sink.f64_lt(),
1461
+ Instruction::F64Gt => sink.f64_gt(),
1462
+ Instruction::F64Le => sink.f64_le(),
1463
+ Instruction::F64Ge => sink.f64_ge(),
1464
+ Instruction::I32Clz => sink.i32_clz(),
1465
+ Instruction::I32Ctz => sink.i32_ctz(),
1466
+ Instruction::I32Popcnt => sink.i32_popcnt(),
1467
+ Instruction::I32Add => sink.i32_add(),
1468
+ Instruction::I32Sub => sink.i32_sub(),
1469
+ Instruction::I32Mul => sink.i32_mul(),
1470
+ Instruction::I32DivS => sink.i32_div_s(),
1471
+ Instruction::I32DivU => sink.i32_div_u(),
1472
+ Instruction::I32RemS => sink.i32_rem_s(),
1473
+ Instruction::I32RemU => sink.i32_rem_u(),
1474
+ Instruction::I32And => sink.i32_and(),
1475
+ Instruction::I32Or => sink.i32_or(),
1476
+ Instruction::I32Xor => sink.i32_xor(),
1477
+ Instruction::I32Shl => sink.i32_shl(),
1478
+ Instruction::I32ShrS => sink.i32_shr_s(),
1479
+ Instruction::I32ShrU => sink.i32_shr_u(),
1480
+ Instruction::I32Rotl => sink.i32_rotl(),
1481
+ Instruction::I32Rotr => sink.i32_rotr(),
1482
+ Instruction::I64Clz => sink.i64_clz(),
1483
+ Instruction::I64Ctz => sink.i64_ctz(),
1484
+ Instruction::I64Popcnt => sink.i64_popcnt(),
1485
+ Instruction::I64Add => sink.i64_add(),
1486
+ Instruction::I64Sub => sink.i64_sub(),
1487
+ Instruction::I64Mul => sink.i64_mul(),
1488
+ Instruction::I64DivS => sink.i64_div_s(),
1489
+ Instruction::I64DivU => sink.i64_div_u(),
1490
+ Instruction::I64RemS => sink.i64_rem_s(),
1491
+ Instruction::I64RemU => sink.i64_rem_u(),
1492
+ Instruction::I64And => sink.i64_and(),
1493
+ Instruction::I64Or => sink.i64_or(),
1494
+ Instruction::I64Xor => sink.i64_xor(),
1495
+ Instruction::I64Shl => sink.i64_shl(),
1496
+ Instruction::I64ShrS => sink.i64_shr_s(),
1497
+ Instruction::I64ShrU => sink.i64_shr_u(),
1498
+ Instruction::I64Rotl => sink.i64_rotl(),
1499
+ Instruction::I64Rotr => sink.i64_rotr(),
1500
+ Instruction::F32Abs => sink.f32_abs(),
1501
+ Instruction::F32Neg => sink.f32_neg(),
1502
+ Instruction::F32Ceil => sink.f32_ceil(),
1503
+ Instruction::F32Floor => sink.f32_floor(),
1504
+ Instruction::F32Trunc => sink.f32_trunc(),
1505
+ Instruction::F32Nearest => sink.f32_nearest(),
1506
+ Instruction::F32Sqrt => sink.f32_sqrt(),
1507
+ Instruction::F32Add => sink.f32_add(),
1508
+ Instruction::F32Sub => sink.f32_sub(),
1509
+ Instruction::F32Mul => sink.f32_mul(),
1510
+ Instruction::F32Div => sink.f32_div(),
1511
+ Instruction::F32Min => sink.f32_min(),
1512
+ Instruction::F32Max => sink.f32_max(),
1513
+ Instruction::F32Copysign => sink.f32_copysign(),
1514
+ Instruction::F64Abs => sink.f64_abs(),
1515
+ Instruction::F64Neg => sink.f64_neg(),
1516
+ Instruction::F64Ceil => sink.f64_ceil(),
1517
+ Instruction::F64Floor => sink.f64_floor(),
1518
+ Instruction::F64Trunc => sink.f64_trunc(),
1519
+ Instruction::F64Nearest => sink.f64_nearest(),
1520
+ Instruction::F64Sqrt => sink.f64_sqrt(),
1521
+ Instruction::F64Add => sink.f64_add(),
1522
+ Instruction::F64Sub => sink.f64_sub(),
1523
+ Instruction::F64Mul => sink.f64_mul(),
1524
+ Instruction::F64Div => sink.f64_div(),
1525
+ Instruction::F64Min => sink.f64_min(),
1526
+ Instruction::F64Max => sink.f64_max(),
1527
+ Instruction::F64Copysign => sink.f64_copysign(),
1528
+ Instruction::I32WrapI64 => sink.i32_wrap_i64(),
1529
+ Instruction::I32TruncF32S => sink.i32_trunc_f32_s(),
1530
+ Instruction::I32TruncF32U => sink.i32_trunc_f32_u(),
1531
+ Instruction::I32TruncF64S => sink.i32_trunc_f64_s(),
1532
+ Instruction::I32TruncF64U => sink.i32_trunc_f64_u(),
1533
+ Instruction::I64ExtendI32S => sink.i64_extend_i32_s(),
1534
+ Instruction::I64ExtendI32U => sink.i64_extend_i32_u(),
1535
+ Instruction::I64TruncF32S => sink.i64_trunc_f32_s(),
1536
+ Instruction::I64TruncF32U => sink.i64_trunc_f32_u(),
1537
+ Instruction::I64TruncF64S => sink.i64_trunc_f64_s(),
1538
+ Instruction::I64TruncF64U => sink.i64_trunc_f64_u(),
1539
+ Instruction::F32ConvertI32S => sink.f32_convert_i32_s(),
1540
+ Instruction::F32ConvertI32U => sink.f32_convert_i32_u(),
1541
+ Instruction::F32ConvertI64S => sink.f32_convert_i64_s(),
1542
+ Instruction::F32ConvertI64U => sink.f32_convert_i64_u(),
1543
+ Instruction::F32DemoteF64 => sink.f32_demote_f64(),
1544
+ Instruction::F64ConvertI32S => sink.f64_convert_i32_s(),
1545
+ Instruction::F64ConvertI32U => sink.f64_convert_i32_u(),
1546
+ Instruction::F64ConvertI64S => sink.f64_convert_i64_s(),
1547
+ Instruction::F64ConvertI64U => sink.f64_convert_i64_u(),
1548
+ Instruction::F64PromoteF32 => sink.f64_promote_f32(),
1549
+ Instruction::I32ReinterpretF32 => sink.i32_reinterpret_f32(),
1550
+ Instruction::I64ReinterpretF64 => sink.i64_reinterpret_f64(),
1551
+ Instruction::F32ReinterpretI32 => sink.f32_reinterpret_i32(),
1552
+ Instruction::F64ReinterpretI64 => sink.f64_reinterpret_i64(),
1553
+ Instruction::I32Extend8S => sink.i32_extend8_s(),
1554
+ Instruction::I32Extend16S => sink.i32_extend16_s(),
1555
+ Instruction::I64Extend8S => sink.i64_extend8_s(),
1556
+ Instruction::I64Extend16S => sink.i64_extend16_s(),
1557
+ Instruction::I64Extend32S => sink.i64_extend32_s(),
1558
+
1559
+ Instruction::I32TruncSatF32S => sink.i32_trunc_sat_f32_s(),
1560
+ Instruction::I32TruncSatF32U => sink.i32_trunc_sat_f32_u(),
1561
+ Instruction::I32TruncSatF64S => sink.i32_trunc_sat_f64_s(),
1562
+ Instruction::I32TruncSatF64U => sink.i32_trunc_sat_f64_u(),
1563
+ Instruction::I64TruncSatF32S => sink.i64_trunc_sat_f32_s(),
1564
+ Instruction::I64TruncSatF32U => sink.i64_trunc_sat_f32_u(),
1565
+ Instruction::I64TruncSatF64S => sink.i64_trunc_sat_f64_s(),
1566
+ Instruction::I64TruncSatF64U => sink.i64_trunc_sat_f64_u(),
1567
+
1568
+ // Reference types instructions.
1569
+ Instruction::RefNull(ty) => sink.ref_null(ty),
1570
+ Instruction::RefIsNull => sink.ref_is_null(),
1571
+ Instruction::RefFunc(f) => sink.ref_func(f),
1572
+ Instruction::RefEq => sink.ref_eq(),
1573
+ Instruction::RefAsNonNull => sink.ref_as_non_null(),
1574
+
1575
+ // GC instructions.
1576
+ Instruction::StructNew(type_index) => sink.struct_new(type_index),
1577
+ Instruction::StructNewDefault(type_index) => sink.struct_new_default(type_index),
1578
+ Instruction::StructGet {
1579
+ struct_type_index,
1580
+ field_index,
1581
+ } => sink.struct_get(struct_type_index, field_index),
1582
+ Instruction::StructGetS {
1583
+ struct_type_index,
1584
+ field_index,
1585
+ } => sink.struct_get_s(struct_type_index, field_index),
1586
+ Instruction::StructGetU {
1587
+ struct_type_index,
1588
+ field_index,
1589
+ } => sink.struct_get_u(struct_type_index, field_index),
1590
+ Instruction::StructSet {
1591
+ struct_type_index,
1592
+ field_index,
1593
+ } => sink.struct_set(struct_type_index, field_index),
1594
+ Instruction::StructNewDesc(type_index) => sink.struct_new_desc(type_index),
1595
+ Instruction::StructNewDefaultDesc(type_index) => {
1596
+ sink.struct_new_default_desc(type_index)
1597
+ }
1598
+ Instruction::ArrayNew(type_index) => sink.array_new(type_index),
1599
+ Instruction::ArrayNewDefault(type_index) => sink.array_new_default(type_index),
1600
+ Instruction::ArrayNewFixed {
1601
+ array_type_index,
1602
+ array_size,
1603
+ } => sink.array_new_fixed(array_type_index, array_size),
1604
+ Instruction::ArrayNewData {
1605
+ array_type_index,
1606
+ array_data_index,
1607
+ } => sink.array_new_data(array_type_index, array_data_index),
1608
+ Instruction::ArrayNewElem {
1609
+ array_type_index,
1610
+ array_elem_index,
1611
+ } => sink.array_new_elem(array_type_index, array_elem_index),
1612
+ Instruction::ArrayGet(type_index) => sink.array_get(type_index),
1613
+ Instruction::ArrayGetS(type_index) => sink.array_get_s(type_index),
1614
+ Instruction::ArrayGetU(type_index) => sink.array_get_u(type_index),
1615
+ Instruction::ArraySet(type_index) => sink.array_set(type_index),
1616
+ Instruction::ArrayLen => sink.array_len(),
1617
+ Instruction::ArrayFill(type_index) => sink.array_fill(type_index),
1618
+ Instruction::ArrayCopy {
1619
+ array_type_index_dst,
1620
+ array_type_index_src,
1621
+ } => sink.array_copy(array_type_index_dst, array_type_index_src),
1622
+ Instruction::ArrayInitData {
1623
+ array_type_index,
1624
+ array_data_index,
1625
+ } => sink.array_init_data(array_type_index, array_data_index),
1626
+ Instruction::ArrayInitElem {
1627
+ array_type_index,
1628
+ array_elem_index,
1629
+ } => sink.array_init_elem(array_type_index, array_elem_index),
1630
+ Instruction::RefTestNonNull(heap_type) => sink.ref_test_non_null(heap_type),
1631
+ Instruction::RefTestNullable(heap_type) => sink.ref_test_nullable(heap_type),
1632
+ Instruction::RefCastNonNull(heap_type) => sink.ref_cast_non_null(heap_type),
1633
+ Instruction::RefCastNullable(heap_type) => sink.ref_cast_nullable(heap_type),
1634
+ Instruction::BrOnCast {
1635
+ relative_depth,
1636
+ from_ref_type,
1637
+ to_ref_type,
1638
+ } => sink.br_on_cast(relative_depth, from_ref_type, to_ref_type),
1639
+ Instruction::BrOnCastFail {
1640
+ relative_depth,
1641
+ from_ref_type,
1642
+ to_ref_type,
1643
+ } => sink.br_on_cast_fail(relative_depth, from_ref_type, to_ref_type),
1644
+ Instruction::AnyConvertExtern => sink.any_convert_extern(),
1645
+ Instruction::ExternConvertAny => sink.extern_convert_any(),
1646
+ Instruction::RefI31 => sink.ref_i31(),
1647
+ Instruction::I31GetS => sink.i31_get_s(),
1648
+ Instruction::I31GetU => sink.i31_get_u(),
1649
+
1650
+ // Bulk memory instructions.
1651
+ Instruction::TableInit { elem_index, table } => sink.table_init(table, elem_index),
1652
+ Instruction::ElemDrop(segment) => sink.elem_drop(segment),
1653
+ Instruction::TableCopy {
1654
+ src_table,
1655
+ dst_table,
1656
+ } => sink.table_copy(dst_table, src_table),
1657
+ Instruction::TableGrow(table) => sink.table_grow(table),
1658
+ Instruction::TableSize(table) => sink.table_size(table),
1659
+ Instruction::TableFill(table) => sink.table_fill(table),
1660
+
1661
+ // SIMD instructions.
1662
+ Instruction::V128Load(memarg) => sink.v128_load(memarg),
1663
+ Instruction::V128Load8x8S(memarg) => sink.v128_load8x8_s(memarg),
1664
+ Instruction::V128Load8x8U(memarg) => sink.v128_load8x8_u(memarg),
1665
+ Instruction::V128Load16x4S(memarg) => sink.v128_load16x4_s(memarg),
1666
+ Instruction::V128Load16x4U(memarg) => sink.v128_load16x4_u(memarg),
1667
+ Instruction::V128Load32x2S(memarg) => sink.v128_load32x2_s(memarg),
1668
+ Instruction::V128Load32x2U(memarg) => sink.v128_load32x2_u(memarg),
1669
+ Instruction::V128Load8Splat(memarg) => sink.v128_load8_splat(memarg),
1670
+ Instruction::V128Load16Splat(memarg) => sink.v128_load16_splat(memarg),
1671
+ Instruction::V128Load32Splat(memarg) => sink.v128_load32_splat(memarg),
1672
+ Instruction::V128Load64Splat(memarg) => sink.v128_load64_splat(memarg),
1673
+ Instruction::V128Store(memarg) => sink.v128_store(memarg),
1674
+ Instruction::V128Const(x) => sink.v128_const(x),
1675
+ Instruction::I8x16Shuffle(lanes) => sink.i8x16_shuffle(lanes),
1676
+ Instruction::I8x16Swizzle => sink.i8x16_swizzle(),
1677
+ Instruction::I8x16Splat => sink.i8x16_splat(),
1678
+ Instruction::I16x8Splat => sink.i16x8_splat(),
1679
+ Instruction::I32x4Splat => sink.i32x4_splat(),
1680
+ Instruction::I64x2Splat => sink.i64x2_splat(),
1681
+ Instruction::F32x4Splat => sink.f32x4_splat(),
1682
+ Instruction::F64x2Splat => sink.f64x2_splat(),
1683
+ Instruction::I8x16ExtractLaneS(lane) => sink.i8x16_extract_lane_s(lane),
1684
+ Instruction::I8x16ExtractLaneU(lane) => sink.i8x16_extract_lane_u(lane),
1685
+ Instruction::I8x16ReplaceLane(lane) => sink.i8x16_replace_lane(lane),
1686
+ Instruction::I16x8ExtractLaneS(lane) => sink.i16x8_extract_lane_s(lane),
1687
+ Instruction::I16x8ExtractLaneU(lane) => sink.i16x8_extract_lane_u(lane),
1688
+ Instruction::I16x8ReplaceLane(lane) => sink.i16x8_replace_lane(lane),
1689
+ Instruction::I32x4ExtractLane(lane) => sink.i32x4_extract_lane(lane),
1690
+ Instruction::I32x4ReplaceLane(lane) => sink.i32x4_replace_lane(lane),
1691
+ Instruction::I64x2ExtractLane(lane) => sink.i64x2_extract_lane(lane),
1692
+ Instruction::I64x2ReplaceLane(lane) => sink.i64x2_replace_lane(lane),
1693
+ Instruction::F32x4ExtractLane(lane) => sink.f32x4_extract_lane(lane),
1694
+ Instruction::F32x4ReplaceLane(lane) => sink.f32x4_replace_lane(lane),
1695
+ Instruction::F64x2ExtractLane(lane) => sink.f64x2_extract_lane(lane),
1696
+ Instruction::F64x2ReplaceLane(lane) => sink.f64x2_replace_lane(lane),
1697
+
1698
+ Instruction::I8x16Eq => sink.i8x16_eq(),
1699
+ Instruction::I8x16Ne => sink.i8x16_ne(),
1700
+ Instruction::I8x16LtS => sink.i8x16_lt_s(),
1701
+ Instruction::I8x16LtU => sink.i8x16_lt_u(),
1702
+ Instruction::I8x16GtS => sink.i8x16_gt_s(),
1703
+ Instruction::I8x16GtU => sink.i8x16_gt_u(),
1704
+ Instruction::I8x16LeS => sink.i8x16_le_s(),
1705
+ Instruction::I8x16LeU => sink.i8x16_le_u(),
1706
+ Instruction::I8x16GeS => sink.i8x16_ge_s(),
1707
+ Instruction::I8x16GeU => sink.i8x16_ge_u(),
1708
+ Instruction::I16x8Eq => sink.i16x8_eq(),
1709
+ Instruction::I16x8Ne => sink.i16x8_ne(),
1710
+ Instruction::I16x8LtS => sink.i16x8_lt_s(),
1711
+ Instruction::I16x8LtU => sink.i16x8_lt_u(),
1712
+ Instruction::I16x8GtS => sink.i16x8_gt_s(),
1713
+ Instruction::I16x8GtU => sink.i16x8_gt_u(),
1714
+ Instruction::I16x8LeS => sink.i16x8_le_s(),
1715
+ Instruction::I16x8LeU => sink.i16x8_le_u(),
1716
+ Instruction::I16x8GeS => sink.i16x8_ge_s(),
1717
+ Instruction::I16x8GeU => sink.i16x8_ge_u(),
1718
+ Instruction::I32x4Eq => sink.i32x4_eq(),
1719
+ Instruction::I32x4Ne => sink.i32x4_ne(),
1720
+ Instruction::I32x4LtS => sink.i32x4_lt_s(),
1721
+ Instruction::I32x4LtU => sink.i32x4_lt_u(),
1722
+ Instruction::I32x4GtS => sink.i32x4_gt_s(),
1723
+ Instruction::I32x4GtU => sink.i32x4_gt_u(),
1724
+ Instruction::I32x4LeS => sink.i32x4_le_s(),
1725
+ Instruction::I32x4LeU => sink.i32x4_le_u(),
1726
+ Instruction::I32x4GeS => sink.i32x4_ge_s(),
1727
+ Instruction::I32x4GeU => sink.i32x4_ge_u(),
1728
+ Instruction::F32x4Eq => sink.f32x4_eq(),
1729
+ Instruction::F32x4Ne => sink.f32x4_ne(),
1730
+ Instruction::F32x4Lt => sink.f32x4_lt(),
1731
+ Instruction::F32x4Gt => sink.f32x4_gt(),
1732
+ Instruction::F32x4Le => sink.f32x4_le(),
1733
+ Instruction::F32x4Ge => sink.f32x4_ge(),
1734
+ Instruction::F64x2Eq => sink.f64x2_eq(),
1735
+ Instruction::F64x2Ne => sink.f64x2_ne(),
1736
+ Instruction::F64x2Lt => sink.f64x2_lt(),
1737
+ Instruction::F64x2Gt => sink.f64x2_gt(),
1738
+ Instruction::F64x2Le => sink.f64x2_le(),
1739
+ Instruction::F64x2Ge => sink.f64x2_ge(),
1740
+ Instruction::V128Not => sink.v128_not(),
1741
+ Instruction::V128And => sink.v128_and(),
1742
+ Instruction::V128AndNot => sink.v128_andnot(),
1743
+ Instruction::V128Or => sink.v128_or(),
1744
+ Instruction::V128Xor => sink.v128_xor(),
1745
+ Instruction::V128Bitselect => sink.v128_bitselect(),
1746
+ Instruction::V128AnyTrue => sink.v128_any_true(),
1747
+ Instruction::I8x16Abs => sink.i8x16_abs(),
1748
+ Instruction::I8x16Neg => sink.i8x16_neg(),
1749
+ Instruction::I8x16Popcnt => sink.i8x16_popcnt(),
1750
+ Instruction::I8x16AllTrue => sink.i8x16_all_true(),
1751
+ Instruction::I8x16Bitmask => sink.i8x16_bitmask(),
1752
+ Instruction::I8x16NarrowI16x8S => sink.i8x16_narrow_i16x8_s(),
1753
+ Instruction::I8x16NarrowI16x8U => sink.i8x16_narrow_i16x8_u(),
1754
+ Instruction::I8x16Shl => sink.i8x16_shl(),
1755
+ Instruction::I8x16ShrS => sink.i8x16_shr_s(),
1756
+ Instruction::I8x16ShrU => sink.i8x16_shr_u(),
1757
+ Instruction::I8x16Add => sink.i8x16_add(),
1758
+ Instruction::I8x16AddSatS => sink.i8x16_add_sat_s(),
1759
+ Instruction::I8x16AddSatU => sink.i8x16_add_sat_u(),
1760
+ Instruction::I8x16Sub => sink.i8x16_sub(),
1761
+ Instruction::I8x16SubSatS => sink.i8x16_sub_sat_s(),
1762
+ Instruction::I8x16SubSatU => sink.i8x16_sub_sat_u(),
1763
+ Instruction::I8x16MinS => sink.i8x16_min_s(),
1764
+ Instruction::I8x16MinU => sink.i8x16_min_u(),
1765
+ Instruction::I8x16MaxS => sink.i8x16_max_s(),
1766
+ Instruction::I8x16MaxU => sink.i8x16_max_u(),
1767
+ Instruction::I8x16AvgrU => sink.i8x16_avgr_u(),
1768
+ Instruction::I16x8ExtAddPairwiseI8x16S => sink.i16x8_extadd_pairwise_i8x16_s(),
1769
+ Instruction::I16x8ExtAddPairwiseI8x16U => sink.i16x8_extadd_pairwise_i8x16_u(),
1770
+ Instruction::I32x4ExtAddPairwiseI16x8S => sink.i32x4_extadd_pairwise_i16x8_s(),
1771
+ Instruction::I32x4ExtAddPairwiseI16x8U => sink.i32x4_extadd_pairwise_i16x8_u(),
1772
+ Instruction::I16x8Abs => sink.i16x8_abs(),
1773
+ Instruction::I16x8Neg => sink.i16x8_neg(),
1774
+ Instruction::I16x8Q15MulrSatS => sink.i16x8_q15mulr_sat_s(),
1775
+ Instruction::I16x8AllTrue => sink.i16x8_all_true(),
1776
+ Instruction::I16x8Bitmask => sink.i16x8_bitmask(),
1777
+ Instruction::I16x8NarrowI32x4S => sink.i16x8_narrow_i32x4_s(),
1778
+ Instruction::I16x8NarrowI32x4U => sink.i16x8_narrow_i32x4_u(),
1779
+ Instruction::I16x8ExtendLowI8x16S => sink.i16x8_extend_low_i8x16_s(),
1780
+ Instruction::I16x8ExtendHighI8x16S => sink.i16x8_extend_high_i8x16_s(),
1781
+ Instruction::I16x8ExtendLowI8x16U => sink.i16x8_extend_low_i8x16_u(),
1782
+ Instruction::I16x8ExtendHighI8x16U => sink.i16x8_extend_high_i8x16_u(),
1783
+ Instruction::I16x8Shl => sink.i16x8_shl(),
1784
+ Instruction::I16x8ShrS => sink.i16x8_shr_s(),
1785
+ Instruction::I16x8ShrU => sink.i16x8_shr_u(),
1786
+ Instruction::I16x8Add => sink.i16x8_add(),
1787
+ Instruction::I16x8AddSatS => sink.i16x8_add_sat_s(),
1788
+ Instruction::I16x8AddSatU => sink.i16x8_add_sat_u(),
1789
+ Instruction::I16x8Sub => sink.i16x8_sub(),
1790
+ Instruction::I16x8SubSatS => sink.i16x8_sub_sat_s(),
1791
+ Instruction::I16x8SubSatU => sink.i16x8_sub_sat_u(),
1792
+ Instruction::I16x8Mul => sink.i16x8_mul(),
1793
+ Instruction::I16x8MinS => sink.i16x8_min_s(),
1794
+ Instruction::I16x8MinU => sink.i16x8_min_u(),
1795
+ Instruction::I16x8MaxS => sink.i16x8_max_s(),
1796
+ Instruction::I16x8MaxU => sink.i16x8_max_u(),
1797
+ Instruction::I16x8AvgrU => sink.i16x8_avgr_u(),
1798
+ Instruction::I16x8ExtMulLowI8x16S => sink.i16x8_extmul_low_i8x16_s(),
1799
+ Instruction::I16x8ExtMulHighI8x16S => sink.i16x8_extmul_high_i8x16_s(),
1800
+ Instruction::I16x8ExtMulLowI8x16U => sink.i16x8_extmul_low_i8x16_u(),
1801
+ Instruction::I16x8ExtMulHighI8x16U => sink.i16x8_extmul_high_i8x16_u(),
1802
+ Instruction::I32x4Abs => sink.i32x4_abs(),
1803
+ Instruction::I32x4Neg => sink.i32x4_neg(),
1804
+ Instruction::I32x4AllTrue => sink.i32x4_all_true(),
1805
+ Instruction::I32x4Bitmask => sink.i32x4_bitmask(),
1806
+ Instruction::I32x4ExtendLowI16x8S => sink.i32x4_extend_low_i16x8_s(),
1807
+ Instruction::I32x4ExtendHighI16x8S => sink.i32x4_extend_high_i16x8_s(),
1808
+ Instruction::I32x4ExtendLowI16x8U => sink.i32x4_extend_low_i16x8_u(),
1809
+ Instruction::I32x4ExtendHighI16x8U => sink.i32x4_extend_high_i16x8_u(),
1810
+ Instruction::I32x4Shl => sink.i32x4_shl(),
1811
+ Instruction::I32x4ShrS => sink.i32x4_shr_s(),
1812
+ Instruction::I32x4ShrU => sink.i32x4_shr_u(),
1813
+ Instruction::I32x4Add => sink.i32x4_add(),
1814
+ Instruction::I32x4Sub => sink.i32x4_sub(),
1815
+ Instruction::I32x4Mul => sink.i32x4_mul(),
1816
+ Instruction::I32x4MinS => sink.i32x4_min_s(),
1817
+ Instruction::I32x4MinU => sink.i32x4_min_u(),
1818
+ Instruction::I32x4MaxS => sink.i32x4_max_s(),
1819
+ Instruction::I32x4MaxU => sink.i32x4_max_u(),
1820
+ Instruction::I32x4DotI16x8S => sink.i32x4_dot_i16x8_s(),
1821
+ Instruction::I32x4ExtMulLowI16x8S => sink.i32x4_extmul_low_i16x8_s(),
1822
+ Instruction::I32x4ExtMulHighI16x8S => sink.i32x4_extmul_high_i16x8_s(),
1823
+ Instruction::I32x4ExtMulLowI16x8U => sink.i32x4_extmul_low_i16x8_u(),
1824
+ Instruction::I32x4ExtMulHighI16x8U => sink.i32x4_extmul_high_i16x8_u(),
1825
+ Instruction::I64x2Abs => sink.i64x2_abs(),
1826
+ Instruction::I64x2Neg => sink.i64x2_neg(),
1827
+ Instruction::I64x2AllTrue => sink.i64x2_all_true(),
1828
+ Instruction::I64x2Bitmask => sink.i64x2_bitmask(),
1829
+ Instruction::I64x2ExtendLowI32x4S => sink.i64x2_extend_low_i32x4_s(),
1830
+ Instruction::I64x2ExtendHighI32x4S => sink.i64x2_extend_high_i32x4_s(),
1831
+ Instruction::I64x2ExtendLowI32x4U => sink.i64x2_extend_low_i32x4_u(),
1832
+ Instruction::I64x2ExtendHighI32x4U => sink.i64x2_extend_high_i32x4_u(),
1833
+ Instruction::I64x2Shl => sink.i64x2_shl(),
1834
+ Instruction::I64x2ShrS => sink.i64x2_shr_s(),
1835
+ Instruction::I64x2ShrU => sink.i64x2_shr_u(),
1836
+ Instruction::I64x2Add => sink.i64x2_add(),
1837
+ Instruction::I64x2Sub => sink.i64x2_sub(),
1838
+ Instruction::I64x2Mul => sink.i64x2_mul(),
1839
+ Instruction::I64x2ExtMulLowI32x4S => sink.i64x2_extmul_low_i32x4_s(),
1840
+ Instruction::I64x2ExtMulHighI32x4S => sink.i64x2_extmul_high_i32x4_s(),
1841
+ Instruction::I64x2ExtMulLowI32x4U => sink.i64x2_extmul_low_i32x4_u(),
1842
+ Instruction::I64x2ExtMulHighI32x4U => sink.i64x2_extmul_high_i32x4_u(),
1843
+ Instruction::F32x4Ceil => sink.f32x4_ceil(),
1844
+ Instruction::F32x4Floor => sink.f32x4_floor(),
1845
+ Instruction::F32x4Trunc => sink.f32x4_trunc(),
1846
+ Instruction::F32x4Nearest => sink.f32x4_nearest(),
1847
+ Instruction::F32x4Abs => sink.f32x4_abs(),
1848
+ Instruction::F32x4Neg => sink.f32x4_neg(),
1849
+ Instruction::F32x4Sqrt => sink.f32x4_sqrt(),
1850
+ Instruction::F32x4Add => sink.f32x4_add(),
1851
+ Instruction::F32x4Sub => sink.f32x4_sub(),
1852
+ Instruction::F32x4Mul => sink.f32x4_mul(),
1853
+ Instruction::F32x4Div => sink.f32x4_div(),
1854
+ Instruction::F32x4Min => sink.f32x4_min(),
1855
+ Instruction::F32x4Max => sink.f32x4_max(),
1856
+ Instruction::F32x4PMin => sink.f32x4_pmin(),
1857
+ Instruction::F32x4PMax => sink.f32x4_pmax(),
1858
+ Instruction::F64x2Ceil => sink.f64x2_ceil(),
1859
+ Instruction::F64x2Floor => sink.f64x2_floor(),
1860
+ Instruction::F64x2Trunc => sink.f64x2_trunc(),
1861
+ Instruction::F64x2Nearest => sink.f64x2_nearest(),
1862
+ Instruction::F64x2Abs => sink.f64x2_abs(),
1863
+ Instruction::F64x2Neg => sink.f64x2_neg(),
1864
+ Instruction::F64x2Sqrt => sink.f64x2_sqrt(),
1865
+ Instruction::F64x2Add => sink.f64x2_add(),
1866
+ Instruction::F64x2Sub => sink.f64x2_sub(),
1867
+ Instruction::F64x2Mul => sink.f64x2_mul(),
1868
+ Instruction::F64x2Div => sink.f64x2_div(),
1869
+ Instruction::F64x2Min => sink.f64x2_min(),
1870
+ Instruction::F64x2Max => sink.f64x2_max(),
1871
+ Instruction::F64x2PMin => sink.f64x2_pmin(),
1872
+ Instruction::F64x2PMax => sink.f64x2_pmax(),
1873
+ Instruction::I32x4TruncSatF32x4S => sink.i32x4_trunc_sat_f32x4_s(),
1874
+ Instruction::I32x4TruncSatF32x4U => sink.i32x4_trunc_sat_f32x4_u(),
1875
+ Instruction::F32x4ConvertI32x4S => sink.f32x4_convert_i32x4_s(),
1876
+ Instruction::F32x4ConvertI32x4U => sink.f32x4_convert_i32x4_u(),
1877
+ Instruction::I32x4TruncSatF64x2SZero => sink.i32x4_trunc_sat_f64x2_s_zero(),
1878
+ Instruction::I32x4TruncSatF64x2UZero => sink.i32x4_trunc_sat_f64x2_u_zero(),
1879
+ Instruction::F64x2ConvertLowI32x4S => sink.f64x2_convert_low_i32x4_s(),
1880
+ Instruction::F64x2ConvertLowI32x4U => sink.f64x2_convert_low_i32x4_u(),
1881
+ Instruction::F32x4DemoteF64x2Zero => sink.f32x4_demote_f64x2_zero(),
1882
+ Instruction::F64x2PromoteLowF32x4 => sink.f64x2_promote_low_f32x4(),
1883
+ Instruction::V128Load32Zero(memarg) => sink.v128_load32_zero(memarg),
1884
+ Instruction::V128Load64Zero(memarg) => sink.v128_load64_zero(memarg),
1885
+ Instruction::V128Load8Lane { memarg, lane } => sink.v128_load8_lane(memarg, lane),
1886
+ Instruction::V128Load16Lane { memarg, lane } => sink.v128_load16_lane(memarg, lane),
1887
+ Instruction::V128Load32Lane { memarg, lane } => sink.v128_load32_lane(memarg, lane),
1888
+ Instruction::V128Load64Lane { memarg, lane } => sink.v128_load64_lane(memarg, lane),
1889
+ Instruction::V128Store8Lane { memarg, lane } => sink.v128_store8_lane(memarg, lane),
1890
+ Instruction::V128Store16Lane { memarg, lane } => sink.v128_store16_lane(memarg, lane),
1891
+ Instruction::V128Store32Lane { memarg, lane } => sink.v128_store32_lane(memarg, lane),
1892
+ Instruction::V128Store64Lane { memarg, lane } => sink.v128_store64_lane(memarg, lane),
1893
+ Instruction::I64x2Eq => sink.i64x2_eq(),
1894
+ Instruction::I64x2Ne => sink.i64x2_ne(),
1895
+ Instruction::I64x2LtS => sink.i64x2_lt_s(),
1896
+ Instruction::I64x2GtS => sink.i64x2_gt_s(),
1897
+ Instruction::I64x2LeS => sink.i64x2_le_s(),
1898
+ Instruction::I64x2GeS => sink.i64x2_ge_s(),
1899
+ Instruction::I8x16RelaxedSwizzle => sink.i8x16_relaxed_swizzle(),
1900
+ Instruction::I32x4RelaxedTruncF32x4S => sink.i32x4_relaxed_trunc_f32x4_s(),
1901
+ Instruction::I32x4RelaxedTruncF32x4U => sink.i32x4_relaxed_trunc_f32x4_u(),
1902
+ Instruction::I32x4RelaxedTruncF64x2SZero => sink.i32x4_relaxed_trunc_f64x2_s_zero(),
1903
+ Instruction::I32x4RelaxedTruncF64x2UZero => sink.i32x4_relaxed_trunc_f64x2_u_zero(),
1904
+ Instruction::F32x4RelaxedMadd => sink.f32x4_relaxed_madd(),
1905
+ Instruction::F32x4RelaxedNmadd => sink.f32x4_relaxed_nmadd(),
1906
+ Instruction::F64x2RelaxedMadd => sink.f64x2_relaxed_madd(),
1907
+ Instruction::F64x2RelaxedNmadd => sink.f64x2_relaxed_nmadd(),
1908
+ Instruction::I8x16RelaxedLaneselect => sink.i8x16_relaxed_laneselect(),
1909
+ Instruction::I16x8RelaxedLaneselect => sink.i16x8_relaxed_laneselect(),
1910
+ Instruction::I32x4RelaxedLaneselect => sink.i32x4_relaxed_laneselect(),
1911
+ Instruction::I64x2RelaxedLaneselect => sink.i64x2_relaxed_laneselect(),
1912
+ Instruction::F32x4RelaxedMin => sink.f32x4_relaxed_min(),
1913
+ Instruction::F32x4RelaxedMax => sink.f32x4_relaxed_max(),
1914
+ Instruction::F64x2RelaxedMin => sink.f64x2_relaxed_min(),
1915
+ Instruction::F64x2RelaxedMax => sink.f64x2_relaxed_max(),
1916
+ Instruction::I16x8RelaxedQ15mulrS => sink.i16x8_relaxed_q15mulr_s(),
1917
+ Instruction::I16x8RelaxedDotI8x16I7x16S => sink.i16x8_relaxed_dot_i8x16_i7x16_s(),
1918
+ Instruction::I32x4RelaxedDotI8x16I7x16AddS => {
1919
+ sink.i32x4_relaxed_dot_i8x16_i7x16_add_s()
1920
+ }
1921
+
1922
+ // Atomic instructions from the thread proposal
1923
+ Instruction::MemoryAtomicNotify(memarg) => sink.memory_atomic_notify(memarg),
1924
+ Instruction::MemoryAtomicWait32(memarg) => sink.memory_atomic_wait32(memarg),
1925
+ Instruction::MemoryAtomicWait64(memarg) => sink.memory_atomic_wait64(memarg),
1926
+ Instruction::AtomicFence => sink.atomic_fence(),
1927
+ Instruction::I32AtomicLoad(memarg) => sink.i32_atomic_load(memarg),
1928
+ Instruction::I64AtomicLoad(memarg) => sink.i64_atomic_load(memarg),
1929
+ Instruction::I32AtomicLoad8U(memarg) => sink.i32_atomic_load8_u(memarg),
1930
+ Instruction::I32AtomicLoad16U(memarg) => sink.i32_atomic_load16_u(memarg),
1931
+ Instruction::I64AtomicLoad8U(memarg) => sink.i64_atomic_load8_u(memarg),
1932
+ Instruction::I64AtomicLoad16U(memarg) => sink.i64_atomic_load16_u(memarg),
1933
+ Instruction::I64AtomicLoad32U(memarg) => sink.i64_atomic_load32_u(memarg),
1934
+ Instruction::I32AtomicStore(memarg) => sink.i32_atomic_store(memarg),
1935
+ Instruction::I64AtomicStore(memarg) => sink.i64_atomic_store(memarg),
1936
+ Instruction::I32AtomicStore8(memarg) => sink.i32_atomic_store8(memarg),
1937
+ Instruction::I32AtomicStore16(memarg) => sink.i32_atomic_store16(memarg),
1938
+ Instruction::I64AtomicStore8(memarg) => sink.i64_atomic_store8(memarg),
1939
+ Instruction::I64AtomicStore16(memarg) => sink.i64_atomic_store16(memarg),
1940
+ Instruction::I64AtomicStore32(memarg) => sink.i64_atomic_store32(memarg),
1941
+ Instruction::I32AtomicRmwAdd(memarg) => sink.i32_atomic_rmw_add(memarg),
1942
+ Instruction::I64AtomicRmwAdd(memarg) => sink.i64_atomic_rmw_add(memarg),
1943
+ Instruction::I32AtomicRmw8AddU(memarg) => sink.i32_atomic_rmw8_add_u(memarg),
1944
+ Instruction::I32AtomicRmw16AddU(memarg) => sink.i32_atomic_rmw16_add_u(memarg),
1945
+ Instruction::I64AtomicRmw8AddU(memarg) => sink.i64_atomic_rmw8_add_u(memarg),
1946
+ Instruction::I64AtomicRmw16AddU(memarg) => sink.i64_atomic_rmw16_add_u(memarg),
1947
+ Instruction::I64AtomicRmw32AddU(memarg) => sink.i64_atomic_rmw32_add_u(memarg),
1948
+ Instruction::I32AtomicRmwSub(memarg) => sink.i32_atomic_rmw_sub(memarg),
1949
+ Instruction::I64AtomicRmwSub(memarg) => sink.i64_atomic_rmw_sub(memarg),
1950
+ Instruction::I32AtomicRmw8SubU(memarg) => sink.i32_atomic_rmw8_sub_u(memarg),
1951
+ Instruction::I32AtomicRmw16SubU(memarg) => sink.i32_atomic_rmw16_sub_u(memarg),
1952
+ Instruction::I64AtomicRmw8SubU(memarg) => sink.i64_atomic_rmw8_sub_u(memarg),
1953
+ Instruction::I64AtomicRmw16SubU(memarg) => sink.i64_atomic_rmw16_sub_u(memarg),
1954
+ Instruction::I64AtomicRmw32SubU(memarg) => sink.i64_atomic_rmw32_sub_u(memarg),
1955
+ Instruction::I32AtomicRmwAnd(memarg) => sink.i32_atomic_rmw_and(memarg),
1956
+ Instruction::I64AtomicRmwAnd(memarg) => sink.i64_atomic_rmw_and(memarg),
1957
+ Instruction::I32AtomicRmw8AndU(memarg) => sink.i32_atomic_rmw8_and_u(memarg),
1958
+ Instruction::I32AtomicRmw16AndU(memarg) => sink.i32_atomic_rmw16_and_u(memarg),
1959
+ Instruction::I64AtomicRmw8AndU(memarg) => sink.i64_atomic_rmw8_and_u(memarg),
1960
+ Instruction::I64AtomicRmw16AndU(memarg) => sink.i64_atomic_rmw16_and_u(memarg),
1961
+ Instruction::I64AtomicRmw32AndU(memarg) => sink.i64_atomic_rmw32_and_u(memarg),
1962
+ Instruction::I32AtomicRmwOr(memarg) => sink.i32_atomic_rmw_or(memarg),
1963
+ Instruction::I64AtomicRmwOr(memarg) => sink.i64_atomic_rmw_or(memarg),
1964
+ Instruction::I32AtomicRmw8OrU(memarg) => sink.i32_atomic_rmw8_or_u(memarg),
1965
+ Instruction::I32AtomicRmw16OrU(memarg) => sink.i32_atomic_rmw16_or_u(memarg),
1966
+ Instruction::I64AtomicRmw8OrU(memarg) => sink.i64_atomic_rmw8_or_u(memarg),
1967
+ Instruction::I64AtomicRmw16OrU(memarg) => sink.i64_atomic_rmw16_or_u(memarg),
1968
+ Instruction::I64AtomicRmw32OrU(memarg) => sink.i64_atomic_rmw32_or_u(memarg),
1969
+ Instruction::I32AtomicRmwXor(memarg) => sink.i32_atomic_rmw_xor(memarg),
1970
+ Instruction::I64AtomicRmwXor(memarg) => sink.i64_atomic_rmw_xor(memarg),
1971
+ Instruction::I32AtomicRmw8XorU(memarg) => sink.i32_atomic_rmw8_xor_u(memarg),
1972
+ Instruction::I32AtomicRmw16XorU(memarg) => sink.i32_atomic_rmw16_xor_u(memarg),
1973
+ Instruction::I64AtomicRmw8XorU(memarg) => sink.i64_atomic_rmw8_xor_u(memarg),
1974
+ Instruction::I64AtomicRmw16XorU(memarg) => sink.i64_atomic_rmw16_xor_u(memarg),
1975
+ Instruction::I64AtomicRmw32XorU(memarg) => sink.i64_atomic_rmw32_xor_u(memarg),
1976
+ Instruction::I32AtomicRmwXchg(memarg) => sink.i32_atomic_rmw_xchg(memarg),
1977
+ Instruction::I64AtomicRmwXchg(memarg) => sink.i64_atomic_rmw_xchg(memarg),
1978
+ Instruction::I32AtomicRmw8XchgU(memarg) => sink.i32_atomic_rmw8_xchg_u(memarg),
1979
+ Instruction::I32AtomicRmw16XchgU(memarg) => sink.i32_atomic_rmw16_xchg_u(memarg),
1980
+ Instruction::I64AtomicRmw8XchgU(memarg) => sink.i64_atomic_rmw8_xchg_u(memarg),
1981
+ Instruction::I64AtomicRmw16XchgU(memarg) => sink.i64_atomic_rmw16_xchg_u(memarg),
1982
+ Instruction::I64AtomicRmw32XchgU(memarg) => sink.i64_atomic_rmw32_xchg_u(memarg),
1983
+ Instruction::I32AtomicRmwCmpxchg(memarg) => sink.i32_atomic_rmw_cmpxchg(memarg),
1984
+ Instruction::I64AtomicRmwCmpxchg(memarg) => sink.i64_atomic_rmw_cmpxchg(memarg),
1985
+ Instruction::I32AtomicRmw8CmpxchgU(memarg) => sink.i32_atomic_rmw8_cmpxchg_u(memarg),
1986
+ Instruction::I32AtomicRmw16CmpxchgU(memarg) => sink.i32_atomic_rmw16_cmpxchg_u(memarg),
1987
+ Instruction::I64AtomicRmw8CmpxchgU(memarg) => sink.i64_atomic_rmw8_cmpxchg_u(memarg),
1988
+ Instruction::I64AtomicRmw16CmpxchgU(memarg) => sink.i64_atomic_rmw16_cmpxchg_u(memarg),
1989
+ Instruction::I64AtomicRmw32CmpxchgU(memarg) => sink.i64_atomic_rmw32_cmpxchg_u(memarg),
1990
+
1991
+ // Atomic instructions from the shared-everything-threads proposal
1992
+ Instruction::GlobalAtomicGet {
1993
+ ordering,
1994
+ global_index,
1995
+ } => sink.global_atomic_get(ordering, global_index),
1996
+ Instruction::GlobalAtomicSet {
1997
+ ordering,
1998
+ global_index,
1999
+ } => sink.global_atomic_set(ordering, global_index),
2000
+ Instruction::GlobalAtomicRmwAdd {
2001
+ ordering,
2002
+ global_index,
2003
+ } => sink.global_atomic_rmw_add(ordering, global_index),
2004
+ Instruction::GlobalAtomicRmwSub {
2005
+ ordering,
2006
+ global_index,
2007
+ } => sink.global_atomic_rmw_sub(ordering, global_index),
2008
+ Instruction::GlobalAtomicRmwAnd {
2009
+ ordering,
2010
+ global_index,
2011
+ } => sink.global_atomic_rmw_and(ordering, global_index),
2012
+ Instruction::GlobalAtomicRmwOr {
2013
+ ordering,
2014
+ global_index,
2015
+ } => sink.global_atomic_rmw_or(ordering, global_index),
2016
+ Instruction::GlobalAtomicRmwXor {
2017
+ ordering,
2018
+ global_index,
2019
+ } => sink.global_atomic_rmw_xor(ordering, global_index),
2020
+ Instruction::GlobalAtomicRmwXchg {
2021
+ ordering,
2022
+ global_index,
2023
+ } => sink.global_atomic_rmw_xchg(ordering, global_index),
2024
+ Instruction::GlobalAtomicRmwCmpxchg {
2025
+ ordering,
2026
+ global_index,
2027
+ } => sink.global_atomic_rmw_cmpxchg(ordering, global_index),
2028
+ Instruction::TableAtomicGet {
2029
+ ordering,
2030
+ table_index,
2031
+ } => sink.table_atomic_get(ordering, table_index),
2032
+ Instruction::TableAtomicSet {
2033
+ ordering,
2034
+ table_index,
2035
+ } => sink.table_atomic_set(ordering, table_index),
2036
+ Instruction::TableAtomicRmwXchg {
2037
+ ordering,
2038
+ table_index,
2039
+ } => sink.table_atomic_rmw_xchg(ordering, table_index),
2040
+ Instruction::TableAtomicRmwCmpxchg {
2041
+ ordering,
2042
+ table_index,
2043
+ } => sink.table_atomic_rmw_cmpxchg(ordering, table_index),
2044
+ Instruction::StructAtomicGet {
2045
+ ordering,
2046
+ struct_type_index,
2047
+ field_index,
2048
+ } => sink.struct_atomic_get(ordering, struct_type_index, field_index),
2049
+ Instruction::StructAtomicGetS {
2050
+ ordering,
2051
+ struct_type_index,
2052
+ field_index,
2053
+ } => sink.struct_atomic_get_s(ordering, struct_type_index, field_index),
2054
+ Instruction::StructAtomicGetU {
2055
+ ordering,
2056
+ struct_type_index,
2057
+ field_index,
2058
+ } => sink.struct_atomic_get_u(ordering, struct_type_index, field_index),
2059
+ Instruction::StructAtomicSet {
2060
+ ordering,
2061
+ struct_type_index,
2062
+ field_index,
2063
+ } => sink.struct_atomic_set(ordering, struct_type_index, field_index),
2064
+ Instruction::StructAtomicRmwAdd {
2065
+ ordering,
2066
+ struct_type_index,
2067
+ field_index,
2068
+ } => sink.struct_atomic_rmw_add(ordering, struct_type_index, field_index),
2069
+ Instruction::StructAtomicRmwSub {
2070
+ ordering,
2071
+ struct_type_index,
2072
+ field_index,
2073
+ } => sink.struct_atomic_rmw_sub(ordering, struct_type_index, field_index),
2074
+ Instruction::StructAtomicRmwAnd {
2075
+ ordering,
2076
+ struct_type_index,
2077
+ field_index,
2078
+ } => sink.struct_atomic_rmw_and(ordering, struct_type_index, field_index),
2079
+ Instruction::StructAtomicRmwOr {
2080
+ ordering,
2081
+ struct_type_index,
2082
+ field_index,
2083
+ } => sink.struct_atomic_rmw_or(ordering, struct_type_index, field_index),
2084
+ Instruction::StructAtomicRmwXor {
2085
+ ordering,
2086
+ struct_type_index,
2087
+ field_index,
2088
+ } => sink.struct_atomic_rmw_xor(ordering, struct_type_index, field_index),
2089
+ Instruction::StructAtomicRmwXchg {
2090
+ ordering,
2091
+ struct_type_index,
2092
+ field_index,
2093
+ } => sink.struct_atomic_rmw_xchg(ordering, struct_type_index, field_index),
2094
+ Instruction::StructAtomicRmwCmpxchg {
2095
+ ordering,
2096
+ struct_type_index,
2097
+ field_index,
2098
+ } => sink.struct_atomic_rmw_cmpxchg(ordering, struct_type_index, field_index),
2099
+ Instruction::ArrayAtomicGet {
2100
+ ordering,
2101
+ array_type_index,
2102
+ } => sink.array_atomic_get(ordering, array_type_index),
2103
+ Instruction::ArrayAtomicGetS {
2104
+ ordering,
2105
+ array_type_index,
2106
+ } => sink.array_atomic_get_s(ordering, array_type_index),
2107
+ Instruction::ArrayAtomicGetU {
2108
+ ordering,
2109
+ array_type_index,
2110
+ } => sink.array_atomic_get_u(ordering, array_type_index),
2111
+ Instruction::ArrayAtomicSet {
2112
+ ordering,
2113
+ array_type_index,
2114
+ } => sink.array_atomic_set(ordering, array_type_index),
2115
+ Instruction::ArrayAtomicRmwAdd {
2116
+ ordering,
2117
+ array_type_index,
2118
+ } => sink.array_atomic_rmw_add(ordering, array_type_index),
2119
+ Instruction::ArrayAtomicRmwSub {
2120
+ ordering,
2121
+ array_type_index,
2122
+ } => sink.array_atomic_rmw_sub(ordering, array_type_index),
2123
+ Instruction::ArrayAtomicRmwAnd {
2124
+ ordering,
2125
+ array_type_index,
2126
+ } => sink.array_atomic_rmw_and(ordering, array_type_index),
2127
+ Instruction::ArrayAtomicRmwOr {
2128
+ ordering,
2129
+ array_type_index,
2130
+ } => sink.array_atomic_rmw_or(ordering, array_type_index),
2131
+ Instruction::ArrayAtomicRmwXor {
2132
+ ordering,
2133
+ array_type_index,
2134
+ } => sink.array_atomic_rmw_xor(ordering, array_type_index),
2135
+ Instruction::ArrayAtomicRmwXchg {
2136
+ ordering,
2137
+ array_type_index,
2138
+ } => sink.array_atomic_rmw_xchg(ordering, array_type_index),
2139
+ Instruction::ArrayAtomicRmwCmpxchg {
2140
+ ordering,
2141
+ array_type_index,
2142
+ } => sink.array_atomic_rmw_cmpxchg(ordering, array_type_index),
2143
+ Instruction::RefI31Shared => sink.ref_i31_shared(),
2144
+ Instruction::ContNew(type_index) => sink.cont_new(type_index),
2145
+ Instruction::ContBind {
2146
+ argument_index,
2147
+ result_index,
2148
+ } => sink.cont_bind(argument_index, result_index),
2149
+ Instruction::Suspend(tag_index) => sink.suspend(tag_index),
2150
+ Instruction::Resume {
2151
+ cont_type_index,
2152
+ ref resume_table,
2153
+ } => sink.resume(cont_type_index, resume_table.iter().cloned()),
2154
+ Instruction::ResumeThrow {
2155
+ cont_type_index,
2156
+ tag_index,
2157
+ ref resume_table,
2158
+ } => sink.resume_throw(cont_type_index, tag_index, resume_table.iter().cloned()),
2159
+ Instruction::Switch {
2160
+ cont_type_index,
2161
+ tag_index,
2162
+ } => sink.switch(cont_type_index, tag_index),
2163
+ Instruction::I64Add128 => sink.i64_add128(),
2164
+ Instruction::I64Sub128 => sink.i64_sub128(),
2165
+ Instruction::I64MulWideS => sink.i64_mul_wide_s(),
2166
+ Instruction::I64MulWideU => sink.i64_mul_wide_u(),
2167
+ Instruction::RefGetDesc(type_index) => sink.ref_get_desc(type_index),
2168
+ Instruction::RefCastDescNonNull(hty) => sink.ref_cast_desc_non_null(hty),
2169
+ Instruction::RefCastDescNullable(hty) => sink.ref_cast_desc_nullable(hty),
2170
+ Instruction::BrOnCastDesc {
2171
+ relative_depth,
2172
+ from_ref_type,
2173
+ to_ref_type,
2174
+ } => sink.br_on_cast_desc(relative_depth, from_ref_type, to_ref_type),
2175
+ Instruction::BrOnCastDescFail {
2176
+ relative_depth,
2177
+ from_ref_type,
2178
+ to_ref_type,
2179
+ } => sink.br_on_cast_desc_fail(relative_depth, from_ref_type, to_ref_type),
2180
+ };
2181
+ }
2182
+ }
2183
+
2184
+ #[derive(Clone, Debug)]
2185
+ #[allow(missing_docs)]
2186
+ pub enum Catch {
2187
+ One { tag: u32, label: u32 },
2188
+ OneRef { tag: u32, label: u32 },
2189
+ All { label: u32 },
2190
+ AllRef { label: u32 },
2191
+ }
2192
+
2193
+ impl Encode for Catch {
2194
+ fn encode(&self, sink: &mut Vec<u8>) {
2195
+ match self {
2196
+ Catch::One { tag, label } => {
2197
+ sink.push(0x00);
2198
+ tag.encode(sink);
2199
+ label.encode(sink);
2200
+ }
2201
+ Catch::OneRef { tag, label } => {
2202
+ sink.push(0x01);
2203
+ tag.encode(sink);
2204
+ label.encode(sink);
2205
+ }
2206
+ Catch::All { label } => {
2207
+ sink.push(0x02);
2208
+ label.encode(sink);
2209
+ }
2210
+ Catch::AllRef { label } => {
2211
+ sink.push(0x03);
2212
+ label.encode(sink);
2213
+ }
2214
+ }
2215
+ }
2216
+ }
2217
+
2218
+ #[derive(Clone, Debug)]
2219
+ #[allow(missing_docs)]
2220
+ pub enum Handle {
2221
+ OnLabel { tag: u32, label: u32 },
2222
+ OnSwitch { tag: u32 },
2223
+ }
2224
+
2225
+ impl Encode for Handle {
2226
+ fn encode(&self, sink: &mut Vec<u8>) {
2227
+ match self {
2228
+ Handle::OnLabel { tag, label } => {
2229
+ sink.push(0x00);
2230
+ tag.encode(sink);
2231
+ label.encode(sink);
2232
+ }
2233
+ Handle::OnSwitch { tag } => {
2234
+ sink.push(0x01);
2235
+ tag.encode(sink);
2236
+ }
2237
+ }
2238
+ }
2239
+ }
2240
+
2241
+ /// A constant expression.
2242
+ ///
2243
+ /// Usable in contexts such as offsets or initializers.
2244
+ #[derive(Clone, Debug)]
2245
+ pub struct ConstExpr {
2246
+ bytes: Vec<u8>,
2247
+ }
2248
+
2249
+ impl ConstExpr {
2250
+ /// Create a new empty constant expression builder.
2251
+ pub fn empty() -> Self {
2252
+ Self { bytes: Vec::new() }
2253
+ }
2254
+
2255
+ /// Create a constant expression with the specified raw encoding of instructions.
2256
+ pub fn raw(bytes: impl IntoIterator<Item = u8>) -> Self {
2257
+ Self {
2258
+ bytes: bytes.into_iter().collect(),
2259
+ }
2260
+ }
2261
+
2262
+ /// Create a constant expression with the sequence of instructions
2263
+ pub fn extended<'a>(insns: impl IntoIterator<Item = Instruction<'a>>) -> Self {
2264
+ let mut bytes = vec![];
2265
+ for insn in insns {
2266
+ insn.encode(&mut bytes);
2267
+ }
2268
+ Self { bytes }
2269
+ }
2270
+
2271
+ fn new<F>(f: F) -> Self
2272
+ where
2273
+ for<'a, 'b> F: FnOnce(&'a mut InstructionSink<'b>) -> &'a mut InstructionSink<'b>,
2274
+ {
2275
+ let mut bytes = vec![];
2276
+ f(&mut InstructionSink::new(&mut bytes));
2277
+ Self { bytes }
2278
+ }
2279
+
2280
+ fn with<F>(mut self, f: F) -> Self
2281
+ where
2282
+ for<'a, 'b> F: FnOnce(&'a mut InstructionSink<'b>) -> &'a mut InstructionSink<'b>,
2283
+ {
2284
+ f(&mut InstructionSink::new(&mut self.bytes));
2285
+ self
2286
+ }
2287
+
2288
+ /// Create a constant expression containing a single `global.get` instruction.
2289
+ pub fn global_get(index: u32) -> Self {
2290
+ Self::new(|insn| insn.global_get(index))
2291
+ }
2292
+
2293
+ /// Create a constant expression containing a single `ref.null` instruction.
2294
+ pub fn ref_null(ty: HeapType) -> Self {
2295
+ Self::new(|insn| insn.ref_null(ty))
2296
+ }
2297
+
2298
+ /// Create a constant expression containing a single `ref.func` instruction.
2299
+ pub fn ref_func(func: u32) -> Self {
2300
+ Self::new(|insn| insn.ref_func(func))
2301
+ }
2302
+
2303
+ /// Create a constant expression containing a single `i32.const` instruction.
2304
+ pub fn i32_const(value: i32) -> Self {
2305
+ Self::new(|insn| insn.i32_const(value))
2306
+ }
2307
+
2308
+ /// Create a constant expression containing a single `i64.const` instruction.
2309
+ pub fn i64_const(value: i64) -> Self {
2310
+ Self::new(|insn| insn.i64_const(value))
2311
+ }
2312
+
2313
+ /// Create a constant expression containing a single `f32.const` instruction.
2314
+ pub fn f32_const(value: Ieee32) -> Self {
2315
+ Self::new(|insn| insn.f32_const(value))
2316
+ }
2317
+
2318
+ /// Create a constant expression containing a single `f64.const` instruction.
2319
+ pub fn f64_const(value: Ieee64) -> Self {
2320
+ Self::new(|insn| insn.f64_const(value))
2321
+ }
2322
+
2323
+ /// Create a constant expression containing a single `v128.const` instruction.
2324
+ pub fn v128_const(value: i128) -> Self {
2325
+ Self::new(|insn| insn.v128_const(value))
2326
+ }
2327
+
2328
+ /// Add a `global.get` instruction to this constant expression.
2329
+ pub fn with_global_get(self, index: u32) -> Self {
2330
+ self.with(|insn| insn.global_get(index))
2331
+ }
2332
+
2333
+ /// Add a `ref.null` instruction to this constant expression.
2334
+ pub fn with_ref_null(self, ty: HeapType) -> Self {
2335
+ self.with(|insn| insn.ref_null(ty))
2336
+ }
2337
+
2338
+ /// Add a `ref.func` instruction to this constant expression.
2339
+ pub fn with_ref_func(self, func: u32) -> Self {
2340
+ self.with(|insn| insn.ref_func(func))
2341
+ }
2342
+
2343
+ /// Add an `i32.const` instruction to this constant expression.
2344
+ pub fn with_i32_const(self, value: i32) -> Self {
2345
+ self.with(|insn| insn.i32_const(value))
2346
+ }
2347
+
2348
+ /// Add an `i64.const` instruction to this constant expression.
2349
+ pub fn with_i64_const(self, value: i64) -> Self {
2350
+ self.with(|insn| insn.i64_const(value))
2351
+ }
2352
+
2353
+ /// Add a `f32.const` instruction to this constant expression.
2354
+ pub fn with_f32_const(self, value: Ieee32) -> Self {
2355
+ self.with(|insn| insn.f32_const(value))
2356
+ }
2357
+
2358
+ /// Add a `f64.const` instruction to this constant expression.
2359
+ pub fn with_f64_const(self, value: Ieee64) -> Self {
2360
+ self.with(|insn| insn.f64_const(value))
2361
+ }
2362
+
2363
+ /// Add a `v128.const` instruction to this constant expression.
2364
+ pub fn with_v128_const(self, value: i128) -> Self {
2365
+ self.with(|insn| insn.v128_const(value))
2366
+ }
2367
+
2368
+ /// Add an `i32.add` instruction to this constant expression.
2369
+ pub fn with_i32_add(self) -> Self {
2370
+ self.with(|insn| insn.i32_add())
2371
+ }
2372
+
2373
+ /// Add an `i32.sub` instruction to this constant expression.
2374
+ pub fn with_i32_sub(self) -> Self {
2375
+ self.with(|insn| insn.i32_sub())
2376
+ }
2377
+
2378
+ /// Add an `i32.mul` instruction to this constant expression.
2379
+ pub fn with_i32_mul(self) -> Self {
2380
+ self.with(|insn| insn.i32_mul())
2381
+ }
2382
+
2383
+ /// Add an `i64.add` instruction to this constant expression.
2384
+ pub fn with_i64_add(self) -> Self {
2385
+ self.with(|insn| insn.i64_add())
2386
+ }
2387
+
2388
+ /// Add an `i64.sub` instruction to this constant expression.
2389
+ pub fn with_i64_sub(self) -> Self {
2390
+ self.with(|insn| insn.i64_sub())
2391
+ }
2392
+
2393
+ /// Add an `i64.mul` instruction to this constant expression.
2394
+ pub fn with_i64_mul(self) -> Self {
2395
+ self.with(|insn| insn.i64_mul())
2396
+ }
2397
+
2398
+ /// Returns the function, if any, referenced by this global.
2399
+ pub fn get_ref_func(&self) -> Option<u32> {
2400
+ let prefix = *self.bytes.get(0)?;
2401
+ // 0xd2 == `ref.func` opcode, and if that's found then load the leb
2402
+ // corresponding to the function index.
2403
+ if prefix != 0xd2 {
2404
+ return None;
2405
+ }
2406
+ leb128fmt::decode_uint_slice::<u32, 32>(&self.bytes[1..], &mut 0).ok()
2407
+ }
2408
+ }
2409
+
2410
+ impl Encode for ConstExpr {
2411
+ fn encode(&self, sink: &mut Vec<u8>) {
2412
+ sink.extend(&self.bytes);
2413
+ InstructionSink::new(sink).end();
2414
+ }
2415
+ }
2416
+
2417
+ #[cfg(test)]
2418
+ mod tests {
2419
+ #[test]
2420
+ fn function_new_with_locals_test() {
2421
+ use super::*;
2422
+
2423
+ // Test the algorithm for conversion is correct
2424
+ let f1 = Function::new_with_locals_types([
2425
+ ValType::I32,
2426
+ ValType::I32,
2427
+ ValType::I64,
2428
+ ValType::F32,
2429
+ ValType::F32,
2430
+ ValType::F32,
2431
+ ValType::I32,
2432
+ ValType::I64,
2433
+ ValType::I64,
2434
+ ]);
2435
+ let f2 = Function::new([
2436
+ (2, ValType::I32),
2437
+ (1, ValType::I64),
2438
+ (3, ValType::F32),
2439
+ (1, ValType::I32),
2440
+ (2, ValType::I64),
2441
+ ]);
2442
+
2443
+ assert_eq!(f1.bytes, f2.bytes)
2444
+ }
2445
+
2446
+ #[test]
2447
+ fn func_raw_bytes() {
2448
+ use super::*;
2449
+
2450
+ let mut f = Function::new([(1, ValType::I32), (1, ValType::F32)]);
2451
+ f.instructions().end();
2452
+ let mut code_from_func = CodeSection::new();
2453
+ code_from_func.function(&f);
2454
+ let bytes = f.into_raw_body();
2455
+ let mut code_from_raw = CodeSection::new();
2456
+ code_from_raw.raw(&bytes[..]);
2457
+
2458
+ let mut c1 = vec![];
2459
+ code_from_func.encode(&mut c1);
2460
+ let mut c2 = vec![];
2461
+ code_from_raw.encode(&mut c2);
2462
+ assert_eq!(c1, c2);
2463
+ }
2464
+ }