code_ownership 2.1.4 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1159) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config +2 -2
  3. data/Cargo.lock +36 -86
  4. data/bin/codeownership +1 -0
  5. data/ext/cargo-vendor/bindgen-0.72.1/.cargo-checksum.json +1 -0
  6. data/ext/cargo-vendor/bindgen-0.72.1/.cargo_vcs_info.json +6 -0
  7. data/ext/cargo-vendor/bindgen-0.72.1/Cargo.lock +485 -0
  8. data/ext/cargo-vendor/bindgen-0.72.1/Cargo.toml +189 -0
  9. data/ext/cargo-vendor/bindgen-0.72.1/Cargo.toml.orig +72 -0
  10. data/ext/cargo-vendor/bindgen-0.72.1/README.md +89 -0
  11. data/ext/cargo-vendor/bindgen-0.72.1/build.rs +29 -0
  12. data/ext/cargo-vendor/bindgen-0.72.1/callbacks.rs +317 -0
  13. data/ext/cargo-vendor/bindgen-0.72.1/clang.rs +2448 -0
  14. data/ext/cargo-vendor/bindgen-0.72.1/codegen/bitfield_unit.rs +112 -0
  15. data/ext/cargo-vendor/bindgen-0.72.1/codegen/bitfield_unit_raw_ref_macros.rs +191 -0
  16. data/ext/cargo-vendor/bindgen-0.72.1/codegen/bitfield_unit_tests.rs +260 -0
  17. data/ext/cargo-vendor/bindgen-0.72.1/codegen/dyngen.rs +258 -0
  18. data/ext/cargo-vendor/bindgen-0.72.1/codegen/error.rs +52 -0
  19. data/ext/cargo-vendor/bindgen-0.72.1/codegen/helpers.rs +395 -0
  20. data/ext/cargo-vendor/bindgen-0.72.1/codegen/impl_debug.rs +243 -0
  21. data/ext/cargo-vendor/bindgen-0.72.1/codegen/impl_partialeq.rs +142 -0
  22. data/ext/cargo-vendor/bindgen-0.72.1/codegen/mod.rs +5991 -0
  23. data/ext/cargo-vendor/bindgen-0.72.1/codegen/postprocessing/merge_extern_blocks.rs +72 -0
  24. data/ext/cargo-vendor/bindgen-0.72.1/codegen/postprocessing/sort_semantically.rs +46 -0
  25. data/ext/cargo-vendor/bindgen-0.72.1/codegen/serialize.rs +443 -0
  26. data/ext/cargo-vendor/bindgen-0.72.1/codegen/struct_layout.rs +458 -0
  27. data/ext/cargo-vendor/bindgen-0.72.1/deps.rs +61 -0
  28. data/ext/cargo-vendor/bindgen-0.72.1/diagnostics.rs +146 -0
  29. data/ext/cargo-vendor/bindgen-0.72.1/extra_assertions.rs +17 -0
  30. data/ext/cargo-vendor/bindgen-0.72.1/features.rs +570 -0
  31. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/derive.rs +726 -0
  32. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/has_destructor.rs +175 -0
  33. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/has_float.rs +248 -0
  34. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/has_type_param_in_array.rs +242 -0
  35. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/has_vtable.rs +235 -0
  36. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/mod.rs +395 -0
  37. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/sizedness.rs +353 -0
  38. data/ext/cargo-vendor/bindgen-0.72.1/ir/analysis/template_params.rs +601 -0
  39. data/ext/cargo-vendor/bindgen-0.72.1/ir/annotations.rs +259 -0
  40. data/ext/cargo-vendor/bindgen-0.72.1/ir/comment.rs +100 -0
  41. data/ext/cargo-vendor/bindgen-0.72.1/ir/comp.rs +1921 -0
  42. data/ext/cargo-vendor/bindgen-0.72.1/ir/context.rs +3107 -0
  43. data/ext/cargo-vendor/bindgen-0.72.1/ir/derive.rs +130 -0
  44. data/ext/cargo-vendor/bindgen-0.72.1/ir/dot.rs +85 -0
  45. data/ext/cargo-vendor/bindgen-0.72.1/ir/enum_ty.rs +321 -0
  46. data/ext/cargo-vendor/bindgen-0.72.1/ir/function.rs +838 -0
  47. data/ext/cargo-vendor/bindgen-0.72.1/ir/int.rs +128 -0
  48. data/ext/cargo-vendor/bindgen-0.72.1/ir/item.rs +1994 -0
  49. data/ext/cargo-vendor/bindgen-0.72.1/ir/item_kind.rs +135 -0
  50. data/ext/cargo-vendor/bindgen-0.72.1/ir/layout.rs +126 -0
  51. data/ext/cargo-vendor/bindgen-0.72.1/ir/module.rs +96 -0
  52. data/ext/cargo-vendor/bindgen-0.72.1/ir/objc.rs +343 -0
  53. data/ext/cargo-vendor/bindgen-0.72.1/ir/template.rs +335 -0
  54. data/ext/cargo-vendor/bindgen-0.72.1/ir/traversal.rs +478 -0
  55. data/ext/cargo-vendor/bindgen-0.72.1/ir/ty.rs +1256 -0
  56. data/ext/cargo-vendor/bindgen-0.72.1/ir/var.rs +523 -0
  57. data/ext/cargo-vendor/bindgen-0.72.1/lib.rs +1422 -0
  58. data/ext/cargo-vendor/bindgen-0.72.1/log_stubs.rs +38 -0
  59. data/ext/cargo-vendor/bindgen-0.72.1/options/as_args.rs +52 -0
  60. data/ext/cargo-vendor/bindgen-0.72.1/options/cli.rs +1151 -0
  61. data/ext/cargo-vendor/bindgen-0.72.1/options/mod.rs +2286 -0
  62. data/ext/cargo-vendor/bindgen-0.72.1/regex_set.rs +199 -0
  63. data/ext/cargo-vendor/bindgen-0.72.1/time.rs +52 -0
  64. data/ext/cargo-vendor/codeowners-0.5.0/.cargo-checksum.json +1 -0
  65. data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/audit.yml +31 -0
  66. data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/ci.yml +180 -0
  67. data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/codeql.yml +21 -0
  68. data/ext/cargo-vendor/codeowners-0.5.0/Cargo.lock +1176 -0
  69. data/ext/cargo-vendor/codeowners-0.5.0/Cargo.toml +173 -0
  70. data/ext/cargo-vendor/codeowners-0.5.0/perf/README.md +204 -0
  71. data/ext/cargo-vendor/codeowners-0.5.0/perf/compare.sh +23 -0
  72. data/ext/cargo-vendor/codeowners-0.5.0/perf/run.sh +28 -0
  73. data/ext/cargo-vendor/codeowners-0.5.0/rust-toolchain.toml +4 -0
  74. data/ext/cargo-vendor/codeowners-0.5.0/src/bin/codeowners-perf.rs +719 -0
  75. data/ext/cargo-vendor/codeowners-0.5.0/src/cache/file.rs +179 -0
  76. data/ext/cargo-vendor/codeowners-0.5.0/src/cache/mod.rs +29 -0
  77. data/ext/cargo-vendor/codeowners-0.5.0/src/cache/noop.rs +26 -0
  78. data/ext/cargo-vendor/codeowners-0.5.0/src/cli.rs +138 -0
  79. data/ext/cargo-vendor/codeowners-0.5.0/src/main.rs +43 -0
  80. data/ext/cargo-vendor/codeowners-0.5.0/src/ownership/file_owner_resolver.rs +829 -0
  81. data/ext/cargo-vendor/codeowners-0.5.0/src/ownership/validator.rs +378 -0
  82. data/ext/cargo-vendor/codeowners-0.5.0/src/ownership.rs +243 -0
  83. data/ext/cargo-vendor/codeowners-0.5.0/src/project.rs +232 -0
  84. data/ext/cargo-vendor/codeowners-0.5.0/src/project_builder.rs +430 -0
  85. data/ext/cargo-vendor/codeowners-0.5.0/src/project_file_builder.rs +113 -0
  86. data/ext/cargo-vendor/codeowners-0.5.0/src/runner/api.rs +145 -0
  87. data/ext/cargo-vendor/codeowners-0.5.0/src/runner/types.rs +37 -0
  88. data/ext/cargo-vendor/codeowners-0.5.0/src/runner.rs +493 -0
  89. data/ext/cargo-vendor/codeowners-0.5.0/tests/annotation_in_unowned_team_glob_test.rs +64 -0
  90. data/ext/cargo-vendor/codeowners-0.5.0/tests/common/mod.rs +180 -0
  91. data/ext/cargo-vendor/codeowners-0.5.0/tests/directory_codeowner_github_team_test.rs +22 -0
  92. data/ext/cargo-vendor/codeowners-0.5.0/tests/empty_directory_codeowner_test.rs +26 -0
  93. data/ext/cargo-vendor/codeowners-0.5.0/tests/executable_name_config_test.rs +88 -0
  94. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/.github/CODEOWNERS +18 -0
  95. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/code_ownership.yml +4 -0
  96. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/alpha.yml +7 -0
  97. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/beta.yml +3 -0
  98. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/alpha_owned.rb +2 -0
  99. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/beta_owned.rb +4 -0
  100. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +14 -0
  101. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +14 -0
  102. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/.github/CODEOWNERS +15 -0
  103. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/.codeowner +1 -0
  104. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/handled.rb +2 -0
  105. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_name/named.rb +2 -0
  106. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/.github/CODEOWNERS +14 -0
  107. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/.codeowner +1 -0
  108. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/.codeowner +1 -0
  109. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/nested_file.rb +2 -0
  110. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/code_ownership.yml +10 -0
  111. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/teams/foo.yml +5 -0
  112. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/.github/CODEOWNERS +14 -0
  113. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/.codeowner +1 -0
  114. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/.codeowner +1 -0
  115. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/nested_file.rb +2 -0
  116. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/code_ownership.yml +10 -0
  117. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/teams/foo.yml +5 -0
  118. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/app/services/.codeowner +1 -0
  119. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +10 -0
  120. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +5 -0
  121. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/valid_project/.github/CODEOWNERS +41 -0
  122. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +53 -0
  123. data/ext/cargo-vendor/codeowners-0.5.0/tests/global_gitignore_test.rs +50 -0
  124. data/ext/cargo-vendor/codeowners-0.5.0/tests/invalid_directory_codeowner_test.rs +26 -0
  125. data/ext/cargo-vendor/codeowners-0.5.0/tests/invalid_project_test.rs +174 -0
  126. data/ext/cargo-vendor/codeowners-0.5.0/tests/perf_harness_test.rs +245 -0
  127. data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_new_file_test.rs +63 -0
  128. data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_source_file_test.rs +40 -0
  129. data/ext/cargo-vendor/codeowners-0.5.0/tests/valid_project_test.rs +348 -0
  130. data/ext/cargo-vendor/error-stack-0.8.0/.cargo-checksum.json +1 -0
  131. data/ext/cargo-vendor/error-stack-0.8.0/.cargo_vcs_info.json +6 -0
  132. data/ext/cargo-vendor/error-stack-0.8.0/.justfile +16 -0
  133. data/ext/cargo-vendor/error-stack-0.8.0/CHANGELOG.md +158 -0
  134. data/ext/cargo-vendor/error-stack-0.8.0/Cargo.lock +733 -0
  135. data/ext/cargo-vendor/error-stack-0.8.0/Cargo.toml +389 -0
  136. data/ext/cargo-vendor/error-stack-0.8.0/Cargo.toml.orig +109 -0
  137. data/ext/cargo-vendor/error-stack-0.8.0/README.md +149 -0
  138. data/ext/cargo-vendor/error-stack-0.8.0/build.rs +28 -0
  139. data/ext/cargo-vendor/error-stack-0.8.0/examples/demo.rs +117 -0
  140. data/ext/cargo-vendor/error-stack-0.8.0/examples/detect.rs +68 -0
  141. data/ext/cargo-vendor/error-stack-0.8.0/examples/exit_code.rs +25 -0
  142. data/ext/cargo-vendor/error-stack-0.8.0/examples/parse_config.rs +51 -0
  143. data/ext/cargo-vendor/error-stack-0.8.0/src/compat/anyhow.rs +34 -0
  144. data/ext/cargo-vendor/error-stack-0.8.0/src/compat/eyre.rs +32 -0
  145. data/ext/cargo-vendor/error-stack-0.8.0/src/compat/mod.rs +34 -0
  146. data/ext/cargo-vendor/error-stack-0.8.0/src/context.rs +52 -0
  147. data/ext/cargo-vendor/error-stack-0.8.0/src/error.rs +40 -0
  148. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/iter.rs +286 -0
  149. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/mod.rs +19 -0
  150. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/stream.rs +212 -0
  151. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/tuple.rs +218 -0
  152. data/ext/cargo-vendor/error-stack-0.8.0/src/fmt/charset.rs +114 -0
  153. data/ext/cargo-vendor/error-stack-0.8.0/src/fmt/color.rs +330 -0
  154. data/ext/cargo-vendor/error-stack-0.8.0/src/fmt/config.rs +67 -0
  155. data/ext/cargo-vendor/error-stack-0.8.0/src/fmt/hook.rs +544 -0
  156. data/ext/cargo-vendor/error-stack-0.8.0/src/fmt/location.rs +33 -0
  157. data/ext/cargo-vendor/error-stack-0.8.0/src/fmt/mod.rs +1187 -0
  158. data/ext/cargo-vendor/error-stack-0.8.0/src/frame/frame_impl.rs +259 -0
  159. data/ext/cargo-vendor/error-stack-0.8.0/src/frame/kind.rs +38 -0
  160. data/ext/cargo-vendor/error-stack-0.8.0/src/frame/mod.rs +120 -0
  161. data/ext/cargo-vendor/error-stack-0.8.0/src/future.rs +301 -0
  162. data/ext/cargo-vendor/error-stack-0.8.0/src/hook/context.rs +363 -0
  163. data/ext/cargo-vendor/error-stack-0.8.0/src/hook/mod.rs +240 -0
  164. data/ext/cargo-vendor/error-stack-0.8.0/src/iter.rs +224 -0
  165. data/ext/cargo-vendor/error-stack-0.8.0/src/lib.rs +557 -0
  166. data/ext/cargo-vendor/error-stack-0.8.0/src/macros.rs +212 -0
  167. data/ext/cargo-vendor/error-stack-0.8.0/src/report.rs +1058 -0
  168. data/ext/cargo-vendor/error-stack-0.8.0/src/result.rs +137 -0
  169. data/ext/cargo-vendor/error-stack-0.8.0/src/serde.rs +169 -0
  170. data/ext/cargo-vendor/error-stack-0.8.0/src/sink.rs +672 -0
  171. data/ext/cargo-vendor/error-stack-0.8.0/tests/common.rs +354 -0
  172. data/ext/cargo-vendor/error-stack-0.8.0/tests/compiletest.rs +22 -0
  173. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__charset_ascii.snap +9 -0
  174. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__charset_utf8.snap +9 -0
  175. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__diagnostics_add.snap +10 -0
  176. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__doc.snap +12 -0
  177. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__emit.snap +16 -0
  178. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__emit_alt.snap +28 -0
  179. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__hookcontext_cast.snap +11 -0
  180. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__hookcontext_decrement.snap +10 -0
  181. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__hookcontext_emit.snap +16 -0
  182. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__hookcontext_increment.snap +10 -0
  183. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__hookcontext_storage.snap +10 -0
  184. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__preference_color.snap +9 -0
  185. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__preference_emphasis.snap +9 -0
  186. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt__preference_none.snap +9 -0
  187. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/fmt_doc_alt.snap +15 -0
  188. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/hook__debug_hook.snap +9 -0
  189. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/hook__debug_hook_provide.snap +10 -0
  190. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/lib__suggestion.snap +13 -0
  191. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/doc/report_debug__doc.snap +14 -0
  192. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__complex.snap +49 -0
  193. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__hook_location.snap +15 -0
  194. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__linear.snap +27 -0
  195. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__linear_ext.snap +27 -0
  196. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__multiline_context.snap +25 -0
  197. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__sources.snap +48 -0
  198. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__full__sources_transparent.snap +50 -0
  199. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__sources_nested.snap +78 -0
  200. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__sources_nested@spantrace-backtrace.snap +128 -0
  201. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__sources_nested_alternate.snap +78 -0
  202. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_debug__sources_nested_alternate@spantrace-backtrace.snap +128 -0
  203. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_serialize__attachment.snap +13 -0
  204. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_serialize__context.snap +19 -0
  205. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_serialize__multiple_sources.snap +30 -0
  206. data/ext/cargo-vendor/error-stack-0.8.0/tests/snapshots/test_serialize__multiple_sources_at_root.snap +20 -0
  207. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_attach.rs +94 -0
  208. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_attach_printable.rs +73 -0
  209. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_backtrace.rs +61 -0
  210. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_change_context.rs +90 -0
  211. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_compatibility.rs +224 -0
  212. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_conversion.rs +134 -0
  213. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_debug.rs +628 -0
  214. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_display.rs +31 -0
  215. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_downcast.rs +101 -0
  216. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_extend.rs +99 -0
  217. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_frame.rs +136 -0
  218. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_iter.rs +132 -0
  219. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_macros.rs +68 -0
  220. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_provision.rs +52 -0
  221. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_serialize.rs +70 -0
  222. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_span_trace.rs +91 -0
  223. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.rs +21 -0
  224. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.stderr +23 -0
  225. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.rs +28 -0
  226. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.stderr +13 -0
  227. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.rs +32 -0
  228. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.stderr +132 -0
  229. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.rs +32 -0
  230. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.stderr +35 -0
  231. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/must_use.rs +20 -0
  232. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/must_use.stderr +15 -0
  233. data/ext/cargo-vendor/rb-sys-0.9.130/.cargo-checksum.json +1 -0
  234. data/ext/cargo-vendor/rb-sys-0.9.130/.cargo_vcs_info.json +6 -0
  235. data/ext/cargo-vendor/rb-sys-0.9.130/Cargo.lock +385 -0
  236. data/ext/cargo-vendor/rb-sys-0.9.130/Cargo.toml +71 -0
  237. data/ext/cargo-vendor/rb-sys-0.9.130/Cargo.toml.orig +58 -0
  238. data/ext/cargo-vendor/rb-sys-0.9.130/build/main.rs +292 -0
  239. data/ext/cargo-vendor/rb-sys-0.9.130/build/stable_api_config.rs +179 -0
  240. data/ext/cargo-vendor/rb-sys-0.9.130/build/version.rs +58 -0
  241. data/ext/cargo-vendor/rb-sys-0.9.130/src/bindings.rs +22 -0
  242. data/ext/cargo-vendor/rb-sys-0.9.130/src/macros.rs +701 -0
  243. data/ext/cargo-vendor/rb-sys-0.9.130/src/memory.rs +64 -0
  244. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/compiled.c +338 -0
  245. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/compiled.rs +452 -0
  246. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_2_7.rs +770 -0
  247. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_0.rs +773 -0
  248. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_1.rs +766 -0
  249. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_2.rs +764 -0
  250. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_3.rs +777 -0
  251. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_4.rs +788 -0
  252. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_4_0.rs +784 -0
  253. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api.rs +465 -0
  254. data/ext/cargo-vendor/rb-sys-0.9.130/src/utils.rs +94 -0
  255. data/ext/cargo-vendor/rb-sys-build-0.9.130/.cargo-checksum.json +1 -0
  256. data/ext/cargo-vendor/rb-sys-build-0.9.130/.cargo_vcs_info.json +6 -0
  257. data/ext/cargo-vendor/rb-sys-build-0.9.130/Cargo.lock +286 -0
  258. data/ext/cargo-vendor/rb-sys-build-0.9.130/Cargo.toml +76 -0
  259. data/ext/cargo-vendor/rb-sys-build-0.9.130/Cargo.toml.orig +33 -0
  260. data/ext/cargo-vendor/rb-sys-build-0.9.130/src/bindings/gc_stress.rs +303 -0
  261. data/ext/cargo-vendor/rb-sys-build-0.9.130/src/bindings/stable_api.rs +297 -0
  262. data/ext/cargo-vendor/rb-sys-build-0.9.130/src/bindings.rs +292 -0
  263. data/ext/cargo-vendor/rb-sys-build-0.9.130/src/cc.rs +421 -0
  264. data/ext/cargo-vendor/rb-sys-build-0.9.130/src/rb_config.rs +1060 -0
  265. data/ext/cargo-vendor/rb-sys-build-0.9.130/tests/fixtures/rubyopt_stdout.rb +1 -0
  266. data/ext/cargo-vendor/rb-sys-build-0.9.130/tests/rubyopt.rs +17 -0
  267. data/ext/cargo-vendor/rb-sys-env-0.2.3/.cargo-checksum.json +1 -0
  268. data/ext/cargo-vendor/rb-sys-env-0.2.3/.cargo_vcs_info.json +6 -0
  269. data/ext/cargo-vendor/rb-sys-env-0.2.3/Cargo.lock +7 -0
  270. data/ext/cargo-vendor/rb-sys-env-0.2.3/Cargo.toml +33 -0
  271. data/ext/cargo-vendor/rb-sys-env-0.2.3/Cargo.toml.orig +14 -0
  272. data/ext/cargo-vendor/rb-sys-env-0.2.3/readme.md +117 -0
  273. data/ext/cargo-vendor/rb-sys-env-0.2.3/src/ruby_version.rs +165 -0
  274. data/ext/cargo-vendor/rustc-hash-2.1.3/.cargo-checksum.json +1 -0
  275. data/ext/cargo-vendor/rustc-hash-2.1.3/.cargo_vcs_info.json +6 -0
  276. data/ext/cargo-vendor/rustc-hash-2.1.3/.github/workflows/rust.yml +73 -0
  277. data/ext/cargo-vendor/rustc-hash-2.1.3/CHANGELOG.md +41 -0
  278. data/ext/cargo-vendor/rustc-hash-2.1.3/CODE_OF_CONDUCT.md +3 -0
  279. data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.lock +90 -0
  280. data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.toml +50 -0
  281. data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.toml.orig +20 -0
  282. data/ext/cargo-vendor/rustc-hash-2.1.3/LICENSE-APACHE +176 -0
  283. data/ext/cargo-vendor/rustc-hash-2.1.3/LICENSE-MIT +23 -0
  284. data/ext/cargo-vendor/rustc-hash-2.1.3/README.md +42 -0
  285. data/ext/cargo-vendor/rustc-hash-2.1.3/src/lib.rs +472 -0
  286. data/ext/cargo-vendor/rustc-hash-2.1.3/src/random_state.rs +101 -0
  287. data/ext/cargo-vendor/rustc-hash-2.1.3/src/seeded_state.rs +76 -0
  288. data/ext/cargo-vendor/serde-1.0.229/.cargo-checksum.json +1 -0
  289. data/ext/cargo-vendor/serde-1.0.229/.cargo_vcs_info.json +6 -0
  290. data/ext/cargo-vendor/serde-1.0.229/Cargo.lock +66 -0
  291. data/ext/cargo-vendor/serde-1.0.229/Cargo.toml +84 -0
  292. data/ext/cargo-vendor/serde-1.0.229/Cargo.toml.orig +62 -0
  293. data/ext/cargo-vendor/serde-1.0.229/README.md +114 -0
  294. data/ext/cargo-vendor/serde-1.0.229/build.rs +69 -0
  295. data/ext/cargo-vendor/serde-1.0.229/src/core/de/impls.rs +3173 -0
  296. data/ext/cargo-vendor/serde-1.0.229/src/core/lib.rs +121 -0
  297. data/ext/cargo-vendor/serde-1.0.229/src/lib.rs +285 -0
  298. data/ext/cargo-vendor/serde_core-1.0.229/.cargo-checksum.json +1 -0
  299. data/ext/cargo-vendor/serde_core-1.0.229/.cargo_vcs_info.json +6 -0
  300. data/ext/cargo-vendor/serde_core-1.0.229/Cargo.lock +63 -0
  301. data/ext/cargo-vendor/serde_core-1.0.229/Cargo.toml +87 -0
  302. data/ext/cargo-vendor/serde_core-1.0.229/Cargo.toml.orig +70 -0
  303. data/ext/cargo-vendor/serde_core-1.0.229/build.rs +113 -0
  304. data/ext/cargo-vendor/serde_core-1.0.229/src/de/impls.rs +3173 -0
  305. data/ext/cargo-vendor/serde_core-1.0.229/src/lib.rs +121 -0
  306. data/ext/cargo-vendor/serde_derive-1.0.229/.cargo-checksum.json +1 -0
  307. data/ext/cargo-vendor/serde_derive-1.0.229/.cargo_vcs_info.json +6 -0
  308. data/ext/cargo-vendor/serde_derive-1.0.229/Cargo.lock +88 -0
  309. data/ext/cargo-vendor/serde_derive-1.0.229/Cargo.toml +87 -0
  310. data/ext/cargo-vendor/serde_derive-1.0.229/Cargo.toml.orig +42 -0
  311. data/ext/cargo-vendor/serde_derive-1.0.229/README.md +114 -0
  312. data/ext/cargo-vendor/serde_derive-1.0.229/src/bound.rs +431 -0
  313. data/ext/cargo-vendor/serde_derive-1.0.229/src/de/enum_adjacently.rs +324 -0
  314. data/ext/cargo-vendor/serde_derive-1.0.229/src/de/enum_externally.rs +213 -0
  315. data/ext/cargo-vendor/serde_derive-1.0.229/src/de.rs +976 -0
  316. data/ext/cargo-vendor/serde_derive-1.0.229/src/internals/ast.rs +225 -0
  317. data/ext/cargo-vendor/serde_derive-1.0.229/src/internals/attr.rs +1818 -0
  318. data/ext/cargo-vendor/serde_derive-1.0.229/src/internals/ctxt.rs +67 -0
  319. data/ext/cargo-vendor/serde_derive-1.0.229/src/internals/receiver.rs +293 -0
  320. data/ext/cargo-vendor/serde_derive-1.0.229/src/lib.rs +127 -0
  321. data/ext/cargo-vendor/serde_derive-1.0.229/src/pretend.rs +188 -0
  322. data/ext/cargo-vendor/serde_derive-1.0.229/src/ser.rs +1369 -0
  323. data/ext/cargo-vendor/serde_magnus-0.11.0/.cargo-checksum.json +1 -0
  324. data/ext/cargo-vendor/serde_magnus-0.11.0/.cargo_vcs_info.json +6 -0
  325. data/ext/cargo-vendor/serde_magnus-0.11.0/Cargo.lock +385 -0
  326. data/ext/cargo-vendor/serde_magnus-0.11.0/Cargo.toml +162 -0
  327. data/ext/cargo-vendor/serde_magnus-0.11.0/Cargo.toml.orig +28 -0
  328. data/ext/cargo-vendor/serde_magnus-0.11.0/README.md +121 -0
  329. data/ext/cargo-vendor/serde_magnus-0.11.0/src/de/deserializer.rs +185 -0
  330. data/ext/cargo-vendor/syn-3.0.9/.cargo-checksum.json +1 -0
  331. data/ext/cargo-vendor/syn-3.0.9/.cargo_vcs_info.json +6 -0
  332. data/ext/cargo-vendor/syn-3.0.9/Cargo.lock +1948 -0
  333. data/ext/cargo-vendor/syn-3.0.9/Cargo.toml +268 -0
  334. data/ext/cargo-vendor/syn-3.0.9/Cargo.toml.orig +95 -0
  335. data/ext/cargo-vendor/syn-3.0.9/LICENSE-APACHE +176 -0
  336. data/ext/cargo-vendor/syn-3.0.9/README.md +297 -0
  337. data/ext/cargo-vendor/syn-3.0.9/benches/file.rs +59 -0
  338. data/ext/cargo-vendor/syn-3.0.9/benches/rust.rs +189 -0
  339. data/ext/cargo-vendor/syn-3.0.9/src/attr.rs +841 -0
  340. data/ext/cargo-vendor/syn-3.0.9/src/bigint.rs +68 -0
  341. data/ext/cargo-vendor/syn-3.0.9/src/buffer.rs +462 -0
  342. data/ext/cargo-vendor/syn-3.0.9/src/classify.rs +311 -0
  343. data/ext/cargo-vendor/syn-3.0.9/src/custom_keyword.rs +260 -0
  344. data/ext/cargo-vendor/syn-3.0.9/src/custom_punctuation.rs +305 -0
  345. data/ext/cargo-vendor/syn-3.0.9/src/data.rs +489 -0
  346. data/ext/cargo-vendor/syn-3.0.9/src/derive.rs +260 -0
  347. data/ext/cargo-vendor/syn-3.0.9/src/discouraged.rs +233 -0
  348. data/ext/cargo-vendor/syn-3.0.9/src/drops.rs +58 -0
  349. data/ext/cargo-vendor/syn-3.0.9/src/error.rs +552 -0
  350. data/ext/cargo-vendor/syn-3.0.9/src/export.rs +73 -0
  351. data/ext/cargo-vendor/syn-3.0.9/src/expr.rs +4249 -0
  352. data/ext/cargo-vendor/syn-3.0.9/src/ext.rs +180 -0
  353. data/ext/cargo-vendor/syn-3.0.9/src/file.rs +136 -0
  354. data/ext/cargo-vendor/syn-3.0.9/src/fixup.rs +773 -0
  355. data/ext/cargo-vendor/syn-3.0.9/src/gen/clone.rs +2394 -0
  356. data/ext/cargo-vendor/syn-3.0.9/src/gen/debug.rs +3399 -0
  357. data/ext/cargo-vendor/syn-3.0.9/src/gen/eq.rs +2459 -0
  358. data/ext/cargo-vendor/syn-3.0.9/src/gen/fold.rs +3934 -0
  359. data/ext/cargo-vendor/syn-3.0.9/src/gen/hash.rs +3040 -0
  360. data/ext/cargo-vendor/syn-3.0.9/src/gen/token.css +744 -0
  361. data/ext/cargo-vendor/syn-3.0.9/src/gen/visit.rs +4037 -0
  362. data/ext/cargo-vendor/syn-3.0.9/src/gen/visit_mut.rs +3824 -0
  363. data/ext/cargo-vendor/syn-3.0.9/src/generics.rs +1490 -0
  364. data/ext/cargo-vendor/syn-3.0.9/src/group.rs +294 -0
  365. data/ext/cargo-vendor/syn-3.0.9/src/ident.rs +109 -0
  366. data/ext/cargo-vendor/syn-3.0.9/src/item.rs +3923 -0
  367. data/ext/cargo-vendor/syn-3.0.9/src/lib.rs +1132 -0
  368. data/ext/cargo-vendor/syn-3.0.9/src/lifetime.rs +193 -0
  369. data/ext/cargo-vendor/syn-3.0.9/src/lit.rs +1881 -0
  370. data/ext/cargo-vendor/syn-3.0.9/src/lookahead.rs +350 -0
  371. data/ext/cargo-vendor/syn-3.0.9/src/mac.rs +225 -0
  372. data/ext/cargo-vendor/syn-3.0.9/src/macros.rs +151 -0
  373. data/ext/cargo-vendor/syn-3.0.9/src/meta.rs +427 -0
  374. data/ext/cargo-vendor/syn-3.0.9/src/op.rs +219 -0
  375. data/ext/cargo-vendor/syn-3.0.9/src/parse.rs +1420 -0
  376. data/ext/cargo-vendor/syn-3.0.9/src/parse_macro_input.rs +128 -0
  377. data/ext/cargo-vendor/syn-3.0.9/src/parse_quote.rs +261 -0
  378. data/ext/cargo-vendor/syn-3.0.9/src/pat.rs +994 -0
  379. data/ext/cargo-vendor/syn-3.0.9/src/path.rs +972 -0
  380. data/ext/cargo-vendor/syn-3.0.9/src/precedence.rs +210 -0
  381. data/ext/cargo-vendor/syn-3.0.9/src/print.rs +16 -0
  382. data/ext/cargo-vendor/syn-3.0.9/src/punctuated.rs +1200 -0
  383. data/ext/cargo-vendor/syn-3.0.9/src/restriction.rs +160 -0
  384. data/ext/cargo-vendor/syn-3.0.9/src/scan_expr.rs +270 -0
  385. data/ext/cargo-vendor/syn-3.0.9/src/sealed.rs +4 -0
  386. data/ext/cargo-vendor/syn-3.0.9/src/span.rs +63 -0
  387. data/ext/cargo-vendor/syn-3.0.9/src/spanned.rs +118 -0
  388. data/ext/cargo-vendor/syn-3.0.9/src/stmt.rs +536 -0
  389. data/ext/cargo-vendor/syn-3.0.9/src/thread.rs +60 -0
  390. data/ext/cargo-vendor/syn-3.0.9/src/token.rs +1103 -0
  391. data/ext/cargo-vendor/syn-3.0.9/src/tt.rs +97 -0
  392. data/ext/cargo-vendor/syn-3.0.9/src/ty.rs +1347 -0
  393. data/ext/cargo-vendor/syn-3.0.9/src/verbatim.rs +32 -0
  394. data/ext/cargo-vendor/syn-3.0.9/src/whitespace.rs +65 -0
  395. data/ext/cargo-vendor/syn-3.0.9/tests/common/eq.rs +939 -0
  396. data/ext/cargo-vendor/syn-3.0.9/tests/common/mod.rs +6 -0
  397. data/ext/cargo-vendor/syn-3.0.9/tests/common/parse.rs +51 -0
  398. data/ext/cargo-vendor/syn-3.0.9/tests/common/visit.rs +119 -0
  399. data/ext/cargo-vendor/syn-3.0.9/tests/debug/gen.rs +5394 -0
  400. data/ext/cargo-vendor/syn-3.0.9/tests/debug/mod.rs +147 -0
  401. data/ext/cargo-vendor/syn-3.0.9/tests/macros/mod.rs +7 -0
  402. data/ext/cargo-vendor/syn-3.0.9/tests/regression/issue1108.rs +5 -0
  403. data/ext/cargo-vendor/syn-3.0.9/tests/regression/issue1235.rs +32 -0
  404. data/ext/cargo-vendor/syn-3.0.9/tests/regression.rs +5 -0
  405. data/ext/cargo-vendor/syn-3.0.9/tests/repo/mod.rs +789 -0
  406. data/ext/cargo-vendor/syn-3.0.9/tests/repo/progress.rs +37 -0
  407. data/ext/cargo-vendor/syn-3.0.9/tests/snapshot/mod.rs +68 -0
  408. data/ext/cargo-vendor/syn-3.0.9/tests/test_attribute.rs +231 -0
  409. data/ext/cargo-vendor/syn-3.0.9/tests/test_derive_input.rs +801 -0
  410. data/ext/cargo-vendor/syn-3.0.9/tests/test_expr.rs +1721 -0
  411. data/ext/cargo-vendor/syn-3.0.9/tests/test_generics.rs +363 -0
  412. data/ext/cargo-vendor/syn-3.0.9/tests/test_grouping.rs +59 -0
  413. data/ext/cargo-vendor/syn-3.0.9/tests/test_ident.rs +87 -0
  414. data/ext/cargo-vendor/syn-3.0.9/tests/test_item.rs +374 -0
  415. data/ext/cargo-vendor/syn-3.0.9/tests/test_lit.rs +335 -0
  416. data/ext/cargo-vendor/syn-3.0.9/tests/test_meta.rs +180 -0
  417. data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_buffer.rs +104 -0
  418. data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_quote.rs +175 -0
  419. data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_stream.rs +187 -0
  420. data/ext/cargo-vendor/syn-3.0.9/tests/test_pat.rs +158 -0
  421. data/ext/cargo-vendor/syn-3.0.9/tests/test_path.rs +117 -0
  422. data/ext/cargo-vendor/syn-3.0.9/tests/test_precedence.rs +560 -0
  423. data/ext/cargo-vendor/syn-3.0.9/tests/test_punctuated.rs +92 -0
  424. data/ext/cargo-vendor/syn-3.0.9/tests/test_receiver.rs +275 -0
  425. data/ext/cargo-vendor/syn-3.0.9/tests/test_round_trip.rs +226 -0
  426. data/ext/cargo-vendor/syn-3.0.9/tests/test_shebang.rs +77 -0
  427. data/ext/cargo-vendor/syn-3.0.9/tests/test_size.rs +54 -0
  428. data/ext/cargo-vendor/syn-3.0.9/tests/test_stmt.rs +378 -0
  429. data/ext/cargo-vendor/syn-3.0.9/tests/test_token_trees.rs +38 -0
  430. data/ext/cargo-vendor/syn-3.0.9/tests/test_ty.rs +479 -0
  431. data/ext/cargo-vendor/syn-3.0.9/tests/test_unparenthesize.rs +71 -0
  432. data/ext/cargo-vendor/syn-3.0.9/tests/test_visibility.rs +193 -0
  433. data/ext/cargo-vendor/syn-3.0.9/tests/zzz_stable.rs +33 -0
  434. data/ext/code_ownership/Cargo.toml +2 -2
  435. data/ext/code_ownership/src/lib.rs +15 -3
  436. data/lib/code_ownership/version.rb +1 -1
  437. data/lib/code_ownership.rb +4 -1
  438. metadata +739 -723
  439. data/ext/cargo-vendor/ahash-0.7.8/.cargo-checksum.json +0 -1
  440. data/ext/cargo-vendor/ahash-0.7.8/.cargo_vcs_info.json +0 -6
  441. data/ext/cargo-vendor/ahash-0.7.8/.github/workflows/rust.yml +0 -151
  442. data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml +0 -149
  443. data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml.orig +0 -96
  444. data/ext/cargo-vendor/ahash-0.7.8/FAQ.md +0 -118
  445. data/ext/cargo-vendor/ahash-0.7.8/LICENSE-APACHE +0 -201
  446. data/ext/cargo-vendor/ahash-0.7.8/LICENSE-MIT +0 -25
  447. data/ext/cargo-vendor/ahash-0.7.8/README.md +0 -110
  448. data/ext/cargo-vendor/ahash-0.7.8/build.rs +0 -47
  449. data/ext/cargo-vendor/ahash-0.7.8/rustfmt.toml +0 -1
  450. data/ext/cargo-vendor/ahash-0.7.8/src/aes_hash.rs +0 -440
  451. data/ext/cargo-vendor/ahash-0.7.8/src/convert.rs +0 -167
  452. data/ext/cargo-vendor/ahash-0.7.8/src/fallback_hash.rs +0 -392
  453. data/ext/cargo-vendor/ahash-0.7.8/src/hash_map.rs +0 -371
  454. data/ext/cargo-vendor/ahash-0.7.8/src/hash_quality_test.rs +0 -517
  455. data/ext/cargo-vendor/ahash-0.7.8/src/hash_set.rs +0 -313
  456. data/ext/cargo-vendor/ahash-0.7.8/src/lib.rs +0 -263
  457. data/ext/cargo-vendor/ahash-0.7.8/src/operations.rs +0 -330
  458. data/ext/cargo-vendor/ahash-0.7.8/src/random_state.rs +0 -363
  459. data/ext/cargo-vendor/ahash-0.7.8/src/specialize.rs +0 -239
  460. data/ext/cargo-vendor/ahash-0.7.8/tests/bench.rs +0 -154
  461. data/ext/cargo-vendor/ahash-0.7.8/tests/map_tests.rs +0 -203
  462. data/ext/cargo-vendor/ahash-0.7.8/tests/nopanic.rs +0 -72
  463. data/ext/cargo-vendor/bindgen-0.69.5/.cargo-checksum.json +0 -1
  464. data/ext/cargo-vendor/bindgen-0.69.5/.cargo_vcs_info.json +0 -6
  465. data/ext/cargo-vendor/bindgen-0.69.5/Cargo.toml +0 -155
  466. data/ext/cargo-vendor/bindgen-0.69.5/Cargo.toml.orig +0 -74
  467. data/ext/cargo-vendor/bindgen-0.69.5/README.md +0 -89
  468. data/ext/cargo-vendor/bindgen-0.69.5/build.rs +0 -29
  469. data/ext/cargo-vendor/bindgen-0.69.5/callbacks.rs +0 -213
  470. data/ext/cargo-vendor/bindgen-0.69.5/clang.rs +0 -2347
  471. data/ext/cargo-vendor/bindgen-0.69.5/codegen/bitfield_unit.rs +0 -102
  472. data/ext/cargo-vendor/bindgen-0.69.5/codegen/bitfield_unit_tests.rs +0 -260
  473. data/ext/cargo-vendor/bindgen-0.69.5/codegen/dyngen.rs +0 -201
  474. data/ext/cargo-vendor/bindgen-0.69.5/codegen/error.rs +0 -53
  475. data/ext/cargo-vendor/bindgen-0.69.5/codegen/helpers.rs +0 -355
  476. data/ext/cargo-vendor/bindgen-0.69.5/codegen/impl_debug.rs +0 -245
  477. data/ext/cargo-vendor/bindgen-0.69.5/codegen/impl_partialeq.rs +0 -142
  478. data/ext/cargo-vendor/bindgen-0.69.5/codegen/mod.rs +0 -5473
  479. data/ext/cargo-vendor/bindgen-0.69.5/codegen/postprocessing/merge_extern_blocks.rs +0 -72
  480. data/ext/cargo-vendor/bindgen-0.69.5/codegen/postprocessing/sort_semantically.rs +0 -46
  481. data/ext/cargo-vendor/bindgen-0.69.5/codegen/serialize.rs +0 -444
  482. data/ext/cargo-vendor/bindgen-0.69.5/codegen/struct_layout.rs +0 -451
  483. data/ext/cargo-vendor/bindgen-0.69.5/deps.rs +0 -61
  484. data/ext/cargo-vendor/bindgen-0.69.5/diagnostics.rs +0 -189
  485. data/ext/cargo-vendor/bindgen-0.69.5/extra_assertions.rs +0 -17
  486. data/ext/cargo-vendor/bindgen-0.69.5/features.rs +0 -296
  487. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/derive.rs +0 -732
  488. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/has_destructor.rs +0 -176
  489. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/has_float.rs +0 -252
  490. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/has_type_param_in_array.rs +0 -252
  491. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/has_vtable.rs +0 -240
  492. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/mod.rs +0 -400
  493. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/sizedness.rs +0 -361
  494. data/ext/cargo-vendor/bindgen-0.69.5/ir/analysis/template_params.rs +0 -607
  495. data/ext/cargo-vendor/bindgen-0.69.5/ir/annotations.rs +0 -256
  496. data/ext/cargo-vendor/bindgen-0.69.5/ir/comment.rs +0 -100
  497. data/ext/cargo-vendor/bindgen-0.69.5/ir/comp.rs +0 -1896
  498. data/ext/cargo-vendor/bindgen-0.69.5/ir/context.rs +0 -3038
  499. data/ext/cargo-vendor/bindgen-0.69.5/ir/derive.rs +0 -135
  500. data/ext/cargo-vendor/bindgen-0.69.5/ir/dot.rs +0 -86
  501. data/ext/cargo-vendor/bindgen-0.69.5/ir/enum_ty.rs +0 -323
  502. data/ext/cargo-vendor/bindgen-0.69.5/ir/function.rs +0 -839
  503. data/ext/cargo-vendor/bindgen-0.69.5/ir/int.rs +0 -127
  504. data/ext/cargo-vendor/bindgen-0.69.5/ir/item.rs +0 -2034
  505. data/ext/cargo-vendor/bindgen-0.69.5/ir/item_kind.rs +0 -135
  506. data/ext/cargo-vendor/bindgen-0.69.5/ir/layout.rs +0 -138
  507. data/ext/cargo-vendor/bindgen-0.69.5/ir/module.rs +0 -96
  508. data/ext/cargo-vendor/bindgen-0.69.5/ir/objc.rs +0 -354
  509. data/ext/cargo-vendor/bindgen-0.69.5/ir/template.rs +0 -342
  510. data/ext/cargo-vendor/bindgen-0.69.5/ir/traversal.rs +0 -479
  511. data/ext/cargo-vendor/bindgen-0.69.5/ir/ty.rs +0 -1281
  512. data/ext/cargo-vendor/bindgen-0.69.5/ir/var.rs +0 -488
  513. data/ext/cargo-vendor/bindgen-0.69.5/lib.rs +0 -1380
  514. data/ext/cargo-vendor/bindgen-0.69.5/log_stubs.rs +0 -32
  515. data/ext/cargo-vendor/bindgen-0.69.5/options/as_args.rs +0 -52
  516. data/ext/cargo-vendor/bindgen-0.69.5/options/mod.rs +0 -2079
  517. data/ext/cargo-vendor/bindgen-0.69.5/regex_set.rs +0 -204
  518. data/ext/cargo-vendor/bindgen-0.69.5/time.rs +0 -52
  519. data/ext/cargo-vendor/codeowners-0.3.3/.cargo-checksum.json +0 -1
  520. data/ext/cargo-vendor/codeowners-0.3.3/.github/workflows/audit.yml +0 -19
  521. data/ext/cargo-vendor/codeowners-0.3.3/.github/workflows/ci.yml +0 -169
  522. data/ext/cargo-vendor/codeowners-0.3.3/Cargo.lock +0 -1264
  523. data/ext/cargo-vendor/codeowners-0.3.3/Cargo.toml +0 -132
  524. data/ext/cargo-vendor/codeowners-0.3.3/rust-toolchain.toml +0 -4
  525. data/ext/cargo-vendor/codeowners-0.3.3/src/cache/file.rs +0 -179
  526. data/ext/cargo-vendor/codeowners-0.3.3/src/cache/mod.rs +0 -29
  527. data/ext/cargo-vendor/codeowners-0.3.3/src/cache/noop.rs +0 -26
  528. data/ext/cargo-vendor/codeowners-0.3.3/src/cli.rs +0 -138
  529. data/ext/cargo-vendor/codeowners-0.3.3/src/main.rs +0 -43
  530. data/ext/cargo-vendor/codeowners-0.3.3/src/ownership/file_owner_resolver.rs +0 -416
  531. data/ext/cargo-vendor/codeowners-0.3.3/src/ownership/validator.rs +0 -285
  532. data/ext/cargo-vendor/codeowners-0.3.3/src/ownership.rs +0 -224
  533. data/ext/cargo-vendor/codeowners-0.3.3/src/project.rs +0 -232
  534. data/ext/cargo-vendor/codeowners-0.3.3/src/project_builder.rs +0 -404
  535. data/ext/cargo-vendor/codeowners-0.3.3/src/project_file_builder.rs +0 -113
  536. data/ext/cargo-vendor/codeowners-0.3.3/src/runner/api.rs +0 -142
  537. data/ext/cargo-vendor/codeowners-0.3.3/src/runner/types.rs +0 -38
  538. data/ext/cargo-vendor/codeowners-0.3.3/src/runner.rs +0 -483
  539. data/ext/cargo-vendor/codeowners-0.3.3/tests/common/mod.rs +0 -180
  540. data/ext/cargo-vendor/codeowners-0.3.3/tests/executable_name_config_test.rs +0 -88
  541. data/ext/cargo-vendor/codeowners-0.3.3/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +0 -14
  542. data/ext/cargo-vendor/codeowners-0.3.3/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +0 -14
  543. data/ext/cargo-vendor/codeowners-0.3.3/tests/fixtures/valid_project/.github/CODEOWNERS +0 -41
  544. data/ext/cargo-vendor/codeowners-0.3.3/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +0 -53
  545. data/ext/cargo-vendor/codeowners-0.3.3/tests/invalid_project_test.rs +0 -174
  546. data/ext/cargo-vendor/codeowners-0.3.3/tests/valid_project_test.rs +0 -348
  547. data/ext/cargo-vendor/error-stack-0.5.0/.cargo-checksum.json +0 -1
  548. data/ext/cargo-vendor/error-stack-0.5.0/.cargo_vcs_info.json +0 -6
  549. data/ext/cargo-vendor/error-stack-0.5.0/.justfile +0 -58
  550. data/ext/cargo-vendor/error-stack-0.5.0/CHANGELOG.md +0 -109
  551. data/ext/cargo-vendor/error-stack-0.5.0/Cargo.lock +0 -790
  552. data/ext/cargo-vendor/error-stack-0.5.0/Cargo.toml +0 -334
  553. data/ext/cargo-vendor/error-stack-0.5.0/Cargo.toml.orig +0 -87
  554. data/ext/cargo-vendor/error-stack-0.5.0/README.md +0 -151
  555. data/ext/cargo-vendor/error-stack-0.5.0/build.rs +0 -29
  556. data/ext/cargo-vendor/error-stack-0.5.0/examples/demo.rs +0 -115
  557. data/ext/cargo-vendor/error-stack-0.5.0/examples/detect.rs +0 -68
  558. data/ext/cargo-vendor/error-stack-0.5.0/examples/exit_code.rs +0 -24
  559. data/ext/cargo-vendor/error-stack-0.5.0/examples/parse_config.rs +0 -51
  560. data/ext/cargo-vendor/error-stack-0.5.0/rust-toolchain.toml +0 -4
  561. data/ext/cargo-vendor/error-stack-0.5.0/src/compat/anyhow.rs +0 -34
  562. data/ext/cargo-vendor/error-stack-0.5.0/src/compat/eyre.rs +0 -31
  563. data/ext/cargo-vendor/error-stack-0.5.0/src/compat/mod.rs +0 -36
  564. data/ext/cargo-vendor/error-stack-0.5.0/src/context.rs +0 -132
  565. data/ext/cargo-vendor/error-stack-0.5.0/src/error.rs +0 -47
  566. data/ext/cargo-vendor/error-stack-0.5.0/src/fmt/charset.rs +0 -114
  567. data/ext/cargo-vendor/error-stack-0.5.0/src/fmt/color.rs +0 -330
  568. data/ext/cargo-vendor/error-stack-0.5.0/src/fmt/config.rs +0 -67
  569. data/ext/cargo-vendor/error-stack-0.5.0/src/fmt/hook.rs +0 -545
  570. data/ext/cargo-vendor/error-stack-0.5.0/src/fmt/location.rs +0 -33
  571. data/ext/cargo-vendor/error-stack-0.5.0/src/fmt/mod.rs +0 -1177
  572. data/ext/cargo-vendor/error-stack-0.5.0/src/frame/frame_impl.rs +0 -262
  573. data/ext/cargo-vendor/error-stack-0.5.0/src/frame/kind.rs +0 -37
  574. data/ext/cargo-vendor/error-stack-0.5.0/src/frame/mod.rs +0 -122
  575. data/ext/cargo-vendor/error-stack-0.5.0/src/future.rs +0 -307
  576. data/ext/cargo-vendor/error-stack-0.5.0/src/hook/context.rs +0 -365
  577. data/ext/cargo-vendor/error-stack-0.5.0/src/hook/mod.rs +0 -239
  578. data/ext/cargo-vendor/error-stack-0.5.0/src/iter.rs +0 -269
  579. data/ext/cargo-vendor/error-stack-0.5.0/src/lib.rs +0 -545
  580. data/ext/cargo-vendor/error-stack-0.5.0/src/macros.rs +0 -253
  581. data/ext/cargo-vendor/error-stack-0.5.0/src/report.rs +0 -740
  582. data/ext/cargo-vendor/error-stack-0.5.0/src/result.rs +0 -267
  583. data/ext/cargo-vendor/error-stack-0.5.0/src/serde.rs +0 -154
  584. data/ext/cargo-vendor/error-stack-0.5.0/tests/common.rs +0 -342
  585. data/ext/cargo-vendor/error-stack-0.5.0/tests/compiletest.rs +0 -7
  586. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__charset_ascii.snap +0 -9
  587. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__charset_utf8.snap +0 -9
  588. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__diagnostics_add.snap +0 -10
  589. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__doc.snap +0 -12
  590. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__emit.snap +0 -16
  591. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__emit_alt.snap +0 -28
  592. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__hookcontext_cast.snap +0 -11
  593. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__hookcontext_decrement.snap +0 -10
  594. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__hookcontext_emit.snap +0 -16
  595. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__hookcontext_increment.snap +0 -10
  596. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__hookcontext_storage.snap +0 -10
  597. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__preference_color.snap +0 -9
  598. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__preference_emphasis.snap +0 -9
  599. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt__preference_none.snap +0 -9
  600. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/fmt_doc_alt.snap +0 -15
  601. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/hook__debug_hook.snap +0 -9
  602. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/hook__debug_hook_provide.snap +0 -10
  603. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/lib__suggestion.snap +0 -13
  604. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/doc/report_debug__doc.snap +0 -14
  605. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__complex.snap +0 -49
  606. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__hook_location.snap +0 -15
  607. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__linear.snap +0 -27
  608. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__linear_ext.snap +0 -27
  609. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__multiline_context.snap +0 -25
  610. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__sources.snap +0 -48
  611. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__full__sources_transparent.snap +0 -50
  612. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested.snap +0 -78
  613. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@backtrace.snap +0 -104
  614. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@spantrace-backtrace.snap +0 -128
  615. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@spantrace.snap +0 -104
  616. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate.snap +0 -78
  617. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@backtrace.snap +0 -104
  618. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@spantrace-backtrace.snap +0 -128
  619. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@spantrace.snap +0 -104
  620. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_serialize__attachment.snap +0 -13
  621. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_serialize__context.snap +0 -19
  622. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_serialize__multiple_sources.snap +0 -30
  623. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_serialize__multiple_sources_at_root.snap +0 -20
  624. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_attach.rs +0 -68
  625. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_attach_printable.rs +0 -74
  626. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_backtrace.rs +0 -62
  627. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_change_context.rs +0 -68
  628. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_compatibility.rs +0 -233
  629. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_conversion.rs +0 -112
  630. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_debug.rs +0 -628
  631. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_display.rs +0 -32
  632. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_downcast.rs +0 -41
  633. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_extend.rs +0 -78
  634. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_frame.rs +0 -126
  635. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_iter.rs +0 -99
  636. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_macros.rs +0 -94
  637. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_provision.rs +0 -51
  638. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_serialize.rs +0 -70
  639. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_span_trace.rs +0 -92
  640. data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.rs +0 -60
  641. data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.stderr +0 -101
  642. data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/must_use.rs +0 -20
  643. data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/must_use.stderr +0 -15
  644. data/ext/cargo-vendor/getrandom-0.2.16/.cargo-checksum.json +0 -1
  645. data/ext/cargo-vendor/getrandom-0.2.16/.cargo_vcs_info.json +0 -6
  646. data/ext/cargo-vendor/getrandom-0.2.16/CHANGELOG.md +0 -498
  647. data/ext/cargo-vendor/getrandom-0.2.16/Cargo.lock +0 -354
  648. data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml +0 -121
  649. data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml.orig +0 -67
  650. data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-APACHE +0 -201
  651. data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-MIT +0 -26
  652. data/ext/cargo-vendor/getrandom-0.2.16/README.md +0 -81
  653. data/ext/cargo-vendor/getrandom-0.2.16/SECURITY.md +0 -13
  654. data/ext/cargo-vendor/getrandom-0.2.16/benches/buffer.rs +0 -71
  655. data/ext/cargo-vendor/getrandom-0.2.16/src/apple-other.rs +0 -24
  656. data/ext/cargo-vendor/getrandom-0.2.16/src/custom.rs +0 -105
  657. data/ext/cargo-vendor/getrandom-0.2.16/src/error.rs +0 -189
  658. data/ext/cargo-vendor/getrandom-0.2.16/src/error_impls.rs +0 -15
  659. data/ext/cargo-vendor/getrandom-0.2.16/src/espidf.rs +0 -18
  660. data/ext/cargo-vendor/getrandom-0.2.16/src/fuchsia.rs +0 -13
  661. data/ext/cargo-vendor/getrandom-0.2.16/src/getentropy.rs +0 -21
  662. data/ext/cargo-vendor/getrandom-0.2.16/src/getrandom.rs +0 -25
  663. data/ext/cargo-vendor/getrandom-0.2.16/src/hermit.rs +0 -29
  664. data/ext/cargo-vendor/getrandom-0.2.16/src/js.rs +0 -155
  665. data/ext/cargo-vendor/getrandom-0.2.16/src/lazy.rs +0 -56
  666. data/ext/cargo-vendor/getrandom-0.2.16/src/lib.rs +0 -407
  667. data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android.rs +0 -7
  668. data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android_with_fallback.rs +0 -33
  669. data/ext/cargo-vendor/getrandom-0.2.16/src/netbsd.rs +0 -46
  670. data/ext/cargo-vendor/getrandom-0.2.16/src/rdrand.rs +0 -121
  671. data/ext/cargo-vendor/getrandom-0.2.16/src/solaris.rs +0 -34
  672. data/ext/cargo-vendor/getrandom-0.2.16/src/solid.rs +0 -18
  673. data/ext/cargo-vendor/getrandom-0.2.16/src/use_file.rs +0 -120
  674. data/ext/cargo-vendor/getrandom-0.2.16/src/util.rs +0 -35
  675. data/ext/cargo-vendor/getrandom-0.2.16/src/util_libc.rs +0 -162
  676. data/ext/cargo-vendor/getrandom-0.2.16/src/vxworks.rs +0 -29
  677. data/ext/cargo-vendor/getrandom-0.2.16/src/wasi.rs +0 -17
  678. data/ext/cargo-vendor/getrandom-0.2.16/src/windows.rs +0 -59
  679. data/ext/cargo-vendor/getrandom-0.2.16/tests/common/mod.rs +0 -100
  680. data/ext/cargo-vendor/getrandom-0.2.16/tests/custom.rs +0 -54
  681. data/ext/cargo-vendor/getrandom-0.2.16/tests/normal.rs +0 -11
  682. data/ext/cargo-vendor/getrandom-0.2.16/tests/rdrand.rs +0 -22
  683. data/ext/cargo-vendor/hashbrown-0.12.3/.cargo-checksum.json +0 -1
  684. data/ext/cargo-vendor/hashbrown-0.12.3/.cargo_vcs_info.json +0 -6
  685. data/ext/cargo-vendor/hashbrown-0.12.3/CHANGELOG.md +0 -402
  686. data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml +0 -113
  687. data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml.orig +0 -60
  688. data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-APACHE +0 -201
  689. data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-MIT +0 -25
  690. data/ext/cargo-vendor/hashbrown-0.12.3/README.md +0 -126
  691. data/ext/cargo-vendor/hashbrown-0.12.3/benches/bench.rs +0 -331
  692. data/ext/cargo-vendor/hashbrown-0.12.3/benches/insert_unique_unchecked.rs +0 -32
  693. data/ext/cargo-vendor/hashbrown-0.12.3/clippy.toml +0 -1
  694. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/mod.rs +0 -4
  695. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/helpers.rs +0 -27
  696. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/map.rs +0 -734
  697. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/mod.rs +0 -4
  698. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/raw.rs +0 -231
  699. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/set.rs +0 -659
  700. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/serde.rs +0 -201
  701. data/ext/cargo-vendor/hashbrown-0.12.3/src/lib.rs +0 -150
  702. data/ext/cargo-vendor/hashbrown-0.12.3/src/macros.rs +0 -70
  703. data/ext/cargo-vendor/hashbrown-0.12.3/src/map.rs +0 -8408
  704. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/alloc.rs +0 -73
  705. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/bitmask.rs +0 -122
  706. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/generic.rs +0 -154
  707. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/mod.rs +0 -2460
  708. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/sse2.rs +0 -146
  709. data/ext/cargo-vendor/hashbrown-0.12.3/src/rustc_entry.rs +0 -630
  710. data/ext/cargo-vendor/hashbrown-0.12.3/src/scopeguard.rs +0 -74
  711. data/ext/cargo-vendor/hashbrown-0.12.3/src/set.rs +0 -2790
  712. data/ext/cargo-vendor/hashbrown-0.12.3/tests/hasher.rs +0 -65
  713. data/ext/cargo-vendor/hashbrown-0.12.3/tests/rayon.rs +0 -533
  714. data/ext/cargo-vendor/hashbrown-0.12.3/tests/serde.rs +0 -65
  715. data/ext/cargo-vendor/hashbrown-0.12.3/tests/set.rs +0 -34
  716. data/ext/cargo-vendor/lazycell-1.3.0/.cargo-checksum.json +0 -1
  717. data/ext/cargo-vendor/lazycell-1.3.0/.cargo_vcs_info.json +0 -5
  718. data/ext/cargo-vendor/lazycell-1.3.0/CHANGELOG.md +0 -197
  719. data/ext/cargo-vendor/lazycell-1.3.0/Cargo.toml +0 -34
  720. data/ext/cargo-vendor/lazycell-1.3.0/Cargo.toml.orig +0 -27
  721. data/ext/cargo-vendor/lazycell-1.3.0/LICENSE-APACHE +0 -201
  722. data/ext/cargo-vendor/lazycell-1.3.0/LICENSE-MIT +0 -26
  723. data/ext/cargo-vendor/lazycell-1.3.0/README.md +0 -73
  724. data/ext/cargo-vendor/lazycell-1.3.0/src/lib.rs +0 -680
  725. data/ext/cargo-vendor/lazycell-1.3.0/src/serde_impl.rs +0 -86
  726. data/ext/cargo-vendor/lru-0.7.8/.cargo-checksum.json +0 -1
  727. data/ext/cargo-vendor/lru-0.7.8/.cargo_vcs_info.json +0 -6
  728. data/ext/cargo-vendor/lru-0.7.8/.github/workflows/main.yml +0 -54
  729. data/ext/cargo-vendor/lru-0.7.8/CHANGELOG.md +0 -194
  730. data/ext/cargo-vendor/lru-0.7.8/Cargo.toml +0 -42
  731. data/ext/cargo-vendor/lru-0.7.8/Cargo.toml.orig +0 -22
  732. data/ext/cargo-vendor/lru-0.7.8/LICENSE +0 -21
  733. data/ext/cargo-vendor/lru-0.7.8/README.md +0 -62
  734. data/ext/cargo-vendor/lru-0.7.8/src/lib.rs +0 -1872
  735. data/ext/cargo-vendor/rb-sys-0.9.117/.cargo-checksum.json +0 -1
  736. data/ext/cargo-vendor/rb-sys-0.9.117/.cargo_vcs_info.json +0 -6
  737. data/ext/cargo-vendor/rb-sys-0.9.117/Cargo.lock +0 -393
  738. data/ext/cargo-vendor/rb-sys-0.9.117/Cargo.toml +0 -70
  739. data/ext/cargo-vendor/rb-sys-0.9.117/Cargo.toml.orig +0 -57
  740. data/ext/cargo-vendor/rb-sys-0.9.117/build/main.rs +0 -286
  741. data/ext/cargo-vendor/rb-sys-0.9.117/build/stable_api_config.rs +0 -155
  742. data/ext/cargo-vendor/rb-sys-0.9.117/build/version.rs +0 -50
  743. data/ext/cargo-vendor/rb-sys-0.9.117/src/bindings.rs +0 -21
  744. data/ext/cargo-vendor/rb-sys-0.9.117/src/macros.rs +0 -371
  745. data/ext/cargo-vendor/rb-sys-0.9.117/src/memory.rs +0 -53
  746. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/compiled.c +0 -179
  747. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/compiled.rs +0 -257
  748. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_2_6.rs +0 -324
  749. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_2_7.rs +0 -324
  750. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_0.rs +0 -332
  751. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_1.rs +0 -325
  752. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_2.rs +0 -323
  753. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_3.rs +0 -339
  754. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_4.rs +0 -339
  755. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api.rs +0 -261
  756. data/ext/cargo-vendor/rb-sys-0.9.117/src/utils.rs +0 -89
  757. data/ext/cargo-vendor/rb-sys-build-0.9.117/.cargo-checksum.json +0 -1
  758. data/ext/cargo-vendor/rb-sys-build-0.9.117/.cargo_vcs_info.json +0 -6
  759. data/ext/cargo-vendor/rb-sys-build-0.9.117/Cargo.lock +0 -294
  760. data/ext/cargo-vendor/rb-sys-build-0.9.117/Cargo.toml +0 -71
  761. data/ext/cargo-vendor/rb-sys-build-0.9.117/Cargo.toml.orig +0 -32
  762. data/ext/cargo-vendor/rb-sys-build-0.9.117/src/bindings/stable_api.rs +0 -206
  763. data/ext/cargo-vendor/rb-sys-build-0.9.117/src/bindings.rs +0 -286
  764. data/ext/cargo-vendor/rb-sys-build-0.9.117/src/cc.rs +0 -421
  765. data/ext/cargo-vendor/rb-sys-build-0.9.117/src/rb_config.rs +0 -863
  766. data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo-checksum.json +0 -1
  767. data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo_vcs_info.json +0 -6
  768. data/ext/cargo-vendor/rb-sys-env-0.2.2/Cargo.toml +0 -33
  769. data/ext/cargo-vendor/rb-sys-env-0.2.2/Cargo.toml.orig +0 -14
  770. data/ext/cargo-vendor/rb-sys-env-0.2.2/readme.md +0 -119
  771. data/ext/cargo-vendor/rb-sys-env-0.2.2/src/ruby_version.rs +0 -163
  772. data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo-checksum.json +0 -1
  773. data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo_vcs_info.json +0 -5
  774. data/ext/cargo-vendor/rustc-hash-1.1.0/CODE_OF_CONDUCT.md +0 -40
  775. data/ext/cargo-vendor/rustc-hash-1.1.0/Cargo.toml +0 -25
  776. data/ext/cargo-vendor/rustc-hash-1.1.0/Cargo.toml.orig +0 -13
  777. data/ext/cargo-vendor/rustc-hash-1.1.0/LICENSE-APACHE +0 -201
  778. data/ext/cargo-vendor/rustc-hash-1.1.0/README.md +0 -38
  779. data/ext/cargo-vendor/rustc-hash-1.1.0/src/lib.rs +0 -148
  780. data/ext/cargo-vendor/serde-1.0.228/.cargo-checksum.json +0 -1
  781. data/ext/cargo-vendor/serde-1.0.228/.cargo_vcs_info.json +0 -6
  782. data/ext/cargo-vendor/serde-1.0.228/Cargo.lock +0 -66
  783. data/ext/cargo-vendor/serde-1.0.228/Cargo.toml +0 -84
  784. data/ext/cargo-vendor/serde-1.0.228/Cargo.toml.orig +0 -62
  785. data/ext/cargo-vendor/serde-1.0.228/README.md +0 -114
  786. data/ext/cargo-vendor/serde-1.0.228/build.rs +0 -69
  787. data/ext/cargo-vendor/serde-1.0.228/src/core/de/impls.rs +0 -3173
  788. data/ext/cargo-vendor/serde-1.0.228/src/core/lib.rs +0 -121
  789. data/ext/cargo-vendor/serde-1.0.228/src/lib.rs +0 -285
  790. data/ext/cargo-vendor/serde_core-1.0.228/.cargo-checksum.json +0 -1
  791. data/ext/cargo-vendor/serde_core-1.0.228/.cargo_vcs_info.json +0 -6
  792. data/ext/cargo-vendor/serde_core-1.0.228/Cargo.lock +0 -63
  793. data/ext/cargo-vendor/serde_core-1.0.228/Cargo.toml +0 -87
  794. data/ext/cargo-vendor/serde_core-1.0.228/Cargo.toml.orig +0 -70
  795. data/ext/cargo-vendor/serde_core-1.0.228/build.rs +0 -113
  796. data/ext/cargo-vendor/serde_core-1.0.228/src/de/impls.rs +0 -3173
  797. data/ext/cargo-vendor/serde_core-1.0.228/src/lib.rs +0 -121
  798. data/ext/cargo-vendor/serde_derive-1.0.228/.cargo-checksum.json +0 -1
  799. data/ext/cargo-vendor/serde_derive-1.0.228/.cargo_vcs_info.json +0 -6
  800. data/ext/cargo-vendor/serde_derive-1.0.228/Cargo.lock +0 -77
  801. data/ext/cargo-vendor/serde_derive-1.0.228/Cargo.toml +0 -87
  802. data/ext/cargo-vendor/serde_derive-1.0.228/Cargo.toml.orig +0 -42
  803. data/ext/cargo-vendor/serde_derive-1.0.228/README.md +0 -114
  804. data/ext/cargo-vendor/serde_derive-1.0.228/src/bound.rs +0 -410
  805. data/ext/cargo-vendor/serde_derive-1.0.228/src/de/enum_adjacently.rs +0 -323
  806. data/ext/cargo-vendor/serde_derive-1.0.228/src/de/enum_externally.rs +0 -212
  807. data/ext/cargo-vendor/serde_derive-1.0.228/src/de.rs +0 -973
  808. data/ext/cargo-vendor/serde_derive-1.0.228/src/internals/ast.rs +0 -218
  809. data/ext/cargo-vendor/serde_derive-1.0.228/src/internals/attr.rs +0 -1831
  810. data/ext/cargo-vendor/serde_derive-1.0.228/src/internals/ctxt.rs +0 -68
  811. data/ext/cargo-vendor/serde_derive-1.0.228/src/internals/receiver.rs +0 -293
  812. data/ext/cargo-vendor/serde_derive-1.0.228/src/lib.rs +0 -127
  813. data/ext/cargo-vendor/serde_derive-1.0.228/src/pretend.rs +0 -188
  814. data/ext/cargo-vendor/serde_derive-1.0.228/src/ser.rs +0 -1369
  815. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +0 -1
  816. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +0 -6
  817. data/ext/cargo-vendor/serde_magnus-0.10.0/Cargo.lock +0 -387
  818. data/ext/cargo-vendor/serde_magnus-0.10.0/Cargo.toml +0 -162
  819. data/ext/cargo-vendor/serde_magnus-0.10.0/Cargo.toml.orig +0 -28
  820. data/ext/cargo-vendor/serde_magnus-0.10.0/README.md +0 -121
  821. data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/deserializer.rs +0 -185
  822. data/ext/cargo-vendor/version_check-0.9.5/.cargo-checksum.json +0 -1
  823. data/ext/cargo-vendor/version_check-0.9.5/.cargo_vcs_info.json +0 -6
  824. data/ext/cargo-vendor/version_check-0.9.5/.github/workflows/ci.yml +0 -42
  825. data/ext/cargo-vendor/version_check-0.9.5/.travis.yml +0 -6
  826. data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml +0 -38
  827. data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml.orig +0 -13
  828. data/ext/cargo-vendor/version_check-0.9.5/LICENSE-APACHE +0 -201
  829. data/ext/cargo-vendor/version_check-0.9.5/LICENSE-MIT +0 -19
  830. data/ext/cargo-vendor/version_check-0.9.5/README.md +0 -80
  831. data/ext/cargo-vendor/version_check-0.9.5/src/channel.rs +0 -195
  832. data/ext/cargo-vendor/version_check-0.9.5/src/date.rs +0 -203
  833. data/ext/cargo-vendor/version_check-0.9.5/src/lib.rs +0 -528
  834. data/ext/cargo-vendor/version_check-0.9.5/src/version.rs +0 -316
  835. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo-checksum.json +0 -1
  836. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo_vcs_info.json +0 -6
  837. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.github/workflows/main.yml +0 -44
  838. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.gitmodules +0 -3
  839. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CODE_OF_CONDUCT.md +0 -49
  840. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CONTRIBUTING.md +0 -8
  841. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.lock +0 -23
  842. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml +0 -59
  843. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml.orig +0 -29
  844. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-APACHE +0 -201
  845. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -220
  846. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-MIT +0 -23
  847. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/ORG_CODE_OF_CONDUCT.md +0 -143
  848. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/README.md +0 -94
  849. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/SECURITY.md +0 -29
  850. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib.rs +0 -47
  851. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib_generated.rs +0 -2366
  852. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/LICENSE +0 -0
  853. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/mod.rs +0 -0
  854. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/mod.rs +0 -0
  855. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/helpers.rs +0 -0
  856. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/parse.rs +0 -0
  857. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/CODEOWNERS +0 -0
  858. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/dotslash-config.json +0 -0
  859. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rustfmt.toml +0 -0
  860. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rusty-hook.toml +0 -0
  861. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/AGENTS.md +0 -0
  862. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/CLAUDE.md +0 -0
  863. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/README.md +0 -0
  864. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_file.sh +0 -0
  865. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_gv.sh +0 -0
  866. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/common_test.rs +0 -0
  867. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/config.rs +0 -0
  868. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/crosscheck.rs +0 -0
  869. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/lib.rs +0 -0
  870. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_file_parser.rs +0 -0
  871. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_query.rs +0 -0
  872. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_generator.rs +0 -0
  873. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_owner_finder.rs +0 -0
  874. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
  875. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/directory_mapper.rs +0 -0
  876. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/escaper.rs +0 -0
  877. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/package_mapper.rs +0 -0
  878. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_gem_mapper.rs +0 -0
  879. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_glob_mapper.rs +0 -0
  880. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_yml_mapper.rs +0 -0
  881. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper.rs +0 -0
  882. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/path_utils.rs +0 -0
  883. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/tracked_files.rs +0 -0
  884. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/cache_test.rs +0 -0
  885. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/codeowners_path_test.rs +0 -0
  886. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/crosscheck_owners_test.rs +0 -0
  887. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +0 -0
  888. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +0 -0
  889. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +0 -0
  890. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/.github/CODEOWNERS +0 -0
  891. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/app/foo.rb +0 -0
  892. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/code_ownership.yml +0 -0
  893. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/foo.yml +0 -0
  894. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/payments.yml +0 -0
  895. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +0 -0
  896. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/.github/CODEOWNERS +0 -0
  897. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/app/bar.rb +0 -0
  898. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/code_ownership.yml +0 -0
  899. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/teams/bar.yml +0 -0
  900. /data/ext/cargo-vendor/{codeowners-0.3.3/tests/fixtures/multiple-directory-owners/app/services → codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_name}/.codeowner +0 -0
  901. /data/ext/cargo-vendor/{codeowners-0.3.3/tests/fixtures/multiple-directory-owners → codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team}/config/code_ownership.yml +0 -0
  902. /data/ext/cargo-vendor/{codeowners-0.3.3/tests/fixtures/multiple-directory-owners → codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team}/config/teams/foo.yml +0 -0
  903. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
  904. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
  905. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
  906. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
  907. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
  908. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
  909. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
  910. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
  911. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
  912. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
  913. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
  914. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
  915. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
  916. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
  917. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.keep +0 -0
  918. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
  919. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
  920. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
  921. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
  922. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
  923. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx +0 -0
  924. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
  925. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx +0 -0
  926. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/.github/CODEOWNERS +0 -0
  927. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/code_ownership.yml +0 -0
  928. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/bad_team.yml +0 -0
  929. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/good.yml +0 -0
  930. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/gems/pets/dog.rb +0 -0
  931. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
  932. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
  933. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb +0 -0
  934. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
  935. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
  936. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb +0 -0
  937. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
  938. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.ignore +0 -0
  939. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
  940. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
  941. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
  942. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
  943. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
  944. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/pets/dog.rb +0 -0
  945. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
  946. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
  947. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
  948. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
  949. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
  950. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
  951. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
  952. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
  953. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
  954. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
  955. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb +0 -0
  956. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
  957. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
  958. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
  959. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
  960. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb +0 -0
  961. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb +0 -0
  962. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
  963. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
  964. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb +0 -0
  965. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
  966. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
  967. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
  968. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
  969. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
  970. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json +0 -0
  971. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx +0 -0
  972. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json +0 -0
  973. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx +0 -0
  974. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json +0 -0
  975. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx +0 -0
  976. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx +0 -0
  977. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb +0 -0
  978. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb +0 -0
  979. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb +0 -0
  980. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb +0 -0
  981. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb +0 -0
  982. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
  983. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb +0 -0
  984. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
  985. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb +0 -0
  986. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
  987. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb +0 -0
  988. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb +0 -0
  989. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
  990. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner +0 -0
  991. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb +0 -0
  992. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb +0 -0
  993. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb +0 -0
  994. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb +0 -0
  995. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb +0 -0
  996. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/git_stage_test.rs +0 -0
  997. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_structure_test.rs +0 -0
  998. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/missing_github_team_test.rs +0 -0
  999. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/multiple_directory_owners_test.rs +0 -0
  1000. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/run_config_executable_override_test.rs +0 -0
  1001. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/runner_api.rs +0 -0
  1002. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/untracked_files_test.rs +0 -0
  1003. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_with_overrides_test.rs +0 -0
  1004. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/validate_files_test.rs +0 -0
  1005. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tmp/.gitkeep +0 -0
  1006. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-APACHE.md +0 -0
  1007. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-MIT.md +0 -0
  1008. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE.md +0 -0
  1009. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/override.rs +0 -0
  1010. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__location_hook.snap +0 -0
  1011. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display__doc.snap +0 -0
  1012. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display_alt__doc.snap +0 -0
  1013. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__alt.snap +0 -0
  1014. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__charset_ascii.snap +0 -0
  1015. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__color_mode_color.snap +0 -0
  1016. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__color_mode_emphasis.snap +0 -0
  1017. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook.snap +0 -0
  1018. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_context.snap +0 -0
  1019. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_decr.snap +0 -0
  1020. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_for_context.snap +0 -0
  1021. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_incr.snap +0 -0
  1022. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_multiple.snap +0 -0
  1023. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_provider.snap +0 -0
  1024. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline.snap +0 -0
  1025. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__norm.snap +0 -0
  1026. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/LICENSE-APACHE +0 -0
  1027. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/LICENSE-MIT +0 -0
  1028. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/bin/release.sh +0 -0
  1029. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/features.rs +0 -0
  1030. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/readme.md +0 -0
  1031. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/hidden.rs +0 -0
  1032. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/lib.rs +0 -0
  1033. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/ruby_abi_version.rs +0 -0
  1034. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/special_consts.rs +0 -0
  1035. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/symbol.rs +0 -0
  1036. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/tracking_allocator.rs +0 -0
  1037. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/value_type.rs +0 -0
  1038. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/LICENSE-APACHE +0 -0
  1039. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/LICENSE-MIT +0 -0
  1040. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/sanitizer.rs +0 -0
  1041. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/wrapper.h +0 -0
  1042. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/lib.rs +0 -0
  1043. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/flags.rs +0 -0
  1044. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/library.rs +0 -0
  1045. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/search_path.rs +0 -0
  1046. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/utils.rs +0 -0
  1047. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/LICENSE-APACHE +0 -0
  1048. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/LICENSE-MIT +0 -0
  1049. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/build.rs +0 -0
  1050. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/defines.rs +0 -0
  1051. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/lib.rs +0 -0
  1052. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/rb_env.rs +0 -0
  1053. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/utils.rs +0 -0
  1054. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/LICENSE-APACHE +0 -0
  1055. /data/ext/cargo-vendor/{rustc-hash-1.1.0 → serde-1.0.229}/LICENSE-MIT +0 -0
  1056. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/crates-io.md +0 -0
  1057. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/crate_root.rs +0 -0
  1058. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/ignored_any.rs +0 -0
  1059. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/mod.rs +0 -0
  1060. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/value.rs +0 -0
  1061. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/format.rs +0 -0
  1062. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/macros.rs +0 -0
  1063. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/content.rs +0 -0
  1064. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/doc.rs +0 -0
  1065. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/mod.rs +0 -0
  1066. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/seed.rs +0 -0
  1067. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/size_hint.rs +0 -0
  1068. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/string.rs +0 -0
  1069. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/fmt.rs +0 -0
  1070. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/impls.rs +0 -0
  1071. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/impossible.rs +0 -0
  1072. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/mod.rs +0 -0
  1073. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/std_error.rs +0 -0
  1074. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/integer128.rs +0 -0
  1075. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/de.rs +0 -0
  1076. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/mod.rs +0 -0
  1077. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/ser.rs +0 -0
  1078. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/LICENSE-APACHE +0 -0
  1079. /data/ext/cargo-vendor/{serde-1.0.228 → serde_core-1.0.229}/LICENSE-MIT +0 -0
  1080. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/README.md +0 -0
  1081. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/crate_root.rs +0 -0
  1082. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/ignored_any.rs +0 -0
  1083. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/mod.rs +0 -0
  1084. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/value.rs +0 -0
  1085. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/format.rs +0 -0
  1086. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/macros.rs +0 -0
  1087. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/content.rs +0 -0
  1088. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/doc.rs +0 -0
  1089. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/mod.rs +0 -0
  1090. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/seed.rs +0 -0
  1091. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/size_hint.rs +0 -0
  1092. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/string.rs +0 -0
  1093. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/fmt.rs +0 -0
  1094. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/impls.rs +0 -0
  1095. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/impossible.rs +0 -0
  1096. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/mod.rs +0 -0
  1097. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/std_error.rs +0 -0
  1098. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/LICENSE-APACHE +0 -0
  1099. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_derive-1.0.229}/LICENSE-MIT +0 -0
  1100. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/crates-io.md +0 -0
  1101. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_.rs +0 -0
  1102. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_internally.rs +0 -0
  1103. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_untagged.rs +0 -0
  1104. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/identifier.rs +0 -0
  1105. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/struct_.rs +0 -0
  1106. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/tuple.rs +0 -0
  1107. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/unit.rs +0 -0
  1108. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/deprecated.rs +0 -0
  1109. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/dummy.rs +0 -0
  1110. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/fragment.rs +0 -0
  1111. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/case.rs +0 -0
  1112. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/check.rs +0 -0
  1113. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/mod.rs +0 -0
  1114. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/name.rs +0 -0
  1115. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/respan.rs +0 -0
  1116. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/symbol.rs +0 -0
  1117. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/this.rs +0 -0
  1118. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/LICENSE +0 -0
  1119. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/array_deserializer.rs +0 -0
  1120. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/array_enumerator.rs +0 -0
  1121. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/enum_deserializer.rs +0 -0
  1122. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/hash_deserializer.rs +0 -0
  1123. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/mod.rs +0 -0
  1124. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/variant_deserializer.rs +0 -0
  1125. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/error.rs +0 -0
  1126. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/lib.rs +0 -0
  1127. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/enums.rs +0 -0
  1128. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/map_serializer.rs +0 -0
  1129. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/mod.rs +0 -0
  1130. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/seq_serializer.rs +0 -0
  1131. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/serializer.rs +0 -0
  1132. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/struct_serializer.rs +0 -0
  1133. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/struct_variant_serializer.rs +0 -0
  1134. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/tuple_variant_serializer.rs +0 -0
  1135. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_arrays.rs +0 -0
  1136. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_booleans.rs +0 -0
  1137. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_enums.rs +0 -0
  1138. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_floats.rs +0 -0
  1139. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_integers.rs +0 -0
  1140. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_maps.rs +0 -0
  1141. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_options.rs +0 -0
  1142. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_results.rs +0 -0
  1143. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_strings.rs +0 -0
  1144. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_structs.rs +0 -0
  1145. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_tuples.rs +0 -0
  1146. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_vecs.rs +0 -0
  1147. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_arrays.rs +0 -0
  1148. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_booleans.rs +0 -0
  1149. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_enums.rs +0 -0
  1150. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_floats.rs +0 -0
  1151. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_integers.rs +0 -0
  1152. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_maps.rs +0 -0
  1153. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_options.rs +0 -0
  1154. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_results.rs +0 -0
  1155. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_strings.rs +0 -0
  1156. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_structs.rs +0 -0
  1157. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_tuples.rs +0 -0
  1158. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_vecs.rs +0 -0
  1159. /data/ext/cargo-vendor/{serde_derive-1.0.228 → syn-3.0.9}/LICENSE-MIT +0 -0
