wasmtime 9.0.4 → 10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1933) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +184 -101
  3. data/ext/Cargo.toml +6 -6
  4. data/ext/build.rs +2 -2
  5. data/ext/cargo-vendor/cranelift-bforest-0.97.1/.cargo-checksum.json +1 -0
  6. data/ext/cargo-vendor/cranelift-bforest-0.97.1/Cargo.toml +31 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.97.1/.cargo-checksum.json +1 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.97.1/Cargo.toml +158 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.97.1/benches/x64-evex-encoding.rs +52 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/ir/trapcode.rs +144 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/abi.rs +1294 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/emit.rs +3684 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/emit_tests.rs +7895 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/imms.rs +1210 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/mod.rs +2966 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst.isle +4037 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/lower/isle.rs +816 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/lower.isle +2906 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/mod.rs +238 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/mod.rs +424 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/abi.rs +825 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/args.rs +1812 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/emit.rs +3008 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/emit_tests.rs +2338 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/encode.rs +262 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/imms.rs +250 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/mod.rs +1963 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/regs.rs +223 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/unwind/systemv.rs +174 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/vector.rs +669 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst.isle +2915 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst_vector.isle +760 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/lower/isle.rs +553 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/lower.isle +1409 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/mod.rs +216 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/abi.rs +957 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst/emit.rs +3707 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst/emit_tests.rs +13409 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst/mod.rs +3426 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst.isle +5046 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/lower.isle +3991 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/mod.rs +213 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/abi.rs +985 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/encoding/evex.rs +749 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/encoding/rex.rs +588 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/encoding/vex.rs +492 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/args.rs +2193 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/emit.rs +4090 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/emit_tests.rs +5674 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/mod.rs +2667 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst.isle +5104 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/lower/isle.rs +1148 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/lower.isle +4481 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/lower.rs +328 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/mod.rs +251 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isle_prelude.rs +862 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/abi.rs +2455 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/buffer.rs +2277 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/compile.rs +92 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/isle.rs +827 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/lower.rs +1388 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/mod.rs +549 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/reg.rs +537 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/vcode.rs +1580 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/prelude.isle +578 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/prelude_lower.isle +1012 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/settings.rs +600 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/verifier/mod.rs +1884 -0
  69. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/.cargo-checksum.json +1 -0
  70. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/Cargo.toml +23 -0
  71. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/src/isa/x86.rs +444 -0
  72. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/src/shared/settings.rs +348 -0
  73. data/ext/cargo-vendor/cranelift-codegen-shared-0.97.1/.cargo-checksum.json +1 -0
  74. data/ext/cargo-vendor/cranelift-codegen-shared-0.97.1/Cargo.toml +22 -0
  75. data/ext/cargo-vendor/cranelift-control-0.97.1/.cargo-checksum.json +1 -0
  76. data/ext/cargo-vendor/cranelift-control-0.97.1/Cargo.toml +30 -0
  77. data/ext/cargo-vendor/cranelift-control-0.97.1/src/chaos.rs +125 -0
  78. data/ext/cargo-vendor/cranelift-control-0.97.1/src/lib.rs +45 -0
  79. data/ext/cargo-vendor/cranelift-control-0.97.1/src/zero_sized.rs +53 -0
  80. data/ext/cargo-vendor/cranelift-entity-0.97.1/.cargo-checksum.json +1 -0
  81. data/ext/cargo-vendor/cranelift-entity-0.97.1/Cargo.toml +35 -0
  82. data/ext/cargo-vendor/cranelift-entity-0.97.1/src/list.rs +955 -0
  83. data/ext/cargo-vendor/cranelift-frontend-0.97.1/.cargo-checksum.json +1 -0
  84. data/ext/cargo-vendor/cranelift-frontend-0.97.1/Cargo.toml +53 -0
  85. data/ext/cargo-vendor/cranelift-isle-0.97.1/.cargo-checksum.json +1 -0
  86. data/ext/cargo-vendor/cranelift-isle-0.97.1/Cargo.toml +37 -0
  87. data/ext/cargo-vendor/cranelift-native-0.97.1/.cargo-checksum.json +1 -0
  88. data/ext/cargo-vendor/cranelift-native-0.97.1/Cargo.toml +38 -0
  89. data/ext/cargo-vendor/cranelift-native-0.97.1/src/lib.rs +215 -0
  90. data/ext/cargo-vendor/cranelift-wasm-0.97.1/.cargo-checksum.json +1 -0
  91. data/ext/cargo-vendor/cranelift-wasm-0.97.1/Cargo.toml +85 -0
  92. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/code_translator.rs +3538 -0
  93. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/environ/dummy.rs +924 -0
  94. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/environ/spec.rs +834 -0
  95. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/func_translator.rs +440 -0
  96. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/sections_translator.rs +417 -0
  97. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/translation_utils.rs +99 -0
  98. data/ext/cargo-vendor/encoding_rs-0.8.32/.cargo-checksum.json +1 -0
  99. data/ext/cargo-vendor/encoding_rs-0.8.32/CONTRIBUTING.md +48 -0
  100. data/ext/cargo-vendor/encoding_rs-0.8.32/COPYRIGHT +17 -0
  101. data/ext/cargo-vendor/encoding_rs-0.8.32/Cargo.toml +84 -0
  102. data/ext/cargo-vendor/encoding_rs-0.8.32/Ideas.md +106 -0
  103. data/ext/cargo-vendor/encoding_rs-0.8.32/LICENSE-APACHE +202 -0
  104. data/ext/cargo-vendor/encoding_rs-0.8.32/LICENSE-MIT +25 -0
  105. data/ext/cargo-vendor/encoding_rs-0.8.32/LICENSE-WHATWG +26 -0
  106. data/ext/cargo-vendor/encoding_rs-0.8.32/README.md +827 -0
  107. data/ext/cargo-vendor/encoding_rs-0.8.32/ci/miri.sh +14 -0
  108. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/Big5.txt +16 -0
  109. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/EUC-JP.txt +12 -0
  110. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/EUC-KR.txt +10 -0
  111. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/GBK.txt +16 -0
  112. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/IBM866.txt +8 -0
  113. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-2022-JP.txt +10 -0
  114. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-10.txt +8 -0
  115. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-13.txt +8 -0
  116. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-14.txt +8 -0
  117. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-15.txt +7 -0
  118. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-16.txt +8 -0
  119. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-2.txt +6 -0
  120. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-3.txt +6 -0
  121. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-4.txt +6 -0
  122. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-5.txt +6 -0
  123. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-6.txt +7 -0
  124. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-7.txt +11 -0
  125. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-8-I.txt +9 -0
  126. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-8.txt +9 -0
  127. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/KOI8-R.txt +6 -0
  128. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/KOI8-U.txt +6 -0
  129. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/Shift_JIS.txt +8 -0
  130. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/UTF-16BE.txt +8 -0
  131. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/UTF-16LE.txt +8 -0
  132. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/UTF-8.txt +5 -0
  133. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/gb18030.txt +9 -0
  134. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/macintosh.txt +7 -0
  135. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/replacement.txt +10 -0
  136. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1250.txt +6 -0
  137. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1251.txt +6 -0
  138. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1252.txt +7 -0
  139. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1253.txt +8 -0
  140. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1254.txt +7 -0
  141. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1255.txt +8 -0
  142. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1256.txt +6 -0
  143. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1257.txt +7 -0
  144. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1258.txt +11 -0
  145. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-874.txt +7 -0
  146. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/x-mac-cyrillic.txt +6 -0
  147. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/x-user-defined.txt +6 -0
  148. data/ext/cargo-vendor/encoding_rs-0.8.32/generate-encoding-data.py +2008 -0
  149. data/ext/cargo-vendor/encoding_rs-0.8.32/rustfmt.toml +1 -0
  150. data/ext/cargo-vendor/encoding_rs-0.8.32/src/ascii.rs +1546 -0
  151. data/ext/cargo-vendor/encoding_rs-0.8.32/src/big5.rs +427 -0
  152. data/ext/cargo-vendor/encoding_rs-0.8.32/src/data.rs +114378 -0
  153. data/ext/cargo-vendor/encoding_rs-0.8.32/src/euc_jp.rs +469 -0
  154. data/ext/cargo-vendor/encoding_rs-0.8.32/src/euc_kr.rs +442 -0
  155. data/ext/cargo-vendor/encoding_rs-0.8.32/src/gb18030.rs +767 -0
  156. data/ext/cargo-vendor/encoding_rs-0.8.32/src/handles.rs +1969 -0
  157. data/ext/cargo-vendor/encoding_rs-0.8.32/src/iso_2022_jp.rs +1068 -0
  158. data/ext/cargo-vendor/encoding_rs-0.8.32/src/lib.rs +6133 -0
  159. data/ext/cargo-vendor/encoding_rs-0.8.32/src/macros.rs +1622 -0
  160. data/ext/cargo-vendor/encoding_rs-0.8.32/src/mem.rs +3354 -0
  161. data/ext/cargo-vendor/encoding_rs-0.8.32/src/replacement.rs +104 -0
  162. data/ext/cargo-vendor/encoding_rs-0.8.32/src/shift_jis.rs +426 -0
  163. data/ext/cargo-vendor/encoding_rs-0.8.32/src/simd_funcs.rs +453 -0
  164. data/ext/cargo-vendor/encoding_rs-0.8.32/src/single_byte.rs +714 -0
  165. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_in.txt +19787 -0
  166. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_in_ref.txt +19787 -0
  167. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_out.txt +14601 -0
  168. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_out_ref.txt +14601 -0
  169. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_in.txt +23945 -0
  170. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_in_ref.txt +23945 -0
  171. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_out.txt +17053 -0
  172. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_out_ref.txt +17053 -0
  173. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_in.txt +23945 -0
  174. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_in_ref.txt +23945 -0
  175. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_out.txt +23944 -0
  176. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_out_ref.txt +23944 -0
  177. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_in.txt +8841 -0
  178. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_in_ref.txt +8841 -0
  179. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_out.txt +7404 -0
  180. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_out_ref.txt +7404 -0
  181. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_in.txt +8841 -0
  182. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_in_ref.txt +8841 -0
  183. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_out.txt +7341 -0
  184. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_out_ref.txt +7341 -0
  185. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0212_in.txt +8841 -0
  186. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0212_in_ref.txt +8841 -0
  187. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_in.txt +11285 -0
  188. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_in_ref.txt +11285 -0
  189. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_out.txt +7355 -0
  190. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_out_ref.txt +7355 -0
  191. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_labels_names.rs +242 -0
  192. data/ext/cargo-vendor/encoding_rs-0.8.32/src/testing.rs +262 -0
  193. data/ext/cargo-vendor/encoding_rs-0.8.32/src/utf_16.rs +472 -0
  194. data/ext/cargo-vendor/encoding_rs-0.8.32/src/utf_8.rs +1629 -0
  195. data/ext/cargo-vendor/encoding_rs-0.8.32/src/variant.rs +400 -0
  196. data/ext/cargo-vendor/encoding_rs-0.8.32/src/x_user_defined.rs +249 -0
  197. data/ext/cargo-vendor/equivalent-1.0.1/.cargo-checksum.json +1 -0
  198. data/ext/cargo-vendor/equivalent-1.0.1/Cargo.toml +27 -0
  199. data/ext/cargo-vendor/equivalent-1.0.1/LICENSE-APACHE +201 -0
  200. data/ext/cargo-vendor/equivalent-1.0.1/LICENSE-MIT +25 -0
  201. data/ext/cargo-vendor/equivalent-1.0.1/README.md +25 -0
  202. data/ext/cargo-vendor/equivalent-1.0.1/src/lib.rs +113 -0
  203. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/.cargo-checksum.json +1 -0
  204. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/Cargo.toml +36 -0
  205. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/run-tests.sh +12 -0
  206. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/src/lib.rs +200 -0
  207. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/tests/test.rs +323 -0
  208. data/ext/cargo-vendor/hashbrown-0.14.0/.cargo-checksum.json +1 -0
  209. data/ext/cargo-vendor/hashbrown-0.14.0/CHANGELOG.md +475 -0
  210. data/ext/cargo-vendor/hashbrown-0.14.0/Cargo.toml +131 -0
  211. data/ext/cargo-vendor/hashbrown-0.14.0/LICENSE-APACHE +201 -0
  212. data/ext/cargo-vendor/hashbrown-0.14.0/LICENSE-MIT +25 -0
  213. data/ext/cargo-vendor/hashbrown-0.14.0/README.md +125 -0
  214. data/ext/cargo-vendor/hashbrown-0.14.0/benches/bench.rs +331 -0
  215. data/ext/cargo-vendor/hashbrown-0.14.0/benches/insert_unique_unchecked.rs +32 -0
  216. data/ext/cargo-vendor/hashbrown-0.14.0/clippy.toml +1 -0
  217. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/mod.rs +6 -0
  218. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/helpers.rs +27 -0
  219. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/map.rs +731 -0
  220. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/mod.rs +4 -0
  221. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/raw.rs +231 -0
  222. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/set.rs +659 -0
  223. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rkyv/hash_map.rs +125 -0
  224. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rkyv/hash_set.rs +123 -0
  225. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rkyv/mod.rs +2 -0
  226. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/serde.rs +201 -0
  227. data/ext/cargo-vendor/hashbrown-0.14.0/src/lib.rs +165 -0
  228. data/ext/cargo-vendor/hashbrown-0.14.0/src/macros.rs +70 -0
  229. data/ext/cargo-vendor/hashbrown-0.14.0/src/map.rs +8506 -0
  230. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/alloc.rs +86 -0
  231. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/bitmask.rs +133 -0
  232. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/generic.rs +157 -0
  233. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/mod.rs +3378 -0
  234. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/neon.rs +124 -0
  235. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/sse2.rs +149 -0
  236. data/ext/cargo-vendor/hashbrown-0.14.0/src/rustc_entry.rs +630 -0
  237. data/ext/cargo-vendor/hashbrown-0.14.0/src/scopeguard.rs +72 -0
  238. data/ext/cargo-vendor/hashbrown-0.14.0/src/set.rs +2903 -0
  239. data/ext/cargo-vendor/hashbrown-0.14.0/tests/equivalent_trait.rs +53 -0
  240. data/ext/cargo-vendor/hashbrown-0.14.0/tests/hasher.rs +65 -0
  241. data/ext/cargo-vendor/hashbrown-0.14.0/tests/raw.rs +11 -0
  242. data/ext/cargo-vendor/hashbrown-0.14.0/tests/rayon.rs +535 -0
  243. data/ext/cargo-vendor/hashbrown-0.14.0/tests/serde.rs +65 -0
  244. data/ext/cargo-vendor/hashbrown-0.14.0/tests/set.rs +34 -0
  245. data/ext/cargo-vendor/indexmap-2.0.0/.cargo-checksum.json +1 -0
  246. data/ext/cargo-vendor/indexmap-2.0.0/Cargo.toml +112 -0
  247. data/ext/cargo-vendor/indexmap-2.0.0/LICENSE-APACHE +201 -0
  248. data/ext/cargo-vendor/indexmap-2.0.0/LICENSE-MIT +25 -0
  249. data/ext/cargo-vendor/indexmap-2.0.0/README.md +55 -0
  250. data/ext/cargo-vendor/indexmap-2.0.0/RELEASES.md +424 -0
  251. data/ext/cargo-vendor/indexmap-2.0.0/benches/bench.rs +763 -0
  252. data/ext/cargo-vendor/indexmap-2.0.0/benches/faststring.rs +185 -0
  253. data/ext/cargo-vendor/indexmap-2.0.0/src/arbitrary.rs +77 -0
  254. data/ext/cargo-vendor/indexmap-2.0.0/src/lib.rs +278 -0
  255. data/ext/cargo-vendor/indexmap-2.0.0/src/macros.rs +178 -0
  256. data/ext/cargo-vendor/indexmap-2.0.0/src/map/core/raw.rs +217 -0
  257. data/ext/cargo-vendor/indexmap-2.0.0/src/map/core.rs +742 -0
  258. data/ext/cargo-vendor/indexmap-2.0.0/src/map/iter.rs +541 -0
  259. data/ext/cargo-vendor/indexmap-2.0.0/src/map/serde_seq.rs +138 -0
  260. data/ext/cargo-vendor/indexmap-2.0.0/src/map/slice.rs +471 -0
  261. data/ext/cargo-vendor/indexmap-2.0.0/src/map/tests.rs +449 -0
  262. data/ext/cargo-vendor/indexmap-2.0.0/src/map.rs +1223 -0
  263. data/ext/cargo-vendor/indexmap-2.0.0/src/mutable_keys.rs +91 -0
  264. data/ext/cargo-vendor/indexmap-2.0.0/src/rayon/map.rs +679 -0
  265. data/ext/cargo-vendor/indexmap-2.0.0/src/rayon/mod.rs +27 -0
  266. data/ext/cargo-vendor/indexmap-2.0.0/src/rayon/set.rs +774 -0
  267. data/ext/cargo-vendor/indexmap-2.0.0/src/rustc.rs +158 -0
  268. data/ext/cargo-vendor/indexmap-2.0.0/src/serde.rs +151 -0
  269. data/ext/cargo-vendor/indexmap-2.0.0/src/set/iter.rs +543 -0
  270. data/ext/cargo-vendor/indexmap-2.0.0/src/set/slice.rs +278 -0
  271. data/ext/cargo-vendor/indexmap-2.0.0/src/set/tests.rs +545 -0
  272. data/ext/cargo-vendor/indexmap-2.0.0/src/set.rs +1011 -0
  273. data/ext/cargo-vendor/indexmap-2.0.0/src/util.rs +53 -0
  274. data/ext/cargo-vendor/indexmap-2.0.0/tests/equivalent_trait.rs +53 -0
  275. data/ext/cargo-vendor/indexmap-2.0.0/tests/macros_full_path.rs +19 -0
  276. data/ext/cargo-vendor/indexmap-2.0.0/tests/quick.rs +579 -0
  277. data/ext/cargo-vendor/indexmap-2.0.0/tests/tests.rs +28 -0
  278. data/ext/cargo-vendor/regalloc2-0.9.2/.cargo-checksum.json +1 -0
  279. data/ext/cargo-vendor/regalloc2-0.9.2/Cargo.toml +72 -0
  280. data/ext/cargo-vendor/regalloc2-0.9.2/deny.toml +28 -0
  281. data/ext/cargo-vendor/regalloc2-0.9.2/src/checker.rs +1089 -0
  282. data/ext/cargo-vendor/regalloc2-0.9.2/src/fuzzing/func.rs +702 -0
  283. data/ext/cargo-vendor/regalloc2-0.9.2/src/index.rs +268 -0
  284. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/data_structures.rs +857 -0
  285. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/liveranges.rs +961 -0
  286. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/merge.rs +368 -0
  287. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/mod.rs +150 -0
  288. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/moves.rs +1017 -0
  289. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/process.rs +1307 -0
  290. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/requirement.rs +174 -0
  291. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/spill.rs +165 -0
  292. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/stackmap.rs +79 -0
  293. data/ext/cargo-vendor/regalloc2-0.9.2/src/lib.rs +1526 -0
  294. data/ext/cargo-vendor/regalloc2-0.9.2/src/moves.rs +439 -0
  295. data/ext/cargo-vendor/regalloc2-0.9.2/src/serialize.rs +311 -0
  296. data/ext/cargo-vendor/semver-1.0.18/.cargo-checksum.json +1 -0
  297. data/ext/cargo-vendor/semver-1.0.18/Cargo.toml +47 -0
  298. data/ext/cargo-vendor/semver-1.0.18/LICENSE-APACHE +176 -0
  299. data/ext/cargo-vendor/semver-1.0.18/LICENSE-MIT +23 -0
  300. data/ext/cargo-vendor/semver-1.0.18/README.md +84 -0
  301. data/ext/cargo-vendor/semver-1.0.18/benches/parse.rs +24 -0
  302. data/ext/cargo-vendor/semver-1.0.18/build.rs +75 -0
  303. data/ext/cargo-vendor/semver-1.0.18/src/backport.rs +23 -0
  304. data/ext/cargo-vendor/semver-1.0.18/src/display.rs +165 -0
  305. data/ext/cargo-vendor/semver-1.0.18/src/error.rs +126 -0
  306. data/ext/cargo-vendor/semver-1.0.18/src/eval.rs +181 -0
  307. data/ext/cargo-vendor/semver-1.0.18/src/identifier.rs +422 -0
  308. data/ext/cargo-vendor/semver-1.0.18/src/impls.rs +156 -0
  309. data/ext/cargo-vendor/semver-1.0.18/src/lib.rs +533 -0
  310. data/ext/cargo-vendor/semver-1.0.18/src/parse.rs +409 -0
  311. data/ext/cargo-vendor/semver-1.0.18/src/serde.rs +109 -0
  312. data/ext/cargo-vendor/semver-1.0.18/tests/node/mod.rs +43 -0
  313. data/ext/cargo-vendor/semver-1.0.18/tests/test_autotrait.rs +14 -0
  314. data/ext/cargo-vendor/semver-1.0.18/tests/test_identifier.rs +45 -0
  315. data/ext/cargo-vendor/semver-1.0.18/tests/test_version.rs +238 -0
  316. data/ext/cargo-vendor/semver-1.0.18/tests/test_version_req.rs +443 -0
  317. data/ext/cargo-vendor/semver-1.0.18/tests/util/mod.rs +39 -0
  318. data/ext/cargo-vendor/sptr-0.3.2/.cargo-checksum.json +1 -0
  319. data/ext/cargo-vendor/sptr-0.3.2/Cargo.toml +28 -0
  320. data/ext/cargo-vendor/sptr-0.3.2/README.md +73 -0
  321. data/ext/cargo-vendor/sptr-0.3.2/src/func.rs +83 -0
  322. data/ext/cargo-vendor/sptr-0.3.2/src/int.rs +364 -0
  323. data/ext/cargo-vendor/sptr-0.3.2/src/lib.rs +756 -0
  324. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/.cargo-checksum.json +1 -0
  325. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/Cargo.toml +90 -0
  326. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/src/dir.rs +464 -0
  327. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/src/lib.rs +141 -0
  328. data/ext/cargo-vendor/wasi-common-10.0.0/.cargo-checksum.json +1 -0
  329. data/ext/cargo-vendor/wasi-common-10.0.0/Cargo.toml +87 -0
  330. data/ext/cargo-vendor/wasi-common-10.0.0/src/ctx.rs +128 -0
  331. data/ext/cargo-vendor/wasi-common-10.0.0/src/file.rs +262 -0
  332. data/ext/cargo-vendor/wasi-common-10.0.0/src/snapshots/preview_1.rs +1490 -0
  333. data/ext/cargo-vendor/wasm-encoder-0.29.0/.cargo-checksum.json +1 -0
  334. data/ext/cargo-vendor/wasm-encoder-0.29.0/Cargo.toml +33 -0
  335. data/ext/cargo-vendor/wasm-encoder-0.29.0/README.md +80 -0
  336. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/aliases.rs +160 -0
  337. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/canonicals.rs +159 -0
  338. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/components.rs +29 -0
  339. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/exports.rs +127 -0
  340. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/imports.rs +200 -0
  341. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/instances.rs +200 -0
  342. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/modules.rs +29 -0
  343. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/names.rs +149 -0
  344. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/start.rs +52 -0
  345. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/types.rs +759 -0
  346. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component.rs +160 -0
  347. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/code.rs +2913 -0
  348. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/custom.rs +55 -0
  349. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/data.rs +185 -0
  350. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/dump.rs +627 -0
  351. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/elements.rs +224 -0
  352. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/exports.rs +85 -0
  353. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/functions.rs +63 -0
  354. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/globals.rs +90 -0
  355. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/imports.rs +142 -0
  356. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/linking.rs +263 -0
  357. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/memories.rs +99 -0
  358. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/names.rs +265 -0
  359. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/producers.rs +180 -0
  360. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/start.rs +39 -0
  361. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/tables.rs +104 -0
  362. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/tags.rs +85 -0
  363. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/types.rs +246 -0
  364. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core.rs +168 -0
  365. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/lib.rs +215 -0
  366. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/raw.rs +30 -0
  367. data/ext/cargo-vendor/wasmparser-0.107.0/.cargo-checksum.json +1 -0
  368. data/ext/cargo-vendor/wasmparser-0.107.0/Cargo.lock +621 -0
  369. data/ext/cargo-vendor/wasmparser-0.107.0/Cargo.toml +54 -0
  370. data/ext/cargo-vendor/wasmparser-0.107.0/benches/benchmark.rs +351 -0
  371. data/ext/cargo-vendor/wasmparser-0.107.0/src/binary_reader.rs +1706 -0
  372. data/ext/cargo-vendor/wasmparser-0.107.0/src/lib.rs +723 -0
  373. data/ext/cargo-vendor/wasmparser-0.107.0/src/parser.rs +1535 -0
  374. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/canonicals.rs +119 -0
  375. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/exports.rs +117 -0
  376. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/imports.rs +137 -0
  377. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/instances.rs +163 -0
  378. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/types.rs +548 -0
  379. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core/coredumps.rs +243 -0
  380. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core/producers.rs +83 -0
  381. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core/types.rs +874 -0
  382. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core.rs +35 -0
  383. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/component.rs +3082 -0
  384. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/core.rs +1334 -0
  385. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/names.rs +606 -0
  386. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/operators.rs +3463 -0
  387. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/types.rs +3070 -0
  388. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator.rs +1589 -0
  389. data/ext/cargo-vendor/wasmparser-0.111.0/.cargo-checksum.json +1 -0
  390. data/ext/cargo-vendor/wasmparser-0.111.0/Cargo.lock +644 -0
  391. data/ext/cargo-vendor/wasmparser-0.111.0/Cargo.toml +54 -0
  392. data/ext/cargo-vendor/wasmparser-0.111.0/README.md +36 -0
  393. data/ext/cargo-vendor/wasmparser-0.111.0/benches/benchmark.rs +349 -0
  394. data/ext/cargo-vendor/wasmparser-0.111.0/examples/simple.rs +37 -0
  395. data/ext/cargo-vendor/wasmparser-0.111.0/src/binary_reader.rs +1706 -0
  396. data/ext/cargo-vendor/wasmparser-0.111.0/src/lib.rs +726 -0
  397. data/ext/cargo-vendor/wasmparser-0.111.0/src/limits.rs +59 -0
  398. data/ext/cargo-vendor/wasmparser-0.111.0/src/parser.rs +1612 -0
  399. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/aliases.rs +119 -0
  400. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/canonicals.rs +120 -0
  401. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/exports.rs +117 -0
  402. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/imports.rs +137 -0
  403. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/instances.rs +163 -0
  404. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/names.rs +102 -0
  405. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/start.rs +30 -0
  406. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/types.rs +548 -0
  407. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component.rs +17 -0
  408. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/code.rs +146 -0
  409. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/coredumps.rs +243 -0
  410. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/custom.rs +63 -0
  411. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/data.rs +96 -0
  412. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/dylink0.rs +132 -0
  413. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/elements.rs +152 -0
  414. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/exports.rs +65 -0
  415. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/functions.rs +17 -0
  416. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/globals.rs +49 -0
  417. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/imports.rs +76 -0
  418. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/init.rs +51 -0
  419. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/memories.rs +56 -0
  420. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/names.rs +153 -0
  421. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/operators.rs +354 -0
  422. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/producers.rs +83 -0
  423. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/tables.rs +87 -0
  424. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/tags.rs +32 -0
  425. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/types.rs +1141 -0
  426. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core.rs +37 -0
  427. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers.rs +316 -0
  428. data/ext/cargo-vendor/wasmparser-0.111.0/src/resources.rs +398 -0
  429. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/component.rs +3148 -0
  430. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/core.rs +1314 -0
  431. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/func.rs +348 -0
  432. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/names.rs +606 -0
  433. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/operators.rs +3466 -0
  434. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/types.rs +3283 -0
  435. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator.rs +1568 -0
  436. data/ext/cargo-vendor/wasmparser-0.111.0/tests/big-module.rs +33 -0
  437. data/ext/cargo-vendor/wasmprinter-0.2.63/.cargo-checksum.json +1 -0
  438. data/ext/cargo-vendor/wasmprinter-0.2.63/Cargo.toml +39 -0
  439. data/ext/cargo-vendor/wasmprinter-0.2.63/README.md +47 -0
  440. data/ext/cargo-vendor/wasmprinter-0.2.63/src/lib.rs +2962 -0
  441. data/ext/cargo-vendor/wasmprinter-0.2.63/src/operator.rs +873 -0
  442. data/ext/cargo-vendor/wasmprinter-0.2.63/tests/all.rs +278 -0
  443. data/ext/cargo-vendor/wasmtime-10.0.0/.cargo-checksum.json +1 -0
  444. data/ext/cargo-vendor/wasmtime-10.0.0/Cargo.toml +183 -0
  445. data/ext/cargo-vendor/wasmtime-10.0.0/src/compiler.rs +710 -0
  446. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/component.rs +382 -0
  447. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/instance.rs +727 -0
  448. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/matching.rs +112 -0
  449. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/mod.rs +313 -0
  450. data/ext/cargo-vendor/wasmtime-10.0.0/src/config.rs +2066 -0
  451. data/ext/cargo-vendor/wasmtime-10.0.0/src/engine/serialization.rs +622 -0
  452. data/ext/cargo-vendor/wasmtime-10.0.0/src/engine.rs +757 -0
  453. data/ext/cargo-vendor/wasmtime-10.0.0/src/externals.rs +763 -0
  454. data/ext/cargo-vendor/wasmtime-10.0.0/src/func/typed.rs +638 -0
  455. data/ext/cargo-vendor/wasmtime-10.0.0/src/func.rs +2355 -0
  456. data/ext/cargo-vendor/wasmtime-10.0.0/src/instance.rs +905 -0
  457. data/ext/cargo-vendor/wasmtime-10.0.0/src/lib.rs +486 -0
  458. data/ext/cargo-vendor/wasmtime-10.0.0/src/linker.rs +1479 -0
  459. data/ext/cargo-vendor/wasmtime-10.0.0/src/memory.rs +950 -0
  460. data/ext/cargo-vendor/wasmtime-10.0.0/src/module.rs +1274 -0
  461. data/ext/cargo-vendor/wasmtime-10.0.0/src/ref.rs +109 -0
  462. data/ext/cargo-vendor/wasmtime-10.0.0/src/store/context.rs +243 -0
  463. data/ext/cargo-vendor/wasmtime-10.0.0/src/store/func_refs.rs +85 -0
  464. data/ext/cargo-vendor/wasmtime-10.0.0/src/store.rs +2166 -0
  465. data/ext/cargo-vendor/wasmtime-10.0.0/src/trampoline/func.rs +133 -0
  466. data/ext/cargo-vendor/wasmtime-10.0.0/src/trampoline/global.rs +67 -0
  467. data/ext/cargo-vendor/wasmtime-10.0.0/src/types/matching.rs +312 -0
  468. data/ext/cargo-vendor/wasmtime-10.0.0/src/types.rs +572 -0
  469. data/ext/cargo-vendor/wasmtime-10.0.0/src/values.rs +290 -0
  470. data/ext/cargo-vendor/wasmtime-asm-macros-10.0.0/.cargo-checksum.json +1 -0
  471. data/ext/cargo-vendor/wasmtime-asm-macros-10.0.0/Cargo.toml +22 -0
  472. data/ext/cargo-vendor/wasmtime-cache-10.0.0/.cargo-checksum.json +1 -0
  473. data/ext/cargo-vendor/wasmtime-cache-10.0.0/Cargo.toml +73 -0
  474. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/.cargo-checksum.json +1 -0
  475. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/Cargo.toml +58 -0
  476. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/src/bindgen.rs +316 -0
  477. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/char.wit +13 -0
  478. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/conventions.wit +39 -0
  479. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/direct-import.wit +5 -0
  480. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/empty.wit +2 -0
  481. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/flags.wit +55 -0
  482. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/floats.wit +13 -0
  483. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/function-new.wit +4 -0
  484. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/integers.wit +40 -0
  485. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/lists.wit +85 -0
  486. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/many-arguments.wit +52 -0
  487. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/multi-return.wit +14 -0
  488. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/records.wit +61 -0
  489. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/rename.wit +16 -0
  490. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/share-types.wit +21 -0
  491. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/simple-functions.wit +17 -0
  492. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/simple-lists.wit +13 -0
  493. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/simple-wasi.wit +23 -0
  494. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/small-anonymous.wit +15 -0
  495. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/smoke-default.wit +5 -0
  496. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/smoke-export.wit +7 -0
  497. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/smoke.wit +7 -0
  498. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/strings.wit +12 -0
  499. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/unions.wit +66 -0
  500. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/use-paths.wit +29 -0
  501. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/variants.wit +147 -0
  502. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/worlds-with-types.wit +16 -0
  503. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen.rs +24 -0
  504. data/ext/cargo-vendor/wasmtime-component-util-10.0.0/.cargo-checksum.json +1 -0
  505. data/ext/cargo-vendor/wasmtime-component-util-10.0.0/Cargo.toml +25 -0
  506. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/.cargo-checksum.json +1 -0
  507. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/Cargo.toml +90 -0
  508. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/compiler.rs +1200 -0
  509. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/debug/transform/simulate.rs +410 -0
  510. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/func_environ.rs +2206 -0
  511. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/lib.rs +178 -0
  512. data/ext/cargo-vendor/wasmtime-cranelift-shared-10.0.0/.cargo-checksum.json +1 -0
  513. data/ext/cargo-vendor/wasmtime-cranelift-shared-10.0.0/Cargo.toml +57 -0
  514. data/ext/cargo-vendor/wasmtime-cranelift-shared-10.0.0/src/lib.rs +120 -0
  515. data/ext/cargo-vendor/wasmtime-environ-10.0.0/.cargo-checksum.json +1 -0
  516. data/ext/cargo-vendor/wasmtime-environ-10.0.0/Cargo.lock +681 -0
  517. data/ext/cargo-vendor/wasmtime-environ-10.0.0/Cargo.toml +116 -0
  518. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/compiler.rs +84 -0
  519. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/translate/inline.rs +1067 -0
  520. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/translate.rs +1070 -0
  521. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/types.rs +1916 -0
  522. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/fact.rs +623 -0
  523. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/module.rs +1083 -0
  524. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/module_environ.rs +884 -0
  525. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/trap_encoding.rs +238 -0
  526. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/.cargo-checksum.json +1 -0
  527. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/Cargo.toml +46 -0
  528. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/src/lib.rs +305 -0
  529. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/src/unix.rs +212 -0
  530. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/src/windows.rs +161 -0
  531. data/ext/cargo-vendor/wasmtime-jit-10.0.0/.cargo-checksum.json +1 -0
  532. data/ext/cargo-vendor/wasmtime-jit-10.0.0/Cargo.toml +104 -0
  533. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/instantiate.rs +760 -0
  534. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/lib.rs +38 -0
  535. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling/jitdump.rs +66 -0
  536. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling/perfmap.rs +47 -0
  537. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling/vtune.rs +80 -0
  538. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling.rs +108 -0
  539. data/ext/cargo-vendor/wasmtime-jit-debug-10.0.0/.cargo-checksum.json +1 -0
  540. data/ext/cargo-vendor/wasmtime-jit-debug-10.0.0/Cargo.toml +55 -0
  541. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-10.0.0/.cargo-checksum.json +1 -0
  542. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-10.0.0/Cargo.toml +37 -0
  543. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/.cargo-checksum.json +1 -0
  544. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/Cargo.toml +110 -0
  545. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/component.rs +701 -0
  546. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/cow.rs +1060 -0
  547. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/debug_builtins.rs +58 -0
  548. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/externref.rs +1073 -0
  549. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/instance/allocator/pooling.rs +1368 -0
  550. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/instance/allocator.rs +531 -0
  551. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/instance.rs +1345 -0
  552. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/lib.rs +285 -0
  553. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/libcalls.rs +578 -0
  554. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/memory.rs +958 -0
  555. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/mmap/miri.rs +94 -0
  556. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/mmap/unix.rs +148 -0
  557. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/mmap/windows.rs +208 -0
  558. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/send_sync_ptr.rs +69 -0
  559. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/table.rs +595 -0
  560. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/traphandlers/unix.rs +387 -0
  561. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/traphandlers.rs +749 -0
  562. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/vmcontext/vm_host_func_context.rs +137 -0
  563. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/vmcontext.rs +1221 -0
  564. data/ext/cargo-vendor/wasmtime-types-10.0.1/.cargo-checksum.json +1 -0
  565. data/ext/cargo-vendor/wasmtime-types-10.0.1/Cargo.toml +34 -0
  566. data/ext/cargo-vendor/wasmtime-types-10.0.1/src/lib.rs +462 -0
  567. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/.cargo-checksum.json +1 -0
  568. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/Cargo.toml +153 -0
  569. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/lib.rs +130 -0
  570. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/clocks/host.rs +73 -0
  571. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/clocks.rs +17 -0
  572. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/ctx.rs +206 -0
  573. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/error.rs +16 -0
  574. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/filesystem.rs +269 -0
  575. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/mod.rs +44 -0
  576. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/pipe.rs +233 -0
  577. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview1/mod.rs +1860 -0
  578. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/clocks.rs +80 -0
  579. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/env.rs +48 -0
  580. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/exit.rs +12 -0
  581. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/filesystem.rs +1020 -0
  582. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/io.rs +215 -0
  583. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/mod.rs +7 -0
  584. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/poll.rs +84 -0
  585. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/random.rs +41 -0
  586. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/random.rs +58 -0
  587. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/sched/subscription.rs +104 -0
  588. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/sched/sync.rs +156 -0
  589. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/sched.rs +105 -0
  590. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/stdio.rs +176 -0
  591. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/stream.rs +210 -0
  592. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/table.rs +107 -0
  593. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/wasi/command.rs +43 -0
  594. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/wasi/mod.rs +30 -0
  595. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/clocks/monotonic-clock.wit +34 -0
  596. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/clocks/timezone.wit +63 -0
  597. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/clocks/wall-clock.wit +43 -0
  598. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/filesystem/filesystem.wit +782 -0
  599. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/http/incoming-handler.wit +24 -0
  600. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/http/outgoing-handler.wit +18 -0
  601. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/http/types.wit +159 -0
  602. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/io/streams.wit +215 -0
  603. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/logging/handler.wit +34 -0
  604. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/poll/poll.wit +41 -0
  605. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/command-extended.wit +36 -0
  606. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/command.wit +26 -0
  607. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/proxy.wit +9 -0
  608. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/reactor.wit +24 -0
  609. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/random/insecure-seed.wit +24 -0
  610. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/random/insecure.wit +21 -0
  611. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/random/random.wit +25 -0
  612. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/instance-network.wit +9 -0
  613. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/ip-name-lookup.wit +69 -0
  614. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/network.wit +187 -0
  615. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/tcp-create-socket.wit +27 -0
  616. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/tcp.wit +255 -0
  617. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/udp-create-socket.wit +27 -0
  618. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/udp.wit +211 -0
  619. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/environment.wit +16 -0
  620. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/exit.wit +4 -0
  621. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/preopens.wit +7 -0
  622. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/stdio.wit +17 -0
  623. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/main.wit +1 -0
  624. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/test.wit +19 -0
  625. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/witx/typenames.witx +750 -0
  626. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/witx/wasi_snapshot_preview1.witx +521 -0
  627. data/ext/cargo-vendor/wasmtime-winch-10.0.0/.cargo-checksum.json +1 -0
  628. data/ext/cargo-vendor/wasmtime-winch-10.0.0/Cargo.toml +63 -0
  629. data/ext/cargo-vendor/wasmtime-winch-10.0.0/src/compiler.rs +220 -0
  630. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/.cargo-checksum.json +1 -0
  631. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/Cargo.toml +29 -0
  632. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/src/lib.rs +1631 -0
  633. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/src/types.rs +179 -0
  634. data/ext/cargo-vendor/wiggle-10.0.0/.cargo-checksum.json +1 -0
  635. data/ext/cargo-vendor/wiggle-10.0.0/Cargo.toml +106 -0
  636. data/ext/cargo-vendor/wiggle-10.0.0/LICENSE +220 -0
  637. data/ext/cargo-vendor/wiggle-10.0.0/README.md +18 -0
  638. data/ext/cargo-vendor/wiggle-generate-10.0.0/.cargo-checksum.json +1 -0
  639. data/ext/cargo-vendor/wiggle-generate-10.0.0/Cargo.toml +58 -0
  640. data/ext/cargo-vendor/wiggle-generate-10.0.0/LICENSE +220 -0
  641. data/ext/cargo-vendor/wiggle-macro-10.0.0/.cargo-checksum.json +1 -0
  642. data/ext/cargo-vendor/wiggle-macro-10.0.0/Cargo.toml +55 -0
  643. data/ext/cargo-vendor/wiggle-macro-10.0.0/LICENSE +220 -0
  644. data/ext/cargo-vendor/wiggle-macro-10.0.0/src/lib.rs +210 -0
  645. data/ext/cargo-vendor/winch-codegen-0.8.0/.cargo-checksum.json +1 -0
  646. data/ext/cargo-vendor/winch-codegen-0.8.0/Cargo.toml +62 -0
  647. data/ext/cargo-vendor/winch-codegen-0.8.0/src/abi/local.rs +70 -0
  648. data/ext/cargo-vendor/winch-codegen-0.8.0/src/abi/mod.rs +237 -0
  649. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/call.rs +225 -0
  650. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/context.rs +270 -0
  651. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/env.rs +52 -0
  652. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/mod.rs +214 -0
  653. data/ext/cargo-vendor/winch-codegen-0.8.0/src/frame/mod.rs +172 -0
  654. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/abi.rs +243 -0
  655. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/asm.rs +300 -0
  656. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/masm.rs +230 -0
  657. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/mod.rs +127 -0
  658. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/regs.rs +166 -0
  659. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/mod.rs +215 -0
  660. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/abi.rs +369 -0
  661. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/address.rs +17 -0
  662. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/asm.rs +576 -0
  663. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/masm.rs +288 -0
  664. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/mod.rs +149 -0
  665. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/regs.rs +192 -0
  666. data/ext/cargo-vendor/winch-codegen-0.8.0/src/lib.rs +21 -0
  667. data/ext/cargo-vendor/winch-codegen-0.8.0/src/masm.rs +255 -0
  668. data/ext/cargo-vendor/winch-codegen-0.8.0/src/regalloc.rs +70 -0
  669. data/ext/cargo-vendor/winch-codegen-0.8.0/src/stack.rs +235 -0
  670. data/ext/cargo-vendor/winch-codegen-0.8.0/src/trampoline.rs +494 -0
  671. data/ext/cargo-vendor/winch-codegen-0.8.0/src/visitor.rs +353 -0
  672. data/ext/cargo-vendor/wit-parser-0.8.0/.cargo-checksum.json +1 -0
  673. data/ext/cargo-vendor/wit-parser-0.8.0/Cargo.toml +62 -0
  674. data/ext/cargo-vendor/wit-parser-0.8.0/src/ast/lex.rs +679 -0
  675. data/ext/cargo-vendor/wit-parser-0.8.0/src/ast/resolve.rs +1122 -0
  676. data/ext/cargo-vendor/wit-parser-0.8.0/src/ast.rs +1207 -0
  677. data/ext/cargo-vendor/wit-parser-0.8.0/src/lib.rs +622 -0
  678. data/ext/cargo-vendor/wit-parser-0.8.0/src/live.rs +111 -0
  679. data/ext/cargo-vendor/wit-parser-0.8.0/src/resolve.rs +1307 -0
  680. data/ext/cargo-vendor/wit-parser-0.8.0/tests/all.rs +168 -0
  681. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/comments.wit +25 -0
  682. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/diamond1/deps/dep1/types.wit +2 -0
  683. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/diamond1/deps/dep2/types.wit +2 -0
  684. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/diamond1/join.wit +6 -0
  685. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/disambiguate-diamond/shared1.wit +3 -0
  686. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/disambiguate-diamond/shared2.wit +3 -0
  687. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/disambiguate-diamond/world.wit +13 -0
  688. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/embedded.wit.md +34 -0
  689. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/empty.wit +1 -0
  690. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +3 -0
  691. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/corp/saas.wit +4 -0
  692. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +2 -0
  693. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +5 -0
  694. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +13 -0
  695. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/wasi/clocks.wit +5 -0
  696. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/wasi/filesystem.wit +7 -0
  697. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/root.wit +44 -0
  698. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/functions.wit +14 -0
  699. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/many-names/a.wit +2 -0
  700. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/many-names/b.wit +5 -0
  701. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/bar.wit +21 -0
  702. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/cycle-a.wit +7 -0
  703. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/cycle-b.wit +3 -0
  704. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/foo.wit +31 -0
  705. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/package-syntax1.wit +1 -0
  706. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/package-syntax3.wit +1 -0
  707. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/package-syntax4.wit +1 -0
  708. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/alias-no-type.wit.result +1 -0
  709. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function.wit +7 -0
  710. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function.wit.result +5 -0
  711. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function2.wit +7 -0
  712. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function2.wit.result +5 -0
  713. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg1/root.wit +5 -0
  714. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg1.wit.result +8 -0
  715. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +1 -0
  716. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg2/root.wit +5 -0
  717. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg2.wit.result +5 -0
  718. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +2 -0
  719. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg3/root.wit +5 -0
  720. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg3.wit.result +5 -0
  721. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +4 -0
  722. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg4/root.wit +4 -0
  723. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg4.wit.result +5 -0
  724. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +3 -0
  725. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg5/root.wit +4 -0
  726. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg5.wit.result +5 -0
  727. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +4 -0
  728. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg6/root.wit +4 -0
  729. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg6.wit.result +5 -0
  730. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-world-type1.wit +5 -0
  731. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-world-type1.wit.result +5 -0
  732. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/conflicting-package/a.wit +1 -0
  733. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/conflicting-package/b.wit +1 -0
  734. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/conflicting-package.wit.result +8 -0
  735. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle.wit +6 -0
  736. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle.wit.result +5 -0
  737. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle2.wit +7 -0
  738. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle2.wit.result +5 -0
  739. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle3.wit +7 -0
  740. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle3.wit.result +5 -0
  741. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle4.wit +7 -0
  742. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle4.wit.result +5 -0
  743. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle5.wit +7 -0
  744. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle5.wit.result +5 -0
  745. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-functions.wit +8 -0
  746. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-functions.wit.result +5 -0
  747. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface.wit +6 -0
  748. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface.wit.result +5 -0
  749. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface2/foo.wit +3 -0
  750. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface2/foo2.wit +3 -0
  751. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface2.wit.result +8 -0
  752. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-type.wit +7 -0
  753. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-type.wit.result +5 -0
  754. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-enum.wit +6 -0
  755. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-enum.wit.result +5 -0
  756. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-union.wit +6 -0
  757. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-union.wit.result +5 -0
  758. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-variant1.wit +6 -0
  759. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-variant1.wit.result +5 -0
  760. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/export-twice.wit +8 -0
  761. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/export-twice.wit.result +5 -0
  762. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap1.wit +5 -0
  763. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap1.wit.result +5 -0
  764. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap2.wit +5 -0
  765. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap2.wit.result +5 -0
  766. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-twice.wit +8 -0
  767. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-twice.wit.result +5 -0
  768. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-md.wit.result +5 -0
  769. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference.wit +10 -0
  770. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference.wit.result +5 -0
  771. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference2.wit +6 -0
  772. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference2.wit.result +5 -0
  773. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/missing-package.wit.result +1 -0
  774. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +1 -0
  775. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +5 -0
  776. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +8 -0
  777. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +4 -0
  778. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle/root.wit +4 -0
  779. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle.wit.result +5 -0
  780. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +4 -0
  781. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +4 -0
  782. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2/root.wit +4 -0
  783. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2.wit.result +5 -0
  784. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/undefined-typed.wit +6 -0
  785. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/undefined-typed.wit.result +5 -0
  786. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unknown-interface.wit +7 -0
  787. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unknown-interface.wit.result +5 -0
  788. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface1.wit +7 -0
  789. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface1.wit.result +5 -0
  790. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface2.wit +8 -0
  791. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface2.wit.result +5 -0
  792. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface3.wit +5 -0
  793. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface3.wit.result +5 -0
  794. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface4.wit +7 -0
  795. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface4.wit.result +5 -0
  796. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use1.wit +7 -0
  797. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use1.wit.result +5 -0
  798. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use10/bar.wit +5 -0
  799. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use10.wit.result +8 -0
  800. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use2.wit +10 -0
  801. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use2.wit.result +5 -0
  802. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use3.wit +11 -0
  803. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use3.wit.result +5 -0
  804. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use7.wit +10 -0
  805. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use7.wit.result +5 -0
  806. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use8.wit +9 -0
  807. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use8.wit.result +5 -0
  808. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use9.wit +9 -0
  809. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use9.wit.result +5 -0
  810. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict.wit +11 -0
  811. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict.wit.result +5 -0
  812. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict2.wit +13 -0
  813. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict2.wit.result +5 -0
  814. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict3.wit +13 -0
  815. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict3.wit.result +5 -0
  816. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle1.wit +7 -0
  817. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle1.wit.result +5 -0
  818. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle4.wit +14 -0
  819. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle4.wit.result +5 -0
  820. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-shadow1.wit +7 -0
  821. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-shadow1.wit.result +5 -0
  822. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-interface-clash.wit +3 -0
  823. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-interface-clash.wit.result +5 -0
  824. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields2.wit +8 -0
  825. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields2.wit.result +5 -0
  826. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields3.wit +8 -0
  827. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields3.wit.result +5 -0
  828. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func.wit +5 -0
  829. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func.wit.result +5 -0
  830. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func2.wit +4 -0
  831. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func2.wit.result +5 -0
  832. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/shared-types.wit +10 -0
  833. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/type-then-eof.wit +5 -0
  834. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/types.wit +61 -0
  835. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/use-chain.wit +11 -0
  836. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/use.wit +34 -0
  837. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/versions/deps/a1/foo.wit +5 -0
  838. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/versions/deps/a2/foo.wit +5 -0
  839. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/versions/foo.wit +7 -0
  840. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/wasi.wit +178 -0
  841. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-diamond.wit +22 -0
  842. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-iface-no-collide.wit +11 -0
  843. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-implicit-import1.wit +12 -0
  844. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-implicit-import2.wit +11 -0
  845. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-implicit-import3.wit +11 -0
  846. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-same-fields4.wit +13 -0
  847. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-top-level-funcs.wit +9 -0
  848. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/worlds-same-fields5.wit +17 -0
  849. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/worlds-with-types.wit +34 -0
  850. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/worlds.wit +37 -0
  851. data/ext/src/ruby_api/global.rs +3 -3
  852. data/ext/src/ruby_api/memory/unsafe_slice.rs +9 -3
  853. data/ext/src/ruby_api/params.rs +14 -12
  854. data/ext/src/ruby_api/table.rs +1 -1
  855. data/lib/wasmtime/version.rb +1 -1
  856. metadata +1418 -1079
  857. data/ext/cargo-vendor/cranelift-bforest-0.96.4/.cargo-checksum.json +0 -1
  858. data/ext/cargo-vendor/cranelift-bforest-0.96.4/Cargo.toml +0 -31
  859. data/ext/cargo-vendor/cranelift-codegen-0.96.4/.cargo-checksum.json +0 -1
  860. data/ext/cargo-vendor/cranelift-codegen-0.96.4/Cargo.toml +0 -159
  861. data/ext/cargo-vendor/cranelift-codegen-0.96.4/benches/x64-evex-encoding.rs +0 -53
  862. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/ir/trapcode.rs +0 -138
  863. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/abi.rs +0 -1281
  864. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/emit.rs +0 -3658
  865. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/emit_tests.rs +0 -7868
  866. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/imms.rs +0 -1215
  867. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/mod.rs +0 -2945
  868. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst.isle +0 -4035
  869. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/lower/isle.rs +0 -813
  870. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/lower.isle +0 -2906
  871. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/mod.rs +0 -240
  872. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/mod.rs +0 -420
  873. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/abi.rs +0 -726
  874. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/args.rs +0 -1822
  875. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/emit.rs +0 -2914
  876. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/emit_tests.rs +0 -2317
  877. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/encode.rs +0 -188
  878. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/imms.rs +0 -244
  879. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/mod.rs +0 -1823
  880. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/regs.rs +0 -231
  881. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/unwind/systemv.rs +0 -177
  882. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/vector.rs +0 -354
  883. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst.isle +0 -2746
  884. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst_vector.isle +0 -224
  885. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/lower/isle.rs +0 -544
  886. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/lower.isle +0 -1012
  887. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/mod.rs +0 -219
  888. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/abi.rs +0 -947
  889. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst/emit.rs +0 -3697
  890. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst/emit_tests.rs +0 -13397
  891. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst/mod.rs +0 -3409
  892. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst.isle +0 -5045
  893. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/lower.isle +0 -3991
  894. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/mod.rs +0 -215
  895. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/abi.rs +0 -978
  896. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/encoding/evex.rs +0 -403
  897. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/encoding/rex.rs +0 -565
  898. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/encoding/vex.rs +0 -498
  899. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/args.rs +0 -2168
  900. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/emit.rs +0 -3938
  901. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/emit_tests.rs +0 -5669
  902. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/mod.rs +0 -2763
  903. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst.isle +0 -5186
  904. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/lower/isle.rs +0 -1158
  905. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/lower.isle +0 -4262
  906. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/lower.rs +0 -328
  907. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/mod.rs +0 -250
  908. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isle_prelude.rs +0 -818
  909. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/abi.rs +0 -2410
  910. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/buffer.rs +0 -2219
  911. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/compile.rs +0 -92
  912. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/isle.rs +0 -827
  913. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/lower.rs +0 -1366
  914. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/mod.rs +0 -538
  915. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/reg.rs +0 -532
  916. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/vcode.rs +0 -1571
  917. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/prelude.isle +0 -552
  918. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/prelude_lower.isle +0 -1012
  919. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/settings.rs +0 -599
  920. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/verifier/mod.rs +0 -1881
  921. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/.cargo-checksum.json +0 -1
  922. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/Cargo.toml +0 -23
  923. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/src/isa/x86.rs +0 -445
  924. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/src/shared/settings.rs +0 -331
  925. data/ext/cargo-vendor/cranelift-codegen-shared-0.96.4/.cargo-checksum.json +0 -1
  926. data/ext/cargo-vendor/cranelift-codegen-shared-0.96.4/Cargo.toml +0 -22
  927. data/ext/cargo-vendor/cranelift-control-0.96.4/.cargo-checksum.json +0 -1
  928. data/ext/cargo-vendor/cranelift-control-0.96.4/Cargo.toml +0 -30
  929. data/ext/cargo-vendor/cranelift-control-0.96.4/src/chaos.rs +0 -78
  930. data/ext/cargo-vendor/cranelift-control-0.96.4/src/lib.rs +0 -30
  931. data/ext/cargo-vendor/cranelift-control-0.96.4/src/zero_sized.rs +0 -42
  932. data/ext/cargo-vendor/cranelift-entity-0.96.4/.cargo-checksum.json +0 -1
  933. data/ext/cargo-vendor/cranelift-entity-0.96.4/Cargo.toml +0 -35
  934. data/ext/cargo-vendor/cranelift-entity-0.96.4/src/list.rs +0 -868
  935. data/ext/cargo-vendor/cranelift-frontend-0.96.4/.cargo-checksum.json +0 -1
  936. data/ext/cargo-vendor/cranelift-frontend-0.96.4/Cargo.toml +0 -53
  937. data/ext/cargo-vendor/cranelift-isle-0.96.4/.cargo-checksum.json +0 -1
  938. data/ext/cargo-vendor/cranelift-isle-0.96.4/Cargo.toml +0 -37
  939. data/ext/cargo-vendor/cranelift-native-0.96.4/.cargo-checksum.json +0 -1
  940. data/ext/cargo-vendor/cranelift-native-0.96.4/Cargo.toml +0 -38
  941. data/ext/cargo-vendor/cranelift-native-0.96.4/src/lib.rs +0 -216
  942. data/ext/cargo-vendor/cranelift-wasm-0.96.4/.cargo-checksum.json +0 -1
  943. data/ext/cargo-vendor/cranelift-wasm-0.96.4/Cargo.toml +0 -85
  944. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/code_translator.rs +0 -3479
  945. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/environ/dummy.rs +0 -901
  946. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/environ/spec.rs +0 -807
  947. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/func_translator.rs +0 -419
  948. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/sections_translator.rs +0 -429
  949. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/translation_utils.rs +0 -108
  950. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/.cargo-checksum.json +0 -1
  951. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/Cargo.toml +0 -36
  952. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/run-tests.sh +0 -11
  953. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/src/lib.rs +0 -162
  954. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/tests/test.rs +0 -267
  955. data/ext/cargo-vendor/regalloc2-0.8.1/.cargo-checksum.json +0 -1
  956. data/ext/cargo-vendor/regalloc2-0.8.1/Cargo.toml +0 -72
  957. data/ext/cargo-vendor/regalloc2-0.8.1/deny.toml +0 -28
  958. data/ext/cargo-vendor/regalloc2-0.8.1/src/checker.rs +0 -1089
  959. data/ext/cargo-vendor/regalloc2-0.8.1/src/fuzzing/func.rs +0 -673
  960. data/ext/cargo-vendor/regalloc2-0.8.1/src/index.rs +0 -188
  961. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/data_structures.rs +0 -688
  962. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/liveranges.rs +0 -1012
  963. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/merge.rs +0 -394
  964. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/mod.rs +0 -152
  965. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/moves.rs +0 -985
  966. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/process.rs +0 -1322
  967. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/requirement.rs +0 -174
  968. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/spill.rs +0 -198
  969. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/stackmap.rs +0 -74
  970. data/ext/cargo-vendor/regalloc2-0.8.1/src/lib.rs +0 -1523
  971. data/ext/cargo-vendor/regalloc2-0.8.1/src/moves.rs +0 -438
  972. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/.cargo-checksum.json +0 -1
  973. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/Cargo.toml +0 -89
  974. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/src/dir.rs +0 -465
  975. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/src/lib.rs +0 -140
  976. data/ext/cargo-vendor/wasi-common-9.0.4/.cargo-checksum.json +0 -1
  977. data/ext/cargo-vendor/wasi-common-9.0.4/Cargo.toml +0 -86
  978. data/ext/cargo-vendor/wasi-common-9.0.4/src/ctx.rs +0 -127
  979. data/ext/cargo-vendor/wasi-common-9.0.4/src/file.rs +0 -260
  980. data/ext/cargo-vendor/wasi-common-9.0.4/src/snapshots/preview_1.rs +0 -1490
  981. data/ext/cargo-vendor/wasmparser-0.103.0/.cargo-checksum.json +0 -1
  982. data/ext/cargo-vendor/wasmparser-0.103.0/Cargo.lock +0 -692
  983. data/ext/cargo-vendor/wasmparser-0.103.0/Cargo.toml +0 -54
  984. data/ext/cargo-vendor/wasmparser-0.103.0/benches/benchmark.rs +0 -350
  985. data/ext/cargo-vendor/wasmparser-0.103.0/src/binary_reader.rs +0 -1682
  986. data/ext/cargo-vendor/wasmparser-0.103.0/src/lib.rs +0 -712
  987. data/ext/cargo-vendor/wasmparser-0.103.0/src/parser.rs +0 -1496
  988. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/canonicals.rs +0 -95
  989. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/exports.rs +0 -105
  990. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/imports.rs +0 -109
  991. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/instances.rs +0 -164
  992. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/types.rs +0 -508
  993. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/core/producers.rs +0 -78
  994. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/core/types.rs +0 -511
  995. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/core.rs +0 -33
  996. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/component.rs +0 -2097
  997. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/core.rs +0 -1278
  998. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/operators.rs +0 -3456
  999. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/types.rs +0 -2159
  1000. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator.rs +0 -1514
  1001. data/ext/cargo-vendor/wasmtime-9.0.4/.cargo-checksum.json +0 -1
  1002. data/ext/cargo-vendor/wasmtime-9.0.4/Cargo.toml +0 -183
  1003. data/ext/cargo-vendor/wasmtime-9.0.4/build.rs +0 -20
  1004. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/component.rs +0 -519
  1005. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/instance.rs +0 -728
  1006. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/matching.rs +0 -112
  1007. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/mod.rs +0 -313
  1008. data/ext/cargo-vendor/wasmtime-9.0.4/src/config.rs +0 -2036
  1009. data/ext/cargo-vendor/wasmtime-9.0.4/src/engine/serialization.rs +0 -613
  1010. data/ext/cargo-vendor/wasmtime-9.0.4/src/engine.rs +0 -729
  1011. data/ext/cargo-vendor/wasmtime-9.0.4/src/externals.rs +0 -762
  1012. data/ext/cargo-vendor/wasmtime-9.0.4/src/func/typed.rs +0 -638
  1013. data/ext/cargo-vendor/wasmtime-9.0.4/src/func.rs +0 -2385
  1014. data/ext/cargo-vendor/wasmtime-9.0.4/src/instance.rs +0 -905
  1015. data/ext/cargo-vendor/wasmtime-9.0.4/src/lib.rs +0 -481
  1016. data/ext/cargo-vendor/wasmtime-9.0.4/src/linker.rs +0 -1479
  1017. data/ext/cargo-vendor/wasmtime-9.0.4/src/memory.rs +0 -948
  1018. data/ext/cargo-vendor/wasmtime-9.0.4/src/module.rs +0 -1542
  1019. data/ext/cargo-vendor/wasmtime-9.0.4/src/ref.rs +0 -108
  1020. data/ext/cargo-vendor/wasmtime-9.0.4/src/store/context.rs +0 -243
  1021. data/ext/cargo-vendor/wasmtime-9.0.4/src/store/func_refs.rs +0 -110
  1022. data/ext/cargo-vendor/wasmtime-9.0.4/src/store.rs +0 -2059
  1023. data/ext/cargo-vendor/wasmtime-9.0.4/src/trampoline/func.rs +0 -171
  1024. data/ext/cargo-vendor/wasmtime-9.0.4/src/trampoline/global.rs +0 -71
  1025. data/ext/cargo-vendor/wasmtime-9.0.4/src/types/matching.rs +0 -254
  1026. data/ext/cargo-vendor/wasmtime-9.0.4/src/types.rs +0 -551
  1027. data/ext/cargo-vendor/wasmtime-9.0.4/src/values.rs +0 -290
  1028. data/ext/cargo-vendor/wasmtime-asm-macros-9.0.4/.cargo-checksum.json +0 -1
  1029. data/ext/cargo-vendor/wasmtime-asm-macros-9.0.4/Cargo.toml +0 -22
  1030. data/ext/cargo-vendor/wasmtime-cache-9.0.4/.cargo-checksum.json +0 -1
  1031. data/ext/cargo-vendor/wasmtime-cache-9.0.4/Cargo.toml +0 -73
  1032. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/.cargo-checksum.json +0 -1
  1033. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/Cargo.toml +0 -58
  1034. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/src/bindgen.rs +0 -316
  1035. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/char.wit +0 -11
  1036. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/conventions.wit +0 -38
  1037. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/direct-import.wit +0 -3
  1038. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/empty.wit +0 -1
  1039. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/flags.wit +0 -53
  1040. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/floats.wit +0 -11
  1041. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/function-new.wit +0 -3
  1042. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/integers.wit +0 -38
  1043. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/lists.wit +0 -83
  1044. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/many-arguments.wit +0 -50
  1045. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/multi-return.wit +0 -12
  1046. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/records.wit +0 -59
  1047. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/rename.wit +0 -14
  1048. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/share-types.wit +0 -19
  1049. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/simple-functions.wit +0 -15
  1050. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/simple-lists.wit +0 -11
  1051. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/simple-wasi.wit +0 -21
  1052. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/small-anonymous.wit +0 -13
  1053. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/smoke-default.wit +0 -3
  1054. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/smoke-export.wit +0 -5
  1055. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/smoke.wit +0 -5
  1056. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/strings.wit +0 -10
  1057. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/unions.wit +0 -64
  1058. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/use-paths.wit +0 -27
  1059. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/variants.wit +0 -145
  1060. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/worlds-with-types.wit +0 -14
  1061. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen.rs +0 -30
  1062. data/ext/cargo-vendor/wasmtime-component-util-9.0.4/.cargo-checksum.json +0 -1
  1063. data/ext/cargo-vendor/wasmtime-component-util-9.0.4/Cargo.toml +0 -25
  1064. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/.cargo-checksum.json +0 -1
  1065. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/Cargo.toml +0 -90
  1066. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/compiler.rs +0 -1200
  1067. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/debug/transform/simulate.rs +0 -411
  1068. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/func_environ.rs +0 -2162
  1069. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/lib.rs +0 -177
  1070. data/ext/cargo-vendor/wasmtime-cranelift-shared-9.0.4/.cargo-checksum.json +0 -1
  1071. data/ext/cargo-vendor/wasmtime-cranelift-shared-9.0.4/Cargo.toml +0 -57
  1072. data/ext/cargo-vendor/wasmtime-cranelift-shared-9.0.4/src/lib.rs +0 -119
  1073. data/ext/cargo-vendor/wasmtime-environ-9.0.4/.cargo-checksum.json +0 -1
  1074. data/ext/cargo-vendor/wasmtime-environ-9.0.4/Cargo.lock +0 -735
  1075. data/ext/cargo-vendor/wasmtime-environ-9.0.4/Cargo.toml +0 -116
  1076. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/compiler.rs +0 -84
  1077. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/translate/inline.rs +0 -1064
  1078. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/translate.rs +0 -1066
  1079. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/types.rs +0 -1903
  1080. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/fact.rs +0 -622
  1081. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/module.rs +0 -1043
  1082. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/module_environ.rs +0 -841
  1083. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/trap_encoding.rs +0 -234
  1084. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/.cargo-checksum.json +0 -1
  1085. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/Cargo.toml +0 -46
  1086. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/src/lib.rs +0 -293
  1087. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/src/unix.rs +0 -199
  1088. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/src/windows.rs +0 -156
  1089. data/ext/cargo-vendor/wasmtime-jit-9.0.4/.cargo-checksum.json +0 -1
  1090. data/ext/cargo-vendor/wasmtime-jit-9.0.4/Cargo.toml +0 -100
  1091. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/instantiate.rs +0 -786
  1092. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/lib.rs +0 -39
  1093. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/jitdump_disabled.rs +0 -32
  1094. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/jitdump_linux.rs +0 -444
  1095. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/perfmap_disabled.rs +0 -28
  1096. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/perfmap_linux.rs +0 -104
  1097. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/vtune.rs +0 -147
  1098. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/vtune_disabled.rs +0 -32
  1099. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling.rs +0 -74
  1100. data/ext/cargo-vendor/wasmtime-jit-debug-9.0.4/.cargo-checksum.json +0 -1
  1101. data/ext/cargo-vendor/wasmtime-jit-debug-9.0.4/Cargo.toml +0 -55
  1102. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-9.0.4/.cargo-checksum.json +0 -1
  1103. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-9.0.4/Cargo.toml +0 -37
  1104. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/.cargo-checksum.json +0 -1
  1105. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/Cargo.toml +0 -107
  1106. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/component.rs +0 -724
  1107. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/cow.rs +0 -1063
  1108. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/debug_builtins.rs +0 -56
  1109. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/externref.rs +0 -1078
  1110. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/instance/allocator/pooling.rs +0 -1371
  1111. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/instance/allocator.rs +0 -528
  1112. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/instance.rs +0 -1267
  1113. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/lib.rs +0 -286
  1114. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/libcalls.rs +0 -597
  1115. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/memory.rs +0 -945
  1116. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/mmap/miri.rs +0 -93
  1117. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/mmap/unix.rs +0 -147
  1118. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/mmap/windows.rs +0 -207
  1119. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/table.rs +0 -573
  1120. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/traphandlers/unix.rs +0 -387
  1121. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/traphandlers.rs +0 -664
  1122. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/vmcontext/vm_host_func_context.rs +0 -147
  1123. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/vmcontext.rs +0 -1244
  1124. data/ext/cargo-vendor/wasmtime-types-9.0.4/.cargo-checksum.json +0 -1
  1125. data/ext/cargo-vendor/wasmtime-types-9.0.4/Cargo.toml +0 -34
  1126. data/ext/cargo-vendor/wasmtime-types-9.0.4/src/lib.rs +0 -413
  1127. data/ext/cargo-vendor/wasmtime-wasi-9.0.4/.cargo-checksum.json +0 -1
  1128. data/ext/cargo-vendor/wasmtime-wasi-9.0.4/Cargo.toml +0 -67
  1129. data/ext/cargo-vendor/wasmtime-wasi-9.0.4/src/lib.rs +0 -128
  1130. data/ext/cargo-vendor/wasmtime-winch-9.0.4/.cargo-checksum.json +0 -1
  1131. data/ext/cargo-vendor/wasmtime-winch-9.0.4/Cargo.toml +0 -66
  1132. data/ext/cargo-vendor/wasmtime-winch-9.0.4/src/compiler.rs +0 -191
  1133. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/.cargo-checksum.json +0 -1
  1134. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/Cargo.toml +0 -29
  1135. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/src/lib.rs +0 -1488
  1136. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/src/types.rs +0 -178
  1137. data/ext/cargo-vendor/wiggle-9.0.4/.cargo-checksum.json +0 -1
  1138. data/ext/cargo-vendor/wiggle-9.0.4/Cargo.toml +0 -106
  1139. data/ext/cargo-vendor/wiggle-9.0.4/README.md +0 -18
  1140. data/ext/cargo-vendor/wiggle-generate-9.0.4/.cargo-checksum.json +0 -1
  1141. data/ext/cargo-vendor/wiggle-generate-9.0.4/Cargo.toml +0 -58
  1142. data/ext/cargo-vendor/wiggle-macro-9.0.4/.cargo-checksum.json +0 -1
  1143. data/ext/cargo-vendor/wiggle-macro-9.0.4/Cargo.toml +0 -55
  1144. data/ext/cargo-vendor/wiggle-macro-9.0.4/src/lib.rs +0 -210
  1145. data/ext/cargo-vendor/winch-codegen-0.7.4/.cargo-checksum.json +0 -1
  1146. data/ext/cargo-vendor/winch-codegen-0.7.4/Cargo.toml +0 -59
  1147. data/ext/cargo-vendor/winch-codegen-0.7.4/src/abi/local.rs +0 -69
  1148. data/ext/cargo-vendor/winch-codegen-0.7.4/src/abi/mod.rs +0 -223
  1149. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/call.rs +0 -215
  1150. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/context.rs +0 -259
  1151. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/env.rs +0 -19
  1152. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/mod.rs +0 -183
  1153. data/ext/cargo-vendor/winch-codegen-0.7.4/src/frame/mod.rs +0 -166
  1154. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/abi.rs +0 -221
  1155. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/asm.rs +0 -244
  1156. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/masm.rs +0 -221
  1157. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/mod.rs +0 -122
  1158. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/regs.rs +0 -160
  1159. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/mod.rs +0 -202
  1160. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/abi.rs +0 -337
  1161. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/address.rs +0 -17
  1162. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/asm.rs +0 -499
  1163. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/masm.rs +0 -267
  1164. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/mod.rs +0 -135
  1165. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/regs.rs +0 -178
  1166. data/ext/cargo-vendor/winch-codegen-0.7.4/src/lib.rs +0 -20
  1167. data/ext/cargo-vendor/winch-codegen-0.7.4/src/masm.rs +0 -213
  1168. data/ext/cargo-vendor/winch-codegen-0.7.4/src/regalloc.rs +0 -61
  1169. data/ext/cargo-vendor/winch-codegen-0.7.4/src/stack.rs +0 -230
  1170. data/ext/cargo-vendor/winch-codegen-0.7.4/src/trampoline.rs +0 -206
  1171. data/ext/cargo-vendor/winch-codegen-0.7.4/src/visitor.rs +0 -215
  1172. data/ext/cargo-vendor/winch-environ-0.7.4/.cargo-checksum.json +0 -1
  1173. data/ext/cargo-vendor/winch-environ-0.7.4/Cargo.toml +0 -28
  1174. data/ext/cargo-vendor/winch-environ-0.7.4/src/lib.rs +0 -41
  1175. data/ext/cargo-vendor/wit-parser-0.7.1/.cargo-checksum.json +0 -1
  1176. data/ext/cargo-vendor/wit-parser-0.7.1/Cargo.toml +0 -59
  1177. data/ext/cargo-vendor/wit-parser-0.7.1/src/ast/lex.rs +0 -662
  1178. data/ext/cargo-vendor/wit-parser-0.7.1/src/ast/resolve.rs +0 -1072
  1179. data/ext/cargo-vendor/wit-parser-0.7.1/src/ast.rs +0 -1099
  1180. data/ext/cargo-vendor/wit-parser-0.7.1/src/lib.rs +0 -617
  1181. data/ext/cargo-vendor/wit-parser-0.7.1/src/live.rs +0 -123
  1182. data/ext/cargo-vendor/wit-parser-0.7.1/src/resolve.rs +0 -1478
  1183. data/ext/cargo-vendor/wit-parser-0.7.1/tests/all.rs +0 -168
  1184. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/comments.wit +0 -23
  1185. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/disambiguate-diamond/shared1.wit +0 -3
  1186. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/disambiguate-diamond/shared2.wit +0 -3
  1187. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/disambiguate-diamond/world.wit +0 -11
  1188. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/embedded.wit.md +0 -32
  1189. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -1
  1190. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/corp/saas.wit +0 -2
  1191. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -1
  1192. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -3
  1193. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -11
  1194. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -3
  1195. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -5
  1196. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/root.wit +0 -31
  1197. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/functions.wit +0 -12
  1198. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/multi-file/bar.wit +0 -19
  1199. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/multi-file/foo.wit +0 -15
  1200. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/alias-no-type.wit.result +0 -5
  1201. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond/a.wit +0 -9
  1202. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond/b.wit +0 -9
  1203. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond/join.wit +0 -4
  1204. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond.wit.result +0 -8
  1205. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function.wit +0 -5
  1206. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function.wit.result +0 -5
  1207. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function2.wit +0 -5
  1208. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function2.wit.result +0 -5
  1209. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg1/root.wit +0 -3
  1210. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg1.wit.result +0 -5
  1211. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg2/root.wit +0 -3
  1212. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg2.wit.result +0 -5
  1213. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  1214. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg3/root.wit +0 -3
  1215. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg3.wit.result +0 -5
  1216. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -3
  1217. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg4/root.wit +0 -3
  1218. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg4.wit.result +0 -5
  1219. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -2
  1220. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg5/root.wit +0 -3
  1221. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg5.wit.result +0 -5
  1222. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  1223. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg6/root.wit +0 -3
  1224. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg6.wit.result +0 -5
  1225. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type1.wit +0 -4
  1226. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type1.wit.result +0 -5
  1227. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type2.wit +0 -9
  1228. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type2.wit.result +0 -5
  1229. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle.wit +0 -5
  1230. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle.wit.result +0 -5
  1231. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle2.wit +0 -6
  1232. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle2.wit.result +0 -5
  1233. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle3.wit +0 -6
  1234. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle3.wit.result +0 -5
  1235. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle4.wit +0 -6
  1236. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle4.wit.result +0 -5
  1237. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle5.wit +0 -6
  1238. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle5.wit.result +0 -5
  1239. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-interface1.wit +0 -3
  1240. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-interface1.wit.result +0 -5
  1241. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-world1.wit +0 -3
  1242. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-world1.wit.result +0 -5
  1243. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-functions.wit +0 -6
  1244. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-functions.wit.result +0 -5
  1245. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-interface.wit +0 -4
  1246. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-interface.wit.result +0 -5
  1247. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-type.wit +0 -6
  1248. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-type.wit.result +0 -5
  1249. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-enum.wit +0 -5
  1250. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-enum.wit.result +0 -5
  1251. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-union.wit +0 -5
  1252. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-union.wit.result +0 -5
  1253. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-variant1.wit +0 -5
  1254. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-variant1.wit.result +0 -5
  1255. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap1.wit +0 -4
  1256. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap1.wit.result +0 -5
  1257. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap2.wit +0 -4
  1258. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap2.wit.result +0 -5
  1259. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap3.wit +0 -11
  1260. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap3.wit.result +0 -6
  1261. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-md.wit.result +0 -5
  1262. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference.wit +0 -8
  1263. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -5
  1264. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference2.wit +0 -4
  1265. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -5
  1266. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid@filename.wit +0 -0
  1267. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid@filename.wit.result +0 -4
  1268. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -3
  1269. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle/root.wit +0 -3
  1270. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle.wit.result +0 -5
  1271. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -3
  1272. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -3
  1273. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -3
  1274. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -5
  1275. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/undefined-typed.wit +0 -5
  1276. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/undefined-typed.wit.result +0 -5
  1277. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unknown-interface.wit +0 -5
  1278. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unknown-interface.wit.result +0 -5
  1279. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface1.wit +0 -5
  1280. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -5
  1281. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface2.wit +0 -6
  1282. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -5
  1283. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface3.wit +0 -5
  1284. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -5
  1285. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface4.wit +0 -5
  1286. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -5
  1287. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface5.wit +0 -5
  1288. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface5.wit.result +0 -5
  1289. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use1.wit +0 -5
  1290. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use1.wit.result +0 -5
  1291. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -3
  1292. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use10.wit.result +0 -8
  1293. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use11/bar.wit +0 -3
  1294. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use11/foo.wit +0 -2
  1295. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use11.wit.result +0 -8
  1296. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use2.wit +0 -8
  1297. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use2.wit.result +0 -5
  1298. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use3.wit +0 -9
  1299. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use3.wit.result +0 -5
  1300. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use4.wit +0 -5
  1301. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use4.wit.result +0 -5
  1302. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use5.wit +0 -6
  1303. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use5.wit.result +0 -5
  1304. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use6.wit +0 -5
  1305. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use6.wit.result +0 -5
  1306. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use7.wit +0 -8
  1307. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use7.wit.result +0 -5
  1308. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use8.wit +0 -7
  1309. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use8.wit.result +0 -5
  1310. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use9.wit +0 -7
  1311. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use9.wit.result +0 -5
  1312. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict.wit +0 -9
  1313. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict.wit.result +0 -5
  1314. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict2.wit +0 -11
  1315. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict2.wit.result +0 -5
  1316. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict3.wit +0 -11
  1317. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict3.wit.result +0 -5
  1318. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle1.wit +0 -5
  1319. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle1.wit.result +0 -5
  1320. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle2.wit +0 -5
  1321. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle2.wit.result +0 -5
  1322. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle3.wit +0 -6
  1323. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle3.wit.result +0 -5
  1324. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle4.wit +0 -13
  1325. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle4.wit.result +0 -5
  1326. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world.wit +0 -8
  1327. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world.wit.result +0 -5
  1328. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world2/bar.wit +0 -3
  1329. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world2/foo.wit +0 -2
  1330. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world2.wit.result +0 -8
  1331. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import1.wit +0 -10
  1332. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import1.wit.result +0 -6
  1333. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import2.wit +0 -9
  1334. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import2.wit.result +0 -5
  1335. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import3.wit +0 -9
  1336. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import3.wit.result +0 -5
  1337. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-interface-clash.wit +0 -2
  1338. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-interface-clash.wit.result +0 -5
  1339. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields.wit +0 -9
  1340. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields.wit.result +0 -5
  1341. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields2.wit +0 -6
  1342. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields2.wit.result +0 -5
  1343. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields3.wit +0 -6
  1344. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields3.wit.result +0 -5
  1345. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields4.wit +0 -11
  1346. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields4.wit.result +0 -8
  1347. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-import.wit +0 -6
  1348. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-import.wit.result +0 -5
  1349. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func.wit +0 -4
  1350. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func.wit.result +0 -5
  1351. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func2.wit +0 -3
  1352. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -5
  1353. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/worlds-same-fields5.wit +0 -16
  1354. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/worlds-same-fields5.wit.result +0 -9
  1355. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/shared-types.wit +0 -8
  1356. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/type-then-eof.wit +0 -3
  1357. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/types.wit +0 -59
  1358. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/use.wit +0 -33
  1359. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/wasi.wit +0 -176
  1360. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/world-diamond.wit +0 -20
  1361. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/world-top-level-funcs.wit +0 -7
  1362. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/worlds-with-types.wit +0 -32
  1363. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/worlds.wit +0 -40
  1364. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/LICENSE +0 -0
  1365. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/README.md +0 -0
  1366. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/lib.rs +0 -0
  1367. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/map.rs +0 -0
  1368. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/node.rs +0 -0
  1369. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/path.rs +0 -0
  1370. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/pool.rs +0 -0
  1371. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/set.rs +0 -0
  1372. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/LICENSE +0 -0
  1373. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/README.md +0 -0
  1374. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/build.rs +0 -0
  1375. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/alias_analysis.rs +0 -0
  1376. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/binemit/mod.rs +0 -0
  1377. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/binemit/stack_map.rs +0 -0
  1378. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/bitset.rs +0 -0
  1379. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/cfg_printer.rs +0 -0
  1380. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/constant_hash.rs +0 -0
  1381. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/context.rs +0 -0
  1382. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ctxhash.rs +0 -0
  1383. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/cursor.rs +0 -0
  1384. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/data_value.rs +0 -0
  1385. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/dbg.rs +0 -0
  1386. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/dce.rs +0 -0
  1387. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/dominator_tree.rs +0 -0
  1388. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph/cost.rs +0 -0
  1389. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph/domtree.rs +0 -0
  1390. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph/elaborate.rs +0 -0
  1391. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph.rs +0 -0
  1392. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/flowgraph.rs +0 -0
  1393. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/fx.rs +0 -0
  1394. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/incremental_cache.rs +0 -0
  1395. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/inst_predicates.rs +0 -0
  1396. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/atomic_rmw_op.rs +0 -0
  1397. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/builder.rs +0 -0
  1398. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/condcodes.rs +0 -0
  1399. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/constant.rs +0 -0
  1400. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/dfg.rs +0 -0
  1401. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/dynamic_type.rs +0 -0
  1402. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/entities.rs +0 -0
  1403. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/extfunc.rs +0 -0
  1404. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/extname.rs +0 -0
  1405. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/function.rs +0 -0
  1406. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/globalvalue.rs +0 -0
  1407. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/immediates.rs +0 -0
  1408. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/instructions.rs +0 -0
  1409. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/jumptable.rs +0 -0
  1410. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/known_symbol.rs +0 -0
  1411. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/layout.rs +0 -0
  1412. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/libcall.rs +0 -0
  1413. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/memflags.rs +0 -0
  1414. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/mod.rs +0 -0
  1415. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/progpoint.rs +0 -0
  1416. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/sourceloc.rs +0 -0
  1417. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/stackslot.rs +0 -0
  1418. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/table.rs +0 -0
  1419. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/types.rs +0 -0
  1420. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/args.rs +0 -0
  1421. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/regs.rs +0 -0
  1422. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  1423. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/unwind.rs +0 -0
  1424. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst_neon.isle +0 -0
  1425. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1426. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/lower.rs +0 -0
  1427. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1428. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/settings.rs +0 -0
  1429. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/call_conv.rs +0 -0
  1430. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/inst/unwind.rs +0 -0
  1431. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1432. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/lower.rs +0 -0
  1433. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/settings.rs +0 -0
  1434. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/args.rs +0 -0
  1435. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/imms.rs +0 -0
  1436. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/regs.rs +0 -0
  1437. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1438. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/unwind.rs +0 -0
  1439. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1440. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/lower/isle.rs +0 -0
  1441. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/lower.rs +0 -0
  1442. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/settings.rs +0 -0
  1443. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/unwind/systemv.rs +0 -0
  1444. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/unwind/winx64.rs +0 -0
  1445. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/unwind.rs +0 -0
  1446. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/encoding/mod.rs +0 -0
  1447. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/regs.rs +0 -0
  1448. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1449. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1450. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/unwind.rs +0 -0
  1451. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1452. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/settings.rs +0 -0
  1453. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/iterators.rs +0 -0
  1454. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/legalizer/globalvalue.rs +0 -0
  1455. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/legalizer/mod.rs +0 -0
  1456. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/legalizer/table.rs +0 -0
  1457. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/lib.rs +0 -0
  1458. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/loop_analysis.rs +0 -0
  1459. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/blockorder.rs +0 -0
  1460. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/helpers.rs +0 -0
  1461. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/inst_common.rs +0 -0
  1462. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/valueregs.rs +0 -0
  1463. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/nan_canonicalization.rs +0 -0
  1464. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/README.md +0 -0
  1465. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/arithmetic.isle +0 -0
  1466. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/bitops.isle +0 -0
  1467. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/cprop.isle +0 -0
  1468. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/extends.isle +0 -0
  1469. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/generated_code.rs +0 -0
  1470. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/icmp.isle +0 -0
  1471. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/remat.isle +0 -0
  1472. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/selects.isle +0 -0
  1473. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/shifts.isle +0 -0
  1474. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts.rs +0 -0
  1475. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/prelude_opt.isle +0 -0
  1476. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/print_errors.rs +0 -0
  1477. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/remove_constant_phis.rs +0 -0
  1478. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/result.rs +0 -0
  1479. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/scoped_hash_map.rs +0 -0
  1480. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/souper_harvest.rs +0 -0
  1481. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/timing.rs +0 -0
  1482. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/unionfind.rs +0 -0
  1483. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/unreachable_code.rs +0 -0
  1484. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/value_label.rs +0 -0
  1485. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/write.rs +0 -0
  1486. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/LICENSE +0 -0
  1487. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/README.md +0 -0
  1488. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/formats.rs +0 -0
  1489. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/instructions.rs +0 -0
  1490. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/isa.rs +0 -0
  1491. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/mod.rs +0 -0
  1492. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/operands.rs +0 -0
  1493. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/settings.rs +0 -0
  1494. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/types.rs +0 -0
  1495. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/typevar.rs +0 -0
  1496. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/constant_hash.rs +0 -0
  1497. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/error.rs +0 -0
  1498. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/gen_inst.rs +0 -0
  1499. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/gen_settings.rs +0 -0
  1500. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/gen_types.rs +0 -0
  1501. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/arm64.rs +0 -0
  1502. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/mod.rs +0 -0
  1503. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/riscv64.rs +0 -0
  1504. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/s390x.rs +0 -0
  1505. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/lib.rs +0 -0
  1506. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/entities.rs +0 -0
  1507. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/formats.rs +0 -0
  1508. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/immediates.rs +0 -0
  1509. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/instructions.rs +0 -0
  1510. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/mod.rs +0 -0
  1511. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/types.rs +0 -0
  1512. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/srcgen.rs +0 -0
  1513. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/unique_table.rs +0 -0
  1514. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/LICENSE +0 -0
  1515. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/README.md +0 -0
  1516. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/src/constant_hash.rs +0 -0
  1517. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/src/constants.rs +0 -0
  1518. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/src/lib.rs +0 -0
  1519. /data/ext/cargo-vendor/{cranelift-control-0.96.4 → cranelift-control-0.97.1}/LICENSE +0 -0
  1520. /data/ext/cargo-vendor/{cranelift-control-0.96.4 → cranelift-control-0.97.1}/README.md +0 -0
  1521. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/LICENSE +0 -0
  1522. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/README.md +0 -0
  1523. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/boxed_slice.rs +0 -0
  1524. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/iter.rs +0 -0
  1525. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/keys.rs +0 -0
  1526. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/lib.rs +0 -0
  1527. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/map.rs +0 -0
  1528. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/packed_option.rs +0 -0
  1529. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/primary.rs +0 -0
  1530. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/set.rs +0 -0
  1531. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/sparse.rs +0 -0
  1532. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/LICENSE +0 -0
  1533. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/README.md +0 -0
  1534. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/frontend.rs +0 -0
  1535. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/lib.rs +0 -0
  1536. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/ssa.rs +0 -0
  1537. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/switch.rs +0 -0
  1538. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/variable.rs +0 -0
  1539. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/README.md +0 -0
  1540. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/build.rs +0 -0
  1541. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/bad_converters.isle +0 -0
  1542. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1543. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1544. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/error1.isle +0 -0
  1545. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/extra_parens.isle +0 -0
  1546. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/impure_expression.isle +0 -0
  1547. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/impure_rhs.isle +0 -0
  1548. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1549. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/multi_prio.isle +0 -0
  1550. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/borrows.isle +0 -0
  1551. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/borrows_main.rs +0 -0
  1552. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/iflets.isle +0 -0
  1553. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/iflets_main.rs +0 -0
  1554. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_constructor.isle +0 -0
  1555. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_constructor_main.rs +0 -0
  1556. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_extractor.isle +0 -0
  1557. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_extractor_main.rs +0 -0
  1558. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/test.isle +0 -0
  1559. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/test_main.rs +0 -0
  1560. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/bound_var.isle +0 -0
  1561. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/construct_and_extract.isle +0 -0
  1562. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/conversions.isle +0 -0
  1563. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/conversions_extern.isle +0 -0
  1564. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/let.isle +0 -0
  1565. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/nodebug.isle +0 -0
  1566. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1567. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/test2.isle +0 -0
  1568. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/test3.isle +0 -0
  1569. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/test4.isle +0 -0
  1570. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/tutorial.isle +0 -0
  1571. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/iconst.isle +0 -0
  1572. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/iconst_main.rs +0 -0
  1573. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/let_shadowing.isle +0 -0
  1574. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/let_shadowing_main.rs +0 -0
  1575. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/ast.rs +0 -0
  1576. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/codegen.rs +0 -0
  1577. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/compile.rs +0 -0
  1578. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/error.rs +0 -0
  1579. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/lexer.rs +0 -0
  1580. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/lib.rs +0 -0
  1581. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/log.rs +0 -0
  1582. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/overlap.rs +0 -0
  1583. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/parser.rs +0 -0
  1584. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/sema.rs +0 -0
  1585. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/serialize.rs +0 -0
  1586. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/trie_again.rs +0 -0
  1587. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/tests/run_tests.rs +0 -0
  1588. /data/ext/cargo-vendor/{cranelift-native-0.96.4 → cranelift-native-0.97.1}/LICENSE +0 -0
  1589. /data/ext/cargo-vendor/{cranelift-native-0.96.4 → cranelift-native-0.97.1}/README.md +0 -0
  1590. /data/ext/cargo-vendor/{cranelift-native-0.96.4 → cranelift-native-0.97.1}/src/riscv.rs +0 -0
  1591. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/LICENSE +0 -0
  1592. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/README.md +0 -0
  1593. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/code_translator/bounds_checks.rs +0 -0
  1594. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/environ/mod.rs +0 -0
  1595. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/heap.rs +0 -0
  1596. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/lib.rs +0 -0
  1597. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/module_translator.rs +0 -0
  1598. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/state.rs +0 -0
  1599. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/tests/wasm_testsuite.rs +0 -0
  1600. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/arith.wat +0 -0
  1601. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/br_table.wat +0 -0
  1602. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/call-simd.wat +0 -0
  1603. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/call.wat +0 -0
  1604. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_fannkuch.wat +0 -0
  1605. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_fasta.wat +0 -0
  1606. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_ifs.wat +0 -0
  1607. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_primes.wat +0 -0
  1608. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/fac-multi-value.wat +0 -0
  1609. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/fibonacci.wat +0 -0
  1610. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/globals.wat +0 -0
  1611. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/icall-simd.wat +0 -0
  1612. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/icall.wat +0 -0
  1613. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-0.wat +0 -0
  1614. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-1.wat +0 -0
  1615. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-2.wat +0 -0
  1616. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-3.wat +0 -0
  1617. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-4.wat +0 -0
  1618. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-5.wat +0 -0
  1619. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-6.wat +0 -0
  1620. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-unreachable-else-params-2.wat +0 -0
  1621. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-unreachable-else-params.wat +0 -0
  1622. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/issue-1306-name-section-with-u32-max-function-index.wasm +0 -0
  1623. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/memory.wat +0 -0
  1624. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-0.wat +0 -0
  1625. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-1.wat +0 -0
  1626. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-10.wat +0 -0
  1627. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-11.wat +0 -0
  1628. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-12.wat +0 -0
  1629. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-13.wat +0 -0
  1630. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-14.wat +0 -0
  1631. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-15.wat +0 -0
  1632. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-16.wat +0 -0
  1633. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-17.wat +0 -0
  1634. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-2.wat +0 -0
  1635. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-3.wat +0 -0
  1636. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-4.wat +0 -0
  1637. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-5.wat +0 -0
  1638. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-6.wat +0 -0
  1639. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-7.wat +0 -0
  1640. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-8.wat +0 -0
  1641. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-9.wat +0 -0
  1642. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/nullref.wat +0 -0
  1643. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/passive-data.wat +0 -0
  1644. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/pr2303.wat +0 -0
  1645. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/pr2559.wat +0 -0
  1646. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/ref-func-0.wat +0 -0
  1647. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/rust_fannkuch.wat +0 -0
  1648. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/select.wat +0 -0
  1649. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/simd-store.wat +0 -0
  1650. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/simd.wat +0 -0
  1651. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/table-copy.wat +0 -0
  1652. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/unreachable_code.wat +0 -0
  1653. /data/ext/cargo-vendor/{file-per-thread-logger-0.1.6 → file-per-thread-logger-0.2.0}/LICENSE +0 -0
  1654. /data/ext/cargo-vendor/{file-per-thread-logger-0.1.6 → file-per-thread-logger-0.2.0}/README.md +0 -0
  1655. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/LICENSE +0 -0
  1656. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/README.md +0 -0
  1657. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/doc/DESIGN.md +0 -0
  1658. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/doc/TODO +0 -0
  1659. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/cfg.rs +0 -0
  1660. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/domtree.rs +0 -0
  1661. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/fuzzing/mod.rs +0 -0
  1662. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/indexset.rs +0 -0
  1663. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ion/dump.rs +0 -0
  1664. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ion/redundant_moves.rs +0 -0
  1665. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ion/reg_traversal.rs +0 -0
  1666. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/postorder.rs +0 -0
  1667. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ssa.rs +0 -0
  1668. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/LICENSE +0 -0
  1669. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/README.md +0 -0
  1670. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/clocks.rs +0 -0
  1671. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/file.rs +0 -0
  1672. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/net.rs +0 -0
  1673. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/sched/unix.rs +0 -0
  1674. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/sched/windows.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/sched.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/stdio.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/LICENSE +0 -0
  1678. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/README.md +0 -0
  1679. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/README.md +0 -0
  1680. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/docs/README.md +0 -0
  1681. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/README.md +0 -0
  1682. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/docs.md +0 -0
  1683. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/typenames.witx +0 -0
  1684. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_args.witx +0 -0
  1685. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_clock.witx +0 -0
  1686. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_environ.witx +0 -0
  1687. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_fd.witx +0 -0
  1688. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_path.witx +0 -0
  1689. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_poll.witx +0 -0
  1690. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_proc.witx +0 -0
  1691. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_random.witx +0 -0
  1692. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sched.witx +0 -0
  1693. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sock.witx +0 -0
  1694. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/old/snapshot_0/docs.md +0 -0
  1695. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/old/snapshot_0/witx/typenames.witx +0 -0
  1696. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/old/snapshot_0/witx/wasi_unstable.witx +0 -0
  1697. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/docs.html +0 -0
  1698. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/docs.md +0 -0
  1699. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/witx/typenames.witx +0 -0
  1700. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx +0 -0
  1701. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/proposal-template/README.md +0 -0
  1702. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/proposals/README.md +0 -0
  1703. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/snapshots/README.md +0 -0
  1704. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/standard/README.md +0 -0
  1705. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/build.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/clocks.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/dir.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/error.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/lib.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/pipe.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/random.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/sched/subscription.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/sched.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/snapshots/mod.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/snapshots/preview_0.rs +0 -0
  1716. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/snapshots/preview_1/error.rs +0 -0
  1717. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/string_array.rs +0 -0
  1718. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/table.rs +0 -0
  1719. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasm-encoder-0.29.0}/LICENSE +0 -0
  1720. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmparser-0.107.0}/LICENSE +0 -0
  1721. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/README.md +0 -0
  1722. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/examples/simple.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/limits.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component/aliases.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component/names.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component/start.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/code.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/custom.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/data.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/elements.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/exports.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/functions.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/globals.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/imports.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/init.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/memories.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/names.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/operators.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/tables.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/tags.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers.rs +0 -0
  1743. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/resources.rs +0 -0
  1744. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/validator/func.rs +0 -0
  1745. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/tests/big-module.rs +0 -0
  1746. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmparser-0.111.0}/LICENSE +0 -0
  1747. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmprinter-0.2.63}/LICENSE +0 -0
  1748. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-10.0.0}/LICENSE +0 -0
  1749. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/README.md +0 -0
  1750. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/code.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func/host.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func/options.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func/typed.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/linker.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/storage.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/store.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/types.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/values.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/limits.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/module/registry.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/profiling.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/signatures.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/store/data.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trampoline/memory.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trampoline/table.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trampoline.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trap.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/unix.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/windows.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmtime-asm-macros-9.0.4 → wasmtime-asm-macros-10.0.0}/src/lib.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-cache-10.0.0}/LICENSE +0 -0
  1773. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/build.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/config/tests.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/config.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/lib.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/tests.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/worker/tests.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/worker.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/tests/cache_write_default_config.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmtime-component-macro-9.0.4 → wasmtime-component-macro-10.0.0}/src/component.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-component-macro-9.0.4 → wasmtime-component-macro-10.0.0}/src/lib.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-component-util-9.0.4 → wasmtime-component-util-10.0.0}/src/lib.rs +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-cranelift-10.0.0}/LICENSE +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/SECURITY.md +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/builder.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/compiler/component.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/gc.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/address_transform.rs +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/attr.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/expression.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/line_program.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/mod.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/refs.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/unit.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/utils.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/write_debuginfo.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-9.0.4 → wasmtime-cranelift-shared-10.0.0}/src/compiled_function.rs +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-9.0.4 → wasmtime-cranelift-shared-10.0.0}/src/isa_builder.rs +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-9.0.4 → wasmtime-cranelift-shared-10.0.0}/src/obj.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-environ-10.0.0}/LICENSE +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/examples/factc.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/address_map.rs +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/builtin.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/compilation.rs +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/dfg.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/info.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/translate/adapt.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/core_types.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/signature.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/trampoline.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/transcode.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/traps.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/lib.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/module_types.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/obj.rs +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/ref_bits.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/scopevec.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/stack_map.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/tunables.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/vmoffsets.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-types-9.0.4 → wasmtime-fiber-10.0.0}/LICENSE +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/build.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/aarch64.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/arm.rs +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/riscv64.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/s390x.S +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/x86.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/x86_64.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/windows.c +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-wasi-9.0.4 → wasmtime-jit-10.0.0}/LICENSE +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/code_memory.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/debug.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/demangling.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind/miri.rs +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind/systemv.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind/winx64.rs +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind.rs +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/README.md +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/src/gdb_jit_int.rs +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/src/lib.rs +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/src/perf_jitdump.rs +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/lib.rs +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/libc.rs +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/miri.rs +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/win.rs +0 -0
  1852. /data/ext/cargo-vendor/{wiggle-9.0.4 → wasmtime-runtime-10.0.0}/LICENSE +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/build.rs +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/component/transcode.rs +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/export.rs +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/helpers.c +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/imports.rs +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/instance/allocator/pooling/index_allocator.rs +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/instance/allocator/pooling/unix.rs +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/instance/allocator/pooling/windows.rs +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/mmap.rs +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/mmap_vec.rs +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/module_id.rs +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/parking_spot.rs +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/store_box.rs +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/aarch64.rs +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/riscv64.rs +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/s390x.S +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/s390x.rs +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/x86_64.rs +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines.rs +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/aarch64.rs +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/riscv64.rs +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/s390x.rs +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/x86_64.rs +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace.rs +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/macos.rs +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/windows.rs +0 -0
  1879. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wasmtime-types-10.0.1}/LICENSE +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-types-9.0.4 → wasmtime-types-10.0.1}/src/error.rs +0 -0
  1881. /data/ext/cargo-vendor/{wiggle-macro-9.0.4 → wasmtime-wasi-10.0.0}/LICENSE +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-wasi-9.0.4 → wasmtime-wasi-10.0.0}/README.md +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-wasi-9.0.4 → wasmtime-wasi-10.0.0}/build.rs +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-winch-9.0.4 → wasmtime-winch-10.0.0}/LICENSE +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-winch-9.0.4 → wasmtime-winch-10.0.0}/src/builder.rs +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-winch-9.0.4 → wasmtime-winch-10.0.0}/src/lib.rs +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-9.0.4 → wasmtime-wit-bindgen-10.0.0}/src/rust.rs +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-9.0.4 → wasmtime-wit-bindgen-10.0.0}/src/source.rs +0 -0
  1889. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/borrow.rs +0 -0
  1890. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/error.rs +0 -0
  1891. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/guest_type.rs +0 -0
  1892. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/lib.rs +0 -0
  1893. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/region.rs +0 -0
  1894. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/wasmtime.rs +0 -0
  1895. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/README.md +0 -0
  1896. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/codegen_settings.rs +0 -0
  1897. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/config.rs +0 -0
  1898. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/funcs.rs +0 -0
  1899. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/lib.rs +0 -0
  1900. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/lifetimes.rs +0 -0
  1901. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/module_trait.rs +0 -0
  1902. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/names.rs +0 -0
  1903. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/error.rs +0 -0
  1904. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/flags.rs +0 -0
  1905. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/handle.rs +0 -0
  1906. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/mod.rs +0 -0
  1907. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/record.rs +0 -0
  1908. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/variant.rs +0 -0
  1909. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/wasmtime.rs +0 -0
  1910. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/LICENSE +0 -0
  1911. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/build.rs +0 -0
  1912. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/src/isa/aarch64/address.rs +0 -0
  1913. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/src/isa/reg.rs +0 -0
  1914. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/src/regset.rs +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/README.md +0 -0
  1916. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/src/abi.rs +0 -0
  1917. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/src/ast/toposort.rs +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/src/sizealign.rs +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/async.wit.result +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/invalid-md.md +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/keyword.wit +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.7.1/tests/ui/empty.wit → wit-parser-0.8.0/tests/ui/parse-fail/missing-package.wit} +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
@@ -0,0 +1,2903 @@
1
+ #[cfg(feature = "raw")]
2
+ use crate::raw::RawTable;
3
+ use crate::{Equivalent, TryReserveError};
4
+ use alloc::borrow::ToOwned;
5
+ use core::fmt;
6
+ use core::hash::{BuildHasher, Hash};
7
+ use core::iter::{Chain, FromIterator, FusedIterator};
8
+ use core::ops::{BitAnd, BitOr, BitXor, Sub};
9
+
10
+ use super::map::{self, DefaultHashBuilder, ExtractIfInner, HashMap, Keys};
11
+ use crate::raw::{Allocator, Global};
12
+
13
+ // Future Optimization (FIXME!)
14
+ // =============================
15
+ //
16
+ // Iteration over zero sized values is a noop. There is no need
17
+ // for `bucket.val` in the case of HashSet. I suppose we would need HKT
18
+ // to get rid of it properly.
19
+
20
+ /// A hash set implemented as a `HashMap` where the value is `()`.
21
+ ///
22
+ /// As with the [`HashMap`] type, a `HashSet` requires that the elements
23
+ /// implement the [`Eq`] and [`Hash`] traits. This can frequently be achieved by
24
+ /// using `#[derive(PartialEq, Eq, Hash)]`. If you implement these yourself,
25
+ /// it is important that the following property holds:
26
+ ///
27
+ /// ```text
28
+ /// k1 == k2 -> hash(k1) == hash(k2)
29
+ /// ```
30
+ ///
31
+ /// In other words, if two keys are equal, their hashes must be equal.
32
+ ///
33
+ ///
34
+ /// It is a logic error for an item to be modified in such a way that the
35
+ /// item's hash, as determined by the [`Hash`] trait, or its equality, as
36
+ /// determined by the [`Eq`] trait, changes while it is in the set. This is
37
+ /// normally only possible through [`Cell`], [`RefCell`], global state, I/O, or
38
+ /// unsafe code.
39
+ ///
40
+ /// It is also a logic error for the [`Hash`] implementation of a key to panic.
41
+ /// This is generally only possible if the trait is implemented manually. If a
42
+ /// panic does occur then the contents of the `HashSet` may become corrupted and
43
+ /// some items may be dropped from the table.
44
+ ///
45
+ /// # Examples
46
+ ///
47
+ /// ```
48
+ /// use hashbrown::HashSet;
49
+ /// // Type inference lets us omit an explicit type signature (which
50
+ /// // would be `HashSet<String>` in this example).
51
+ /// let mut books = HashSet::new();
52
+ ///
53
+ /// // Add some books.
54
+ /// books.insert("A Dance With Dragons".to_string());
55
+ /// books.insert("To Kill a Mockingbird".to_string());
56
+ /// books.insert("The Odyssey".to_string());
57
+ /// books.insert("The Great Gatsby".to_string());
58
+ ///
59
+ /// // Check for a specific one.
60
+ /// if !books.contains("The Winds of Winter") {
61
+ /// println!("We have {} books, but The Winds of Winter ain't one.",
62
+ /// books.len());
63
+ /// }
64
+ ///
65
+ /// // Remove a book.
66
+ /// books.remove("The Odyssey");
67
+ ///
68
+ /// // Iterate over everything.
69
+ /// for book in &books {
70
+ /// println!("{}", book);
71
+ /// }
72
+ /// ```
73
+ ///
74
+ /// The easiest way to use `HashSet` with a custom type is to derive
75
+ /// [`Eq`] and [`Hash`]. We must also derive [`PartialEq`]. This will in the
76
+ /// future be implied by [`Eq`].
77
+ ///
78
+ /// ```
79
+ /// use hashbrown::HashSet;
80
+ /// #[derive(Hash, Eq, PartialEq, Debug)]
81
+ /// struct Viking {
82
+ /// name: String,
83
+ /// power: usize,
84
+ /// }
85
+ ///
86
+ /// let mut vikings = HashSet::new();
87
+ ///
88
+ /// vikings.insert(Viking { name: "Einar".to_string(), power: 9 });
89
+ /// vikings.insert(Viking { name: "Einar".to_string(), power: 9 });
90
+ /// vikings.insert(Viking { name: "Olaf".to_string(), power: 4 });
91
+ /// vikings.insert(Viking { name: "Harald".to_string(), power: 8 });
92
+ ///
93
+ /// // Use derived implementation to print the vikings.
94
+ /// for x in &vikings {
95
+ /// println!("{:?}", x);
96
+ /// }
97
+ /// ```
98
+ ///
99
+ /// A `HashSet` with fixed list of elements can be initialized from an array:
100
+ ///
101
+ /// ```
102
+ /// use hashbrown::HashSet;
103
+ ///
104
+ /// let viking_names: HashSet<&'static str> =
105
+ /// [ "Einar", "Olaf", "Harald" ].iter().cloned().collect();
106
+ /// // use the values stored in the set
107
+ /// ```
108
+ ///
109
+ /// [`Cell`]: https://doc.rust-lang.org/std/cell/struct.Cell.html
110
+ /// [`Eq`]: https://doc.rust-lang.org/std/cmp/trait.Eq.html
111
+ /// [`Hash`]: https://doc.rust-lang.org/std/hash/trait.Hash.html
112
+ /// [`HashMap`]: struct.HashMap.html
113
+ /// [`PartialEq`]: https://doc.rust-lang.org/std/cmp/trait.PartialEq.html
114
+ /// [`RefCell`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html
115
+ pub struct HashSet<T, S = DefaultHashBuilder, A: Allocator + Clone = Global> {
116
+ pub(crate) map: HashMap<T, (), S, A>,
117
+ }
118
+
119
+ impl<T: Clone, S: Clone, A: Allocator + Clone> Clone for HashSet<T, S, A> {
120
+ fn clone(&self) -> Self {
121
+ HashSet {
122
+ map: self.map.clone(),
123
+ }
124
+ }
125
+
126
+ fn clone_from(&mut self, source: &Self) {
127
+ self.map.clone_from(&source.map);
128
+ }
129
+ }
130
+
131
+ #[cfg(feature = "ahash")]
132
+ impl<T> HashSet<T, DefaultHashBuilder> {
133
+ /// Creates an empty `HashSet`.
134
+ ///
135
+ /// The hash set is initially created with a capacity of 0, so it will not allocate until it
136
+ /// is first inserted into.
137
+ ///
138
+ /// # HashDoS resistance
139
+ ///
140
+ /// The `hash_builder` normally use a fixed key by default and that does
141
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
142
+ /// Users who require HashDoS resistance should explicitly use
143
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
144
+ /// as the hasher when creating a [`HashSet`], for example with
145
+ /// [`with_hasher`](HashSet::with_hasher) method.
146
+ ///
147
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
148
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
149
+ ///
150
+ /// # Examples
151
+ ///
152
+ /// ```
153
+ /// use hashbrown::HashSet;
154
+ /// let set: HashSet<i32> = HashSet::new();
155
+ /// ```
156
+ #[cfg_attr(feature = "inline-more", inline)]
157
+ pub fn new() -> Self {
158
+ Self {
159
+ map: HashMap::new(),
160
+ }
161
+ }
162
+
163
+ /// Creates an empty `HashSet` with the specified capacity.
164
+ ///
165
+ /// The hash set will be able to hold at least `capacity` elements without
166
+ /// reallocating. If `capacity` is 0, the hash set will not allocate.
167
+ ///
168
+ /// # HashDoS resistance
169
+ ///
170
+ /// The `hash_builder` normally use a fixed key by default and that does
171
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
172
+ /// Users who require HashDoS resistance should explicitly use
173
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
174
+ /// as the hasher when creating a [`HashSet`], for example with
175
+ /// [`with_capacity_and_hasher`](HashSet::with_capacity_and_hasher) method.
176
+ ///
177
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
178
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
179
+ ///
180
+ /// # Examples
181
+ ///
182
+ /// ```
183
+ /// use hashbrown::HashSet;
184
+ /// let set: HashSet<i32> = HashSet::with_capacity(10);
185
+ /// assert!(set.capacity() >= 10);
186
+ /// ```
187
+ #[cfg_attr(feature = "inline-more", inline)]
188
+ pub fn with_capacity(capacity: usize) -> Self {
189
+ Self {
190
+ map: HashMap::with_capacity(capacity),
191
+ }
192
+ }
193
+ }
194
+
195
+ #[cfg(feature = "ahash")]
196
+ impl<T: Hash + Eq, A: Allocator + Clone> HashSet<T, DefaultHashBuilder, A> {
197
+ /// Creates an empty `HashSet`.
198
+ ///
199
+ /// The hash set is initially created with a capacity of 0, so it will not allocate until it
200
+ /// is first inserted into.
201
+ ///
202
+ /// # HashDoS resistance
203
+ ///
204
+ /// The `hash_builder` normally use a fixed key by default and that does
205
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
206
+ /// Users who require HashDoS resistance should explicitly use
207
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
208
+ /// as the hasher when creating a [`HashSet`], for example with
209
+ /// [`with_hasher_in`](HashSet::with_hasher_in) method.
210
+ ///
211
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
212
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
213
+ ///
214
+ /// # Examples
215
+ ///
216
+ /// ```
217
+ /// use hashbrown::HashSet;
218
+ /// let set: HashSet<i32> = HashSet::new();
219
+ /// ```
220
+ #[cfg_attr(feature = "inline-more", inline)]
221
+ pub fn new_in(alloc: A) -> Self {
222
+ Self {
223
+ map: HashMap::new_in(alloc),
224
+ }
225
+ }
226
+
227
+ /// Creates an empty `HashSet` with the specified capacity.
228
+ ///
229
+ /// The hash set will be able to hold at least `capacity` elements without
230
+ /// reallocating. If `capacity` is 0, the hash set will not allocate.
231
+ ///
232
+ /// # HashDoS resistance
233
+ ///
234
+ /// The `hash_builder` normally use a fixed key by default and that does
235
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
236
+ /// Users who require HashDoS resistance should explicitly use
237
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
238
+ /// as the hasher when creating a [`HashSet`], for example with
239
+ /// [`with_capacity_and_hasher_in`](HashSet::with_capacity_and_hasher_in) method.
240
+ ///
241
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
242
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
243
+ ///
244
+ /// # Examples
245
+ ///
246
+ /// ```
247
+ /// use hashbrown::HashSet;
248
+ /// let set: HashSet<i32> = HashSet::with_capacity(10);
249
+ /// assert!(set.capacity() >= 10);
250
+ /// ```
251
+ #[cfg_attr(feature = "inline-more", inline)]
252
+ pub fn with_capacity_in(capacity: usize, alloc: A) -> Self {
253
+ Self {
254
+ map: HashMap::with_capacity_in(capacity, alloc),
255
+ }
256
+ }
257
+ }
258
+
259
+ impl<T, S, A: Allocator + Clone> HashSet<T, S, A> {
260
+ /// Returns the number of elements the set can hold without reallocating.
261
+ ///
262
+ /// # Examples
263
+ ///
264
+ /// ```
265
+ /// use hashbrown::HashSet;
266
+ /// let set: HashSet<i32> = HashSet::with_capacity(100);
267
+ /// assert!(set.capacity() >= 100);
268
+ /// ```
269
+ #[cfg_attr(feature = "inline-more", inline)]
270
+ pub fn capacity(&self) -> usize {
271
+ self.map.capacity()
272
+ }
273
+
274
+ /// An iterator visiting all elements in arbitrary order.
275
+ /// The iterator element type is `&'a T`.
276
+ ///
277
+ /// # Examples
278
+ ///
279
+ /// ```
280
+ /// use hashbrown::HashSet;
281
+ /// let mut set = HashSet::new();
282
+ /// set.insert("a");
283
+ /// set.insert("b");
284
+ ///
285
+ /// // Will print in an arbitrary order.
286
+ /// for x in set.iter() {
287
+ /// println!("{}", x);
288
+ /// }
289
+ /// ```
290
+ #[cfg_attr(feature = "inline-more", inline)]
291
+ pub fn iter(&self) -> Iter<'_, T> {
292
+ Iter {
293
+ iter: self.map.keys(),
294
+ }
295
+ }
296
+
297
+ /// Returns the number of elements in the set.
298
+ ///
299
+ /// # Examples
300
+ ///
301
+ /// ```
302
+ /// use hashbrown::HashSet;
303
+ ///
304
+ /// let mut v = HashSet::new();
305
+ /// assert_eq!(v.len(), 0);
306
+ /// v.insert(1);
307
+ /// assert_eq!(v.len(), 1);
308
+ /// ```
309
+ #[cfg_attr(feature = "inline-more", inline)]
310
+ pub fn len(&self) -> usize {
311
+ self.map.len()
312
+ }
313
+
314
+ /// Returns `true` if the set contains no elements.
315
+ ///
316
+ /// # Examples
317
+ ///
318
+ /// ```
319
+ /// use hashbrown::HashSet;
320
+ ///
321
+ /// let mut v = HashSet::new();
322
+ /// assert!(v.is_empty());
323
+ /// v.insert(1);
324
+ /// assert!(!v.is_empty());
325
+ /// ```
326
+ #[cfg_attr(feature = "inline-more", inline)]
327
+ pub fn is_empty(&self) -> bool {
328
+ self.map.is_empty()
329
+ }
330
+
331
+ /// Clears the set, returning all elements in an iterator.
332
+ ///
333
+ /// # Examples
334
+ ///
335
+ /// ```
336
+ /// use hashbrown::HashSet;
337
+ ///
338
+ /// let mut set: HashSet<_> = [1, 2, 3].iter().cloned().collect();
339
+ /// assert!(!set.is_empty());
340
+ ///
341
+ /// // print 1, 2, 3 in an arbitrary order
342
+ /// for i in set.drain() {
343
+ /// println!("{}", i);
344
+ /// }
345
+ ///
346
+ /// assert!(set.is_empty());
347
+ /// ```
348
+ #[cfg_attr(feature = "inline-more", inline)]
349
+ pub fn drain(&mut self) -> Drain<'_, T, A> {
350
+ Drain {
351
+ iter: self.map.drain(),
352
+ }
353
+ }
354
+
355
+ /// Retains only the elements specified by the predicate.
356
+ ///
357
+ /// In other words, remove all elements `e` such that `f(&e)` returns `false`.
358
+ ///
359
+ /// # Examples
360
+ ///
361
+ /// ```
362
+ /// use hashbrown::HashSet;
363
+ ///
364
+ /// let xs = [1,2,3,4,5,6];
365
+ /// let mut set: HashSet<i32> = xs.iter().cloned().collect();
366
+ /// set.retain(|&k| k % 2 == 0);
367
+ /// assert_eq!(set.len(), 3);
368
+ /// ```
369
+ pub fn retain<F>(&mut self, mut f: F)
370
+ where
371
+ F: FnMut(&T) -> bool,
372
+ {
373
+ self.map.retain(|k, _| f(k));
374
+ }
375
+
376
+ /// Drains elements which are true under the given predicate,
377
+ /// and returns an iterator over the removed items.
378
+ ///
379
+ /// In other words, move all elements `e` such that `f(&e)` returns `true` out
380
+ /// into another iterator.
381
+ ///
382
+ /// If the returned `ExtractIf` is not exhausted, e.g. because it is dropped without iterating
383
+ /// or the iteration short-circuits, then the remaining elements will be retained.
384
+ /// Use [`retain()`] with a negated predicate if you do not need the returned iterator.
385
+ ///
386
+ /// # Examples
387
+ ///
388
+ /// ```
389
+ /// use hashbrown::HashSet;
390
+ ///
391
+ /// let mut set: HashSet<i32> = (0..8).collect();
392
+ /// let drained: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();
393
+ ///
394
+ /// let mut evens = drained.into_iter().collect::<Vec<_>>();
395
+ /// let mut odds = set.into_iter().collect::<Vec<_>>();
396
+ /// evens.sort();
397
+ /// odds.sort();
398
+ ///
399
+ /// assert_eq!(evens, vec![0, 2, 4, 6]);
400
+ /// assert_eq!(odds, vec![1, 3, 5, 7]);
401
+ /// ```
402
+ #[cfg_attr(feature = "inline-more", inline)]
403
+ pub fn extract_if<F>(&mut self, f: F) -> ExtractIf<'_, T, F, A>
404
+ where
405
+ F: FnMut(&T) -> bool,
406
+ {
407
+ ExtractIf {
408
+ f,
409
+ inner: ExtractIfInner {
410
+ iter: unsafe { self.map.table.iter() },
411
+ table: &mut self.map.table,
412
+ },
413
+ }
414
+ }
415
+
416
+ /// Clears the set, removing all values.
417
+ ///
418
+ /// # Examples
419
+ ///
420
+ /// ```
421
+ /// use hashbrown::HashSet;
422
+ ///
423
+ /// let mut v = HashSet::new();
424
+ /// v.insert(1);
425
+ /// v.clear();
426
+ /// assert!(v.is_empty());
427
+ /// ```
428
+ #[cfg_attr(feature = "inline-more", inline)]
429
+ pub fn clear(&mut self) {
430
+ self.map.clear();
431
+ }
432
+ }
433
+
434
+ impl<T, S> HashSet<T, S, Global> {
435
+ /// Creates a new empty hash set which will use the given hasher to hash
436
+ /// keys.
437
+ ///
438
+ /// The hash set is initially created with a capacity of 0, so it will not
439
+ /// allocate until it is first inserted into.
440
+ ///
441
+ /// # HashDoS resistance
442
+ ///
443
+ /// The `hash_builder` normally use a fixed key by default and that does
444
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
445
+ /// Users who require HashDoS resistance should explicitly use
446
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
447
+ /// as the hasher when creating a [`HashSet`].
448
+ ///
449
+ /// The `hash_builder` passed should implement the [`BuildHasher`] trait for
450
+ /// the HashSet to be useful, see its documentation for details.
451
+ ///
452
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
453
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
454
+ /// [`BuildHasher`]: https://doc.rust-lang.org/std/hash/trait.BuildHasher.html
455
+ ///
456
+ /// # Examples
457
+ ///
458
+ /// ```
459
+ /// use hashbrown::HashSet;
460
+ /// use hashbrown::hash_map::DefaultHashBuilder;
461
+ ///
462
+ /// let s = DefaultHashBuilder::default();
463
+ /// let mut set = HashSet::with_hasher(s);
464
+ /// set.insert(2);
465
+ /// ```
466
+ #[cfg_attr(feature = "inline-more", inline)]
467
+ pub const fn with_hasher(hasher: S) -> Self {
468
+ Self {
469
+ map: HashMap::with_hasher(hasher),
470
+ }
471
+ }
472
+
473
+ /// Creates an empty `HashSet` with the specified capacity, using
474
+ /// `hasher` to hash the keys.
475
+ ///
476
+ /// The hash set will be able to hold at least `capacity` elements without
477
+ /// reallocating. If `capacity` is 0, the hash set will not allocate.
478
+ ///
479
+ /// # HashDoS resistance
480
+ ///
481
+ /// The `hash_builder` normally use a fixed key by default and that does
482
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
483
+ /// Users who require HashDoS resistance should explicitly use
484
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
485
+ /// as the hasher when creating a [`HashSet`].
486
+ ///
487
+ /// The `hash_builder` passed should implement the [`BuildHasher`] trait for
488
+ /// the HashSet to be useful, see its documentation for details.
489
+ ///
490
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
491
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
492
+ /// [`BuildHasher`]: https://doc.rust-lang.org/std/hash/trait.BuildHasher.html
493
+ ///
494
+ /// # Examples
495
+ ///
496
+ /// ```
497
+ /// use hashbrown::HashSet;
498
+ /// use hashbrown::hash_map::DefaultHashBuilder;
499
+ ///
500
+ /// let s = DefaultHashBuilder::default();
501
+ /// let mut set = HashSet::with_capacity_and_hasher(10, s);
502
+ /// set.insert(1);
503
+ /// ```
504
+ #[cfg_attr(feature = "inline-more", inline)]
505
+ pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> Self {
506
+ Self {
507
+ map: HashMap::with_capacity_and_hasher(capacity, hasher),
508
+ }
509
+ }
510
+ }
511
+
512
+ impl<T, S, A> HashSet<T, S, A>
513
+ where
514
+ A: Allocator + Clone,
515
+ {
516
+ /// Returns a reference to the underlying allocator.
517
+ #[inline]
518
+ pub fn allocator(&self) -> &A {
519
+ self.map.allocator()
520
+ }
521
+
522
+ /// Creates a new empty hash set which will use the given hasher to hash
523
+ /// keys.
524
+ ///
525
+ /// The hash set is initially created with a capacity of 0, so it will not
526
+ /// allocate until it is first inserted into.
527
+ ///
528
+ /// # HashDoS resistance
529
+ ///
530
+ /// The `hash_builder` normally use a fixed key by default and that does
531
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
532
+ /// Users who require HashDoS resistance should explicitly use
533
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
534
+ /// as the hasher when creating a [`HashSet`].
535
+ ///
536
+ /// The `hash_builder` passed should implement the [`BuildHasher`] trait for
537
+ /// the HashSet to be useful, see its documentation for details.
538
+ ///
539
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
540
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
541
+ /// [`BuildHasher`]: https://doc.rust-lang.org/std/hash/trait.BuildHasher.html
542
+ ///
543
+ /// # Examples
544
+ ///
545
+ /// ```
546
+ /// use hashbrown::HashSet;
547
+ /// use hashbrown::hash_map::DefaultHashBuilder;
548
+ ///
549
+ /// let s = DefaultHashBuilder::default();
550
+ /// let mut set = HashSet::with_hasher(s);
551
+ /// set.insert(2);
552
+ /// ```
553
+ #[cfg_attr(feature = "inline-more", inline)]
554
+ pub const fn with_hasher_in(hasher: S, alloc: A) -> Self {
555
+ Self {
556
+ map: HashMap::with_hasher_in(hasher, alloc),
557
+ }
558
+ }
559
+
560
+ /// Creates an empty `HashSet` with the specified capacity, using
561
+ /// `hasher` to hash the keys.
562
+ ///
563
+ /// The hash set will be able to hold at least `capacity` elements without
564
+ /// reallocating. If `capacity` is 0, the hash set will not allocate.
565
+ ///
566
+ /// # HashDoS resistance
567
+ ///
568
+ /// The `hash_builder` normally use a fixed key by default and that does
569
+ /// not allow the `HashSet` to be protected against attacks such as [`HashDoS`].
570
+ /// Users who require HashDoS resistance should explicitly use
571
+ /// [`ahash::RandomState`] or [`std::collections::hash_map::RandomState`]
572
+ /// as the hasher when creating a [`HashSet`].
573
+ ///
574
+ /// The `hash_builder` passed should implement the [`BuildHasher`] trait for
575
+ /// the HashSet to be useful, see its documentation for details.
576
+ ///
577
+ /// [`HashDoS`]: https://en.wikipedia.org/wiki/Collision_attack
578
+ /// [`std::collections::hash_map::RandomState`]: https://doc.rust-lang.org/std/collections/hash_map/struct.RandomState.html
579
+ /// [`BuildHasher`]: https://doc.rust-lang.org/std/hash/trait.BuildHasher.html
580
+ ///
581
+ /// # Examples
582
+ ///
583
+ /// ```
584
+ /// use hashbrown::HashSet;
585
+ /// use hashbrown::hash_map::DefaultHashBuilder;
586
+ ///
587
+ /// let s = DefaultHashBuilder::default();
588
+ /// let mut set = HashSet::with_capacity_and_hasher(10, s);
589
+ /// set.insert(1);
590
+ /// ```
591
+ #[cfg_attr(feature = "inline-more", inline)]
592
+ pub fn with_capacity_and_hasher_in(capacity: usize, hasher: S, alloc: A) -> Self {
593
+ Self {
594
+ map: HashMap::with_capacity_and_hasher_in(capacity, hasher, alloc),
595
+ }
596
+ }
597
+
598
+ /// Returns a reference to the set's [`BuildHasher`].
599
+ ///
600
+ /// [`BuildHasher`]: https://doc.rust-lang.org/std/hash/trait.BuildHasher.html
601
+ ///
602
+ /// # Examples
603
+ ///
604
+ /// ```
605
+ /// use hashbrown::HashSet;
606
+ /// use hashbrown::hash_map::DefaultHashBuilder;
607
+ ///
608
+ /// let hasher = DefaultHashBuilder::default();
609
+ /// let set: HashSet<i32> = HashSet::with_hasher(hasher);
610
+ /// let hasher: &DefaultHashBuilder = set.hasher();
611
+ /// ```
612
+ #[cfg_attr(feature = "inline-more", inline)]
613
+ pub fn hasher(&self) -> &S {
614
+ self.map.hasher()
615
+ }
616
+ }
617
+
618
+ impl<T, S, A> HashSet<T, S, A>
619
+ where
620
+ T: Eq + Hash,
621
+ S: BuildHasher,
622
+ A: Allocator + Clone,
623
+ {
624
+ /// Reserves capacity for at least `additional` more elements to be inserted
625
+ /// in the `HashSet`. The collection may reserve more space to avoid
626
+ /// frequent reallocations.
627
+ ///
628
+ /// # Panics
629
+ ///
630
+ /// Panics if the new capacity exceeds [`isize::MAX`] bytes and [`abort`] the program
631
+ /// in case of allocation error. Use [`try_reserve`](HashSet::try_reserve) instead
632
+ /// if you want to handle memory allocation failure.
633
+ ///
634
+ /// [`isize::MAX`]: https://doc.rust-lang.org/std/primitive.isize.html
635
+ /// [`abort`]: https://doc.rust-lang.org/alloc/alloc/fn.handle_alloc_error.html
636
+ ///
637
+ /// # Examples
638
+ ///
639
+ /// ```
640
+ /// use hashbrown::HashSet;
641
+ /// let mut set: HashSet<i32> = HashSet::new();
642
+ /// set.reserve(10);
643
+ /// assert!(set.capacity() >= 10);
644
+ /// ```
645
+ #[cfg_attr(feature = "inline-more", inline)]
646
+ pub fn reserve(&mut self, additional: usize) {
647
+ self.map.reserve(additional);
648
+ }
649
+
650
+ /// Tries to reserve capacity for at least `additional` more elements to be inserted
651
+ /// in the given `HashSet<K,V>`. The collection may reserve more space to avoid
652
+ /// frequent reallocations.
653
+ ///
654
+ /// # Errors
655
+ ///
656
+ /// If the capacity overflows, or the allocator reports a failure, then an error
657
+ /// is returned.
658
+ ///
659
+ /// # Examples
660
+ ///
661
+ /// ```
662
+ /// use hashbrown::HashSet;
663
+ /// let mut set: HashSet<i32> = HashSet::new();
664
+ /// set.try_reserve(10).expect("why is the test harness OOMing on 10 bytes?");
665
+ /// ```
666
+ #[cfg_attr(feature = "inline-more", inline)]
667
+ pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError> {
668
+ self.map.try_reserve(additional)
669
+ }
670
+
671
+ /// Shrinks the capacity of the set as much as possible. It will drop
672
+ /// down as much as possible while maintaining the internal rules
673
+ /// and possibly leaving some space in accordance with the resize policy.
674
+ ///
675
+ /// # Examples
676
+ ///
677
+ /// ```
678
+ /// use hashbrown::HashSet;
679
+ ///
680
+ /// let mut set = HashSet::with_capacity(100);
681
+ /// set.insert(1);
682
+ /// set.insert(2);
683
+ /// assert!(set.capacity() >= 100);
684
+ /// set.shrink_to_fit();
685
+ /// assert!(set.capacity() >= 2);
686
+ /// ```
687
+ #[cfg_attr(feature = "inline-more", inline)]
688
+ pub fn shrink_to_fit(&mut self) {
689
+ self.map.shrink_to_fit();
690
+ }
691
+
692
+ /// Shrinks the capacity of the set with a lower limit. It will drop
693
+ /// down no lower than the supplied limit while maintaining the internal rules
694
+ /// and possibly leaving some space in accordance with the resize policy.
695
+ ///
696
+ /// Panics if the current capacity is smaller than the supplied
697
+ /// minimum capacity.
698
+ ///
699
+ /// # Examples
700
+ ///
701
+ /// ```
702
+ /// use hashbrown::HashSet;
703
+ ///
704
+ /// let mut set = HashSet::with_capacity(100);
705
+ /// set.insert(1);
706
+ /// set.insert(2);
707
+ /// assert!(set.capacity() >= 100);
708
+ /// set.shrink_to(10);
709
+ /// assert!(set.capacity() >= 10);
710
+ /// set.shrink_to(0);
711
+ /// assert!(set.capacity() >= 2);
712
+ /// ```
713
+ #[cfg_attr(feature = "inline-more", inline)]
714
+ pub fn shrink_to(&mut self, min_capacity: usize) {
715
+ self.map.shrink_to(min_capacity);
716
+ }
717
+
718
+ /// Visits the values representing the difference,
719
+ /// i.e., the values that are in `self` but not in `other`.
720
+ ///
721
+ /// # Examples
722
+ ///
723
+ /// ```
724
+ /// use hashbrown::HashSet;
725
+ /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect();
726
+ /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect();
727
+ ///
728
+ /// // Can be seen as `a - b`.
729
+ /// for x in a.difference(&b) {
730
+ /// println!("{}", x); // Print 1
731
+ /// }
732
+ ///
733
+ /// let diff: HashSet<_> = a.difference(&b).collect();
734
+ /// assert_eq!(diff, [1].iter().collect());
735
+ ///
736
+ /// // Note that difference is not symmetric,
737
+ /// // and `b - a` means something else:
738
+ /// let diff: HashSet<_> = b.difference(&a).collect();
739
+ /// assert_eq!(diff, [4].iter().collect());
740
+ /// ```
741
+ #[cfg_attr(feature = "inline-more", inline)]
742
+ pub fn difference<'a>(&'a self, other: &'a Self) -> Difference<'a, T, S, A> {
743
+ Difference {
744
+ iter: self.iter(),
745
+ other,
746
+ }
747
+ }
748
+
749
+ /// Visits the values representing the symmetric difference,
750
+ /// i.e., the values that are in `self` or in `other` but not in both.
751
+ ///
752
+ /// # Examples
753
+ ///
754
+ /// ```
755
+ /// use hashbrown::HashSet;
756
+ /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect();
757
+ /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect();
758
+ ///
759
+ /// // Print 1, 4 in arbitrary order.
760
+ /// for x in a.symmetric_difference(&b) {
761
+ /// println!("{}", x);
762
+ /// }
763
+ ///
764
+ /// let diff1: HashSet<_> = a.symmetric_difference(&b).collect();
765
+ /// let diff2: HashSet<_> = b.symmetric_difference(&a).collect();
766
+ ///
767
+ /// assert_eq!(diff1, diff2);
768
+ /// assert_eq!(diff1, [1, 4].iter().collect());
769
+ /// ```
770
+ #[cfg_attr(feature = "inline-more", inline)]
771
+ pub fn symmetric_difference<'a>(&'a self, other: &'a Self) -> SymmetricDifference<'a, T, S, A> {
772
+ SymmetricDifference {
773
+ iter: self.difference(other).chain(other.difference(self)),
774
+ }
775
+ }
776
+
777
+ /// Visits the values representing the intersection,
778
+ /// i.e., the values that are both in `self` and `other`.
779
+ ///
780
+ /// # Examples
781
+ ///
782
+ /// ```
783
+ /// use hashbrown::HashSet;
784
+ /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect();
785
+ /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect();
786
+ ///
787
+ /// // Print 2, 3 in arbitrary order.
788
+ /// for x in a.intersection(&b) {
789
+ /// println!("{}", x);
790
+ /// }
791
+ ///
792
+ /// let intersection: HashSet<_> = a.intersection(&b).collect();
793
+ /// assert_eq!(intersection, [2, 3].iter().collect());
794
+ /// ```
795
+ #[cfg_attr(feature = "inline-more", inline)]
796
+ pub fn intersection<'a>(&'a self, other: &'a Self) -> Intersection<'a, T, S, A> {
797
+ let (smaller, larger) = if self.len() <= other.len() {
798
+ (self, other)
799
+ } else {
800
+ (other, self)
801
+ };
802
+ Intersection {
803
+ iter: smaller.iter(),
804
+ other: larger,
805
+ }
806
+ }
807
+
808
+ /// Visits the values representing the union,
809
+ /// i.e., all the values in `self` or `other`, without duplicates.
810
+ ///
811
+ /// # Examples
812
+ ///
813
+ /// ```
814
+ /// use hashbrown::HashSet;
815
+ /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect();
816
+ /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect();
817
+ ///
818
+ /// // Print 1, 2, 3, 4 in arbitrary order.
819
+ /// for x in a.union(&b) {
820
+ /// println!("{}", x);
821
+ /// }
822
+ ///
823
+ /// let union: HashSet<_> = a.union(&b).collect();
824
+ /// assert_eq!(union, [1, 2, 3, 4].iter().collect());
825
+ /// ```
826
+ #[cfg_attr(feature = "inline-more", inline)]
827
+ pub fn union<'a>(&'a self, other: &'a Self) -> Union<'a, T, S, A> {
828
+ // We'll iterate one set in full, and only the remaining difference from the other.
829
+ // Use the smaller set for the difference in order to reduce hash lookups.
830
+ let (smaller, larger) = if self.len() <= other.len() {
831
+ (self, other)
832
+ } else {
833
+ (other, self)
834
+ };
835
+ Union {
836
+ iter: larger.iter().chain(smaller.difference(larger)),
837
+ }
838
+ }
839
+
840
+ /// Returns `true` if the set contains a value.
841
+ ///
842
+ /// The value may be any borrowed form of the set's value type, but
843
+ /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for
844
+ /// the value type.
845
+ ///
846
+ /// # Examples
847
+ ///
848
+ /// ```
849
+ /// use hashbrown::HashSet;
850
+ ///
851
+ /// let set: HashSet<_> = [1, 2, 3].iter().cloned().collect();
852
+ /// assert_eq!(set.contains(&1), true);
853
+ /// assert_eq!(set.contains(&4), false);
854
+ /// ```
855
+ ///
856
+ /// [`Eq`]: https://doc.rust-lang.org/std/cmp/trait.Eq.html
857
+ /// [`Hash`]: https://doc.rust-lang.org/std/hash/trait.Hash.html
858
+ #[cfg_attr(feature = "inline-more", inline)]
859
+ pub fn contains<Q: ?Sized>(&self, value: &Q) -> bool
860
+ where
861
+ Q: Hash + Equivalent<T>,
862
+ {
863
+ self.map.contains_key(value)
864
+ }
865
+
866
+ /// Returns a reference to the value in the set, if any, that is equal to the given value.
867
+ ///
868
+ /// The value may be any borrowed form of the set's value type, but
869
+ /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for
870
+ /// the value type.
871
+ ///
872
+ /// # Examples
873
+ ///
874
+ /// ```
875
+ /// use hashbrown::HashSet;
876
+ ///
877
+ /// let set: HashSet<_> = [1, 2, 3].iter().cloned().collect();
878
+ /// assert_eq!(set.get(&2), Some(&2));
879
+ /// assert_eq!(set.get(&4), None);
880
+ /// ```
881
+ ///
882
+ /// [`Eq`]: https://doc.rust-lang.org/std/cmp/trait.Eq.html
883
+ /// [`Hash`]: https://doc.rust-lang.org/std/hash/trait.Hash.html
884
+ #[cfg_attr(feature = "inline-more", inline)]
885
+ pub fn get<Q: ?Sized>(&self, value: &Q) -> Option<&T>
886
+ where
887
+ Q: Hash + Equivalent<T>,
888
+ {
889
+ // Avoid `Option::map` because it bloats LLVM IR.
890
+ match self.map.get_key_value(value) {
891
+ Some((k, _)) => Some(k),
892
+ None => None,
893
+ }
894
+ }
895
+
896
+ /// Inserts the given `value` into the set if it is not present, then
897
+ /// returns a reference to the value in the set.
898
+ ///
899
+ /// # Examples
900
+ ///
901
+ /// ```
902
+ /// use hashbrown::HashSet;
903
+ ///
904
+ /// let mut set: HashSet<_> = [1, 2, 3].iter().cloned().collect();
905
+ /// assert_eq!(set.len(), 3);
906
+ /// assert_eq!(set.get_or_insert(2), &2);
907
+ /// assert_eq!(set.get_or_insert(100), &100);
908
+ /// assert_eq!(set.len(), 4); // 100 was inserted
909
+ /// ```
910
+ #[cfg_attr(feature = "inline-more", inline)]
911
+ pub fn get_or_insert(&mut self, value: T) -> &T {
912
+ // Although the raw entry gives us `&mut T`, we only return `&T` to be consistent with
913
+ // `get`. Key mutation is "raw" because you're not supposed to affect `Eq` or `Hash`.
914
+ self.map
915
+ .raw_entry_mut()
916
+ .from_key(&value)
917
+ .or_insert(value, ())
918
+ .0
919
+ }
920
+
921
+ /// Inserts an owned copy of the given `value` into the set if it is not
922
+ /// present, then returns a reference to the value in the set.
923
+ ///
924
+ /// # Examples
925
+ ///
926
+ /// ```
927
+ /// use hashbrown::HashSet;
928
+ ///
929
+ /// let mut set: HashSet<String> = ["cat", "dog", "horse"]
930
+ /// .iter().map(|&pet| pet.to_owned()).collect();
931
+ ///
932
+ /// assert_eq!(set.len(), 3);
933
+ /// for &pet in &["cat", "dog", "fish"] {
934
+ /// let value = set.get_or_insert_owned(pet);
935
+ /// assert_eq!(value, pet);
936
+ /// }
937
+ /// assert_eq!(set.len(), 4); // a new "fish" was inserted
938
+ /// ```
939
+ #[inline]
940
+ pub fn get_or_insert_owned<Q: ?Sized>(&mut self, value: &Q) -> &T
941
+ where
942
+ Q: Hash + Equivalent<T> + ToOwned<Owned = T>,
943
+ {
944
+ // Although the raw entry gives us `&mut T`, we only return `&T` to be consistent with
945
+ // `get`. Key mutation is "raw" because you're not supposed to affect `Eq` or `Hash`.
946
+ self.map
947
+ .raw_entry_mut()
948
+ .from_key(value)
949
+ .or_insert_with(|| (value.to_owned(), ()))
950
+ .0
951
+ }
952
+
953
+ /// Inserts a value computed from `f` into the set if the given `value` is
954
+ /// not present, then returns a reference to the value in the set.
955
+ ///
956
+ /// # Examples
957
+ ///
958
+ /// ```
959
+ /// use hashbrown::HashSet;
960
+ ///
961
+ /// let mut set: HashSet<String> = ["cat", "dog", "horse"]
962
+ /// .iter().map(|&pet| pet.to_owned()).collect();
963
+ ///
964
+ /// assert_eq!(set.len(), 3);
965
+ /// for &pet in &["cat", "dog", "fish"] {
966
+ /// let value = set.get_or_insert_with(pet, str::to_owned);
967
+ /// assert_eq!(value, pet);
968
+ /// }
969
+ /// assert_eq!(set.len(), 4); // a new "fish" was inserted
970
+ /// ```
971
+ #[cfg_attr(feature = "inline-more", inline)]
972
+ pub fn get_or_insert_with<Q: ?Sized, F>(&mut self, value: &Q, f: F) -> &T
973
+ where
974
+ Q: Hash + Equivalent<T>,
975
+ F: FnOnce(&Q) -> T,
976
+ {
977
+ // Although the raw entry gives us `&mut T`, we only return `&T` to be consistent with
978
+ // `get`. Key mutation is "raw" because you're not supposed to affect `Eq` or `Hash`.
979
+ self.map
980
+ .raw_entry_mut()
981
+ .from_key(value)
982
+ .or_insert_with(|| (f(value), ()))
983
+ .0
984
+ }
985
+
986
+ /// Gets the given value's corresponding entry in the set for in-place manipulation.
987
+ ///
988
+ /// # Examples
989
+ ///
990
+ /// ```
991
+ /// use hashbrown::HashSet;
992
+ /// use hashbrown::hash_set::Entry::*;
993
+ ///
994
+ /// let mut singles = HashSet::new();
995
+ /// let mut dupes = HashSet::new();
996
+ ///
997
+ /// for ch in "a short treatise on fungi".chars() {
998
+ /// if let Vacant(dupe_entry) = dupes.entry(ch) {
999
+ /// // We haven't already seen a duplicate, so
1000
+ /// // check if we've at least seen it once.
1001
+ /// match singles.entry(ch) {
1002
+ /// Vacant(single_entry) => {
1003
+ /// // We found a new character for the first time.
1004
+ /// single_entry.insert()
1005
+ /// }
1006
+ /// Occupied(single_entry) => {
1007
+ /// // We've already seen this once, "move" it to dupes.
1008
+ /// single_entry.remove();
1009
+ /// dupe_entry.insert();
1010
+ /// }
1011
+ /// }
1012
+ /// }
1013
+ /// }
1014
+ ///
1015
+ /// assert!(!singles.contains(&'t') && dupes.contains(&'t'));
1016
+ /// assert!(singles.contains(&'u') && !dupes.contains(&'u'));
1017
+ /// assert!(!singles.contains(&'v') && !dupes.contains(&'v'));
1018
+ /// ```
1019
+ #[cfg_attr(feature = "inline-more", inline)]
1020
+ pub fn entry(&mut self, value: T) -> Entry<'_, T, S, A> {
1021
+ match self.map.entry(value) {
1022
+ map::Entry::Occupied(entry) => Entry::Occupied(OccupiedEntry { inner: entry }),
1023
+ map::Entry::Vacant(entry) => Entry::Vacant(VacantEntry { inner: entry }),
1024
+ }
1025
+ }
1026
+
1027
+ /// Returns `true` if `self` has no elements in common with `other`.
1028
+ /// This is equivalent to checking for an empty intersection.
1029
+ ///
1030
+ /// # Examples
1031
+ ///
1032
+ /// ```
1033
+ /// use hashbrown::HashSet;
1034
+ ///
1035
+ /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect();
1036
+ /// let mut b = HashSet::new();
1037
+ ///
1038
+ /// assert_eq!(a.is_disjoint(&b), true);
1039
+ /// b.insert(4);
1040
+ /// assert_eq!(a.is_disjoint(&b), true);
1041
+ /// b.insert(1);
1042
+ /// assert_eq!(a.is_disjoint(&b), false);
1043
+ /// ```
1044
+ pub fn is_disjoint(&self, other: &Self) -> bool {
1045
+ self.iter().all(|v| !other.contains(v))
1046
+ }
1047
+
1048
+ /// Returns `true` if the set is a subset of another,
1049
+ /// i.e., `other` contains at least all the values in `self`.
1050
+ ///
1051
+ /// # Examples
1052
+ ///
1053
+ /// ```
1054
+ /// use hashbrown::HashSet;
1055
+ ///
1056
+ /// let sup: HashSet<_> = [1, 2, 3].iter().cloned().collect();
1057
+ /// let mut set = HashSet::new();
1058
+ ///
1059
+ /// assert_eq!(set.is_subset(&sup), true);
1060
+ /// set.insert(2);
1061
+ /// assert_eq!(set.is_subset(&sup), true);
1062
+ /// set.insert(4);
1063
+ /// assert_eq!(set.is_subset(&sup), false);
1064
+ /// ```
1065
+ pub fn is_subset(&self, other: &Self) -> bool {
1066
+ self.len() <= other.len() && self.iter().all(|v| other.contains(v))
1067
+ }
1068
+
1069
+ /// Returns `true` if the set is a superset of another,
1070
+ /// i.e., `self` contains at least all the values in `other`.
1071
+ ///
1072
+ /// # Examples
1073
+ ///
1074
+ /// ```
1075
+ /// use hashbrown::HashSet;
1076
+ ///
1077
+ /// let sub: HashSet<_> = [1, 2].iter().cloned().collect();
1078
+ /// let mut set = HashSet::new();
1079
+ ///
1080
+ /// assert_eq!(set.is_superset(&sub), false);
1081
+ ///
1082
+ /// set.insert(0);
1083
+ /// set.insert(1);
1084
+ /// assert_eq!(set.is_superset(&sub), false);
1085
+ ///
1086
+ /// set.insert(2);
1087
+ /// assert_eq!(set.is_superset(&sub), true);
1088
+ /// ```
1089
+ #[cfg_attr(feature = "inline-more", inline)]
1090
+ pub fn is_superset(&self, other: &Self) -> bool {
1091
+ other.is_subset(self)
1092
+ }
1093
+
1094
+ /// Adds a value to the set.
1095
+ ///
1096
+ /// If the set did not have this value present, `true` is returned.
1097
+ ///
1098
+ /// If the set did have this value present, `false` is returned.
1099
+ ///
1100
+ /// # Examples
1101
+ ///
1102
+ /// ```
1103
+ /// use hashbrown::HashSet;
1104
+ ///
1105
+ /// let mut set = HashSet::new();
1106
+ ///
1107
+ /// assert_eq!(set.insert(2), true);
1108
+ /// assert_eq!(set.insert(2), false);
1109
+ /// assert_eq!(set.len(), 1);
1110
+ /// ```
1111
+ #[cfg_attr(feature = "inline-more", inline)]
1112
+ pub fn insert(&mut self, value: T) -> bool {
1113
+ self.map.insert(value, ()).is_none()
1114
+ }
1115
+
1116
+ /// Insert a value the set without checking if the value already exists in the set.
1117
+ ///
1118
+ /// Returns a reference to the value just inserted.
1119
+ ///
1120
+ /// This operation is safe if a value does not exist in the set.
1121
+ ///
1122
+ /// However, if a value exists in the set already, the behavior is unspecified:
1123
+ /// this operation may panic, loop forever, or any following operation with the set
1124
+ /// may panic, loop forever or return arbitrary result.
1125
+ ///
1126
+ /// That said, this operation (and following operations) are guaranteed to
1127
+ /// not violate memory safety.
1128
+ ///
1129
+ /// This operation is faster than regular insert, because it does not perform
1130
+ /// lookup before insertion.
1131
+ ///
1132
+ /// This operation is useful during initial population of the set.
1133
+ /// For example, when constructing a set from another set, we know
1134
+ /// that values are unique.
1135
+ #[cfg_attr(feature = "inline-more", inline)]
1136
+ pub fn insert_unique_unchecked(&mut self, value: T) -> &T {
1137
+ self.map.insert_unique_unchecked(value, ()).0
1138
+ }
1139
+
1140
+ /// Adds a value to the set, replacing the existing value, if any, that is equal to the given
1141
+ /// one. Returns the replaced value.
1142
+ ///
1143
+ /// # Examples
1144
+ ///
1145
+ /// ```
1146
+ /// use hashbrown::HashSet;
1147
+ ///
1148
+ /// let mut set = HashSet::new();
1149
+ /// set.insert(Vec::<i32>::new());
1150
+ ///
1151
+ /// assert_eq!(set.get(&[][..]).unwrap().capacity(), 0);
1152
+ /// set.replace(Vec::with_capacity(10));
1153
+ /// assert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
1154
+ /// ```
1155
+ #[cfg_attr(feature = "inline-more", inline)]
1156
+ pub fn replace(&mut self, value: T) -> Option<T> {
1157
+ match self.map.entry(value) {
1158
+ map::Entry::Occupied(occupied) => Some(occupied.replace_key()),
1159
+ map::Entry::Vacant(vacant) => {
1160
+ vacant.insert(());
1161
+ None
1162
+ }
1163
+ }
1164
+ }
1165
+
1166
+ /// Removes a value from the set. Returns whether the value was
1167
+ /// present in the set.
1168
+ ///
1169
+ /// The value may be any borrowed form of the set's value type, but
1170
+ /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for
1171
+ /// the value type.
1172
+ ///
1173
+ /// # Examples
1174
+ ///
1175
+ /// ```
1176
+ /// use hashbrown::HashSet;
1177
+ ///
1178
+ /// let mut set = HashSet::new();
1179
+ ///
1180
+ /// set.insert(2);
1181
+ /// assert_eq!(set.remove(&2), true);
1182
+ /// assert_eq!(set.remove(&2), false);
1183
+ /// ```
1184
+ ///
1185
+ /// [`Eq`]: https://doc.rust-lang.org/std/cmp/trait.Eq.html
1186
+ /// [`Hash`]: https://doc.rust-lang.org/std/hash/trait.Hash.html
1187
+ #[cfg_attr(feature = "inline-more", inline)]
1188
+ pub fn remove<Q: ?Sized>(&mut self, value: &Q) -> bool
1189
+ where
1190
+ Q: Hash + Equivalent<T>,
1191
+ {
1192
+ self.map.remove(value).is_some()
1193
+ }
1194
+
1195
+ /// Removes and returns the value in the set, if any, that is equal to the given one.
1196
+ ///
1197
+ /// The value may be any borrowed form of the set's value type, but
1198
+ /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for
1199
+ /// the value type.
1200
+ ///
1201
+ /// # Examples
1202
+ ///
1203
+ /// ```
1204
+ /// use hashbrown::HashSet;
1205
+ ///
1206
+ /// let mut set: HashSet<_> = [1, 2, 3].iter().cloned().collect();
1207
+ /// assert_eq!(set.take(&2), Some(2));
1208
+ /// assert_eq!(set.take(&2), None);
1209
+ /// ```
1210
+ ///
1211
+ /// [`Eq`]: https://doc.rust-lang.org/std/cmp/trait.Eq.html
1212
+ /// [`Hash`]: https://doc.rust-lang.org/std/hash/trait.Hash.html
1213
+ #[cfg_attr(feature = "inline-more", inline)]
1214
+ pub fn take<Q: ?Sized>(&mut self, value: &Q) -> Option<T>
1215
+ where
1216
+ Q: Hash + Equivalent<T>,
1217
+ {
1218
+ // Avoid `Option::map` because it bloats LLVM IR.
1219
+ match self.map.remove_entry(value) {
1220
+ Some((k, _)) => Some(k),
1221
+ None => None,
1222
+ }
1223
+ }
1224
+ }
1225
+
1226
+ impl<T, S, A: Allocator + Clone> HashSet<T, S, A> {
1227
+ /// Returns a reference to the [`RawTable`] used underneath [`HashSet`].
1228
+ /// This function is only available if the `raw` feature of the crate is enabled.
1229
+ ///
1230
+ /// # Note
1231
+ ///
1232
+ /// Calling this function is safe, but using the raw hash table API may require
1233
+ /// unsafe functions or blocks.
1234
+ ///
1235
+ /// `RawTable` API gives the lowest level of control under the set that can be useful
1236
+ /// for extending the HashSet's API, but may lead to *[undefined behavior]*.
1237
+ ///
1238
+ /// [`HashSet`]: struct.HashSet.html
1239
+ /// [`RawTable`]: crate::raw::RawTable
1240
+ /// [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html
1241
+ #[cfg(feature = "raw")]
1242
+ #[cfg_attr(feature = "inline-more", inline)]
1243
+ pub fn raw_table(&self) -> &RawTable<(T, ()), A> {
1244
+ self.map.raw_table()
1245
+ }
1246
+
1247
+ /// Returns a mutable reference to the [`RawTable`] used underneath [`HashSet`].
1248
+ /// This function is only available if the `raw` feature of the crate is enabled.
1249
+ ///
1250
+ /// # Note
1251
+ ///
1252
+ /// Calling this function is safe, but using the raw hash table API may require
1253
+ /// unsafe functions or blocks.
1254
+ ///
1255
+ /// `RawTable` API gives the lowest level of control under the set that can be useful
1256
+ /// for extending the HashSet's API, but may lead to *[undefined behavior]*.
1257
+ ///
1258
+ /// [`HashSet`]: struct.HashSet.html
1259
+ /// [`RawTable`]: crate::raw::RawTable
1260
+ /// [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html
1261
+ #[cfg(feature = "raw")]
1262
+ #[cfg_attr(feature = "inline-more", inline)]
1263
+ pub fn raw_table_mut(&mut self) -> &mut RawTable<(T, ()), A> {
1264
+ self.map.raw_table_mut()
1265
+ }
1266
+ }
1267
+
1268
+ impl<T, S, A> PartialEq for HashSet<T, S, A>
1269
+ where
1270
+ T: Eq + Hash,
1271
+ S: BuildHasher,
1272
+ A: Allocator + Clone,
1273
+ {
1274
+ fn eq(&self, other: &Self) -> bool {
1275
+ if self.len() != other.len() {
1276
+ return false;
1277
+ }
1278
+
1279
+ self.iter().all(|key| other.contains(key))
1280
+ }
1281
+ }
1282
+
1283
+ impl<T, S, A> Eq for HashSet<T, S, A>
1284
+ where
1285
+ T: Eq + Hash,
1286
+ S: BuildHasher,
1287
+ A: Allocator + Clone,
1288
+ {
1289
+ }
1290
+
1291
+ impl<T, S, A> fmt::Debug for HashSet<T, S, A>
1292
+ where
1293
+ T: fmt::Debug,
1294
+ A: Allocator + Clone,
1295
+ {
1296
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1297
+ f.debug_set().entries(self.iter()).finish()
1298
+ }
1299
+ }
1300
+
1301
+ impl<T, S, A> From<HashMap<T, (), S, A>> for HashSet<T, S, A>
1302
+ where
1303
+ A: Allocator + Clone,
1304
+ {
1305
+ fn from(map: HashMap<T, (), S, A>) -> Self {
1306
+ Self { map }
1307
+ }
1308
+ }
1309
+
1310
+ impl<T, S, A> FromIterator<T> for HashSet<T, S, A>
1311
+ where
1312
+ T: Eq + Hash,
1313
+ S: BuildHasher + Default,
1314
+ A: Default + Allocator + Clone,
1315
+ {
1316
+ #[cfg_attr(feature = "inline-more", inline)]
1317
+ fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self {
1318
+ let mut set = Self::with_hasher_in(Default::default(), Default::default());
1319
+ set.extend(iter);
1320
+ set
1321
+ }
1322
+ }
1323
+
1324
+ // The default hasher is used to match the std implementation signature
1325
+ #[cfg(feature = "ahash")]
1326
+ impl<T, A, const N: usize> From<[T; N]> for HashSet<T, DefaultHashBuilder, A>
1327
+ where
1328
+ T: Eq + Hash,
1329
+ A: Default + Allocator + Clone,
1330
+ {
1331
+ /// # Examples
1332
+ ///
1333
+ /// ```
1334
+ /// use hashbrown::HashSet;
1335
+ ///
1336
+ /// let set1 = HashSet::from([1, 2, 3, 4]);
1337
+ /// let set2: HashSet<_> = [1, 2, 3, 4].into();
1338
+ /// assert_eq!(set1, set2);
1339
+ /// ```
1340
+ fn from(arr: [T; N]) -> Self {
1341
+ arr.into_iter().collect()
1342
+ }
1343
+ }
1344
+
1345
+ impl<T, S, A> Extend<T> for HashSet<T, S, A>
1346
+ where
1347
+ T: Eq + Hash,
1348
+ S: BuildHasher,
1349
+ A: Allocator + Clone,
1350
+ {
1351
+ #[cfg_attr(feature = "inline-more", inline)]
1352
+ fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I) {
1353
+ self.map.extend(iter.into_iter().map(|k| (k, ())));
1354
+ }
1355
+
1356
+ #[inline]
1357
+ #[cfg(feature = "nightly")]
1358
+ fn extend_one(&mut self, k: T) {
1359
+ self.map.insert(k, ());
1360
+ }
1361
+
1362
+ #[inline]
1363
+ #[cfg(feature = "nightly")]
1364
+ fn extend_reserve(&mut self, additional: usize) {
1365
+ Extend::<(T, ())>::extend_reserve(&mut self.map, additional);
1366
+ }
1367
+ }
1368
+
1369
+ impl<'a, T, S, A> Extend<&'a T> for HashSet<T, S, A>
1370
+ where
1371
+ T: 'a + Eq + Hash + Copy,
1372
+ S: BuildHasher,
1373
+ A: Allocator + Clone,
1374
+ {
1375
+ #[cfg_attr(feature = "inline-more", inline)]
1376
+ fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I) {
1377
+ self.extend(iter.into_iter().copied());
1378
+ }
1379
+
1380
+ #[inline]
1381
+ #[cfg(feature = "nightly")]
1382
+ fn extend_one(&mut self, k: &'a T) {
1383
+ self.map.insert(*k, ());
1384
+ }
1385
+
1386
+ #[inline]
1387
+ #[cfg(feature = "nightly")]
1388
+ fn extend_reserve(&mut self, additional: usize) {
1389
+ Extend::<(T, ())>::extend_reserve(&mut self.map, additional);
1390
+ }
1391
+ }
1392
+
1393
+ impl<T, S, A> Default for HashSet<T, S, A>
1394
+ where
1395
+ S: Default,
1396
+ A: Default + Allocator + Clone,
1397
+ {
1398
+ /// Creates an empty `HashSet<T, S>` with the `Default` value for the hasher.
1399
+ #[cfg_attr(feature = "inline-more", inline)]
1400
+ fn default() -> Self {
1401
+ Self {
1402
+ map: HashMap::default(),
1403
+ }
1404
+ }
1405
+ }
1406
+
1407
+ impl<T, S, A> BitOr<&HashSet<T, S, A>> for &HashSet<T, S, A>
1408
+ where
1409
+ T: Eq + Hash + Clone,
1410
+ S: BuildHasher + Default,
1411
+ A: Allocator + Clone,
1412
+ {
1413
+ type Output = HashSet<T, S>;
1414
+
1415
+ /// Returns the union of `self` and `rhs` as a new `HashSet<T, S>`.
1416
+ ///
1417
+ /// # Examples
1418
+ ///
1419
+ /// ```
1420
+ /// use hashbrown::HashSet;
1421
+ ///
1422
+ /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect();
1423
+ /// let b: HashSet<_> = vec![3, 4, 5].into_iter().collect();
1424
+ ///
1425
+ /// let set = &a | &b;
1426
+ ///
1427
+ /// let mut i = 0;
1428
+ /// let expected = [1, 2, 3, 4, 5];
1429
+ /// for x in &set {
1430
+ /// assert!(expected.contains(x));
1431
+ /// i += 1;
1432
+ /// }
1433
+ /// assert_eq!(i, expected.len());
1434
+ /// ```
1435
+ fn bitor(self, rhs: &HashSet<T, S, A>) -> HashSet<T, S> {
1436
+ self.union(rhs).cloned().collect()
1437
+ }
1438
+ }
1439
+
1440
+ impl<T, S, A> BitAnd<&HashSet<T, S, A>> for &HashSet<T, S, A>
1441
+ where
1442
+ T: Eq + Hash + Clone,
1443
+ S: BuildHasher + Default,
1444
+ A: Allocator + Clone,
1445
+ {
1446
+ type Output = HashSet<T, S>;
1447
+
1448
+ /// Returns the intersection of `self` and `rhs` as a new `HashSet<T, S>`.
1449
+ ///
1450
+ /// # Examples
1451
+ ///
1452
+ /// ```
1453
+ /// use hashbrown::HashSet;
1454
+ ///
1455
+ /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect();
1456
+ /// let b: HashSet<_> = vec![2, 3, 4].into_iter().collect();
1457
+ ///
1458
+ /// let set = &a & &b;
1459
+ ///
1460
+ /// let mut i = 0;
1461
+ /// let expected = [2, 3];
1462
+ /// for x in &set {
1463
+ /// assert!(expected.contains(x));
1464
+ /// i += 1;
1465
+ /// }
1466
+ /// assert_eq!(i, expected.len());
1467
+ /// ```
1468
+ fn bitand(self, rhs: &HashSet<T, S, A>) -> HashSet<T, S> {
1469
+ self.intersection(rhs).cloned().collect()
1470
+ }
1471
+ }
1472
+
1473
+ impl<T, S> BitXor<&HashSet<T, S>> for &HashSet<T, S>
1474
+ where
1475
+ T: Eq + Hash + Clone,
1476
+ S: BuildHasher + Default,
1477
+ {
1478
+ type Output = HashSet<T, S>;
1479
+
1480
+ /// Returns the symmetric difference of `self` and `rhs` as a new `HashSet<T, S>`.
1481
+ ///
1482
+ /// # Examples
1483
+ ///
1484
+ /// ```
1485
+ /// use hashbrown::HashSet;
1486
+ ///
1487
+ /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect();
1488
+ /// let b: HashSet<_> = vec![3, 4, 5].into_iter().collect();
1489
+ ///
1490
+ /// let set = &a ^ &b;
1491
+ ///
1492
+ /// let mut i = 0;
1493
+ /// let expected = [1, 2, 4, 5];
1494
+ /// for x in &set {
1495
+ /// assert!(expected.contains(x));
1496
+ /// i += 1;
1497
+ /// }
1498
+ /// assert_eq!(i, expected.len());
1499
+ /// ```
1500
+ fn bitxor(self, rhs: &HashSet<T, S>) -> HashSet<T, S> {
1501
+ self.symmetric_difference(rhs).cloned().collect()
1502
+ }
1503
+ }
1504
+
1505
+ impl<T, S> Sub<&HashSet<T, S>> for &HashSet<T, S>
1506
+ where
1507
+ T: Eq + Hash + Clone,
1508
+ S: BuildHasher + Default,
1509
+ {
1510
+ type Output = HashSet<T, S>;
1511
+
1512
+ /// Returns the difference of `self` and `rhs` as a new `HashSet<T, S>`.
1513
+ ///
1514
+ /// # Examples
1515
+ ///
1516
+ /// ```
1517
+ /// use hashbrown::HashSet;
1518
+ ///
1519
+ /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect();
1520
+ /// let b: HashSet<_> = vec![3, 4, 5].into_iter().collect();
1521
+ ///
1522
+ /// let set = &a - &b;
1523
+ ///
1524
+ /// let mut i = 0;
1525
+ /// let expected = [1, 2];
1526
+ /// for x in &set {
1527
+ /// assert!(expected.contains(x));
1528
+ /// i += 1;
1529
+ /// }
1530
+ /// assert_eq!(i, expected.len());
1531
+ /// ```
1532
+ fn sub(self, rhs: &HashSet<T, S>) -> HashSet<T, S> {
1533
+ self.difference(rhs).cloned().collect()
1534
+ }
1535
+ }
1536
+
1537
+ /// An iterator over the items of a `HashSet`.
1538
+ ///
1539
+ /// This `struct` is created by the [`iter`] method on [`HashSet`].
1540
+ /// See its documentation for more.
1541
+ ///
1542
+ /// [`HashSet`]: struct.HashSet.html
1543
+ /// [`iter`]: struct.HashSet.html#method.iter
1544
+ pub struct Iter<'a, K> {
1545
+ iter: Keys<'a, K, ()>,
1546
+ }
1547
+
1548
+ /// An owning iterator over the items of a `HashSet`.
1549
+ ///
1550
+ /// This `struct` is created by the [`into_iter`] method on [`HashSet`]
1551
+ /// (provided by the `IntoIterator` trait). See its documentation for more.
1552
+ ///
1553
+ /// [`HashSet`]: struct.HashSet.html
1554
+ /// [`into_iter`]: struct.HashSet.html#method.into_iter
1555
+ pub struct IntoIter<K, A: Allocator + Clone = Global> {
1556
+ iter: map::IntoIter<K, (), A>,
1557
+ }
1558
+
1559
+ /// A draining iterator over the items of a `HashSet`.
1560
+ ///
1561
+ /// This `struct` is created by the [`drain`] method on [`HashSet`].
1562
+ /// See its documentation for more.
1563
+ ///
1564
+ /// [`HashSet`]: struct.HashSet.html
1565
+ /// [`drain`]: struct.HashSet.html#method.drain
1566
+ pub struct Drain<'a, K, A: Allocator + Clone = Global> {
1567
+ iter: map::Drain<'a, K, (), A>,
1568
+ }
1569
+
1570
+ /// A draining iterator over entries of a `HashSet` which don't satisfy the predicate `f`.
1571
+ ///
1572
+ /// This `struct` is created by the [`extract_if`] method on [`HashSet`]. See its
1573
+ /// documentation for more.
1574
+ ///
1575
+ /// [`extract_if`]: struct.HashSet.html#method.extract_if
1576
+ /// [`HashSet`]: struct.HashSet.html
1577
+ #[must_use = "Iterators are lazy unless consumed"]
1578
+ pub struct ExtractIf<'a, K, F, A: Allocator + Clone = Global>
1579
+ where
1580
+ F: FnMut(&K) -> bool,
1581
+ {
1582
+ f: F,
1583
+ inner: ExtractIfInner<'a, K, (), A>,
1584
+ }
1585
+
1586
+ /// A lazy iterator producing elements in the intersection of `HashSet`s.
1587
+ ///
1588
+ /// This `struct` is created by the [`intersection`] method on [`HashSet`].
1589
+ /// See its documentation for more.
1590
+ ///
1591
+ /// [`HashSet`]: struct.HashSet.html
1592
+ /// [`intersection`]: struct.HashSet.html#method.intersection
1593
+ pub struct Intersection<'a, T, S, A: Allocator + Clone = Global> {
1594
+ // iterator of the first set
1595
+ iter: Iter<'a, T>,
1596
+ // the second set
1597
+ other: &'a HashSet<T, S, A>,
1598
+ }
1599
+
1600
+ /// A lazy iterator producing elements in the difference of `HashSet`s.
1601
+ ///
1602
+ /// This `struct` is created by the [`difference`] method on [`HashSet`].
1603
+ /// See its documentation for more.
1604
+ ///
1605
+ /// [`HashSet`]: struct.HashSet.html
1606
+ /// [`difference`]: struct.HashSet.html#method.difference
1607
+ pub struct Difference<'a, T, S, A: Allocator + Clone = Global> {
1608
+ // iterator of the first set
1609
+ iter: Iter<'a, T>,
1610
+ // the second set
1611
+ other: &'a HashSet<T, S, A>,
1612
+ }
1613
+
1614
+ /// A lazy iterator producing elements in the symmetric difference of `HashSet`s.
1615
+ ///
1616
+ /// This `struct` is created by the [`symmetric_difference`] method on
1617
+ /// [`HashSet`]. See its documentation for more.
1618
+ ///
1619
+ /// [`HashSet`]: struct.HashSet.html
1620
+ /// [`symmetric_difference`]: struct.HashSet.html#method.symmetric_difference
1621
+ pub struct SymmetricDifference<'a, T, S, A: Allocator + Clone = Global> {
1622
+ iter: Chain<Difference<'a, T, S, A>, Difference<'a, T, S, A>>,
1623
+ }
1624
+
1625
+ /// A lazy iterator producing elements in the union of `HashSet`s.
1626
+ ///
1627
+ /// This `struct` is created by the [`union`] method on [`HashSet`].
1628
+ /// See its documentation for more.
1629
+ ///
1630
+ /// [`HashSet`]: struct.HashSet.html
1631
+ /// [`union`]: struct.HashSet.html#method.union
1632
+ pub struct Union<'a, T, S, A: Allocator + Clone = Global> {
1633
+ iter: Chain<Iter<'a, T>, Difference<'a, T, S, A>>,
1634
+ }
1635
+
1636
+ impl<'a, T, S, A: Allocator + Clone> IntoIterator for &'a HashSet<T, S, A> {
1637
+ type Item = &'a T;
1638
+ type IntoIter = Iter<'a, T>;
1639
+
1640
+ #[cfg_attr(feature = "inline-more", inline)]
1641
+ fn into_iter(self) -> Iter<'a, T> {
1642
+ self.iter()
1643
+ }
1644
+ }
1645
+
1646
+ impl<T, S, A: Allocator + Clone> IntoIterator for HashSet<T, S, A> {
1647
+ type Item = T;
1648
+ type IntoIter = IntoIter<T, A>;
1649
+
1650
+ /// Creates a consuming iterator, that is, one that moves each value out
1651
+ /// of the set in arbitrary order. The set cannot be used after calling
1652
+ /// this.
1653
+ ///
1654
+ /// # Examples
1655
+ ///
1656
+ /// ```
1657
+ /// use hashbrown::HashSet;
1658
+ /// let mut set = HashSet::new();
1659
+ /// set.insert("a".to_string());
1660
+ /// set.insert("b".to_string());
1661
+ ///
1662
+ /// // Not possible to collect to a Vec<String> with a regular `.iter()`.
1663
+ /// let v: Vec<String> = set.into_iter().collect();
1664
+ ///
1665
+ /// // Will print in an arbitrary order.
1666
+ /// for x in &v {
1667
+ /// println!("{}", x);
1668
+ /// }
1669
+ /// ```
1670
+ #[cfg_attr(feature = "inline-more", inline)]
1671
+ fn into_iter(self) -> IntoIter<T, A> {
1672
+ IntoIter {
1673
+ iter: self.map.into_iter(),
1674
+ }
1675
+ }
1676
+ }
1677
+
1678
+ impl<K> Clone for Iter<'_, K> {
1679
+ #[cfg_attr(feature = "inline-more", inline)]
1680
+ fn clone(&self) -> Self {
1681
+ Iter {
1682
+ iter: self.iter.clone(),
1683
+ }
1684
+ }
1685
+ }
1686
+ impl<'a, K> Iterator for Iter<'a, K> {
1687
+ type Item = &'a K;
1688
+
1689
+ #[cfg_attr(feature = "inline-more", inline)]
1690
+ fn next(&mut self) -> Option<&'a K> {
1691
+ self.iter.next()
1692
+ }
1693
+ #[cfg_attr(feature = "inline-more", inline)]
1694
+ fn size_hint(&self) -> (usize, Option<usize>) {
1695
+ self.iter.size_hint()
1696
+ }
1697
+ }
1698
+ impl<'a, K> ExactSizeIterator for Iter<'a, K> {
1699
+ #[cfg_attr(feature = "inline-more", inline)]
1700
+ fn len(&self) -> usize {
1701
+ self.iter.len()
1702
+ }
1703
+ }
1704
+ impl<K> FusedIterator for Iter<'_, K> {}
1705
+
1706
+ impl<K: fmt::Debug> fmt::Debug for Iter<'_, K> {
1707
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1708
+ f.debug_list().entries(self.clone()).finish()
1709
+ }
1710
+ }
1711
+
1712
+ impl<K, A: Allocator + Clone> Iterator for IntoIter<K, A> {
1713
+ type Item = K;
1714
+
1715
+ #[cfg_attr(feature = "inline-more", inline)]
1716
+ fn next(&mut self) -> Option<K> {
1717
+ // Avoid `Option::map` because it bloats LLVM IR.
1718
+ match self.iter.next() {
1719
+ Some((k, _)) => Some(k),
1720
+ None => None,
1721
+ }
1722
+ }
1723
+ #[cfg_attr(feature = "inline-more", inline)]
1724
+ fn size_hint(&self) -> (usize, Option<usize>) {
1725
+ self.iter.size_hint()
1726
+ }
1727
+ }
1728
+ impl<K, A: Allocator + Clone> ExactSizeIterator for IntoIter<K, A> {
1729
+ #[cfg_attr(feature = "inline-more", inline)]
1730
+ fn len(&self) -> usize {
1731
+ self.iter.len()
1732
+ }
1733
+ }
1734
+ impl<K, A: Allocator + Clone> FusedIterator for IntoIter<K, A> {}
1735
+
1736
+ impl<K: fmt::Debug, A: Allocator + Clone> fmt::Debug for IntoIter<K, A> {
1737
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1738
+ let entries_iter = self.iter.iter().map(|(k, _)| k);
1739
+ f.debug_list().entries(entries_iter).finish()
1740
+ }
1741
+ }
1742
+
1743
+ impl<K, A: Allocator + Clone> Iterator for Drain<'_, K, A> {
1744
+ type Item = K;
1745
+
1746
+ #[cfg_attr(feature = "inline-more", inline)]
1747
+ fn next(&mut self) -> Option<K> {
1748
+ // Avoid `Option::map` because it bloats LLVM IR.
1749
+ match self.iter.next() {
1750
+ Some((k, _)) => Some(k),
1751
+ None => None,
1752
+ }
1753
+ }
1754
+ #[cfg_attr(feature = "inline-more", inline)]
1755
+ fn size_hint(&self) -> (usize, Option<usize>) {
1756
+ self.iter.size_hint()
1757
+ }
1758
+ }
1759
+ impl<K, A: Allocator + Clone> ExactSizeIterator for Drain<'_, K, A> {
1760
+ #[cfg_attr(feature = "inline-more", inline)]
1761
+ fn len(&self) -> usize {
1762
+ self.iter.len()
1763
+ }
1764
+ }
1765
+ impl<K, A: Allocator + Clone> FusedIterator for Drain<'_, K, A> {}
1766
+
1767
+ impl<K: fmt::Debug, A: Allocator + Clone> fmt::Debug for Drain<'_, K, A> {
1768
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1769
+ let entries_iter = self.iter.iter().map(|(k, _)| k);
1770
+ f.debug_list().entries(entries_iter).finish()
1771
+ }
1772
+ }
1773
+
1774
+ impl<K, F, A: Allocator + Clone> Iterator for ExtractIf<'_, K, F, A>
1775
+ where
1776
+ F: FnMut(&K) -> bool,
1777
+ {
1778
+ type Item = K;
1779
+
1780
+ #[cfg_attr(feature = "inline-more", inline)]
1781
+ fn next(&mut self) -> Option<Self::Item> {
1782
+ let f = &mut self.f;
1783
+ let (k, _) = self.inner.next(&mut |k, _| f(k))?;
1784
+ Some(k)
1785
+ }
1786
+
1787
+ #[inline]
1788
+ fn size_hint(&self) -> (usize, Option<usize>) {
1789
+ (0, self.inner.iter.size_hint().1)
1790
+ }
1791
+ }
1792
+
1793
+ impl<K, F, A: Allocator + Clone> FusedIterator for ExtractIf<'_, K, F, A> where F: FnMut(&K) -> bool {}
1794
+
1795
+ impl<T, S, A: Allocator + Clone> Clone for Intersection<'_, T, S, A> {
1796
+ #[cfg_attr(feature = "inline-more", inline)]
1797
+ fn clone(&self) -> Self {
1798
+ Intersection {
1799
+ iter: self.iter.clone(),
1800
+ ..*self
1801
+ }
1802
+ }
1803
+ }
1804
+
1805
+ impl<'a, T, S, A> Iterator for Intersection<'a, T, S, A>
1806
+ where
1807
+ T: Eq + Hash,
1808
+ S: BuildHasher,
1809
+ A: Allocator + Clone,
1810
+ {
1811
+ type Item = &'a T;
1812
+
1813
+ #[cfg_attr(feature = "inline-more", inline)]
1814
+ fn next(&mut self) -> Option<&'a T> {
1815
+ loop {
1816
+ let elt = self.iter.next()?;
1817
+ if self.other.contains(elt) {
1818
+ return Some(elt);
1819
+ }
1820
+ }
1821
+ }
1822
+
1823
+ #[cfg_attr(feature = "inline-more", inline)]
1824
+ fn size_hint(&self) -> (usize, Option<usize>) {
1825
+ let (_, upper) = self.iter.size_hint();
1826
+ (0, upper)
1827
+ }
1828
+ }
1829
+
1830
+ impl<T, S, A> fmt::Debug for Intersection<'_, T, S, A>
1831
+ where
1832
+ T: fmt::Debug + Eq + Hash,
1833
+ S: BuildHasher,
1834
+ A: Allocator + Clone,
1835
+ {
1836
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1837
+ f.debug_list().entries(self.clone()).finish()
1838
+ }
1839
+ }
1840
+
1841
+ impl<T, S, A> FusedIterator for Intersection<'_, T, S, A>
1842
+ where
1843
+ T: Eq + Hash,
1844
+ S: BuildHasher,
1845
+ A: Allocator + Clone,
1846
+ {
1847
+ }
1848
+
1849
+ impl<T, S, A: Allocator + Clone> Clone for Difference<'_, T, S, A> {
1850
+ #[cfg_attr(feature = "inline-more", inline)]
1851
+ fn clone(&self) -> Self {
1852
+ Difference {
1853
+ iter: self.iter.clone(),
1854
+ ..*self
1855
+ }
1856
+ }
1857
+ }
1858
+
1859
+ impl<'a, T, S, A> Iterator for Difference<'a, T, S, A>
1860
+ where
1861
+ T: Eq + Hash,
1862
+ S: BuildHasher,
1863
+ A: Allocator + Clone,
1864
+ {
1865
+ type Item = &'a T;
1866
+
1867
+ #[cfg_attr(feature = "inline-more", inline)]
1868
+ fn next(&mut self) -> Option<&'a T> {
1869
+ loop {
1870
+ let elt = self.iter.next()?;
1871
+ if !self.other.contains(elt) {
1872
+ return Some(elt);
1873
+ }
1874
+ }
1875
+ }
1876
+
1877
+ #[cfg_attr(feature = "inline-more", inline)]
1878
+ fn size_hint(&self) -> (usize, Option<usize>) {
1879
+ let (_, upper) = self.iter.size_hint();
1880
+ (0, upper)
1881
+ }
1882
+ }
1883
+
1884
+ impl<T, S, A> FusedIterator for Difference<'_, T, S, A>
1885
+ where
1886
+ T: Eq + Hash,
1887
+ S: BuildHasher,
1888
+ A: Allocator + Clone,
1889
+ {
1890
+ }
1891
+
1892
+ impl<T, S, A> fmt::Debug for Difference<'_, T, S, A>
1893
+ where
1894
+ T: fmt::Debug + Eq + Hash,
1895
+ S: BuildHasher,
1896
+ A: Allocator + Clone,
1897
+ {
1898
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1899
+ f.debug_list().entries(self.clone()).finish()
1900
+ }
1901
+ }
1902
+
1903
+ impl<T, S, A: Allocator + Clone> Clone for SymmetricDifference<'_, T, S, A> {
1904
+ #[cfg_attr(feature = "inline-more", inline)]
1905
+ fn clone(&self) -> Self {
1906
+ SymmetricDifference {
1907
+ iter: self.iter.clone(),
1908
+ }
1909
+ }
1910
+ }
1911
+
1912
+ impl<'a, T, S, A> Iterator for SymmetricDifference<'a, T, S, A>
1913
+ where
1914
+ T: Eq + Hash,
1915
+ S: BuildHasher,
1916
+ A: Allocator + Clone,
1917
+ {
1918
+ type Item = &'a T;
1919
+
1920
+ #[cfg_attr(feature = "inline-more", inline)]
1921
+ fn next(&mut self) -> Option<&'a T> {
1922
+ self.iter.next()
1923
+ }
1924
+ #[cfg_attr(feature = "inline-more", inline)]
1925
+ fn size_hint(&self) -> (usize, Option<usize>) {
1926
+ self.iter.size_hint()
1927
+ }
1928
+ }
1929
+
1930
+ impl<T, S, A> FusedIterator for SymmetricDifference<'_, T, S, A>
1931
+ where
1932
+ T: Eq + Hash,
1933
+ S: BuildHasher,
1934
+ A: Allocator + Clone,
1935
+ {
1936
+ }
1937
+
1938
+ impl<T, S, A> fmt::Debug for SymmetricDifference<'_, T, S, A>
1939
+ where
1940
+ T: fmt::Debug + Eq + Hash,
1941
+ S: BuildHasher,
1942
+ A: Allocator + Clone,
1943
+ {
1944
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1945
+ f.debug_list().entries(self.clone()).finish()
1946
+ }
1947
+ }
1948
+
1949
+ impl<T, S, A: Allocator + Clone> Clone for Union<'_, T, S, A> {
1950
+ #[cfg_attr(feature = "inline-more", inline)]
1951
+ fn clone(&self) -> Self {
1952
+ Union {
1953
+ iter: self.iter.clone(),
1954
+ }
1955
+ }
1956
+ }
1957
+
1958
+ impl<T, S, A> FusedIterator for Union<'_, T, S, A>
1959
+ where
1960
+ T: Eq + Hash,
1961
+ S: BuildHasher,
1962
+ A: Allocator + Clone,
1963
+ {
1964
+ }
1965
+
1966
+ impl<T, S, A> fmt::Debug for Union<'_, T, S, A>
1967
+ where
1968
+ T: fmt::Debug + Eq + Hash,
1969
+ S: BuildHasher,
1970
+ A: Allocator + Clone,
1971
+ {
1972
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1973
+ f.debug_list().entries(self.clone()).finish()
1974
+ }
1975
+ }
1976
+
1977
+ impl<'a, T, S, A> Iterator for Union<'a, T, S, A>
1978
+ where
1979
+ T: Eq + Hash,
1980
+ S: BuildHasher,
1981
+ A: Allocator + Clone,
1982
+ {
1983
+ type Item = &'a T;
1984
+
1985
+ #[cfg_attr(feature = "inline-more", inline)]
1986
+ fn next(&mut self) -> Option<&'a T> {
1987
+ self.iter.next()
1988
+ }
1989
+ #[cfg_attr(feature = "inline-more", inline)]
1990
+ fn size_hint(&self) -> (usize, Option<usize>) {
1991
+ self.iter.size_hint()
1992
+ }
1993
+ }
1994
+
1995
+ /// A view into a single entry in a set, which may either be vacant or occupied.
1996
+ ///
1997
+ /// This `enum` is constructed from the [`entry`] method on [`HashSet`].
1998
+ ///
1999
+ /// [`HashSet`]: struct.HashSet.html
2000
+ /// [`entry`]: struct.HashSet.html#method.entry
2001
+ ///
2002
+ /// # Examples
2003
+ ///
2004
+ /// ```
2005
+ /// use hashbrown::hash_set::{Entry, HashSet, OccupiedEntry};
2006
+ ///
2007
+ /// let mut set = HashSet::new();
2008
+ /// set.extend(["a", "b", "c"]);
2009
+ /// assert_eq!(set.len(), 3);
2010
+ ///
2011
+ /// // Existing value (insert)
2012
+ /// let entry: Entry<_, _> = set.entry("a");
2013
+ /// let _raw_o: OccupiedEntry<_, _> = entry.insert();
2014
+ /// assert_eq!(set.len(), 3);
2015
+ /// // Nonexistent value (insert)
2016
+ /// set.entry("d").insert();
2017
+ ///
2018
+ /// // Existing value (or_insert)
2019
+ /// set.entry("b").or_insert();
2020
+ /// // Nonexistent value (or_insert)
2021
+ /// set.entry("e").or_insert();
2022
+ ///
2023
+ /// println!("Our HashSet: {:?}", set);
2024
+ ///
2025
+ /// let mut vec: Vec<_> = set.iter().copied().collect();
2026
+ /// // The `Iter` iterator produces items in arbitrary order, so the
2027
+ /// // items must be sorted to test them against a sorted array.
2028
+ /// vec.sort_unstable();
2029
+ /// assert_eq!(vec, ["a", "b", "c", "d", "e"]);
2030
+ /// ```
2031
+ pub enum Entry<'a, T, S, A = Global>
2032
+ where
2033
+ A: Allocator + Clone,
2034
+ {
2035
+ /// An occupied entry.
2036
+ ///
2037
+ /// # Examples
2038
+ ///
2039
+ /// ```
2040
+ /// use hashbrown::hash_set::{Entry, HashSet};
2041
+ /// let mut set: HashSet<_> = ["a", "b"].into();
2042
+ ///
2043
+ /// match set.entry("a") {
2044
+ /// Entry::Vacant(_) => unreachable!(),
2045
+ /// Entry::Occupied(_) => { }
2046
+ /// }
2047
+ /// ```
2048
+ Occupied(OccupiedEntry<'a, T, S, A>),
2049
+
2050
+ /// A vacant entry.
2051
+ ///
2052
+ /// # Examples
2053
+ ///
2054
+ /// ```
2055
+ /// use hashbrown::hash_set::{Entry, HashSet};
2056
+ /// let mut set: HashSet<&str> = HashSet::new();
2057
+ ///
2058
+ /// match set.entry("a") {
2059
+ /// Entry::Occupied(_) => unreachable!(),
2060
+ /// Entry::Vacant(_) => { }
2061
+ /// }
2062
+ /// ```
2063
+ Vacant(VacantEntry<'a, T, S, A>),
2064
+ }
2065
+
2066
+ impl<T: fmt::Debug, S, A: Allocator + Clone> fmt::Debug for Entry<'_, T, S, A> {
2067
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2068
+ match *self {
2069
+ Entry::Vacant(ref v) => f.debug_tuple("Entry").field(v).finish(),
2070
+ Entry::Occupied(ref o) => f.debug_tuple("Entry").field(o).finish(),
2071
+ }
2072
+ }
2073
+ }
2074
+
2075
+ /// A view into an occupied entry in a `HashSet`.
2076
+ /// It is part of the [`Entry`] enum.
2077
+ ///
2078
+ /// [`Entry`]: enum.Entry.html
2079
+ ///
2080
+ /// # Examples
2081
+ ///
2082
+ /// ```
2083
+ /// use hashbrown::hash_set::{Entry, HashSet, OccupiedEntry};
2084
+ ///
2085
+ /// let mut set = HashSet::new();
2086
+ /// set.extend(["a", "b", "c"]);
2087
+ ///
2088
+ /// let _entry_o: OccupiedEntry<_, _> = set.entry("a").insert();
2089
+ /// assert_eq!(set.len(), 3);
2090
+ ///
2091
+ /// // Existing key
2092
+ /// match set.entry("a") {
2093
+ /// Entry::Vacant(_) => unreachable!(),
2094
+ /// Entry::Occupied(view) => {
2095
+ /// assert_eq!(view.get(), &"a");
2096
+ /// }
2097
+ /// }
2098
+ ///
2099
+ /// assert_eq!(set.len(), 3);
2100
+ ///
2101
+ /// // Existing key (take)
2102
+ /// match set.entry("c") {
2103
+ /// Entry::Vacant(_) => unreachable!(),
2104
+ /// Entry::Occupied(view) => {
2105
+ /// assert_eq!(view.remove(), "c");
2106
+ /// }
2107
+ /// }
2108
+ /// assert_eq!(set.get(&"c"), None);
2109
+ /// assert_eq!(set.len(), 2);
2110
+ /// ```
2111
+ pub struct OccupiedEntry<'a, T, S, A: Allocator + Clone = Global> {
2112
+ inner: map::OccupiedEntry<'a, T, (), S, A>,
2113
+ }
2114
+
2115
+ impl<T: fmt::Debug, S, A: Allocator + Clone> fmt::Debug for OccupiedEntry<'_, T, S, A> {
2116
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2117
+ f.debug_struct("OccupiedEntry")
2118
+ .field("value", self.get())
2119
+ .finish()
2120
+ }
2121
+ }
2122
+
2123
+ /// A view into a vacant entry in a `HashSet`.
2124
+ /// It is part of the [`Entry`] enum.
2125
+ ///
2126
+ /// [`Entry`]: enum.Entry.html
2127
+ ///
2128
+ /// # Examples
2129
+ ///
2130
+ /// ```
2131
+ /// use hashbrown::hash_set::{Entry, HashSet, VacantEntry};
2132
+ ///
2133
+ /// let mut set = HashSet::<&str>::new();
2134
+ ///
2135
+ /// let entry_v: VacantEntry<_, _> = match set.entry("a") {
2136
+ /// Entry::Vacant(view) => view,
2137
+ /// Entry::Occupied(_) => unreachable!(),
2138
+ /// };
2139
+ /// entry_v.insert();
2140
+ /// assert!(set.contains("a") && set.len() == 1);
2141
+ ///
2142
+ /// // Nonexistent key (insert)
2143
+ /// match set.entry("b") {
2144
+ /// Entry::Vacant(view) => view.insert(),
2145
+ /// Entry::Occupied(_) => unreachable!(),
2146
+ /// }
2147
+ /// assert!(set.contains("b") && set.len() == 2);
2148
+ /// ```
2149
+ pub struct VacantEntry<'a, T, S, A: Allocator + Clone = Global> {
2150
+ inner: map::VacantEntry<'a, T, (), S, A>,
2151
+ }
2152
+
2153
+ impl<T: fmt::Debug, S, A: Allocator + Clone> fmt::Debug for VacantEntry<'_, T, S, A> {
2154
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2155
+ f.debug_tuple("VacantEntry").field(self.get()).finish()
2156
+ }
2157
+ }
2158
+
2159
+ impl<'a, T, S, A: Allocator + Clone> Entry<'a, T, S, A> {
2160
+ /// Sets the value of the entry, and returns an OccupiedEntry.
2161
+ ///
2162
+ /// # Examples
2163
+ ///
2164
+ /// ```
2165
+ /// use hashbrown::HashSet;
2166
+ ///
2167
+ /// let mut set: HashSet<&str> = HashSet::new();
2168
+ /// let entry = set.entry("horseyland").insert();
2169
+ ///
2170
+ /// assert_eq!(entry.get(), &"horseyland");
2171
+ /// ```
2172
+ #[cfg_attr(feature = "inline-more", inline)]
2173
+ pub fn insert(self) -> OccupiedEntry<'a, T, S, A>
2174
+ where
2175
+ T: Hash,
2176
+ S: BuildHasher,
2177
+ {
2178
+ match self {
2179
+ Entry::Occupied(entry) => entry,
2180
+ Entry::Vacant(entry) => entry.insert_entry(),
2181
+ }
2182
+ }
2183
+
2184
+ /// Ensures a value is in the entry by inserting if it was vacant.
2185
+ ///
2186
+ /// # Examples
2187
+ ///
2188
+ /// ```
2189
+ /// use hashbrown::HashSet;
2190
+ ///
2191
+ /// let mut set: HashSet<&str> = HashSet::new();
2192
+ ///
2193
+ /// // nonexistent key
2194
+ /// set.entry("poneyland").or_insert();
2195
+ /// assert!(set.contains("poneyland"));
2196
+ ///
2197
+ /// // existing key
2198
+ /// set.entry("poneyland").or_insert();
2199
+ /// assert!(set.contains("poneyland"));
2200
+ /// assert_eq!(set.len(), 1);
2201
+ /// ```
2202
+ #[cfg_attr(feature = "inline-more", inline)]
2203
+ pub fn or_insert(self)
2204
+ where
2205
+ T: Hash,
2206
+ S: BuildHasher,
2207
+ {
2208
+ if let Entry::Vacant(entry) = self {
2209
+ entry.insert();
2210
+ }
2211
+ }
2212
+
2213
+ /// Returns a reference to this entry's value.
2214
+ ///
2215
+ /// # Examples
2216
+ ///
2217
+ /// ```
2218
+ /// use hashbrown::HashSet;
2219
+ ///
2220
+ /// let mut set: HashSet<&str> = HashSet::new();
2221
+ /// set.entry("poneyland").or_insert();
2222
+ /// // existing key
2223
+ /// assert_eq!(set.entry("poneyland").get(), &"poneyland");
2224
+ /// // nonexistent key
2225
+ /// assert_eq!(set.entry("horseland").get(), &"horseland");
2226
+ /// ```
2227
+ #[cfg_attr(feature = "inline-more", inline)]
2228
+ pub fn get(&self) -> &T {
2229
+ match *self {
2230
+ Entry::Occupied(ref entry) => entry.get(),
2231
+ Entry::Vacant(ref entry) => entry.get(),
2232
+ }
2233
+ }
2234
+ }
2235
+
2236
+ impl<T, S, A: Allocator + Clone> OccupiedEntry<'_, T, S, A> {
2237
+ /// Gets a reference to the value in the entry.
2238
+ ///
2239
+ /// # Examples
2240
+ ///
2241
+ /// ```
2242
+ /// use hashbrown::hash_set::{Entry, HashSet};
2243
+ ///
2244
+ /// let mut set: HashSet<&str> = HashSet::new();
2245
+ /// set.entry("poneyland").or_insert();
2246
+ ///
2247
+ /// match set.entry("poneyland") {
2248
+ /// Entry::Vacant(_) => panic!(),
2249
+ /// Entry::Occupied(entry) => assert_eq!(entry.get(), &"poneyland"),
2250
+ /// }
2251
+ /// ```
2252
+ #[cfg_attr(feature = "inline-more", inline)]
2253
+ pub fn get(&self) -> &T {
2254
+ self.inner.key()
2255
+ }
2256
+
2257
+ /// Takes the value out of the entry, and returns it.
2258
+ /// Keeps the allocated memory for reuse.
2259
+ ///
2260
+ /// # Examples
2261
+ ///
2262
+ /// ```
2263
+ /// use hashbrown::HashSet;
2264
+ /// use hashbrown::hash_set::Entry;
2265
+ ///
2266
+ /// let mut set: HashSet<&str> = HashSet::new();
2267
+ /// // The set is empty
2268
+ /// assert!(set.is_empty() && set.capacity() == 0);
2269
+ ///
2270
+ /// set.entry("poneyland").or_insert();
2271
+ /// let capacity_before_remove = set.capacity();
2272
+ ///
2273
+ /// if let Entry::Occupied(o) = set.entry("poneyland") {
2274
+ /// assert_eq!(o.remove(), "poneyland");
2275
+ /// }
2276
+ ///
2277
+ /// assert_eq!(set.contains("poneyland"), false);
2278
+ /// // Now set hold none elements but capacity is equal to the old one
2279
+ /// assert!(set.len() == 0 && set.capacity() == capacity_before_remove);
2280
+ /// ```
2281
+ #[cfg_attr(feature = "inline-more", inline)]
2282
+ pub fn remove(self) -> T {
2283
+ self.inner.remove_entry().0
2284
+ }
2285
+
2286
+ /// Replaces the entry, returning the old value. The new value in the hash map will be
2287
+ /// the value used to create this entry.
2288
+ ///
2289
+ /// # Panics
2290
+ ///
2291
+ /// Will panic if this OccupiedEntry was created through [`Entry::insert`].
2292
+ ///
2293
+ /// # Examples
2294
+ ///
2295
+ /// ```
2296
+ /// use hashbrown::hash_set::{Entry, HashSet};
2297
+ /// use std::rc::Rc;
2298
+ ///
2299
+ /// let mut set: HashSet<Rc<String>> = HashSet::new();
2300
+ /// let key_one = Rc::new("Stringthing".to_string());
2301
+ /// let key_two = Rc::new("Stringthing".to_string());
2302
+ ///
2303
+ /// set.insert(key_one.clone());
2304
+ /// assert!(Rc::strong_count(&key_one) == 2 && Rc::strong_count(&key_two) == 1);
2305
+ ///
2306
+ /// match set.entry(key_two.clone()) {
2307
+ /// Entry::Occupied(entry) => {
2308
+ /// let old_key: Rc<String> = entry.replace();
2309
+ /// assert!(Rc::ptr_eq(&key_one, &old_key));
2310
+ /// }
2311
+ /// Entry::Vacant(_) => panic!(),
2312
+ /// }
2313
+ ///
2314
+ /// assert!(Rc::strong_count(&key_one) == 1 && Rc::strong_count(&key_two) == 2);
2315
+ /// assert!(set.contains(&"Stringthing".to_owned()));
2316
+ /// ```
2317
+ #[cfg_attr(feature = "inline-more", inline)]
2318
+ pub fn replace(self) -> T {
2319
+ self.inner.replace_key()
2320
+ }
2321
+ }
2322
+
2323
+ impl<'a, T, S, A: Allocator + Clone> VacantEntry<'a, T, S, A> {
2324
+ /// Gets a reference to the value that would be used when inserting
2325
+ /// through the `VacantEntry`.
2326
+ ///
2327
+ /// # Examples
2328
+ ///
2329
+ /// ```
2330
+ /// use hashbrown::HashSet;
2331
+ ///
2332
+ /// let mut set: HashSet<&str> = HashSet::new();
2333
+ /// assert_eq!(set.entry("poneyland").get(), &"poneyland");
2334
+ /// ```
2335
+ #[cfg_attr(feature = "inline-more", inline)]
2336
+ pub fn get(&self) -> &T {
2337
+ self.inner.key()
2338
+ }
2339
+
2340
+ /// Take ownership of the value.
2341
+ ///
2342
+ /// # Examples
2343
+ ///
2344
+ /// ```
2345
+ /// use hashbrown::hash_set::{Entry, HashSet};
2346
+ ///
2347
+ /// let mut set: HashSet<&str> = HashSet::new();
2348
+ ///
2349
+ /// match set.entry("poneyland") {
2350
+ /// Entry::Occupied(_) => panic!(),
2351
+ /// Entry::Vacant(v) => assert_eq!(v.into_value(), "poneyland"),
2352
+ /// }
2353
+ /// ```
2354
+ #[cfg_attr(feature = "inline-more", inline)]
2355
+ pub fn into_value(self) -> T {
2356
+ self.inner.into_key()
2357
+ }
2358
+
2359
+ /// Sets the value of the entry with the VacantEntry's value.
2360
+ ///
2361
+ /// # Examples
2362
+ ///
2363
+ /// ```
2364
+ /// use hashbrown::HashSet;
2365
+ /// use hashbrown::hash_set::Entry;
2366
+ ///
2367
+ /// let mut set: HashSet<&str> = HashSet::new();
2368
+ ///
2369
+ /// if let Entry::Vacant(o) = set.entry("poneyland") {
2370
+ /// o.insert();
2371
+ /// }
2372
+ /// assert!(set.contains("poneyland"));
2373
+ /// ```
2374
+ #[cfg_attr(feature = "inline-more", inline)]
2375
+ pub fn insert(self)
2376
+ where
2377
+ T: Hash,
2378
+ S: BuildHasher,
2379
+ {
2380
+ self.inner.insert(());
2381
+ }
2382
+
2383
+ #[cfg_attr(feature = "inline-more", inline)]
2384
+ fn insert_entry(self) -> OccupiedEntry<'a, T, S, A>
2385
+ where
2386
+ T: Hash,
2387
+ S: BuildHasher,
2388
+ {
2389
+ OccupiedEntry {
2390
+ inner: self.inner.insert_entry(()),
2391
+ }
2392
+ }
2393
+ }
2394
+
2395
+ #[allow(dead_code)]
2396
+ fn assert_covariance() {
2397
+ fn set<'new>(v: HashSet<&'static str>) -> HashSet<&'new str> {
2398
+ v
2399
+ }
2400
+ fn iter<'a, 'new>(v: Iter<'a, &'static str>) -> Iter<'a, &'new str> {
2401
+ v
2402
+ }
2403
+ fn into_iter<'new, A: Allocator + Clone>(
2404
+ v: IntoIter<&'static str, A>,
2405
+ ) -> IntoIter<&'new str, A> {
2406
+ v
2407
+ }
2408
+ fn difference<'a, 'new, A: Allocator + Clone>(
2409
+ v: Difference<'a, &'static str, DefaultHashBuilder, A>,
2410
+ ) -> Difference<'a, &'new str, DefaultHashBuilder, A> {
2411
+ v
2412
+ }
2413
+ fn symmetric_difference<'a, 'new, A: Allocator + Clone>(
2414
+ v: SymmetricDifference<'a, &'static str, DefaultHashBuilder, A>,
2415
+ ) -> SymmetricDifference<'a, &'new str, DefaultHashBuilder, A> {
2416
+ v
2417
+ }
2418
+ fn intersection<'a, 'new, A: Allocator + Clone>(
2419
+ v: Intersection<'a, &'static str, DefaultHashBuilder, A>,
2420
+ ) -> Intersection<'a, &'new str, DefaultHashBuilder, A> {
2421
+ v
2422
+ }
2423
+ fn union<'a, 'new, A: Allocator + Clone>(
2424
+ v: Union<'a, &'static str, DefaultHashBuilder, A>,
2425
+ ) -> Union<'a, &'new str, DefaultHashBuilder, A> {
2426
+ v
2427
+ }
2428
+ fn drain<'new, A: Allocator + Clone>(
2429
+ d: Drain<'static, &'static str, A>,
2430
+ ) -> Drain<'new, &'new str, A> {
2431
+ d
2432
+ }
2433
+ }
2434
+
2435
+ #[cfg(test)]
2436
+ mod test_set {
2437
+ use super::super::map::DefaultHashBuilder;
2438
+ use super::HashSet;
2439
+ use std::vec::Vec;
2440
+
2441
+ #[test]
2442
+ fn test_zero_capacities() {
2443
+ type HS = HashSet<i32>;
2444
+
2445
+ let s = HS::new();
2446
+ assert_eq!(s.capacity(), 0);
2447
+
2448
+ let s = HS::default();
2449
+ assert_eq!(s.capacity(), 0);
2450
+
2451
+ let s = HS::with_hasher(DefaultHashBuilder::default());
2452
+ assert_eq!(s.capacity(), 0);
2453
+
2454
+ let s = HS::with_capacity(0);
2455
+ assert_eq!(s.capacity(), 0);
2456
+
2457
+ let s = HS::with_capacity_and_hasher(0, DefaultHashBuilder::default());
2458
+ assert_eq!(s.capacity(), 0);
2459
+
2460
+ let mut s = HS::new();
2461
+ s.insert(1);
2462
+ s.insert(2);
2463
+ s.remove(&1);
2464
+ s.remove(&2);
2465
+ s.shrink_to_fit();
2466
+ assert_eq!(s.capacity(), 0);
2467
+
2468
+ let mut s = HS::new();
2469
+ s.reserve(0);
2470
+ assert_eq!(s.capacity(), 0);
2471
+ }
2472
+
2473
+ #[test]
2474
+ fn test_disjoint() {
2475
+ let mut xs = HashSet::new();
2476
+ let mut ys = HashSet::new();
2477
+ assert!(xs.is_disjoint(&ys));
2478
+ assert!(ys.is_disjoint(&xs));
2479
+ assert!(xs.insert(5));
2480
+ assert!(ys.insert(11));
2481
+ assert!(xs.is_disjoint(&ys));
2482
+ assert!(ys.is_disjoint(&xs));
2483
+ assert!(xs.insert(7));
2484
+ assert!(xs.insert(19));
2485
+ assert!(xs.insert(4));
2486
+ assert!(ys.insert(2));
2487
+ assert!(ys.insert(-11));
2488
+ assert!(xs.is_disjoint(&ys));
2489
+ assert!(ys.is_disjoint(&xs));
2490
+ assert!(ys.insert(7));
2491
+ assert!(!xs.is_disjoint(&ys));
2492
+ assert!(!ys.is_disjoint(&xs));
2493
+ }
2494
+
2495
+ #[test]
2496
+ fn test_subset_and_superset() {
2497
+ let mut a = HashSet::new();
2498
+ assert!(a.insert(0));
2499
+ assert!(a.insert(5));
2500
+ assert!(a.insert(11));
2501
+ assert!(a.insert(7));
2502
+
2503
+ let mut b = HashSet::new();
2504
+ assert!(b.insert(0));
2505
+ assert!(b.insert(7));
2506
+ assert!(b.insert(19));
2507
+ assert!(b.insert(250));
2508
+ assert!(b.insert(11));
2509
+ assert!(b.insert(200));
2510
+
2511
+ assert!(!a.is_subset(&b));
2512
+ assert!(!a.is_superset(&b));
2513
+ assert!(!b.is_subset(&a));
2514
+ assert!(!b.is_superset(&a));
2515
+
2516
+ assert!(b.insert(5));
2517
+
2518
+ assert!(a.is_subset(&b));
2519
+ assert!(!a.is_superset(&b));
2520
+ assert!(!b.is_subset(&a));
2521
+ assert!(b.is_superset(&a));
2522
+ }
2523
+
2524
+ #[test]
2525
+ fn test_iterate() {
2526
+ let mut a = HashSet::new();
2527
+ for i in 0..32 {
2528
+ assert!(a.insert(i));
2529
+ }
2530
+ let mut observed: u32 = 0;
2531
+ for k in &a {
2532
+ observed |= 1 << *k;
2533
+ }
2534
+ assert_eq!(observed, 0xFFFF_FFFF);
2535
+ }
2536
+
2537
+ #[test]
2538
+ fn test_intersection() {
2539
+ let mut a = HashSet::new();
2540
+ let mut b = HashSet::new();
2541
+
2542
+ assert!(a.insert(11));
2543
+ assert!(a.insert(1));
2544
+ assert!(a.insert(3));
2545
+ assert!(a.insert(77));
2546
+ assert!(a.insert(103));
2547
+ assert!(a.insert(5));
2548
+ assert!(a.insert(-5));
2549
+
2550
+ assert!(b.insert(2));
2551
+ assert!(b.insert(11));
2552
+ assert!(b.insert(77));
2553
+ assert!(b.insert(-9));
2554
+ assert!(b.insert(-42));
2555
+ assert!(b.insert(5));
2556
+ assert!(b.insert(3));
2557
+
2558
+ let mut i = 0;
2559
+ let expected = [3, 5, 11, 77];
2560
+ for x in a.intersection(&b) {
2561
+ assert!(expected.contains(x));
2562
+ i += 1;
2563
+ }
2564
+ assert_eq!(i, expected.len());
2565
+ }
2566
+
2567
+ #[test]
2568
+ fn test_difference() {
2569
+ let mut a = HashSet::new();
2570
+ let mut b = HashSet::new();
2571
+
2572
+ assert!(a.insert(1));
2573
+ assert!(a.insert(3));
2574
+ assert!(a.insert(5));
2575
+ assert!(a.insert(9));
2576
+ assert!(a.insert(11));
2577
+
2578
+ assert!(b.insert(3));
2579
+ assert!(b.insert(9));
2580
+
2581
+ let mut i = 0;
2582
+ let expected = [1, 5, 11];
2583
+ for x in a.difference(&b) {
2584
+ assert!(expected.contains(x));
2585
+ i += 1;
2586
+ }
2587
+ assert_eq!(i, expected.len());
2588
+ }
2589
+
2590
+ #[test]
2591
+ fn test_symmetric_difference() {
2592
+ let mut a = HashSet::new();
2593
+ let mut b = HashSet::new();
2594
+
2595
+ assert!(a.insert(1));
2596
+ assert!(a.insert(3));
2597
+ assert!(a.insert(5));
2598
+ assert!(a.insert(9));
2599
+ assert!(a.insert(11));
2600
+
2601
+ assert!(b.insert(-2));
2602
+ assert!(b.insert(3));
2603
+ assert!(b.insert(9));
2604
+ assert!(b.insert(14));
2605
+ assert!(b.insert(22));
2606
+
2607
+ let mut i = 0;
2608
+ let expected = [-2, 1, 5, 11, 14, 22];
2609
+ for x in a.symmetric_difference(&b) {
2610
+ assert!(expected.contains(x));
2611
+ i += 1;
2612
+ }
2613
+ assert_eq!(i, expected.len());
2614
+ }
2615
+
2616
+ #[test]
2617
+ fn test_union() {
2618
+ let mut a = HashSet::new();
2619
+ let mut b = HashSet::new();
2620
+
2621
+ assert!(a.insert(1));
2622
+ assert!(a.insert(3));
2623
+ assert!(a.insert(5));
2624
+ assert!(a.insert(9));
2625
+ assert!(a.insert(11));
2626
+ assert!(a.insert(16));
2627
+ assert!(a.insert(19));
2628
+ assert!(a.insert(24));
2629
+
2630
+ assert!(b.insert(-2));
2631
+ assert!(b.insert(1));
2632
+ assert!(b.insert(5));
2633
+ assert!(b.insert(9));
2634
+ assert!(b.insert(13));
2635
+ assert!(b.insert(19));
2636
+
2637
+ let mut i = 0;
2638
+ let expected = [-2, 1, 3, 5, 9, 11, 13, 16, 19, 24];
2639
+ for x in a.union(&b) {
2640
+ assert!(expected.contains(x));
2641
+ i += 1;
2642
+ }
2643
+ assert_eq!(i, expected.len());
2644
+ }
2645
+
2646
+ #[test]
2647
+ fn test_from_map() {
2648
+ let mut a = crate::HashMap::new();
2649
+ a.insert(1, ());
2650
+ a.insert(2, ());
2651
+ a.insert(3, ());
2652
+ a.insert(4, ());
2653
+
2654
+ let a: HashSet<_> = a.into();
2655
+
2656
+ assert_eq!(a.len(), 4);
2657
+ assert!(a.contains(&1));
2658
+ assert!(a.contains(&2));
2659
+ assert!(a.contains(&3));
2660
+ assert!(a.contains(&4));
2661
+ }
2662
+
2663
+ #[test]
2664
+ fn test_from_iter() {
2665
+ let xs = [1, 2, 2, 3, 4, 5, 6, 7, 8, 9];
2666
+
2667
+ let set: HashSet<_> = xs.iter().copied().collect();
2668
+
2669
+ for x in &xs {
2670
+ assert!(set.contains(x));
2671
+ }
2672
+
2673
+ assert_eq!(set.iter().len(), xs.len() - 1);
2674
+ }
2675
+
2676
+ #[test]
2677
+ fn test_move_iter() {
2678
+ let hs = {
2679
+ let mut hs = HashSet::new();
2680
+
2681
+ hs.insert('a');
2682
+ hs.insert('b');
2683
+
2684
+ hs
2685
+ };
2686
+
2687
+ let v = hs.into_iter().collect::<Vec<char>>();
2688
+ assert!(v == ['a', 'b'] || v == ['b', 'a']);
2689
+ }
2690
+
2691
+ #[test]
2692
+ fn test_eq() {
2693
+ // These constants once happened to expose a bug in insert().
2694
+ // I'm keeping them around to prevent a regression.
2695
+ let mut s1 = HashSet::new();
2696
+
2697
+ s1.insert(1);
2698
+ s1.insert(2);
2699
+ s1.insert(3);
2700
+
2701
+ let mut s2 = HashSet::new();
2702
+
2703
+ s2.insert(1);
2704
+ s2.insert(2);
2705
+
2706
+ assert!(s1 != s2);
2707
+
2708
+ s2.insert(3);
2709
+
2710
+ assert_eq!(s1, s2);
2711
+ }
2712
+
2713
+ #[test]
2714
+ fn test_show() {
2715
+ let mut set = HashSet::new();
2716
+ let empty = HashSet::<i32>::new();
2717
+
2718
+ set.insert(1);
2719
+ set.insert(2);
2720
+
2721
+ let set_str = format!("{set:?}");
2722
+
2723
+ assert!(set_str == "{1, 2}" || set_str == "{2, 1}");
2724
+ assert_eq!(format!("{empty:?}"), "{}");
2725
+ }
2726
+
2727
+ #[test]
2728
+ fn test_trivial_drain() {
2729
+ let mut s = HashSet::<i32>::new();
2730
+ for _ in s.drain() {}
2731
+ assert!(s.is_empty());
2732
+ drop(s);
2733
+
2734
+ let mut s = HashSet::<i32>::new();
2735
+ drop(s.drain());
2736
+ assert!(s.is_empty());
2737
+ }
2738
+
2739
+ #[test]
2740
+ fn test_drain() {
2741
+ let mut s: HashSet<_> = (1..100).collect();
2742
+
2743
+ // try this a bunch of times to make sure we don't screw up internal state.
2744
+ for _ in 0..20 {
2745
+ assert_eq!(s.len(), 99);
2746
+
2747
+ {
2748
+ let mut last_i = 0;
2749
+ let mut d = s.drain();
2750
+ for (i, x) in d.by_ref().take(50).enumerate() {
2751
+ last_i = i;
2752
+ assert!(x != 0);
2753
+ }
2754
+ assert_eq!(last_i, 49);
2755
+ }
2756
+
2757
+ for _ in &s {
2758
+ panic!("s should be empty!");
2759
+ }
2760
+
2761
+ // reset to try again.
2762
+ s.extend(1..100);
2763
+ }
2764
+ }
2765
+
2766
+ #[test]
2767
+ fn test_replace() {
2768
+ use core::hash;
2769
+
2770
+ #[derive(Debug)]
2771
+ struct Foo(&'static str, i32);
2772
+
2773
+ impl PartialEq for Foo {
2774
+ fn eq(&self, other: &Self) -> bool {
2775
+ self.0 == other.0
2776
+ }
2777
+ }
2778
+
2779
+ impl Eq for Foo {}
2780
+
2781
+ impl hash::Hash for Foo {
2782
+ fn hash<H: hash::Hasher>(&self, h: &mut H) {
2783
+ self.0.hash(h);
2784
+ }
2785
+ }
2786
+
2787
+ let mut s = HashSet::new();
2788
+ assert_eq!(s.replace(Foo("a", 1)), None);
2789
+ assert_eq!(s.len(), 1);
2790
+ assert_eq!(s.replace(Foo("a", 2)), Some(Foo("a", 1)));
2791
+ assert_eq!(s.len(), 1);
2792
+
2793
+ let mut it = s.iter();
2794
+ assert_eq!(it.next(), Some(&Foo("a", 2)));
2795
+ assert_eq!(it.next(), None);
2796
+ }
2797
+
2798
+ #[test]
2799
+ #[allow(clippy::needless_borrow)]
2800
+ fn test_extend_ref() {
2801
+ let mut a = HashSet::new();
2802
+ a.insert(1);
2803
+
2804
+ a.extend([2, 3, 4]);
2805
+
2806
+ assert_eq!(a.len(), 4);
2807
+ assert!(a.contains(&1));
2808
+ assert!(a.contains(&2));
2809
+ assert!(a.contains(&3));
2810
+ assert!(a.contains(&4));
2811
+
2812
+ let mut b = HashSet::new();
2813
+ b.insert(5);
2814
+ b.insert(6);
2815
+
2816
+ a.extend(&b);
2817
+
2818
+ assert_eq!(a.len(), 6);
2819
+ assert!(a.contains(&1));
2820
+ assert!(a.contains(&2));
2821
+ assert!(a.contains(&3));
2822
+ assert!(a.contains(&4));
2823
+ assert!(a.contains(&5));
2824
+ assert!(a.contains(&6));
2825
+ }
2826
+
2827
+ #[test]
2828
+ fn test_retain() {
2829
+ let xs = [1, 2, 3, 4, 5, 6];
2830
+ let mut set: HashSet<i32> = xs.iter().copied().collect();
2831
+ set.retain(|&k| k % 2 == 0);
2832
+ assert_eq!(set.len(), 3);
2833
+ assert!(set.contains(&2));
2834
+ assert!(set.contains(&4));
2835
+ assert!(set.contains(&6));
2836
+ }
2837
+
2838
+ #[test]
2839
+ fn test_extract_if() {
2840
+ {
2841
+ let mut set: HashSet<i32> = (0..8).collect();
2842
+ let drained = set.extract_if(|&k| k % 2 == 0);
2843
+ let mut out = drained.collect::<Vec<_>>();
2844
+ out.sort_unstable();
2845
+ assert_eq!(vec![0, 2, 4, 6], out);
2846
+ assert_eq!(set.len(), 4);
2847
+ }
2848
+ {
2849
+ let mut set: HashSet<i32> = (0..8).collect();
2850
+ set.extract_if(|&k| k % 2 == 0).for_each(drop);
2851
+ assert_eq!(set.len(), 4, "Removes non-matching items on drop");
2852
+ }
2853
+ }
2854
+
2855
+ #[test]
2856
+ fn test_const_with_hasher() {
2857
+ use core::hash::BuildHasher;
2858
+ use std::collections::hash_map::DefaultHasher;
2859
+
2860
+ #[derive(Clone)]
2861
+ struct MyHasher;
2862
+ impl BuildHasher for MyHasher {
2863
+ type Hasher = DefaultHasher;
2864
+
2865
+ fn build_hasher(&self) -> DefaultHasher {
2866
+ DefaultHasher::new()
2867
+ }
2868
+ }
2869
+
2870
+ const EMPTY_SET: HashSet<u32, MyHasher> = HashSet::with_hasher(MyHasher);
2871
+
2872
+ let mut set = EMPTY_SET;
2873
+ set.insert(19);
2874
+ assert!(set.contains(&19));
2875
+ }
2876
+
2877
+ #[test]
2878
+ fn rehash_in_place() {
2879
+ let mut set = HashSet::new();
2880
+
2881
+ for i in 0..224 {
2882
+ set.insert(i);
2883
+ }
2884
+
2885
+ assert_eq!(
2886
+ set.capacity(),
2887
+ 224,
2888
+ "The set must be at or close to capacity to trigger a re hashing"
2889
+ );
2890
+
2891
+ for i in 100..1400 {
2892
+ set.remove(&(i - 100));
2893
+ set.insert(i);
2894
+ }
2895
+ }
2896
+
2897
+ #[test]
2898
+ fn collect() {
2899
+ // At the time of writing, this hits the ZST case in from_base_index
2900
+ // (and without the `map`, it does not).
2901
+ let mut _set: HashSet<_> = (0..3).map(|_| ()).collect();
2902
+ }
2903
+ }