@@ -1,2034 +0,0 @@
1
- //! Bindgen's core intermediate representation type.
2
-
3
- use super::super::codegen::{EnumVariation, CONSTIFIED_ENUM_MODULE_REPR_NAME};
4
- use super::analysis::{HasVtable, HasVtableResult, Sizedness, SizednessResult};
5
- use super::annotations::Annotations;
6
- use super::comp::{CompKind, MethodKind};
7
- use super::context::{BindgenContext, ItemId, PartialType, TypeId};
8
- use super::derive::{
9
- CanDeriveCopy, CanDeriveDebug, CanDeriveDefault, CanDeriveEq,
10
- CanDeriveHash, CanDeriveOrd, CanDerivePartialEq, CanDerivePartialOrd,
11
- };
12
- use super::dot::DotAttributes;
13
- use super::function::{Function, FunctionKind};
14
- use super::item_kind::ItemKind;
15
- use super::layout::Opaque;
16
- use super::module::Module;
17
- use super::template::{AsTemplateParam, TemplateParameters};
18
- use super::traversal::{EdgeKind, Trace, Tracer};
19
- use super::ty::{Type, TypeKind};
20
- use crate::clang;
21
- use crate::parse::{ClangSubItemParser, ParseError, ParseResult};
22
-
23
- use lazycell::LazyCell;
24
-
25
- use std::cell::Cell;
26
- use std::collections::BTreeSet;
27
- use std::fmt::Write;
28
- use std::io;
29
- use std::iter;
30
-
31
- /// A trait to get the canonical name from an item.
32
- ///
33
- /// This is the trait that will eventually isolate all the logic related to name
34
- /// mangling and that kind of stuff.
35
- ///
36
- /// This assumes no nested paths, at some point I'll have to make it a more
37
- /// complex thing.
38
- ///
39
- /// This name is required to be safe for Rust, that is, is not expected to
40
- /// return any rust keyword from here.
41
- pub(crate) trait ItemCanonicalName {
42
- /// Get the canonical name for this item.
43
- fn canonical_name(&self, ctx: &BindgenContext) -> String;
44
- }
45
-
46
- /// The same, but specifies the path that needs to be followed to reach an item.
47
- ///
48
- /// To contrast with canonical_name, here's an example:
49
- ///
50
- /// ```c++
51
- /// namespace foo {
52
- /// const BAR = 3;
53
- /// }
54
- /// ```
55
- ///
56
- /// For bar, the canonical path is `vec!["foo", "BAR"]`, while the canonical
57
- /// name is just `"BAR"`.
58
- pub(crate) trait ItemCanonicalPath {
59
- /// Get the namespace-aware canonical path for this item. This means that if
60
- /// namespaces are disabled, you'll get a single item, and otherwise you get
61
- /// the whole path.
62
- fn namespace_aware_canonical_path(
63
- &self,
64
- ctx: &BindgenContext,
65
- ) -> Vec<String>;
66
-
67
- /// Get the canonical path for this item.
68
- fn canonical_path(&self, ctx: &BindgenContext) -> Vec<String>;
69
- }
70
-
71
- /// A trait for determining if some IR thing is opaque or not.
72
- pub(crate) trait IsOpaque {
73
- /// Extra context the IR thing needs to determine if it is opaque or not.
74
- type Extra;
75
-
76
- /// Returns `true` if the thing is opaque, and `false` otherwise.
77
- ///
78
- /// May only be called when `ctx` is in the codegen phase.
79
- fn is_opaque(&self, ctx: &BindgenContext, extra: &Self::Extra) -> bool;
80
- }
81
-
82
- /// A trait for determining if some IR thing has type parameter in array or not.
83
- pub(crate) trait HasTypeParamInArray {
84
- /// Returns `true` if the thing has Array, and `false` otherwise.
85
- fn has_type_param_in_array(&self, ctx: &BindgenContext) -> bool;
86
- }
87
-
88
- /// A trait for determining if some IR thing has float or not.
89
- pub(crate) trait HasFloat {
90
- /// Returns `true` if the thing has float, and `false` otherwise.
91
- fn has_float(&self, ctx: &BindgenContext) -> bool;
92
- }
93
-
94
- /// A trait for iterating over an item and its parents and up its ancestor chain
95
- /// up to (but not including) the implicit root module.
96
- pub(crate) trait ItemAncestors {
97
- /// Get an iterable over this item's ancestors.
98
- fn ancestors<'a>(&self, ctx: &'a BindgenContext) -> ItemAncestorsIter<'a>;
99
- }
100
-
101
- #[cfg(feature = "__testing_only_extra_assertions")]
102
- type DebugOnlyItemSet = ItemSet;
103
-
104
- #[cfg(not(feature = "__testing_only_extra_assertions"))]
105
- struct DebugOnlyItemSet;
106
-
107
- #[cfg(not(feature = "__testing_only_extra_assertions"))]
108
- impl DebugOnlyItemSet {
109
- fn new() -> Self {
110
- DebugOnlyItemSet
111
- }
112
-
113
- fn contains(&self, _id: &ItemId) -> bool {
114
- false
115
- }
116
-
117
- fn insert(&mut self, _id: ItemId) {}
118
- }
119
-
120
- /// An iterator over an item and its ancestors.
121
- pub(crate) struct ItemAncestorsIter<'a> {
122
- item: ItemId,
123
- ctx: &'a BindgenContext,
124
- seen: DebugOnlyItemSet,
125
- }
126
-
127
- impl<'a> ItemAncestorsIter<'a> {
128
- fn new<Id: Into<ItemId>>(ctx: &'a BindgenContext, id: Id) -> Self {
129
- ItemAncestorsIter {
130
- item: id.into(),
131
- ctx,
132
- seen: DebugOnlyItemSet::new(),
133
- }
134
- }
135
- }
136
-
137
- impl<'a> Iterator for ItemAncestorsIter<'a> {
138
- type Item = ItemId;
139
-
140
- fn next(&mut self) -> Option<Self::Item> {
141
- let item = self.ctx.resolve_item(self.item);
142
-
143
- if item.parent_id() == self.item {
144
- None
145
- } else {
146
- self.item = item.parent_id();
147
-
148
- extra_assert!(!self.seen.contains(&item.id()));
149
- self.seen.insert(item.id());
150
-
151
- Some(item.id())
152
- }
153
- }
154
- }
155
-
156
- impl<T> AsTemplateParam for T
157
- where
158
- T: Copy + Into<ItemId>,
159
- {
160
- type Extra = ();
161
-
162
- fn as_template_param(
163
- &self,
164
- ctx: &BindgenContext,
165
- _: &(),
166
- ) -> Option<TypeId> {
167
- ctx.resolve_item((*self).into()).as_template_param(ctx, &())
168
- }
169
- }
170
-
171
- impl AsTemplateParam for Item {
172
- type Extra = ();
173
-
174
- fn as_template_param(
175
- &self,
176
- ctx: &BindgenContext,
177
- _: &(),
178
- ) -> Option<TypeId> {
179
- self.kind.as_template_param(ctx, self)
180
- }
181
- }
182
-
183
- impl AsTemplateParam for ItemKind {
184
- type Extra = Item;
185
-
186
- fn as_template_param(
187
- &self,
188
- ctx: &BindgenContext,
189
- item: &Item,
190
- ) -> Option<TypeId> {
191
- match *self {
192
- ItemKind::Type(ref ty) => ty.as_template_param(ctx, item),
193
- ItemKind::Module(..) |
194
- ItemKind::Function(..) |
195
- ItemKind::Var(..) => None,
196
- }
197
- }
198
- }
199
-
200
- impl<T> ItemCanonicalName for T
201
- where
202
- T: Copy + Into<ItemId>,
203
- {
204
- fn canonical_name(&self, ctx: &BindgenContext) -> String {
205
- debug_assert!(
206
- ctx.in_codegen_phase(),
207
- "You're not supposed to call this yet"
208
- );
209
- ctx.resolve_item(*self).canonical_name(ctx)
210
- }
211
- }
212
-
213
- impl<T> ItemCanonicalPath for T
214
- where
215
- T: Copy + Into<ItemId>,
216
- {
217
- fn namespace_aware_canonical_path(
218
- &self,
219
- ctx: &BindgenContext,
220
- ) -> Vec<String> {
221
- debug_assert!(
222
- ctx.in_codegen_phase(),
223
- "You're not supposed to call this yet"
224
- );
225
- ctx.resolve_item(*self).namespace_aware_canonical_path(ctx)
226
- }
227
-
228
- fn canonical_path(&self, ctx: &BindgenContext) -> Vec<String> {
229
- debug_assert!(
230
- ctx.in_codegen_phase(),
231
- "You're not supposed to call this yet"
232
- );
233
- ctx.resolve_item(*self).canonical_path(ctx)
234
- }
235
- }
236
-
237
- impl<T> ItemAncestors for T
238
- where
239
- T: Copy + Into<ItemId>,
240
- {
241
- fn ancestors<'a>(&self, ctx: &'a BindgenContext) -> ItemAncestorsIter<'a> {
242
- ItemAncestorsIter::new(ctx, *self)
243
- }
244
- }
245
-
246
- impl ItemAncestors for Item {
247
- fn ancestors<'a>(&self, ctx: &'a BindgenContext) -> ItemAncestorsIter<'a> {
248
- self.id().ancestors(ctx)
249
- }
250
- }
251
-
252
- impl<Id> Trace for Id
253
- where
254
- Id: Copy + Into<ItemId>,
255
- {
256
- type Extra = ();
257
-
258
- fn trace<T>(&self, ctx: &BindgenContext, tracer: &mut T, extra: &())
259
- where
260
- T: Tracer,
261
- {
262
- ctx.resolve_item(*self).trace(ctx, tracer, extra);
263
- }
264
- }
265
-
266
- impl Trace for Item {
267
- type Extra = ();
268
-
269
- fn trace<T>(&self, ctx: &BindgenContext, tracer: &mut T, _extra: &())
270
- where
271
- T: Tracer,
272
- {
273
- // Even if this item is blocklisted/hidden, we want to trace it. It is
274
- // traversal iterators' consumers' responsibility to filter items as
275
- // needed. Generally, this filtering happens in the implementation of
276
- // `Iterator` for `allowlistedItems`. Fully tracing blocklisted items is
277
- // necessary for things like the template parameter usage analysis to
278
- // function correctly.
279
-
280
- match *self.kind() {
281
- ItemKind::Type(ref ty) => {
282
- // There are some types, like resolved type references, where we
283
- // don't want to stop collecting types even though they may be
284
- // opaque.
285
- if ty.should_be_traced_unconditionally() ||
286
- !self.is_opaque(ctx, &())
287
- {
288
- ty.trace(ctx, tracer, self);
289
- }
290
- }
291
- ItemKind::Function(ref fun) => {
292
- // Just the same way, it has not real meaning for a function to
293
- // be opaque, so we trace across it.
294
- tracer.visit(fun.signature().into());
295
- }
296
- ItemKind::Var(ref var) => {
297
- tracer.visit_kind(var.ty().into(), EdgeKind::VarType);
298
- }
299
- ItemKind::Module(_) => {
300
- // Module -> children edges are "weak", and we do not want to
301
- // trace them. If we did, then allowlisting wouldn't work as
302
- // expected: everything in every module would end up
303
- // allowlisted.
304
- //
305
- // TODO: make a new edge kind for module -> children edges and
306
- // filter them during allowlisting traversals.
307
- }
308
- }
309
- }
310
- }
311
-
312
- impl CanDeriveDebug for Item {
313
- fn can_derive_debug(&self, ctx: &BindgenContext) -> bool {
314
- self.id().can_derive_debug(ctx)
315
- }
316
- }
317
-
318
- impl CanDeriveDefault for Item {
319
- fn can_derive_default(&self, ctx: &BindgenContext) -> bool {
320
- self.id().can_derive_default(ctx)
321
- }
322
- }
323
-
324
- impl CanDeriveCopy for Item {
325
- fn can_derive_copy(&self, ctx: &BindgenContext) -> bool {
326
- self.id().can_derive_copy(ctx)
327
- }
328
- }
329
-
330
- impl CanDeriveHash for Item {
331
- fn can_derive_hash(&self, ctx: &BindgenContext) -> bool {
332
- self.id().can_derive_hash(ctx)
333
- }
334
- }
335
-
336
- impl CanDerivePartialOrd for Item {
337
- fn can_derive_partialord(&self, ctx: &BindgenContext) -> bool {
338
- self.id().can_derive_partialord(ctx)
339
- }
340
- }
341
-
342
- impl CanDerivePartialEq for Item {
343
- fn can_derive_partialeq(&self, ctx: &BindgenContext) -> bool {
344
- self.id().can_derive_partialeq(ctx)
345
- }
346
- }
347
-
348
- impl CanDeriveEq for Item {
349
- fn can_derive_eq(&self, ctx: &BindgenContext) -> bool {
350
- self.id().can_derive_eq(ctx)
351
- }
352
- }
353
-
354
- impl CanDeriveOrd for Item {
355
- fn can_derive_ord(&self, ctx: &BindgenContext) -> bool {
356
- self.id().can_derive_ord(ctx)
357
- }
358
- }
359
-
360
- /// An item is the base of the bindgen representation, it can be either a
361
- /// module, a type, a function, or a variable (see `ItemKind` for more
362
- /// information).
363
- ///
364
- /// Items refer to each other by `ItemId`. Every item has its parent's
365
- /// ID. Depending on the kind of item this is, it may also refer to other items,
366
- /// such as a compound type item referring to other types. Collectively, these
367
- /// references form a graph.
368
- ///
369
- /// The entry-point to this graph is the "root module": a meta-item used to hold
370
- /// all top-level items.
371
- ///
372
- /// An item may have a comment, and annotations (see the `annotations` module).
373
- ///
374
- /// Note that even though we parse all the types of annotations in comments, not
375
- /// all of them apply to every item. Those rules are described in the
376
- /// `annotations` module.
377
- #[derive(Debug)]
378
- pub(crate) struct Item {
379
- /// This item's ID.
380
- id: ItemId,
381
-
382
- /// The item's local ID, unique only amongst its siblings. Only used for
383
- /// anonymous items.
384
- ///
385
- /// Lazily initialized in local_id().
386
- ///
387
- /// Note that only structs, unions, and enums get a local type ID. In any
388
- /// case this is an implementation detail.
389
- local_id: LazyCell<usize>,
390
-
391
- /// The next local ID to use for a child or template instantiation.
392
- next_child_local_id: Cell<usize>,
393
-
394
- /// A cached copy of the canonical name, as returned by `canonical_name`.
395
- ///
396
- /// This is a fairly used operation during codegen so this makes bindgen
397
- /// considerably faster in those cases.
398
- canonical_name: LazyCell<String>,
399
-
400
- /// The path to use for allowlisting and other name-based checks, as
401
- /// returned by `path_for_allowlisting`, lazily constructed.
402
- path_for_allowlisting: LazyCell<Vec<String>>,
403
-
404
- /// A doc comment over the item, if any.
405
- comment: Option<String>,
406
- /// Annotations extracted from the doc comment, or the default ones
407
- /// otherwise.
408
- annotations: Annotations,
409
- /// An item's parent ID. This will most likely be a class where this item
410
- /// was declared, or a module, etc.
411
- ///
412
- /// All the items have a parent, except the root module, in which case the
413
- /// parent ID is its own ID.
414
- parent_id: ItemId,
415
- /// The item kind.
416
- kind: ItemKind,
417
- /// The source location of the item.
418
- location: Option<clang::SourceLocation>,
419
- }
420
-
421
- impl AsRef<ItemId> for Item {
422
- fn as_ref(&self) -> &ItemId {
423
- &self.id
424
- }
425
- }
426
-
427
- impl Item {
428
- /// Construct a new `Item`.
429
- pub(crate) fn new(
430
- id: ItemId,
431
- comment: Option<String>,
432
- annotations: Option<Annotations>,
433
- parent_id: ItemId,
434
- kind: ItemKind,
435
- location: Option<clang::SourceLocation>,
436
- ) -> Self {
437
- debug_assert!(id != parent_id || kind.is_module());
438
- Item {
439
- id,
440
- local_id: LazyCell::new(),
441
- next_child_local_id: Cell::new(1),
442
- canonical_name: LazyCell::new(),
443
- path_for_allowlisting: LazyCell::new(),
444
- parent_id,
445
- comment,
446
- annotations: annotations.unwrap_or_default(),
447
- kind,
448
- location,
449
- }
450
- }
451
-
452
- /// Construct a new opaque item type.
453
- pub(crate) fn new_opaque_type(
454
- with_id: ItemId,
455
- ty: &clang::Type,
456
- ctx: &mut BindgenContext,
457
- ) -> TypeId {
458
- let location = ty.declaration().location();
459
- let ty = Opaque::from_clang_ty(ty, ctx);
460
- let kind = ItemKind::Type(ty);
461
- let parent = ctx.root_module().into();
462
- ctx.add_item(
463
- Item::new(with_id, None, None, parent, kind, Some(location)),
464
- None,
465
- None,
466
- );
467
- with_id.as_type_id_unchecked()
468
- }
469
-
470
- /// Get this `Item`'s identifier.
471
- pub(crate) fn id(&self) -> ItemId {
472
- self.id
473
- }
474
-
475
- /// Get this `Item`'s parent's identifier.
476
- ///
477
- /// For the root module, the parent's ID is its own ID.
478
- pub(crate) fn parent_id(&self) -> ItemId {
479
- self.parent_id
480
- }
481
-
482
- /// Set this item's parent ID.
483
- ///
484
- /// This is only used so replacements get generated in the proper module.
485
- pub(crate) fn set_parent_for_replacement<Id: Into<ItemId>>(
486
- &mut self,
487
- id: Id,
488
- ) {
489
- self.parent_id = id.into();
490
- }
491
-
492
- /// Returns the depth this item is indented to.
493
- ///
494
- /// FIXME(emilio): This may need fixes for the enums within modules stuff.
495
- pub(crate) fn codegen_depth(&self, ctx: &BindgenContext) -> usize {
496
- if !ctx.options().enable_cxx_namespaces {
497
- return 0;
498
- }
499
-
500
- self.ancestors(ctx)
501
- .filter(|id| {
502
- ctx.resolve_item(*id).as_module().map_or(false, |module| {
503
- !module.is_inline() ||
504
- ctx.options().conservative_inline_namespaces
505
- })
506
- })
507
- .count() +
508
- 1
509
- }
510
-
511
- /// Get this `Item`'s comment, if it has any, already preprocessed and with
512
- /// the right indentation.
513
- pub(crate) fn comment(&self, ctx: &BindgenContext) -> Option<String> {
514
- if !ctx.options().generate_comments {
515
- return None;
516
- }
517
-
518
- self.comment
519
- .as_ref()
520
- .map(|comment| ctx.options().process_comment(comment))
521
- }
522
-
523
- /// What kind of item is this?
524
- pub(crate) fn kind(&self) -> &ItemKind {
525
- &self.kind
526
- }
527
-
528
- /// Get a mutable reference to this item's kind.
529
- pub(crate) fn kind_mut(&mut self) -> &mut ItemKind {
530
- &mut self.kind
531
- }
532
-
533
- /// Where in the source is this item located?
534
- pub(crate) fn location(&self) -> Option<&clang::SourceLocation> {
535
- self.location.as_ref()
536
- }
537
-
538
- /// Get an identifier that differentiates this item from its siblings.
539
- ///
540
- /// This should stay relatively stable in the face of code motion outside or
541
- /// below this item's lexical scope, meaning that this can be useful for
542
- /// generating relatively stable identifiers within a scope.
543
- pub(crate) fn local_id(&self, ctx: &BindgenContext) -> usize {
544
- *self.local_id.borrow_with(|| {
545
- let parent = ctx.resolve_item(self.parent_id);
546
- parent.next_child_local_id()
547
- })
548
- }
549
-
550
- /// Get an identifier that differentiates a child of this item of other
551
- /// related items.
552
- ///
553
- /// This is currently used for anonymous items, and template instantiation
554
- /// tests, in both cases in order to reduce noise when system headers are at
555
- /// place.
556
- pub(crate) fn next_child_local_id(&self) -> usize {
557
- let local_id = self.next_child_local_id.get();
558
- self.next_child_local_id.set(local_id + 1);
559
- local_id
560
- }
561
-
562
- /// Returns whether this item is a top-level item, from the point of view of
563
- /// bindgen.
564
- ///
565
- /// This point of view changes depending on whether namespaces are enabled
566
- /// or not. That way, in the following example:
567
- ///
568
- /// ```c++
569
- /// namespace foo {
570
- /// static int var;
571
- /// }
572
- /// ```
573
- ///
574
- /// `var` would be a toplevel item if namespaces are disabled, but won't if
575
- /// they aren't.
576
- ///
577
- /// This function is used to determine when the codegen phase should call
578
- /// `codegen` on an item, since any item that is not top-level will be
579
- /// generated by its parent.
580
- pub(crate) fn is_toplevel(&self, ctx: &BindgenContext) -> bool {
581
- // FIXME: Workaround for some types falling behind when parsing weird
582
- // stl classes, for example.
583
- if ctx.options().enable_cxx_namespaces &&
584
- self.kind().is_module() &&
585
- self.id() != ctx.root_module()
586
- {
587
- return false;
588
- }
589
-
590
- let mut parent = self.parent_id;
591
- loop {
592
- let parent_item = match ctx.resolve_item_fallible(parent) {
593
- Some(item) => item,
594
- None => return false,
595
- };
596
-
597
- if parent_item.id() == ctx.root_module() {
598
- return true;
599
- } else if ctx.options().enable_cxx_namespaces ||
600
- !parent_item.kind().is_module()
601
- {
602
- return false;
603
- }
604
-
605
- parent = parent_item.parent_id();
606
- }
607
- }
608
-
609
- /// Get a reference to this item's underlying `Type`. Panic if this is some
610
- /// other kind of item.
611
- pub(crate) fn expect_type(&self) -> &Type {
612
- self.kind().expect_type()
613
- }
614
-
615
- /// Get a reference to this item's underlying `Type`, or `None` if this is
616
- /// some other kind of item.
617
- pub(crate) fn as_type(&self) -> Option<&Type> {
618
- self.kind().as_type()
619
- }
620
-
621
- /// Get a reference to this item's underlying `Function`. Panic if this is
622
- /// some other kind of item.
623
- pub(crate) fn expect_function(&self) -> &Function {
624
- self.kind().expect_function()
625
- }
626
-
627
- /// Is this item a module?
628
- pub(crate) fn is_module(&self) -> bool {
629
- matches!(self.kind, ItemKind::Module(..))
630
- }
631
-
632
- /// Get this item's annotations.
633
- pub(crate) fn annotations(&self) -> &Annotations {
634
- &self.annotations
635
- }
636
-
637
- /// Whether this item should be blocklisted.
638
- ///
639
- /// This may be due to either annotations or to other kind of configuration.
640
- pub(crate) fn is_blocklisted(&self, ctx: &BindgenContext) -> bool {
641
- debug_assert!(
642
- ctx.in_codegen_phase(),
643
- "You're not supposed to call this yet"
644
- );
645
- if self.annotations.hide() {
646
- return true;
647
- }
648
-
649
- if !ctx.options().blocklisted_files.is_empty() {
650
- if let Some(location) = &self.location {
651
- let (file, _, _, _) = location.location();
652
- if let Some(filename) = file.name() {
653
- if ctx.options().blocklisted_files.matches(filename) {
654
- return true;
655
- }
656
- }
657
- }
658
- }
659
-
660
- let path = self.path_for_allowlisting(ctx);
661
- let name = path[1..].join("::");
662
- ctx.options().blocklisted_items.matches(&name) ||
663
- match self.kind {
664
- ItemKind::Type(..) => {
665
- ctx.options().blocklisted_types.matches(&name) ||
666
- ctx.is_replaced_type(path, self.id)
667
- }
668
- ItemKind::Function(..) => {
669
- ctx.options().blocklisted_functions.matches(&name)
670
- }
671
- ItemKind::Var(..) => {
672
- ctx.options().blocklisted_vars.matches(&name)
673
- }
674
- // TODO: Add namespace blocklisting?
675
- ItemKind::Module(..) => false,
676
- }
677
- }
678
-
679
- /// Take out item NameOptions
680
- pub(crate) fn name<'a>(
681
- &'a self,
682
- ctx: &'a BindgenContext,
683
- ) -> NameOptions<'a> {
684
- NameOptions::new(self, ctx)
685
- }
686
-
687
- /// Get the target item ID for name generation.
688
- fn name_target(&self, ctx: &BindgenContext) -> ItemId {
689
- let mut targets_seen = DebugOnlyItemSet::new();
690
- let mut item = self;
691
-
692
- loop {
693
- extra_assert!(!targets_seen.contains(&item.id()));
694
- targets_seen.insert(item.id());
695
-
696
- if self.annotations().use_instead_of().is_some() {
697
- return self.id();
698
- }
699
-
700
- match *item.kind() {
701
- ItemKind::Type(ref ty) => match *ty.kind() {
702
- TypeKind::ResolvedTypeRef(inner) => {
703
- item = ctx.resolve_item(inner);
704
- }
705
- TypeKind::TemplateInstantiation(ref inst) => {
706
- item = ctx.resolve_item(inst.template_definition());
707
- }
708
- _ => return item.id(),
709
- },
710
- _ => return item.id(),
711
- }
712
- }
713
- }
714
-
715
- /// Create a fully disambiguated name for an item, including template
716
- /// parameters if it is a type
717
- pub(crate) fn full_disambiguated_name(
718
- &self,
719
- ctx: &BindgenContext,
720
- ) -> String {
721
- let mut s = String::new();
722
- let level = 0;
723
- self.push_disambiguated_name(ctx, &mut s, level);
724
- s
725
- }
726
-
727
- /// Helper function for full_disambiguated_name
728
- fn push_disambiguated_name(
729
- &self,
730
- ctx: &BindgenContext,
731
- to: &mut String,
732
- level: u8,
733
- ) {
734
- to.push_str(&self.canonical_name(ctx));
735
- if let ItemKind::Type(ref ty) = *self.kind() {
736
- if let TypeKind::TemplateInstantiation(ref inst) = *ty.kind() {
737
- to.push_str(&format!("_open{}_", level));
738
- for arg in inst.template_arguments() {
739
- arg.into_resolver()
740
- .through_type_refs()
741
- .resolve(ctx)
742
- .push_disambiguated_name(ctx, to, level + 1);
743
- to.push('_');
744
- }
745
- to.push_str(&format!("close{}", level));
746
- }
747
- }
748
- }
749
-
750
- /// Get this function item's name, or `None` if this item is not a function.
751
- fn func_name(&self) -> Option<&str> {
752
- match *self.kind() {
753
- ItemKind::Function(ref func) => Some(func.name()),
754
- _ => None,
755
- }
756
- }
757
-
758
- /// Get the overload index for this method. If this is not a method, return
759
- /// `None`.
760
- fn overload_index(&self, ctx: &BindgenContext) -> Option<usize> {
761
- self.func_name().and_then(|func_name| {
762
- let parent = ctx.resolve_item(self.parent_id());
763
- if let ItemKind::Type(ref ty) = *parent.kind() {
764
- if let TypeKind::Comp(ref ci) = *ty.kind() {
765
- // All the constructors have the same name, so no need to
766
- // resolve and check.
767
- return ci
768
- .constructors()
769
- .iter()
770
- .position(|c| *c == self.id())
771
- .or_else(|| {
772
- ci.methods()
773
- .iter()
774
- .filter(|m| {
775
- let item = ctx.resolve_item(m.signature());
776
- let func = item.expect_function();
777
- func.name() == func_name
778
- })
779
- .position(|m| m.signature() == self.id())
780
- });
781
- }
782
- }
783
-
784
- None
785
- })
786
- }
787
-
788
- /// Get this item's base name (aka non-namespaced name).
789
- fn base_name(&self, ctx: &BindgenContext) -> String {
790
- if let Some(path) = self.annotations().use_instead_of() {
791
- return path.last().unwrap().clone();
792
- }
793
-
794
- match *self.kind() {
795
- ItemKind::Var(ref var) => var.name().to_owned(),
796
- ItemKind::Module(ref module) => {
797
- module.name().map(ToOwned::to_owned).unwrap_or_else(|| {
798
- format!("_bindgen_mod_{}", self.exposed_id(ctx))
799
- })
800
- }
801
- ItemKind::Type(ref ty) => {
802
- ty.sanitized_name(ctx).map(Into::into).unwrap_or_else(|| {
803
- format!("_bindgen_ty_{}", self.exposed_id(ctx))
804
- })
805
- }
806
- ItemKind::Function(ref fun) => {
807
- let mut name = fun.name().to_owned();
808
-
809
- if let Some(idx) = self.overload_index(ctx) {
810
- if idx > 0 {
811
- write!(&mut name, "{}", idx).unwrap();
812
- }
813
- }
814
-
815
- name
816
- }
817
- }
818
- }
819
-
820
- fn is_anon(&self) -> bool {
821
- match self.kind() {
822
- ItemKind::Module(module) => module.name().is_none(),
823
- ItemKind::Type(ty) => ty.name().is_none(),
824
- ItemKind::Function(_) => false,
825
- ItemKind::Var(_) => false,
826
- }
827
- }
828
-
829
- /// Get the canonical name without taking into account the replaces
830
- /// annotation.
831
- ///
832
- /// This is the base logic used to implement hiding and replacing via
833
- /// annotations, and also to implement proper name mangling.
834
- ///
835
- /// The idea is that each generated type in the same "level" (read: module
836
- /// or namespace) has a unique canonical name.
837
- ///
838
- /// This name should be derived from the immutable state contained in the
839
- /// type and the parent chain, since it should be consistent.
840
- ///
841
- /// If `BindgenOptions::disable_nested_struct_naming` is true then returned
842
- /// name is the inner most non-anonymous name plus all the anonymous base names
843
- /// that follows.
844
- pub(crate) fn real_canonical_name(
845
- &self,
846
- ctx: &BindgenContext,
847
- opt: &NameOptions,
848
- ) -> String {
849
- let target = ctx.resolve_item(self.name_target(ctx));
850
-
851
- // Short-circuit if the target has an override, and just use that.
852
- if let Some(path) = target.annotations.use_instead_of() {
853
- if ctx.options().enable_cxx_namespaces {
854
- return path.last().unwrap().clone();
855
- }
856
- return path.join("_");
857
- }
858
-
859
- let base_name = target.base_name(ctx);
860
-
861
- // Named template type arguments are never namespaced, and never
862
- // mangled.
863
- if target.is_template_param(ctx, &()) {
864
- return base_name;
865
- }
866
-
867
- // Ancestors' ID iter
868
- let mut ids_iter = target
869
- .parent_id()
870
- .ancestors(ctx)
871
- .filter(|id| *id != ctx.root_module())
872
- .take_while(|id| {
873
- // Stop iterating ancestors once we reach a non-inline namespace
874
- // when opt.within_namespaces is set.
875
- !opt.within_namespaces || !ctx.resolve_item(*id).is_module()
876
- })
877
- .filter(|id| {
878
- if !ctx.options().conservative_inline_namespaces {
879
- if let ItemKind::Module(ref module) =
880
- *ctx.resolve_item(*id).kind()
881
- {
882
- return !module.is_inline();
883
- }
884
- }
885
-
886
- true
887
- });
888
-
889
- let ids: Vec<_> = if ctx.options().disable_nested_struct_naming {
890
- let mut ids = Vec::new();
891
-
892
- // If target is anonymous we need find its first named ancestor.
893
- if target.is_anon() {
894
- for id in ids_iter.by_ref() {
895
- ids.push(id);
896
-
897
- if !ctx.resolve_item(id).is_anon() {
898
- break;
899
- }
900
- }
901
- }
902
-
903
- ids
904
- } else {
905
- ids_iter.collect()
906
- };
907
-
908
- // Concatenate this item's ancestors' names together.
909
- let mut names: Vec<_> = ids
910
- .into_iter()
911
- .map(|id| {
912
- let item = ctx.resolve_item(id);
913
- let target = ctx.resolve_item(item.name_target(ctx));
914
- target.base_name(ctx)
915
- })
916
- .filter(|name| !name.is_empty())
917
- .collect();
918
-
919
- names.reverse();
920
-
921
- if !base_name.is_empty() {
922
- names.push(base_name);
923
- }
924
-
925
- if ctx.options().c_naming {
926
- if let Some(prefix) = self.c_naming_prefix() {
927
- names.insert(0, prefix.to_string());
928
- }
929
- }
930
-
931
- let name = names.join("_");
932
-
933
- let name = if opt.user_mangled == UserMangled::Yes {
934
- ctx.options()
935
- .last_callback(|callbacks| callbacks.item_name(&name))
936
- .unwrap_or(name)
937
- } else {
938
- name
939
- };
940
-
941
- ctx.rust_mangle(&name).into_owned()
942
- }
943
-
944
- /// The exposed ID that represents an unique ID among the siblings of a
945
- /// given item.
946
- pub(crate) fn exposed_id(&self, ctx: &BindgenContext) -> String {
947
- // Only use local ids for enums, classes, structs and union types. All
948
- // other items use their global ID.
949
- let ty_kind = self.kind().as_type().map(|t| t.kind());
950
- if let Some(ty_kind) = ty_kind {
951
- match *ty_kind {
952
- TypeKind::Comp(..) |
953
- TypeKind::TemplateInstantiation(..) |
954
- TypeKind::Enum(..) => return self.local_id(ctx).to_string(),
955
- _ => {}
956
- }
957
- }
958
-
959
- // Note that this `id_` prefix prevents (really unlikely) collisions
960
- // between the global ID and the local ID of an item with the same
961
- // parent.
962
- format!("id_{}", self.id().as_usize())
963
- }
964
-
965
- /// Get a reference to this item's `Module`, or `None` if this is not a
966
- /// `Module` item.
967
- pub(crate) fn as_module(&self) -> Option<&Module> {
968
- match self.kind {
969
- ItemKind::Module(ref module) => Some(module),
970
- _ => None,
971
- }
972
- }
973
-
974
- /// Get a mutable reference to this item's `Module`, or `None` if this is
975
- /// not a `Module` item.
976
- pub(crate) fn as_module_mut(&mut self) -> Option<&mut Module> {
977
- match self.kind {
978
- ItemKind::Module(ref mut module) => Some(module),
979
- _ => None,
980
- }
981
- }
982
-
983
- /// Returns whether the item is a constified module enum
984
- fn is_constified_enum_module(&self, ctx: &BindgenContext) -> bool {
985
- // Do not jump through aliases, except for aliases that point to a type
986
- // with the same name, since we dont generate coe for them.
987
- let item = self.id.into_resolver().through_type_refs().resolve(ctx);
988
- let type_ = match *item.kind() {
989
- ItemKind::Type(ref type_) => type_,
990
- _ => return false,
991
- };
992
-
993
- match *type_.kind() {
994
- TypeKind::Enum(ref enum_) => {
995
- enum_.computed_enum_variation(ctx, self) ==
996
- EnumVariation::ModuleConsts
997
- }
998
- TypeKind::Alias(inner_id) => {
999
- // TODO(emilio): Make this "hop through type aliases that aren't
1000
- // really generated" an option in `ItemResolver`?
1001
- let inner_item = ctx.resolve_item(inner_id);
1002
- let name = item.canonical_name(ctx);
1003
-
1004
- if inner_item.canonical_name(ctx) == name {
1005
- inner_item.is_constified_enum_module(ctx)
1006
- } else {
1007
- false
1008
- }
1009
- }
1010
- _ => false,
1011
- }
1012
- }
1013
-
1014
- /// Is this item of a kind that is enabled for code generation?
1015
- pub(crate) fn is_enabled_for_codegen(&self, ctx: &BindgenContext) -> bool {
1016
- let cc = &ctx.options().codegen_config;
1017
- match *self.kind() {
1018
- ItemKind::Module(..) => true,
1019
- ItemKind::Var(_) => cc.vars(),
1020
- ItemKind::Type(_) => cc.types(),
1021
- ItemKind::Function(ref f) => match f.kind() {
1022
- FunctionKind::Function => cc.functions(),
1023
- FunctionKind::Method(MethodKind::Constructor) => {
1024
- cc.constructors()
1025
- }
1026
- FunctionKind::Method(MethodKind::Destructor) |
1027
- FunctionKind::Method(MethodKind::VirtualDestructor {
1028
- ..
1029
- }) => cc.destructors(),
1030
- FunctionKind::Method(MethodKind::Static) |
1031
- FunctionKind::Method(MethodKind::Normal) |
1032
- FunctionKind::Method(MethodKind::Virtual { .. }) => {
1033
- cc.methods()
1034
- }
1035
- },
1036
- }
1037
- }
1038
-
1039
- /// Returns the path we should use for allowlisting / blocklisting, which
1040
- /// doesn't include user-mangling.
1041
- pub(crate) fn path_for_allowlisting(
1042
- &self,
1043
- ctx: &BindgenContext,
1044
- ) -> &Vec<String> {
1045
- self.path_for_allowlisting
1046
- .borrow_with(|| self.compute_path(ctx, UserMangled::No))
1047
- }
1048
-
1049
- fn compute_path(
1050
- &self,
1051
- ctx: &BindgenContext,
1052
- mangled: UserMangled,
1053
- ) -> Vec<String> {
1054
- if let Some(path) = self.annotations().use_instead_of() {
1055
- let mut ret =
1056
- vec![ctx.resolve_item(ctx.root_module()).name(ctx).get()];
1057
- ret.extend_from_slice(path);
1058
- return ret;
1059
- }
1060
-
1061
- let target = ctx.resolve_item(self.name_target(ctx));
1062
- let mut path: Vec<_> = target
1063
- .ancestors(ctx)
1064
- .chain(iter::once(ctx.root_module().into()))
1065
- .map(|id| ctx.resolve_item(id))
1066
- .filter(|item| {
1067
- item.id() == target.id() ||
1068
- item.as_module().map_or(false, |module| {
1069
- !module.is_inline() ||
1070
- ctx.options().conservative_inline_namespaces
1071
- })
1072
- })
1073
- .map(|item| {
1074
- ctx.resolve_item(item.name_target(ctx))
1075
- .name(ctx)
1076
- .within_namespaces()
1077
- .user_mangled(mangled)
1078
- .get()
1079
- })
1080
- .collect();
1081
- path.reverse();
1082
- path
1083
- }
1084
-
1085
- /// Returns a prefix for the canonical name when C naming is enabled.
1086
- fn c_naming_prefix(&self) -> Option<&str> {
1087
- let ty = match self.kind {
1088
- ItemKind::Type(ref ty) => ty,
1089
- _ => return None,
1090
- };
1091
-
1092
- Some(match ty.kind() {
1093
- TypeKind::Comp(ref ci) => match ci.kind() {
1094
- CompKind::Struct => "struct",
1095
- CompKind::Union => "union",
1096
- },
1097
- TypeKind::Enum(..) => "enum",
1098
- _ => return None,
1099
- })
1100
- }
1101
-
1102
- /// Whether this is a `#[must_use]` type.
1103
- pub(crate) fn must_use(&self, ctx: &BindgenContext) -> bool {
1104
- self.annotations().must_use_type() || ctx.must_use_type_by_name(self)
1105
- }
1106
- }
1107
-
1108
- impl<T> IsOpaque for T
1109
- where
1110
- T: Copy + Into<ItemId>,
1111
- {
1112
- type Extra = ();
1113
-
1114
- fn is_opaque(&self, ctx: &BindgenContext, _: &()) -> bool {
1115
- debug_assert!(
1116
- ctx.in_codegen_phase(),
1117
- "You're not supposed to call this yet"
1118
- );
1119
- ctx.resolve_item((*self).into()).is_opaque(ctx, &())
1120
- }
1121
- }
1122
-
1123
- impl IsOpaque for Item {
1124
- type Extra = ();
1125
-
1126
- fn is_opaque(&self, ctx: &BindgenContext, _: &()) -> bool {
1127
- debug_assert!(
1128
- ctx.in_codegen_phase(),
1129
- "You're not supposed to call this yet"
1130
- );
1131
- self.annotations.opaque() ||
1132
- self.as_type().map_or(false, |ty| ty.is_opaque(ctx, self)) ||
1133
- ctx.opaque_by_name(self.path_for_allowlisting(ctx))
1134
- }
1135
- }
1136
-
1137
- impl<T> HasVtable for T
1138
- where
1139
- T: Copy + Into<ItemId>,
1140
- {
1141
- fn has_vtable(&self, ctx: &BindgenContext) -> bool {
1142
- let id: ItemId = (*self).into();
1143
- id.as_type_id(ctx).map_or(false, |id| {
1144
- !matches!(ctx.lookup_has_vtable(id), HasVtableResult::No)
1145
- })
1146
- }
1147
-
1148
- fn has_vtable_ptr(&self, ctx: &BindgenContext) -> bool {
1149
- let id: ItemId = (*self).into();
1150
- id.as_type_id(ctx).map_or(false, |id| {
1151
- matches!(ctx.lookup_has_vtable(id), HasVtableResult::SelfHasVtable)
1152
- })
1153
- }
1154
- }
1155
-
1156
- impl HasVtable for Item {
1157
- fn has_vtable(&self, ctx: &BindgenContext) -> bool {
1158
- self.id().has_vtable(ctx)
1159
- }
1160
-
1161
- fn has_vtable_ptr(&self, ctx: &BindgenContext) -> bool {
1162
- self.id().has_vtable_ptr(ctx)
1163
- }
1164
- }
1165
-
1166
- impl<T> Sizedness for T
1167
- where
1168
- T: Copy + Into<ItemId>,
1169
- {
1170
- fn sizedness(&self, ctx: &BindgenContext) -> SizednessResult {
1171
- let id: ItemId = (*self).into();
1172
- id.as_type_id(ctx)
1173
- .map_or(SizednessResult::default(), |id| ctx.lookup_sizedness(id))
1174
- }
1175
- }
1176
-
1177
- impl Sizedness for Item {
1178
- fn sizedness(&self, ctx: &BindgenContext) -> SizednessResult {
1179
- self.id().sizedness(ctx)
1180
- }
1181
- }
1182
-
1183
- impl<T> HasTypeParamInArray for T
1184
- where
1185
- T: Copy + Into<ItemId>,
1186
- {
1187
- fn has_type_param_in_array(&self, ctx: &BindgenContext) -> bool {
1188
- debug_assert!(
1189
- ctx.in_codegen_phase(),
1190
- "You're not supposed to call this yet"
1191
- );
1192
- ctx.lookup_has_type_param_in_array(*self)
1193
- }
1194
- }
1195
-
1196
- impl HasTypeParamInArray for Item {
1197
- fn has_type_param_in_array(&self, ctx: &BindgenContext) -> bool {
1198
- debug_assert!(
1199
- ctx.in_codegen_phase(),
1200
- "You're not supposed to call this yet"
1201
- );
1202
- ctx.lookup_has_type_param_in_array(self.id())
1203
- }
1204
- }
1205
-
1206
- impl<T> HasFloat for T
1207
- where
1208
- T: Copy + Into<ItemId>,
1209
- {
1210
- fn has_float(&self, ctx: &BindgenContext) -> bool {
1211
- debug_assert!(
1212
- ctx.in_codegen_phase(),
1213
- "You're not supposed to call this yet"
1214
- );
1215
- ctx.lookup_has_float(*self)
1216
- }
1217
- }
1218
-
1219
- impl HasFloat for Item {
1220
- fn has_float(&self, ctx: &BindgenContext) -> bool {
1221
- debug_assert!(
1222
- ctx.in_codegen_phase(),
1223
- "You're not supposed to call this yet"
1224
- );
1225
- ctx.lookup_has_float(self.id())
1226
- }
1227
- }
1228
-
1229
- /// A set of items.
1230
- pub(crate) type ItemSet = BTreeSet<ItemId>;
1231
-
1232
- impl DotAttributes for Item {
1233
- fn dot_attributes<W>(
1234
- &self,
1235
- ctx: &BindgenContext,
1236
- out: &mut W,
1237
- ) -> io::Result<()>
1238
- where
1239
- W: io::Write,
1240
- {
1241
- writeln!(
1242
- out,
1243
- "<tr><td>{:?}</td></tr>
1244
- <tr><td>name</td><td>{}</td></tr>",
1245
- self.id,
1246
- self.name(ctx).get()
1247
- )?;
1248
-
1249
- if self.is_opaque(ctx, &()) {
1250
- writeln!(out, "<tr><td>opaque</td><td>true</td></tr>")?;
1251
- }
1252
-
1253
- self.kind.dot_attributes(ctx, out)
1254
- }
1255
- }
1256
-
1257
- impl<T> TemplateParameters for T
1258
- where
1259
- T: Copy + Into<ItemId>,
1260
- {
1261
- fn self_template_params(&self, ctx: &BindgenContext) -> Vec<TypeId> {
1262
- ctx.resolve_item_fallible(*self)
1263
- .map_or(vec![], |item| item.self_template_params(ctx))
1264
- }
1265
- }
1266
-
1267
- impl TemplateParameters for Item {
1268
- fn self_template_params(&self, ctx: &BindgenContext) -> Vec<TypeId> {
1269
- self.kind.self_template_params(ctx)
1270
- }
1271
- }
1272
-
1273
- impl TemplateParameters for ItemKind {
1274
- fn self_template_params(&self, ctx: &BindgenContext) -> Vec<TypeId> {
1275
- match *self {
1276
- ItemKind::Type(ref ty) => ty.self_template_params(ctx),
1277
- // If we start emitting bindings to explicitly instantiated
1278
- // functions, then we'll need to check ItemKind::Function for
1279
- // template params.
1280
- ItemKind::Function(_) | ItemKind::Module(_) | ItemKind::Var(_) => {
1281
- vec![]
1282
- }
1283
- }
1284
- }
1285
- }
1286
-
1287
- // An utility function to handle recursing inside nested types.
1288
- fn visit_child(
1289
- cur: clang::Cursor,
1290
- id: ItemId,
1291
- ty: &clang::Type,
1292
- parent_id: Option<ItemId>,
1293
- ctx: &mut BindgenContext,
1294
- result: &mut Result<TypeId, ParseError>,
1295
- ) -> clang_sys::CXChildVisitResult {
1296
- use clang_sys::*;
1297
- if result.is_ok() {
1298
- return CXChildVisit_Break;
1299
- }
1300
-
1301
- *result = Item::from_ty_with_id(id, ty, cur, parent_id, ctx);
1302
-
1303
- match *result {
1304
- Ok(..) => CXChildVisit_Break,
1305
- Err(ParseError::Recurse) => {
1306
- cur.visit(|c| visit_child(c, id, ty, parent_id, ctx, result));
1307
- CXChildVisit_Continue
1308
- }
1309
- Err(ParseError::Continue) => CXChildVisit_Continue,
1310
- }
1311
- }
1312
-
1313
- impl Item {
1314
- /// Create a builtin type.
1315
- pub(crate) fn builtin_type(
1316
- kind: TypeKind,
1317
- is_const: bool,
1318
- ctx: &mut BindgenContext,
1319
- ) -> TypeId {
1320
- // Feel free to add more here, I'm just lazy.
1321
- match kind {
1322
- TypeKind::Void |
1323
- TypeKind::Int(..) |
1324
- TypeKind::Pointer(..) |
1325
- TypeKind::Float(..) => {}
1326
- _ => panic!("Unsupported builtin type"),
1327
- }
1328
-
1329
- let ty = Type::new(None, None, kind, is_const);
1330
- let id = ctx.next_item_id();
1331
- let module = ctx.root_module().into();
1332
- ctx.add_item(
1333
- Item::new(id, None, None, module, ItemKind::Type(ty), None),
1334
- None,
1335
- None,
1336
- );
1337
- id.as_type_id_unchecked()
1338
- }
1339
-
1340
- /// Parse this item from the given Clang cursor.
1341
- pub(crate) fn parse(
1342
- cursor: clang::Cursor,
1343
- parent_id: Option<ItemId>,
1344
- ctx: &mut BindgenContext,
1345
- ) -> Result<ItemId, ParseError> {
1346
- use crate::ir::var::Var;
1347
- use clang_sys::*;
1348
-
1349
- if !cursor.is_valid() {
1350
- return Err(ParseError::Continue);
1351
- }
1352
-
1353
- let comment = cursor.raw_comment();
1354
- let annotations = Annotations::new(&cursor);
1355
-
1356
- let current_module = ctx.current_module().into();
1357
- let relevant_parent_id = parent_id.unwrap_or(current_module);
1358
-
1359
- #[allow(clippy::missing_docs_in_private_items)]
1360
- macro_rules! try_parse {
1361
- ($what:ident) => {
1362
- match $what::parse(cursor, ctx) {
1363
- Ok(ParseResult::New(item, declaration)) => {
1364
- let id = ctx.next_item_id();
1365
-
1366
- ctx.add_item(
1367
- Item::new(
1368
- id,
1369
- comment,
1370
- annotations,
1371
- relevant_parent_id,
1372
- ItemKind::$what(item),
1373
- Some(cursor.location()),
1374
- ),
1375
- declaration,
1376
- Some(cursor),
1377
- );
1378
- return Ok(id);
1379
- }
1380
- Ok(ParseResult::AlreadyResolved(id)) => {
1381
- return Ok(id);
1382
- }
1383
- Err(ParseError::Recurse) => return Err(ParseError::Recurse),
1384
- Err(ParseError::Continue) => {}
1385
- }
1386
- };
1387
- }
1388
-
1389
- try_parse!(Module);
1390
-
1391
- // NOTE: Is extremely important to parse functions and vars **before**
1392
- // types. Otherwise we can parse a function declaration as a type
1393
- // (which is legal), and lose functions to generate.
1394
- //
1395
- // In general, I'm not totally confident this split between
1396
- // ItemKind::Function and TypeKind::FunctionSig is totally worth it, but
1397
- // I guess we can try.
1398
- try_parse!(Function);
1399
- try_parse!(Var);
1400
-
1401
- // Types are sort of special, so to avoid parsing template classes
1402
- // twice, handle them separately.
1403
- {
1404
- let definition = cursor.definition();
1405
- let applicable_cursor = definition.unwrap_or(cursor);
1406
-
1407
- let relevant_parent_id = match definition {
1408
- Some(definition) => {
1409
- if definition != cursor {
1410
- ctx.add_semantic_parent(definition, relevant_parent_id);
1411
- return Ok(Item::from_ty_or_ref(
1412
- applicable_cursor.cur_type(),
1413
- cursor,
1414
- parent_id,
1415
- ctx,
1416
- )
1417
- .into());
1418
- }
1419
- ctx.known_semantic_parent(definition)
1420
- .or(parent_id)
1421
- .unwrap_or_else(|| ctx.current_module().into())
1422
- }
1423
- None => relevant_parent_id,
1424
- };
1425
-
1426
- match Item::from_ty(
1427
- &applicable_cursor.cur_type(),
1428
- applicable_cursor,
1429
- Some(relevant_parent_id),
1430
- ctx,
1431
- ) {
1432
- Ok(ty) => return Ok(ty.into()),
1433
- Err(ParseError::Recurse) => return Err(ParseError::Recurse),
1434
- Err(ParseError::Continue) => {}
1435
- }
1436
- }
1437
-
1438
- match cursor.kind() {
1439
- // On Clang 18+, extern "C" is reported accurately as a LinkageSpec.
1440
- // Older LLVM treat it as UnexposedDecl.
1441
- CXCursor_LinkageSpec | CXCursor_UnexposedDecl => {
1442
- Err(ParseError::Recurse)
1443
- }
1444
-
1445
- // We allowlist cursors here known to be unhandled, to prevent being
1446
- // too noisy about this.
1447
- CXCursor_MacroDefinition |
1448
- CXCursor_MacroExpansion |
1449
- CXCursor_UsingDeclaration |
1450
- CXCursor_UsingDirective |
1451
- CXCursor_StaticAssert |
1452
- CXCursor_FunctionTemplate => {
1453
- debug!(
1454
- "Unhandled cursor kind {:?}: {:?}",
1455
- cursor.kind(),
1456
- cursor
1457
- );
1458
- Err(ParseError::Continue)
1459
- }
1460
-
1461
- CXCursor_InclusionDirective => {
1462
- let file = cursor.get_included_file_name();
1463
- match file {
1464
- None => {
1465
- warn!("Inclusion of a nameless file in {:?}", cursor);
1466
- }
1467
- Some(included_file) => {
1468
- for cb in &ctx.options().parse_callbacks {
1469
- cb.include_file(&included_file);
1470
- }
1471
-
1472
- ctx.add_dep(included_file.into_boxed_str());
1473
- }
1474
- }
1475
- Err(ParseError::Continue)
1476
- }
1477
-
1478
- _ => {
1479
- // ignore toplevel operator overloads
1480
- let spelling = cursor.spelling();
1481
- if !spelling.starts_with("operator") {
1482
- warn!(
1483
- "Unhandled cursor kind {:?}: {:?}",
1484
- cursor.kind(),
1485
- cursor
1486
- );
1487
- }
1488
- Err(ParseError::Continue)
1489
- }
1490
- }
1491
- }
1492
-
1493
- /// Parse this item from the given Clang type, or if we haven't resolved all
1494
- /// the other items this one depends on, an unresolved reference.
1495
- pub(crate) fn from_ty_or_ref(
1496
- ty: clang::Type,
1497
- location: clang::Cursor,
1498
- parent_id: Option<ItemId>,
1499
- ctx: &mut BindgenContext,
1500
- ) -> TypeId {
1501
- let id = ctx.next_item_id();
1502
- Self::from_ty_or_ref_with_id(id, ty, location, parent_id, ctx)
1503
- }
1504
-
1505
- /// Parse a C++ type. If we find a reference to a type that has not been
1506
- /// defined yet, use `UnresolvedTypeRef` as a placeholder.
1507
- ///
1508
- /// This logic is needed to avoid parsing items with the incorrect parent
1509
- /// and it's sort of complex to explain, so I'll just point to
1510
- /// `tests/headers/typeref.hpp` to see the kind of constructs that forced
1511
- /// this.
1512
- ///
1513
- /// Typerefs are resolved once parsing is completely done, see
1514
- /// `BindgenContext::resolve_typerefs`.
1515
- pub(crate) fn from_ty_or_ref_with_id(
1516
- potential_id: ItemId,
1517
- ty: clang::Type,
1518
- location: clang::Cursor,
1519
- parent_id: Option<ItemId>,
1520
- ctx: &mut BindgenContext,
1521
- ) -> TypeId {
1522
- debug!(
1523
- "from_ty_or_ref_with_id: {:?} {:?}, {:?}, {:?}",
1524
- potential_id, ty, location, parent_id
1525
- );
1526
-
1527
- if ctx.collected_typerefs() {
1528
- debug!("refs already collected, resolving directly");
1529
- return Item::from_ty_with_id(
1530
- potential_id,
1531
- &ty,
1532
- location,
1533
- parent_id,
1534
- ctx,
1535
- )
1536
- .unwrap_or_else(|_| Item::new_opaque_type(potential_id, &ty, ctx));
1537
- }
1538
-
1539
- if let Some(ty) = ctx.builtin_or_resolved_ty(
1540
- potential_id,
1541
- parent_id,
1542
- &ty,
1543
- Some(location),
1544
- ) {
1545
- debug!("{:?} already resolved: {:?}", ty, location);
1546
- return ty;
1547
- }
1548
-
1549
- debug!("New unresolved type reference: {:?}, {:?}", ty, location);
1550
-
1551
- let is_const = ty.is_const();
1552
- let kind = TypeKind::UnresolvedTypeRef(ty, location, parent_id);
1553
- let current_module = ctx.current_module();
1554
-
1555
- ctx.add_item(
1556
- Item::new(
1557
- potential_id,
1558
- None,
1559
- None,
1560
- parent_id.unwrap_or_else(|| current_module.into()),
1561
- ItemKind::Type(Type::new(None, None, kind, is_const)),
1562
- Some(location.location()),
1563
- ),
1564
- None,
1565
- None,
1566
- );
1567
- potential_id.as_type_id_unchecked()
1568
- }
1569
-
1570
- /// Parse this item from the given Clang type. See [`Item::from_ty_with_id`].
1571
- pub(crate) fn from_ty(
1572
- ty: &clang::Type,
1573
- location: clang::Cursor,
1574
- parent_id: Option<ItemId>,
1575
- ctx: &mut BindgenContext,
1576
- ) -> Result<TypeId, ParseError> {
1577
- let id = ctx.next_item_id();
1578
- Item::from_ty_with_id(id, ty, location, parent_id, ctx)
1579
- }
1580
-
1581
- /// This is one of the trickiest methods you'll find (probably along with
1582
- /// some of the ones that handle templates in `BindgenContext`).
1583
- ///
1584
- /// This method parses a type, given the potential ID of that type (if
1585
- /// parsing it was correct), an optional location we're scanning, which is
1586
- /// critical some times to obtain information, an optional parent item ID,
1587
- /// that will, if it's `None`, become the current module ID, and the
1588
- /// context.
1589
- pub(crate) fn from_ty_with_id(
1590
- id: ItemId,
1591
- ty: &clang::Type,
1592
- location: clang::Cursor,
1593
- parent_id: Option<ItemId>,
1594
- ctx: &mut BindgenContext,
1595
- ) -> Result<TypeId, ParseError> {
1596
- use clang_sys::*;
1597
-
1598
- debug!(
1599
- "Item::from_ty_with_id: {:?}\n\
1600
- \tty = {:?},\n\
1601
- \tlocation = {:?}",
1602
- id, ty, location
1603
- );
1604
-
1605
- if ty.kind() == clang_sys::CXType_Unexposed ||
1606
- location.cur_type().kind() == clang_sys::CXType_Unexposed
1607
- {
1608
- if ty.is_associated_type() ||
1609
- location.cur_type().is_associated_type()
1610
- {
1611
- return Ok(Item::new_opaque_type(id, ty, ctx));
1612
- }
1613
-
1614
- if let Some(param_id) = Item::type_param(None, location, ctx) {
1615
- return Ok(ctx.build_ty_wrapper(id, param_id, None, ty));
1616
- }
1617
- }
1618
-
1619
- // Treat all types that are declared inside functions as opaque. The Rust binding
1620
- // won't be able to do anything with them anyway.
1621
- //
1622
- // (If we don't do this check here, we can have subtle logic bugs because we generally
1623
- // ignore function bodies. See issue #2036.)
1624
- if let Some(ref parent) = ty.declaration().fallible_semantic_parent() {
1625
- if FunctionKind::from_cursor(parent).is_some() {
1626
- debug!("Skipping type declared inside function: {:?}", ty);
1627
- return Ok(Item::new_opaque_type(id, ty, ctx));
1628
- }
1629
- }
1630
-
1631
- let decl = {
1632
- let canonical_def = ty.canonical_type().declaration().definition();
1633
- canonical_def.unwrap_or_else(|| ty.declaration())
1634
- };
1635
-
1636
- let comment = location
1637
- .raw_comment()
1638
- .or_else(|| decl.raw_comment())
1639
- .or_else(|| location.raw_comment());
1640
-
1641
- let annotations =
1642
- Annotations::new(&decl).or_else(|| Annotations::new(&location));
1643
-
1644
- if let Some(ref annotations) = annotations {
1645
- if let Some(replaced) = annotations.use_instead_of() {
1646
- ctx.replace(replaced, id);
1647
- }
1648
- }
1649
-
1650
- if let Some(ty) =
1651
- ctx.builtin_or_resolved_ty(id, parent_id, ty, Some(location))
1652
- {
1653
- return Ok(ty);
1654
- }
1655
-
1656
- // First, check we're not recursing.
1657
- let mut valid_decl = decl.kind() != CXCursor_NoDeclFound;
1658
- let declaration_to_look_for = if valid_decl {
1659
- decl.canonical()
1660
- } else if location.kind() == CXCursor_ClassTemplate {
1661
- valid_decl = true;
1662
- location
1663
- } else {
1664
- decl
1665
- };
1666
-
1667
- if valid_decl {
1668
- if let Some(partial) = ctx
1669
- .currently_parsed_types()
1670
- .iter()
1671
- .find(|ty| *ty.decl() == declaration_to_look_for)
1672
- {
1673
- debug!("Avoiding recursion parsing type: {:?}", ty);
1674
- // Unchecked because we haven't finished this type yet.
1675
- return Ok(partial.id().as_type_id_unchecked());
1676
- }
1677
- }
1678
-
1679
- let current_module = ctx.current_module().into();
1680
- let partial_ty = PartialType::new(declaration_to_look_for, id);
1681
- if valid_decl {
1682
- ctx.begin_parsing(partial_ty);
1683
- }
1684
-
1685
- let result = Type::from_clang_ty(id, ty, location, parent_id, ctx);
1686
- let relevant_parent_id = parent_id.unwrap_or(current_module);
1687
- let ret = match result {
1688
- Ok(ParseResult::AlreadyResolved(ty)) => {
1689
- Ok(ty.as_type_id_unchecked())
1690
- }
1691
- Ok(ParseResult::New(item, declaration)) => {
1692
- ctx.add_item(
1693
- Item::new(
1694
- id,
1695
- comment,
1696
- annotations,
1697
- relevant_parent_id,
1698
- ItemKind::Type(item),
1699
- Some(location.location()),
1700
- ),
1701
- declaration,
1702
- Some(location),
1703
- );
1704
- Ok(id.as_type_id_unchecked())
1705
- }
1706
- Err(ParseError::Continue) => Err(ParseError::Continue),
1707
- Err(ParseError::Recurse) => {
1708
- debug!("Item::from_ty recursing in the ast");
1709
- let mut result = Err(ParseError::Recurse);
1710
-
1711
- // Need to pop here, otherwise we'll get stuck.
1712
- //
1713
- // TODO: Find a nicer interface, really. Also, the
1714
- // declaration_to_look_for suspiciously shares a lot of
1715
- // logic with ir::context, so we should refactor that.
1716
- if valid_decl {
1717
- let finished = ctx.finish_parsing();
1718
- assert_eq!(*finished.decl(), declaration_to_look_for);
1719
- }
1720
-
1721
- location.visit(|cur| {
1722
- visit_child(cur, id, ty, parent_id, ctx, &mut result)
1723
- });
1724
-
1725
- if valid_decl {
1726
- let partial_ty =
1727
- PartialType::new(declaration_to_look_for, id);
1728
- ctx.begin_parsing(partial_ty);
1729
- }
1730
-
1731
- // If we have recursed into the AST all we know, and we still
1732
- // haven't found what we've got, let's just try and make a named
1733
- // type.
1734
- //
1735
- // This is what happens with some template members, for example.
1736
- if let Err(ParseError::Recurse) = result {
1737
- warn!(
1738
- "Unknown type, assuming named template type: \
1739
- id = {:?}; spelling = {}",
1740
- id,
1741
- ty.spelling()
1742
- );
1743
- Item::type_param(Some(id), location, ctx)
1744
- .map(Ok)
1745
- .unwrap_or(Err(ParseError::Recurse))
1746
- } else {
1747
- result
1748
- }
1749
- }
1750
- };
1751
-
1752
- if valid_decl {
1753
- let partial_ty = ctx.finish_parsing();
1754
- assert_eq!(*partial_ty.decl(), declaration_to_look_for);
1755
- }
1756
-
1757
- ret
1758
- }
1759
-
1760
- /// A named type is a template parameter, e.g., the `T` in `Foo<T>`. They're always local so
1761
- /// it's the only exception when there's no declaration for a type.
1762
- pub(crate) fn type_param(
1763
- with_id: Option<ItemId>,
1764
- location: clang::Cursor,
1765
- ctx: &mut BindgenContext,
1766
- ) -> Option<TypeId> {
1767
- let ty = location.cur_type();
1768
-
1769
- debug!(
1770
- "Item::type_param:\n\
1771
- \twith_id = {:?},\n\
1772
- \tty = {} {:?},\n\
1773
- \tlocation: {:?}",
1774
- with_id,
1775
- ty.spelling(),
1776
- ty,
1777
- location
1778
- );
1779
-
1780
- if ty.kind() != clang_sys::CXType_Unexposed {
1781
- // If the given cursor's type's kind is not Unexposed, then we
1782
- // aren't looking at a template parameter. This check may need to be
1783
- // updated in the future if they start properly exposing template
1784
- // type parameters.
1785
- return None;
1786
- }
1787
-
1788
- let ty_spelling = ty.spelling();
1789
-
1790
- // Clang does not expose any information about template type parameters
1791
- // via their clang::Type, nor does it give us their canonical cursors
1792
- // the straightforward way. However, there are three situations from
1793
- // which we can find the definition of the template type parameter, if
1794
- // the cursor is indeed looking at some kind of a template type
1795
- // parameter or use of one:
1796
- //
1797
- // 1. The cursor is pointing at the template type parameter's
1798
- // definition. This is the trivial case.
1799
- //
1800
- // (kind = TemplateTypeParameter, ...)
1801
- //
1802
- // 2. The cursor is pointing at a TypeRef whose referenced() cursor is
1803
- // situation (1).
1804
- //
1805
- // (kind = TypeRef,
1806
- // referenced = (kind = TemplateTypeParameter, ...),
1807
- // ...)
1808
- //
1809
- // 3. The cursor is pointing at some use of a template type parameter
1810
- // (for example, in a FieldDecl), and this cursor has a child cursor
1811
- // whose spelling is the same as the parent's type's spelling, and whose
1812
- // kind is a TypeRef of the situation (2) variety.
1813
- //
1814
- // (kind = FieldDecl,
1815
- // type = (kind = Unexposed,
1816
- // spelling = "T",
1817
- // ...),
1818
- // children =
1819
- // (kind = TypeRef,
1820
- // spelling = "T",
1821
- // referenced = (kind = TemplateTypeParameter,
1822
- // spelling = "T",
1823
- // ...),
1824
- // ...)
1825
- // ...)
1826
- //
1827
- // TODO: The alternative to this hacky pattern matching would be to
1828
- // maintain proper scopes of template parameters while parsing and use
1829
- // de Brujin indices to access template parameters, which clang exposes
1830
- // in the cursor's type's canonical type's spelling:
1831
- // "type-parameter-x-y". That is probably a better approach long-term,
1832
- // but maintaining these scopes properly would require more changes to
1833
- // the whole libclang -> IR parsing code.
1834
-
1835
- fn is_template_with_spelling(
1836
- refd: &clang::Cursor,
1837
- spelling: &str,
1838
- ) -> bool {
1839
- lazy_static! {
1840
- static ref ANON_TYPE_PARAM_RE: regex::Regex =
1841
- regex::Regex::new(r"^type\-parameter\-\d+\-\d+$").unwrap();
1842
- }
1843
-
1844
- if refd.kind() != clang_sys::CXCursor_TemplateTypeParameter {
1845
- return false;
1846
- }
1847
-
1848
- let refd_spelling = refd.spelling();
1849
- refd_spelling == spelling ||
1850
- // Allow for anonymous template parameters.
1851
- (refd_spelling.is_empty() && ANON_TYPE_PARAM_RE.is_match(spelling.as_ref()))
1852
- }
1853
-
1854
- let definition = if is_template_with_spelling(&location, &ty_spelling) {
1855
- // Situation (1)
1856
- location
1857
- } else if location.kind() == clang_sys::CXCursor_TypeRef {
1858
- // Situation (2)
1859
- match location.referenced() {
1860
- Some(refd)
1861
- if is_template_with_spelling(&refd, &ty_spelling) =>
1862
- {
1863
- refd
1864
- }
1865
- _ => return None,
1866
- }
1867
- } else {
1868
- // Situation (3)
1869
- let mut definition = None;
1870
-
1871
- location.visit(|child| {
1872
- let child_ty = child.cur_type();
1873
- if child_ty.kind() == clang_sys::CXCursor_TypeRef &&
1874
- child_ty.spelling() == ty_spelling
1875
- {
1876
- match child.referenced() {
1877
- Some(refd)
1878
- if is_template_with_spelling(
1879
- &refd,
1880
- &ty_spelling,
1881
- ) =>
1882
- {
1883
- definition = Some(refd);
1884
- return clang_sys::CXChildVisit_Break;
1885
- }
1886
- _ => {}
1887
- }
1888
- }
1889
-
1890
- clang_sys::CXChildVisit_Continue
1891
- });
1892
-
1893
- definition?
1894
- };
1895
- assert!(is_template_with_spelling(&definition, &ty_spelling));
1896
-
1897
- // Named types are always parented to the root module. They are never
1898
- // referenced with namespace prefixes, and they can't inherit anything
1899
- // from their parent either, so it is simplest to just hang them off
1900
- // something we know will always exist.
1901
- let parent = ctx.root_module().into();
1902
-
1903
- if let Some(id) = ctx.get_type_param(&definition) {
1904
- if let Some(with_id) = with_id {
1905
- return Some(ctx.build_ty_wrapper(
1906
- with_id,
1907
- id,
1908
- Some(parent),
1909
- &ty,
1910
- ));
1911
- } else {
1912
- return Some(id);
1913
- }
1914
- }
1915
-
1916
- // See tests/headers/const_tparam.hpp and
1917
- // tests/headers/variadic_tname.hpp.
1918
- let name = ty_spelling.replace("const ", "").replace('.', "");
1919
-
1920
- let id = with_id.unwrap_or_else(|| ctx.next_item_id());
1921
- let item = Item::new(
1922
- id,
1923
- None,
1924
- None,
1925
- parent,
1926
- ItemKind::Type(Type::named(name)),
1927
- Some(location.location()),
1928
- );
1929
- ctx.add_type_param(item, definition);
1930
- Some(id.as_type_id_unchecked())
1931
- }
1932
- }
1933
-
1934
- impl ItemCanonicalName for Item {
1935
- fn canonical_name(&self, ctx: &BindgenContext) -> String {
1936
- debug_assert!(
1937
- ctx.in_codegen_phase(),
1938
- "You're not supposed to call this yet"
1939
- );
1940
- self.canonical_name
1941
- .borrow_with(|| {
1942
- let in_namespace = ctx.options().enable_cxx_namespaces ||
1943
- ctx.options().disable_name_namespacing;
1944
-
1945
- if in_namespace {
1946
- self.name(ctx).within_namespaces().get()
1947
- } else {
1948
- self.name(ctx).get()
1949
- }
1950
- })
1951
- .clone()
1952
- }
1953
- }
1954
-
1955
- impl ItemCanonicalPath for Item {
1956
- fn namespace_aware_canonical_path(
1957
- &self,
1958
- ctx: &BindgenContext,
1959
- ) -> Vec<String> {
1960
- let mut path = self.canonical_path(ctx);
1961
-
1962
- // ASSUMPTION: (disable_name_namespacing && cxx_namespaces)
1963
- // is equivalent to
1964
- // disable_name_namespacing
1965
- if ctx.options().disable_name_namespacing {
1966
- // Only keep the last item in path
1967
- let split_idx = path.len() - 1;
1968
- path = path.split_off(split_idx);
1969
- } else if !ctx.options().enable_cxx_namespaces {
1970
- // Ignore first item "root"
1971
- path = vec![path[1..].join("_")];
1972
- }
1973
-
1974
- if self.is_constified_enum_module(ctx) {
1975
- path.push(CONSTIFIED_ENUM_MODULE_REPR_NAME.into());
1976
- }
1977
-
1978
- path
1979
- }
1980
-
1981
- fn canonical_path(&self, ctx: &BindgenContext) -> Vec<String> {
1982
- self.compute_path(ctx, UserMangled::Yes)
1983
- }
1984
- }
1985
-
1986
- /// Whether to use the user-mangled name (mangled by the `item_name` callback or
1987
- /// not.
1988
- ///
1989
- /// Most of the callers probably want just yes, but the ones dealing with
1990
- /// allowlisting and blocklisting don't.
1991
- #[derive(Copy, Clone, Debug, PartialEq)]
1992
- enum UserMangled {
1993
- No,
1994
- Yes,
1995
- }
1996
-
1997
- /// Builder struct for naming variations, which hold inside different
1998
- /// flags for naming options.
1999
- #[derive(Debug)]
2000
- pub(crate) struct NameOptions<'a> {
2001
- item: &'a Item,
2002
- ctx: &'a BindgenContext,
2003
- within_namespaces: bool,
2004
- user_mangled: UserMangled,
2005
- }
2006
-
2007
- impl<'a> NameOptions<'a> {
2008
- /// Construct a new `NameOptions`
2009
- pub(crate) fn new(item: &'a Item, ctx: &'a BindgenContext) -> Self {
2010
- NameOptions {
2011
- item,
2012
- ctx,
2013
- within_namespaces: false,
2014
- user_mangled: UserMangled::Yes,
2015
- }
2016
- }
2017
-
2018
- /// Construct the name without the item's containing C++ namespaces mangled
2019
- /// into it. In other words, the item's name within the item's namespace.
2020
- pub(crate) fn within_namespaces(&mut self) -> &mut Self {
2021
- self.within_namespaces = true;
2022
- self
2023
- }
2024
-
2025
- fn user_mangled(&mut self, user_mangled: UserMangled) -> &mut Self {
2026
- self.user_mangled = user_mangled;
2027
- self
2028
- }
2029
-
2030
- /// Construct a name `String`
2031
- pub(crate) fn get(&self) -> String {
2032
- self.item.real_canonical_name(self.ctx, self)
2033
- }
2034
- }