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,1896 +0,0 @@
1
- //! Compound types (unions and structs) in our intermediate representation.
2
-
3
- use itertools::Itertools;
4
-
5
- use super::analysis::Sizedness;
6
- use super::annotations::Annotations;
7
- use super::context::{BindgenContext, FunctionId, ItemId, TypeId, VarId};
8
- use super::dot::DotAttributes;
9
- use super::item::{IsOpaque, Item};
10
- use super::layout::Layout;
11
- use super::template::TemplateParameters;
12
- use super::traversal::{EdgeKind, Trace, Tracer};
13
- use super::ty::RUST_DERIVE_IN_ARRAY_LIMIT;
14
- use crate::clang;
15
- use crate::codegen::struct_layout::{align_to, bytes_from_bits_pow2};
16
- use crate::ir::derive::CanDeriveCopy;
17
- use crate::parse::ParseError;
18
- use crate::HashMap;
19
- use crate::NonCopyUnionStyle;
20
- use std::cmp;
21
- use std::io;
22
- use std::mem;
23
-
24
- /// The kind of compound type.
25
- #[derive(Debug, Copy, Clone, PartialEq, Eq)]
26
- pub(crate) enum CompKind {
27
- /// A struct.
28
- Struct,
29
- /// A union.
30
- Union,
31
- }
32
-
33
- /// The kind of C++ method.
34
- #[derive(Debug, Copy, Clone, PartialEq, Eq)]
35
- pub(crate) enum MethodKind {
36
- /// A constructor. We represent it as method for convenience, to avoid code
37
- /// duplication.
38
- Constructor,
39
- /// A destructor.
40
- Destructor,
41
- /// A virtual destructor.
42
- VirtualDestructor {
43
- /// Whether it's pure virtual.
44
- pure_virtual: bool,
45
- },
46
- /// A static method.
47
- Static,
48
- /// A normal method.
49
- Normal,
50
- /// A virtual method.
51
- Virtual {
52
- /// Whether it's pure virtual.
53
- pure_virtual: bool,
54
- },
55
- }
56
-
57
- impl MethodKind {
58
- /// Is this a destructor method?
59
- pub(crate) fn is_destructor(&self) -> bool {
60
- matches!(
61
- *self,
62
- MethodKind::Destructor | MethodKind::VirtualDestructor { .. }
63
- )
64
- }
65
-
66
- /// Is this a pure virtual method?
67
- pub(crate) fn is_pure_virtual(&self) -> bool {
68
- match *self {
69
- MethodKind::Virtual { pure_virtual } |
70
- MethodKind::VirtualDestructor { pure_virtual } => pure_virtual,
71
- _ => false,
72
- }
73
- }
74
- }
75
-
76
- /// A struct representing a C++ method, either static, normal, or virtual.
77
- #[derive(Debug)]
78
- pub(crate) struct Method {
79
- kind: MethodKind,
80
- /// The signature of the method. Take into account this is not a `Type`
81
- /// item, but a `Function` one.
82
- ///
83
- /// This is tricky and probably this field should be renamed.
84
- signature: FunctionId,
85
- is_const: bool,
86
- }
87
-
88
- impl Method {
89
- /// Construct a new `Method`.
90
- pub(crate) fn new(
91
- kind: MethodKind,
92
- signature: FunctionId,
93
- is_const: bool,
94
- ) -> Self {
95
- Method {
96
- kind,
97
- signature,
98
- is_const,
99
- }
100
- }
101
-
102
- /// What kind of method is this?
103
- pub(crate) fn kind(&self) -> MethodKind {
104
- self.kind
105
- }
106
-
107
- /// Is this a constructor?
108
- pub(crate) fn is_constructor(&self) -> bool {
109
- self.kind == MethodKind::Constructor
110
- }
111
-
112
- /// Is this a virtual method?
113
- pub(crate) fn is_virtual(&self) -> bool {
114
- matches!(
115
- self.kind,
116
- MethodKind::Virtual { .. } | MethodKind::VirtualDestructor { .. }
117
- )
118
- }
119
-
120
- /// Is this a static method?
121
- pub(crate) fn is_static(&self) -> bool {
122
- self.kind == MethodKind::Static
123
- }
124
-
125
- /// Get the ID for the `Function` signature for this method.
126
- pub(crate) fn signature(&self) -> FunctionId {
127
- self.signature
128
- }
129
-
130
- /// Is this a const qualified method?
131
- pub(crate) fn is_const(&self) -> bool {
132
- self.is_const
133
- }
134
- }
135
-
136
- /// Methods common to the various field types.
137
- pub(crate) trait FieldMethods {
138
- /// Get the name of this field.
139
- fn name(&self) -> Option<&str>;
140
-
141
- /// Get the type of this field.
142
- fn ty(&self) -> TypeId;
143
-
144
- /// Get the comment for this field.
145
- fn comment(&self) -> Option<&str>;
146
-
147
- /// If this is a bitfield, how many bits does it need?
148
- fn bitfield_width(&self) -> Option<u32>;
149
-
150
- /// Is this feild declared public?
151
- fn is_public(&self) -> bool;
152
-
153
- /// Get the annotations for this field.
154
- fn annotations(&self) -> &Annotations;
155
-
156
- /// The offset of the field (in bits)
157
- fn offset(&self) -> Option<usize>;
158
- }
159
-
160
- /// A contiguous set of logical bitfields that live within the same physical
161
- /// allocation unit. See 9.2.4 [class.bit] in the C++ standard and [section
162
- /// 2.4.II.1 in the Itanium C++
163
- /// ABI](http://itanium-cxx-abi.github.io/cxx-abi/abi.html#class-types).
164
- #[derive(Debug)]
165
- pub(crate) struct BitfieldUnit {
166
- nth: usize,
167
- layout: Layout,
168
- bitfields: Vec<Bitfield>,
169
- }
170
-
171
- impl BitfieldUnit {
172
- /// Get the 1-based index of this bitfield unit within its containing
173
- /// struct. Useful for generating a Rust struct's field name for this unit
174
- /// of bitfields.
175
- pub(crate) fn nth(&self) -> usize {
176
- self.nth
177
- }
178
-
179
- /// Get the layout within which these bitfields reside.
180
- pub(crate) fn layout(&self) -> Layout {
181
- self.layout
182
- }
183
-
184
- /// Get the bitfields within this unit.
185
- pub(crate) fn bitfields(&self) -> &[Bitfield] {
186
- &self.bitfields
187
- }
188
- }
189
-
190
- /// A struct representing a C++ field.
191
- #[derive(Debug)]
192
- pub(crate) enum Field {
193
- /// A normal data member.
194
- DataMember(FieldData),
195
-
196
- /// A physical allocation unit containing many logical bitfields.
197
- Bitfields(BitfieldUnit),
198
- }
199
-
200
- impl Field {
201
- /// Get this field's layout.
202
- pub(crate) fn layout(&self, ctx: &BindgenContext) -> Option<Layout> {
203
- match *self {
204
- Field::Bitfields(BitfieldUnit { layout, .. }) => Some(layout),
205
- Field::DataMember(ref data) => {
206
- ctx.resolve_type(data.ty).layout(ctx)
207
- }
208
- }
209
- }
210
- }
211
-
212
- impl Trace for Field {
213
- type Extra = ();
214
-
215
- fn trace<T>(&self, _: &BindgenContext, tracer: &mut T, _: &())
216
- where
217
- T: Tracer,
218
- {
219
- match *self {
220
- Field::DataMember(ref data) => {
221
- tracer.visit_kind(data.ty.into(), EdgeKind::Field);
222
- }
223
- Field::Bitfields(BitfieldUnit { ref bitfields, .. }) => {
224
- for bf in bitfields {
225
- tracer.visit_kind(bf.ty().into(), EdgeKind::Field);
226
- }
227
- }
228
- }
229
- }
230
- }
231
-
232
- impl DotAttributes for Field {
233
- fn dot_attributes<W>(
234
- &self,
235
- ctx: &BindgenContext,
236
- out: &mut W,
237
- ) -> io::Result<()>
238
- where
239
- W: io::Write,
240
- {
241
- match *self {
242
- Field::DataMember(ref data) => data.dot_attributes(ctx, out),
243
- Field::Bitfields(BitfieldUnit {
244
- layout,
245
- ref bitfields,
246
- ..
247
- }) => {
248
- writeln!(
249
- out,
250
- r#"<tr>
251
- <td>bitfield unit</td>
252
- <td>
253
- <table border="0">
254
- <tr>
255
- <td>unit.size</td><td>{}</td>
256
- </tr>
257
- <tr>
258
- <td>unit.align</td><td>{}</td>
259
- </tr>
260
- "#,
261
- layout.size, layout.align
262
- )?;
263
- for bf in bitfields {
264
- bf.dot_attributes(ctx, out)?;
265
- }
266
- writeln!(out, "</table></td></tr>")
267
- }
268
- }
269
- }
270
- }
271
-
272
- impl DotAttributes for FieldData {
273
- fn dot_attributes<W>(
274
- &self,
275
- _ctx: &BindgenContext,
276
- out: &mut W,
277
- ) -> io::Result<()>
278
- where
279
- W: io::Write,
280
- {
281
- writeln!(
282
- out,
283
- "<tr><td>{}</td><td>{:?}</td></tr>",
284
- self.name().unwrap_or("(anonymous)"),
285
- self.ty()
286
- )
287
- }
288
- }
289
-
290
- impl DotAttributes for Bitfield {
291
- fn dot_attributes<W>(
292
- &self,
293
- _ctx: &BindgenContext,
294
- out: &mut W,
295
- ) -> io::Result<()>
296
- where
297
- W: io::Write,
298
- {
299
- writeln!(
300
- out,
301
- "<tr><td>{} : {}</td><td>{:?}</td></tr>",
302
- self.name().unwrap_or("(anonymous)"),
303
- self.width(),
304
- self.ty()
305
- )
306
- }
307
- }
308
-
309
- /// A logical bitfield within some physical bitfield allocation unit.
310
- #[derive(Debug)]
311
- pub(crate) struct Bitfield {
312
- /// Index of the bit within this bitfield's allocation unit where this
313
- /// bitfield's bits begin.
314
- offset_into_unit: usize,
315
-
316
- /// The field data for this bitfield.
317
- data: FieldData,
318
-
319
- /// Name of the generated Rust getter for this bitfield.
320
- ///
321
- /// Should be assigned before codegen.
322
- getter_name: Option<String>,
323
-
324
- /// Name of the generated Rust setter for this bitfield.
325
- ///
326
- /// Should be assigned before codegen.
327
- setter_name: Option<String>,
328
- }
329
-
330
- impl Bitfield {
331
- /// Construct a new bitfield.
332
- fn new(offset_into_unit: usize, raw: RawField) -> Bitfield {
333
- assert!(raw.bitfield_width().is_some());
334
-
335
- Bitfield {
336
- offset_into_unit,
337
- data: raw.0,
338
- getter_name: None,
339
- setter_name: None,
340
- }
341
- }
342
-
343
- /// Get the index of the bit within this bitfield's allocation unit where
344
- /// this bitfield begins.
345
- pub(crate) fn offset_into_unit(&self) -> usize {
346
- self.offset_into_unit
347
- }
348
-
349
- /// Get the bit width of this bitfield.
350
- pub(crate) fn width(&self) -> u32 {
351
- self.data.bitfield_width().unwrap()
352
- }
353
-
354
- /// Name of the generated Rust getter for this bitfield.
355
- ///
356
- /// Panics if called before assigning bitfield accessor names or if
357
- /// this bitfield have no name.
358
- pub(crate) fn getter_name(&self) -> &str {
359
- assert!(
360
- self.name().is_some(),
361
- "`Bitfield::getter_name` called on anonymous field"
362
- );
363
- self.getter_name.as_ref().expect(
364
- "`Bitfield::getter_name` should only be called after\
365
- assigning bitfield accessor names",
366
- )
367
- }
368
-
369
- /// Name of the generated Rust setter for this bitfield.
370
- ///
371
- /// Panics if called before assigning bitfield accessor names or if
372
- /// this bitfield have no name.
373
- pub(crate) fn setter_name(&self) -> &str {
374
- assert!(
375
- self.name().is_some(),
376
- "`Bitfield::setter_name` called on anonymous field"
377
- );
378
- self.setter_name.as_ref().expect(
379
- "`Bitfield::setter_name` should only be called\
380
- after assigning bitfield accessor names",
381
- )
382
- }
383
- }
384
-
385
- impl FieldMethods for Bitfield {
386
- fn name(&self) -> Option<&str> {
387
- self.data.name()
388
- }
389
-
390
- fn ty(&self) -> TypeId {
391
- self.data.ty()
392
- }
393
-
394
- fn comment(&self) -> Option<&str> {
395
- self.data.comment()
396
- }
397
-
398
- fn bitfield_width(&self) -> Option<u32> {
399
- self.data.bitfield_width()
400
- }
401
-
402
- fn is_public(&self) -> bool {
403
- self.data.is_public()
404
- }
405
-
406
- fn annotations(&self) -> &Annotations {
407
- self.data.annotations()
408
- }
409
-
410
- fn offset(&self) -> Option<usize> {
411
- self.data.offset()
412
- }
413
- }
414
-
415
- /// A raw field might be either of a plain data member or a bitfield within a
416
- /// bitfield allocation unit, but we haven't processed it and determined which
417
- /// yet (which would involve allocating it into a bitfield unit if it is a
418
- /// bitfield).
419
- #[derive(Debug)]
420
- struct RawField(FieldData);
421
-
422
- impl RawField {
423
- /// Construct a new `RawField`.
424
- fn new(
425
- name: Option<String>,
426
- ty: TypeId,
427
- comment: Option<String>,
428
- annotations: Option<Annotations>,
429
- bitfield_width: Option<u32>,
430
- public: bool,
431
- offset: Option<usize>,
432
- ) -> RawField {
433
- RawField(FieldData {
434
- name,
435
- ty,
436
- comment,
437
- annotations: annotations.unwrap_or_default(),
438
- bitfield_width,
439
- public,
440
- offset,
441
- })
442
- }
443
- }
444
-
445
- impl FieldMethods for RawField {
446
- fn name(&self) -> Option<&str> {
447
- self.0.name()
448
- }
449
-
450
- fn ty(&self) -> TypeId {
451
- self.0.ty()
452
- }
453
-
454
- fn comment(&self) -> Option<&str> {
455
- self.0.comment()
456
- }
457
-
458
- fn bitfield_width(&self) -> Option<u32> {
459
- self.0.bitfield_width()
460
- }
461
-
462
- fn is_public(&self) -> bool {
463
- self.0.is_public()
464
- }
465
-
466
- fn annotations(&self) -> &Annotations {
467
- self.0.annotations()
468
- }
469
-
470
- fn offset(&self) -> Option<usize> {
471
- self.0.offset()
472
- }
473
- }
474
-
475
- /// Convert the given ordered set of raw fields into a list of either plain data
476
- /// members, and/or bitfield units containing multiple bitfields.
477
- ///
478
- /// If we do not have the layout for a bitfield's type, then we can't reliably
479
- /// compute its allocation unit. In such cases, we return an error.
480
- fn raw_fields_to_fields_and_bitfield_units<I>(
481
- ctx: &BindgenContext,
482
- raw_fields: I,
483
- packed: bool,
484
- ) -> Result<(Vec<Field>, bool), ()>
485
- where
486
- I: IntoIterator<Item = RawField>,
487
- {
488
- let mut raw_fields = raw_fields.into_iter().fuse().peekable();
489
- let mut fields = vec![];
490
- let mut bitfield_unit_count = 0;
491
-
492
- loop {
493
- // While we have plain old data members, just keep adding them to our
494
- // resulting fields. We introduce a scope here so that we can use
495
- // `raw_fields` again after the `by_ref` iterator adaptor is dropped.
496
- {
497
- let non_bitfields = raw_fields
498
- .by_ref()
499
- .peeking_take_while(|f| f.bitfield_width().is_none())
500
- .map(|f| Field::DataMember(f.0));
501
- fields.extend(non_bitfields);
502
- }
503
-
504
- // Now gather all the consecutive bitfields. Only consecutive bitfields
505
- // may potentially share a bitfield allocation unit with each other in
506
- // the Itanium C++ ABI.
507
- let mut bitfields = raw_fields
508
- .by_ref()
509
- .peeking_take_while(|f| f.bitfield_width().is_some())
510
- .peekable();
511
-
512
- if bitfields.peek().is_none() {
513
- break;
514
- }
515
-
516
- bitfields_to_allocation_units(
517
- ctx,
518
- &mut bitfield_unit_count,
519
- &mut fields,
520
- bitfields,
521
- packed,
522
- )?;
523
- }
524
-
525
- assert!(
526
- raw_fields.next().is_none(),
527
- "The above loop should consume all items in `raw_fields`"
528
- );
529
-
530
- Ok((fields, bitfield_unit_count != 0))
531
- }
532
-
533
- /// Given a set of contiguous raw bitfields, group and allocate them into
534
- /// (potentially multiple) bitfield units.
535
- fn bitfields_to_allocation_units<E, I>(
536
- ctx: &BindgenContext,
537
- bitfield_unit_count: &mut usize,
538
- fields: &mut E,
539
- raw_bitfields: I,
540
- packed: bool,
541
- ) -> Result<(), ()>
542
- where
543
- E: Extend<Field>,
544
- I: IntoIterator<Item = RawField>,
545
- {
546
- assert!(ctx.collected_typerefs());
547
-
548
- // NOTE: What follows is reverse-engineered from LLVM's
549
- // lib/AST/RecordLayoutBuilder.cpp
550
- //
551
- // FIXME(emilio): There are some differences between Microsoft and the
552
- // Itanium ABI, but we'll ignore those and stick to Itanium for now.
553
- //
554
- // Also, we need to handle packed bitfields and stuff.
555
- //
556
- // TODO(emilio): Take into account C++'s wide bitfields, and
557
- // packing, sigh.
558
-
559
- fn flush_allocation_unit<E>(
560
- fields: &mut E,
561
- bitfield_unit_count: &mut usize,
562
- unit_size_in_bits: usize,
563
- unit_align_in_bits: usize,
564
- bitfields: Vec<Bitfield>,
565
- packed: bool,
566
- ) where
567
- E: Extend<Field>,
568
- {
569
- *bitfield_unit_count += 1;
570
- let align = if packed {
571
- 1
572
- } else {
573
- bytes_from_bits_pow2(unit_align_in_bits)
574
- };
575
- let size = align_to(unit_size_in_bits, 8) / 8;
576
- let layout = Layout::new(size, align);
577
- fields.extend(Some(Field::Bitfields(BitfieldUnit {
578
- nth: *bitfield_unit_count,
579
- layout,
580
- bitfields,
581
- })));
582
- }
583
-
584
- let mut max_align = 0;
585
- let mut unfilled_bits_in_unit = 0;
586
- let mut unit_size_in_bits = 0;
587
- let mut unit_align = 0;
588
- let mut bitfields_in_unit = vec![];
589
-
590
- // TODO(emilio): Determine this from attributes or pragma ms_struct
591
- // directives. Also, perhaps we should check if the target is MSVC?
592
- const is_ms_struct: bool = false;
593
-
594
- for bitfield in raw_bitfields {
595
- let bitfield_width = bitfield.bitfield_width().unwrap() as usize;
596
- let bitfield_layout =
597
- ctx.resolve_type(bitfield.ty()).layout(ctx).ok_or(())?;
598
- let bitfield_size = bitfield_layout.size;
599
- let bitfield_align = bitfield_layout.align;
600
-
601
- let mut offset = unit_size_in_bits;
602
- if !packed {
603
- if is_ms_struct {
604
- if unit_size_in_bits != 0 &&
605
- (bitfield_width == 0 ||
606
- bitfield_width > unfilled_bits_in_unit)
607
- {
608
- // We've reached the end of this allocation unit, so flush it
609
- // and its bitfields.
610
- unit_size_in_bits =
611
- align_to(unit_size_in_bits, unit_align * 8);
612
- flush_allocation_unit(
613
- fields,
614
- bitfield_unit_count,
615
- unit_size_in_bits,
616
- unit_align,
617
- mem::take(&mut bitfields_in_unit),
618
- packed,
619
- );
620
-
621
- // Now we're working on a fresh bitfield allocation unit, so reset
622
- // the current unit size and alignment.
623
- offset = 0;
624
- unit_align = 0;
625
- }
626
- } else if offset != 0 &&
627
- (bitfield_width == 0 ||
628
- (offset & (bitfield_align * 8 - 1)) + bitfield_width >
629
- bitfield_size * 8)
630
- {
631
- offset = align_to(offset, bitfield_align * 8);
632
- }
633
- }
634
-
635
- // According to the x86[-64] ABI spec: "Unnamed bit-fields’ types do not
636
- // affect the alignment of a structure or union". This makes sense: such
637
- // bit-fields are only used for padding, and we can't perform an
638
- // un-aligned read of something we can't read because we can't even name
639
- // it.
640
- if bitfield.name().is_some() {
641
- max_align = cmp::max(max_align, bitfield_align);
642
-
643
- // NB: The `bitfield_width` here is completely, absolutely
644
- // intentional. Alignment of the allocation unit is based on the
645
- // maximum bitfield width, not (directly) on the bitfields' types'
646
- // alignment.
647
- unit_align = cmp::max(unit_align, bitfield_width);
648
- }
649
-
650
- // Always keep all bitfields around. While unnamed bitifields are used
651
- // for padding (and usually not needed hereafter), large unnamed
652
- // bitfields over their types size cause weird allocation size behavior from clang.
653
- // Therefore, all bitfields needed to be kept around in order to check for this
654
- // and make the struct opaque in this case
655
- bitfields_in_unit.push(Bitfield::new(offset, bitfield));
656
-
657
- unit_size_in_bits = offset + bitfield_width;
658
-
659
- // Compute what the physical unit's final size would be given what we
660
- // have seen so far, and use that to compute how many bits are still
661
- // available in the unit.
662
- let data_size = align_to(unit_size_in_bits, bitfield_align * 8);
663
- unfilled_bits_in_unit = data_size - unit_size_in_bits;
664
- }
665
-
666
- if unit_size_in_bits != 0 {
667
- // Flush the last allocation unit and its bitfields.
668
- flush_allocation_unit(
669
- fields,
670
- bitfield_unit_count,
671
- unit_size_in_bits,
672
- unit_align,
673
- bitfields_in_unit,
674
- packed,
675
- );
676
- }
677
-
678
- Ok(())
679
- }
680
-
681
- /// A compound structure's fields are initially raw, and have bitfields that
682
- /// have not been grouped into allocation units. During this time, the fields
683
- /// are mutable and we build them up during parsing.
684
- ///
685
- /// Then, once resolving typerefs is completed, we compute all structs' fields'
686
- /// bitfield allocation units, and they remain frozen and immutable forever
687
- /// after.
688
- #[derive(Debug)]
689
- enum CompFields {
690
- Before(Vec<RawField>),
691
- After {
692
- fields: Vec<Field>,
693
- has_bitfield_units: bool,
694
- },
695
- Error,
696
- }
697
-
698
- impl Default for CompFields {
699
- fn default() -> CompFields {
700
- CompFields::Before(vec![])
701
- }
702
- }
703
-
704
- impl CompFields {
705
- fn append_raw_field(&mut self, raw: RawField) {
706
- match *self {
707
- CompFields::Before(ref mut raws) => {
708
- raws.push(raw);
709
- }
710
- _ => {
711
- panic!(
712
- "Must not append new fields after computing bitfield allocation units"
713
- );
714
- }
715
- }
716
- }
717
-
718
- fn compute_bitfield_units(&mut self, ctx: &BindgenContext, packed: bool) {
719
- let raws = match *self {
720
- CompFields::Before(ref mut raws) => mem::take(raws),
721
- _ => {
722
- panic!("Already computed bitfield units");
723
- }
724
- };
725
-
726
- let result = raw_fields_to_fields_and_bitfield_units(ctx, raws, packed);
727
-
728
- match result {
729
- Ok((fields, has_bitfield_units)) => {
730
- *self = CompFields::After {
731
- fields,
732
- has_bitfield_units,
733
- };
734
- }
735
- Err(()) => {
736
- *self = CompFields::Error;
737
- }
738
- }
739
- }
740
-
741
- fn deanonymize_fields(&mut self, ctx: &BindgenContext, methods: &[Method]) {
742
- let fields = match *self {
743
- CompFields::After { ref mut fields, .. } => fields,
744
- // Nothing to do here.
745
- CompFields::Error => return,
746
- CompFields::Before(_) => {
747
- panic!("Not yet computed bitfield units.");
748
- }
749
- };
750
-
751
- fn has_method(
752
- methods: &[Method],
753
- ctx: &BindgenContext,
754
- name: &str,
755
- ) -> bool {
756
- methods.iter().any(|method| {
757
- let method_name = ctx.resolve_func(method.signature()).name();
758
- method_name == name || ctx.rust_mangle(method_name) == name
759
- })
760
- }
761
-
762
- struct AccessorNamesPair {
763
- getter: String,
764
- setter: String,
765
- }
766
-
767
- let mut accessor_names: HashMap<String, AccessorNamesPair> = fields
768
- .iter()
769
- .flat_map(|field| match *field {
770
- Field::Bitfields(ref bu) => &*bu.bitfields,
771
- Field::DataMember(_) => &[],
772
- })
773
- .filter_map(|bitfield| bitfield.name())
774
- .map(|bitfield_name| {
775
- let bitfield_name = bitfield_name.to_string();
776
- let getter = {
777
- let mut getter =
778
- ctx.rust_mangle(&bitfield_name).to_string();
779
- if has_method(methods, ctx, &getter) {
780
- getter.push_str("_bindgen_bitfield");
781
- }
782
- getter
783
- };
784
- let setter = {
785
- let setter = format!("set_{}", bitfield_name);
786
- let mut setter = ctx.rust_mangle(&setter).to_string();
787
- if has_method(methods, ctx, &setter) {
788
- setter.push_str("_bindgen_bitfield");
789
- }
790
- setter
791
- };
792
- (bitfield_name, AccessorNamesPair { getter, setter })
793
- })
794
- .collect();
795
-
796
- let mut anon_field_counter = 0;
797
- for field in fields.iter_mut() {
798
- match *field {
799
- Field::DataMember(FieldData { ref mut name, .. }) => {
800
- if name.is_some() {
801
- continue;
802
- }
803
-
804
- anon_field_counter += 1;
805
- *name = Some(format!(
806
- "{}{}",
807
- ctx.options().anon_fields_prefix,
808
- anon_field_counter
809
- ));
810
- }
811
- Field::Bitfields(ref mut bu) => {
812
- for bitfield in &mut bu.bitfields {
813
- if bitfield.name().is_none() {
814
- continue;
815
- }
816
-
817
- if let Some(AccessorNamesPair { getter, setter }) =
818
- accessor_names.remove(bitfield.name().unwrap())
819
- {
820
- bitfield.getter_name = Some(getter);
821
- bitfield.setter_name = Some(setter);
822
- }
823
- }
824
- }
825
- }
826
- }
827
- }
828
- }
829
-
830
- impl Trace for CompFields {
831
- type Extra = ();
832
-
833
- fn trace<T>(&self, context: &BindgenContext, tracer: &mut T, _: &())
834
- where
835
- T: Tracer,
836
- {
837
- match *self {
838
- CompFields::Error => {}
839
- CompFields::Before(ref fields) => {
840
- for f in fields {
841
- tracer.visit_kind(f.ty().into(), EdgeKind::Field);
842
- }
843
- }
844
- CompFields::After { ref fields, .. } => {
845
- for f in fields {
846
- f.trace(context, tracer, &());
847
- }
848
- }
849
- }
850
- }
851
- }
852
-
853
- /// Common data shared across different field types.
854
- #[derive(Clone, Debug)]
855
- pub(crate) struct FieldData {
856
- /// The name of the field, empty if it's an unnamed bitfield width.
857
- name: Option<String>,
858
-
859
- /// The inner type.
860
- ty: TypeId,
861
-
862
- /// The doc comment on the field if any.
863
- comment: Option<String>,
864
-
865
- /// Annotations for this field, or the default.
866
- annotations: Annotations,
867
-
868
- /// If this field is a bitfield, and how many bits does it contain if it is.
869
- bitfield_width: Option<u32>,
870
-
871
- /// If the C++ field is declared `public`
872
- public: bool,
873
-
874
- /// The offset of the field (in bits)
875
- offset: Option<usize>,
876
- }
877
-
878
- impl FieldMethods for FieldData {
879
- fn name(&self) -> Option<&str> {
880
- self.name.as_deref()
881
- }
882
-
883
- fn ty(&self) -> TypeId {
884
- self.ty
885
- }
886
-
887
- fn comment(&self) -> Option<&str> {
888
- self.comment.as_deref()
889
- }
890
-
891
- fn bitfield_width(&self) -> Option<u32> {
892
- self.bitfield_width
893
- }
894
-
895
- fn is_public(&self) -> bool {
896
- self.public
897
- }
898
-
899
- fn annotations(&self) -> &Annotations {
900
- &self.annotations
901
- }
902
-
903
- fn offset(&self) -> Option<usize> {
904
- self.offset
905
- }
906
- }
907
-
908
- /// The kind of inheritance a base class is using.
909
- #[derive(Clone, Debug, PartialEq, Eq)]
910
- pub(crate) enum BaseKind {
911
- /// Normal inheritance, like:
912
- ///
913
- /// ```cpp
914
- /// class A : public B {};
915
- /// ```
916
- Normal,
917
- /// Virtual inheritance, like:
918
- ///
919
- /// ```cpp
920
- /// class A: public virtual B {};
921
- /// ```
922
- Virtual,
923
- }
924
-
925
- /// A base class.
926
- #[derive(Clone, Debug)]
927
- pub(crate) struct Base {
928
- /// The type of this base class.
929
- pub(crate) ty: TypeId,
930
- /// The kind of inheritance we're doing.
931
- pub(crate) kind: BaseKind,
932
- /// Name of the field in which this base should be stored.
933
- pub(crate) field_name: String,
934
- /// Whether this base is inherited from publically.
935
- pub(crate) is_pub: bool,
936
- }
937
-
938
- impl Base {
939
- /// Whether this base class is inheriting virtually.
940
- pub(crate) fn is_virtual(&self) -> bool {
941
- self.kind == BaseKind::Virtual
942
- }
943
-
944
- /// Whether this base class should have it's own field for storage.
945
- pub(crate) fn requires_storage(&self, ctx: &BindgenContext) -> bool {
946
- // Virtual bases are already taken into account by the vtable
947
- // pointer.
948
- //
949
- // FIXME(emilio): Is this always right?
950
- if self.is_virtual() {
951
- return false;
952
- }
953
-
954
- // NB: We won't include zero-sized types in our base chain because they
955
- // would contribute to our size given the dummy field we insert for
956
- // zero-sized types.
957
- if self.ty.is_zero_sized(ctx) {
958
- return false;
959
- }
960
-
961
- true
962
- }
963
-
964
- /// Whether this base is inherited from publically.
965
- pub(crate) fn is_public(&self) -> bool {
966
- self.is_pub
967
- }
968
- }
969
-
970
- /// A compound type.
971
- ///
972
- /// Either a struct or union, a compound type is built up from the combination
973
- /// of fields which also are associated with their own (potentially compound)
974
- /// type.
975
- #[derive(Debug)]
976
- pub(crate) struct CompInfo {
977
- /// Whether this is a struct or a union.
978
- kind: CompKind,
979
-
980
- /// The members of this struct or union.
981
- fields: CompFields,
982
-
983
- /// The abstract template parameters of this class. Note that these are NOT
984
- /// concrete template arguments, and should always be a
985
- /// `Type(TypeKind::TypeParam(name))`. For concrete template arguments, see
986
- /// `TypeKind::TemplateInstantiation`.
987
- template_params: Vec<TypeId>,
988
-
989
- /// The method declarations inside this class, if in C++ mode.
990
- methods: Vec<Method>,
991
-
992
- /// The different constructors this struct or class contains.
993
- constructors: Vec<FunctionId>,
994
-
995
- /// The destructor of this type. The bool represents whether this destructor
996
- /// is virtual.
997
- destructor: Option<(MethodKind, FunctionId)>,
998
-
999
- /// Vector of classes this one inherits from.
1000
- base_members: Vec<Base>,
1001
-
1002
- /// The inner types that were declared inside this class, in something like:
1003
- ///
1004
- /// class Foo {
1005
- /// typedef int FooTy;
1006
- /// struct Bar {
1007
- /// int baz;
1008
- /// };
1009
- /// }
1010
- ///
1011
- /// static Foo::Bar const = {3};
1012
- inner_types: Vec<TypeId>,
1013
-
1014
- /// Set of static constants declared inside this class.
1015
- inner_vars: Vec<VarId>,
1016
-
1017
- /// Whether this type should generate an vtable (TODO: Should be able to
1018
- /// look at the virtual methods and ditch this field).
1019
- has_own_virtual_method: bool,
1020
-
1021
- /// Whether this type has destructor.
1022
- has_destructor: bool,
1023
-
1024
- /// Whether this type has a base type with more than one member.
1025
- ///
1026
- /// TODO: We should be able to compute this.
1027
- has_nonempty_base: bool,
1028
-
1029
- /// If this type has a template parameter which is not a type (e.g.: a
1030
- /// size_t)
1031
- has_non_type_template_params: bool,
1032
-
1033
- /// Whether this type has a bit field member whose width couldn't be
1034
- /// evaluated (e.g. if it depends on a template parameter). We generate an
1035
- /// opaque type in this case.
1036
- has_unevaluable_bit_field_width: bool,
1037
-
1038
- /// Whether we saw `__attribute__((packed))` on or within this type.
1039
- packed_attr: bool,
1040
-
1041
- /// Used to know if we've found an opaque attribute that could cause us to
1042
- /// generate a type with invalid layout. This is explicitly used to avoid us
1043
- /// generating bad alignments when parsing types like max_align_t.
1044
- ///
1045
- /// It's not clear what the behavior should be here, if generating the item
1046
- /// and pray, or behave as an opaque type.
1047
- found_unknown_attr: bool,
1048
-
1049
- /// Used to indicate when a struct has been forward declared. Usually used
1050
- /// in headers so that APIs can't modify them directly.
1051
- is_forward_declaration: bool,
1052
- }
1053
-
1054
- impl CompInfo {
1055
- /// Construct a new compound type.
1056
- pub(crate) fn new(kind: CompKind) -> Self {
1057
- CompInfo {
1058
- kind,
1059
- fields: CompFields::default(),
1060
- template_params: vec![],
1061
- methods: vec![],
1062
- constructors: vec![],
1063
- destructor: None,
1064
- base_members: vec![],
1065
- inner_types: vec![],
1066
- inner_vars: vec![],
1067
- has_own_virtual_method: false,
1068
- has_destructor: false,
1069
- has_nonempty_base: false,
1070
- has_non_type_template_params: false,
1071
- has_unevaluable_bit_field_width: false,
1072
- packed_attr: false,
1073
- found_unknown_attr: false,
1074
- is_forward_declaration: false,
1075
- }
1076
- }
1077
-
1078
- /// Compute the layout of this type.
1079
- ///
1080
- /// This is called as a fallback under some circumstances where LLVM doesn't
1081
- /// give us the correct layout.
1082
- ///
1083
- /// If we're a union without known layout, we try to compute it from our
1084
- /// members. This is not ideal, but clang fails to report the size for these
1085
- /// kind of unions, see test/headers/template_union.hpp
1086
- pub(crate) fn layout(&self, ctx: &BindgenContext) -> Option<Layout> {
1087
- // We can't do better than clang here, sorry.
1088
- if self.kind == CompKind::Struct {
1089
- return None;
1090
- }
1091
-
1092
- // By definition, we don't have the right layout information here if
1093
- // we're a forward declaration.
1094
- if self.is_forward_declaration() {
1095
- return None;
1096
- }
1097
-
1098
- // empty union case
1099
- if !self.has_fields() {
1100
- return None;
1101
- }
1102
-
1103
- let mut max_size = 0;
1104
- // Don't allow align(0)
1105
- let mut max_align = 1;
1106
- self.each_known_field_layout(ctx, |layout| {
1107
- max_size = cmp::max(max_size, layout.size);
1108
- max_align = cmp::max(max_align, layout.align);
1109
- });
1110
-
1111
- Some(Layout::new(max_size, max_align))
1112
- }
1113
-
1114
- /// Get this type's set of fields.
1115
- pub(crate) fn fields(&self) -> &[Field] {
1116
- match self.fields {
1117
- CompFields::Error => &[],
1118
- CompFields::After { ref fields, .. } => fields,
1119
- CompFields::Before(..) => {
1120
- panic!("Should always have computed bitfield units first");
1121
- }
1122
- }
1123
- }
1124
-
1125
- fn has_fields(&self) -> bool {
1126
- match self.fields {
1127
- CompFields::Error => false,
1128
- CompFields::After { ref fields, .. } => !fields.is_empty(),
1129
- CompFields::Before(ref raw_fields) => !raw_fields.is_empty(),
1130
- }
1131
- }
1132
-
1133
- fn each_known_field_layout(
1134
- &self,
1135
- ctx: &BindgenContext,
1136
- mut callback: impl FnMut(Layout),
1137
- ) {
1138
- match self.fields {
1139
- CompFields::Error => {}
1140
- CompFields::After { ref fields, .. } => {
1141
- for field in fields.iter() {
1142
- if let Some(layout) = field.layout(ctx) {
1143
- callback(layout);
1144
- }
1145
- }
1146
- }
1147
- CompFields::Before(ref raw_fields) => {
1148
- for field in raw_fields.iter() {
1149
- let field_ty = ctx.resolve_type(field.0.ty);
1150
- if let Some(layout) = field_ty.layout(ctx) {
1151
- callback(layout);
1152
- }
1153
- }
1154
- }
1155
- }
1156
- }
1157
-
1158
- fn has_bitfields(&self) -> bool {
1159
- match self.fields {
1160
- CompFields::Error => false,
1161
- CompFields::After {
1162
- has_bitfield_units, ..
1163
- } => has_bitfield_units,
1164
- CompFields::Before(_) => {
1165
- panic!("Should always have computed bitfield units first");
1166
- }
1167
- }
1168
- }
1169
-
1170
- /// Returns whether we have a too large bitfield unit, in which case we may
1171
- /// not be able to derive some of the things we should be able to normally
1172
- /// derive.
1173
- pub(crate) fn has_too_large_bitfield_unit(&self) -> bool {
1174
- if !self.has_bitfields() {
1175
- return false;
1176
- }
1177
- self.fields().iter().any(|field| match *field {
1178
- Field::DataMember(..) => false,
1179
- Field::Bitfields(ref unit) => {
1180
- unit.layout.size > RUST_DERIVE_IN_ARRAY_LIMIT
1181
- }
1182
- })
1183
- }
1184
-
1185
- /// Does this type have any template parameters that aren't types
1186
- /// (e.g. int)?
1187
- pub(crate) fn has_non_type_template_params(&self) -> bool {
1188
- self.has_non_type_template_params
1189
- }
1190
-
1191
- /// Do we see a virtual function during parsing?
1192
- /// Get the has_own_virtual_method boolean.
1193
- pub(crate) fn has_own_virtual_method(&self) -> bool {
1194
- self.has_own_virtual_method
1195
- }
1196
-
1197
- /// Did we see a destructor when parsing this type?
1198
- pub(crate) fn has_own_destructor(&self) -> bool {
1199
- self.has_destructor
1200
- }
1201
-
1202
- /// Get this type's set of methods.
1203
- pub(crate) fn methods(&self) -> &[Method] {
1204
- &self.methods
1205
- }
1206
-
1207
- /// Get this type's set of constructors.
1208
- pub(crate) fn constructors(&self) -> &[FunctionId] {
1209
- &self.constructors
1210
- }
1211
-
1212
- /// Get this type's destructor.
1213
- pub(crate) fn destructor(&self) -> Option<(MethodKind, FunctionId)> {
1214
- self.destructor
1215
- }
1216
-
1217
- /// What kind of compound type is this?
1218
- pub(crate) fn kind(&self) -> CompKind {
1219
- self.kind
1220
- }
1221
-
1222
- /// Is this a union?
1223
- pub(crate) fn is_union(&self) -> bool {
1224
- self.kind() == CompKind::Union
1225
- }
1226
-
1227
- /// The set of types that this one inherits from.
1228
- pub(crate) fn base_members(&self) -> &[Base] {
1229
- &self.base_members
1230
- }
1231
-
1232
- /// Construct a new compound type from a Clang type.
1233
- pub(crate) fn from_ty(
1234
- potential_id: ItemId,
1235
- ty: &clang::Type,
1236
- location: Option<clang::Cursor>,
1237
- ctx: &mut BindgenContext,
1238
- ) -> Result<Self, ParseError> {
1239
- use clang_sys::*;
1240
- assert!(
1241
- ty.template_args().is_none(),
1242
- "We handle template instantiations elsewhere"
1243
- );
1244
-
1245
- let mut cursor = ty.declaration();
1246
- let mut kind = Self::kind_from_cursor(&cursor);
1247
- if kind.is_err() {
1248
- if let Some(location) = location {
1249
- kind = Self::kind_from_cursor(&location);
1250
- cursor = location;
1251
- }
1252
- }
1253
-
1254
- let kind = kind?;
1255
-
1256
- debug!("CompInfo::from_ty({:?}, {:?})", kind, cursor);
1257
-
1258
- let mut ci = CompInfo::new(kind);
1259
- ci.is_forward_declaration =
1260
- location.map_or(true, |cur| match cur.kind() {
1261
- CXCursor_ParmDecl => true,
1262
- CXCursor_StructDecl | CXCursor_UnionDecl |
1263
- CXCursor_ClassDecl => !cur.is_definition(),
1264
- _ => false,
1265
- });
1266
-
1267
- let mut maybe_anonymous_struct_field = None;
1268
- cursor.visit(|cur| {
1269
- if cur.kind() != CXCursor_FieldDecl {
1270
- if let Some((ty, clang_ty, public, offset)) =
1271
- maybe_anonymous_struct_field.take()
1272
- {
1273
- if cur.kind() == CXCursor_TypedefDecl &&
1274
- cur.typedef_type().unwrap().canonical_type() ==
1275
- clang_ty
1276
- {
1277
- // Typedefs of anonymous structs appear later in the ast
1278
- // than the struct itself, that would otherwise be an
1279
- // anonymous field. Detect that case here, and do
1280
- // nothing.
1281
- } else {
1282
- let field = RawField::new(
1283
- None, ty, None, None, None, public, offset,
1284
- );
1285
- ci.fields.append_raw_field(field);
1286
- }
1287
- }
1288
- }
1289
-
1290
- match cur.kind() {
1291
- CXCursor_FieldDecl => {
1292
- if let Some((ty, clang_ty, public, offset)) =
1293
- maybe_anonymous_struct_field.take()
1294
- {
1295
- let mut used = false;
1296
- cur.visit(|child| {
1297
- if child.cur_type() == clang_ty {
1298
- used = true;
1299
- }
1300
- CXChildVisit_Continue
1301
- });
1302
-
1303
- if !used {
1304
- let field = RawField::new(
1305
- None, ty, None, None, None, public, offset,
1306
- );
1307
- ci.fields.append_raw_field(field);
1308
- }
1309
- }
1310
-
1311
- let bit_width = if cur.is_bit_field() {
1312
- let width = cur.bit_width();
1313
-
1314
- // Make opaque type if the bit width couldn't be
1315
- // evaluated.
1316
- if width.is_none() {
1317
- ci.has_unevaluable_bit_field_width = true;
1318
- return CXChildVisit_Break;
1319
- }
1320
-
1321
- width
1322
- } else {
1323
- None
1324
- };
1325
-
1326
- let field_type = Item::from_ty_or_ref(
1327
- cur.cur_type(),
1328
- cur,
1329
- Some(potential_id),
1330
- ctx,
1331
- );
1332
-
1333
- let comment = cur.raw_comment();
1334
- let annotations = Annotations::new(&cur);
1335
- let name = cur.spelling();
1336
- let is_public = cur.public_accessible();
1337
- let offset = cur.offset_of_field().ok();
1338
-
1339
- // Name can be empty if there are bitfields, for example,
1340
- // see tests/headers/struct_with_bitfields.h
1341
- assert!(
1342
- !name.is_empty() || bit_width.is_some(),
1343
- "Empty field name?"
1344
- );
1345
-
1346
- let name = if name.is_empty() { None } else { Some(name) };
1347
-
1348
- let field = RawField::new(
1349
- name,
1350
- field_type,
1351
- comment,
1352
- annotations,
1353
- bit_width,
1354
- is_public,
1355
- offset,
1356
- );
1357
- ci.fields.append_raw_field(field);
1358
-
1359
- // No we look for things like attributes and stuff.
1360
- cur.visit(|cur| {
1361
- if cur.kind() == CXCursor_UnexposedAttr {
1362
- ci.found_unknown_attr = true;
1363
- }
1364
- CXChildVisit_Continue
1365
- });
1366
- }
1367
- CXCursor_UnexposedAttr => {
1368
- ci.found_unknown_attr = true;
1369
- }
1370
- CXCursor_EnumDecl |
1371
- CXCursor_TypeAliasDecl |
1372
- CXCursor_TypeAliasTemplateDecl |
1373
- CXCursor_TypedefDecl |
1374
- CXCursor_StructDecl |
1375
- CXCursor_UnionDecl |
1376
- CXCursor_ClassTemplate |
1377
- CXCursor_ClassDecl => {
1378
- // We can find non-semantic children here, clang uses a
1379
- // StructDecl to note incomplete structs that haven't been
1380
- // forward-declared before, see [1].
1381
- //
1382
- // Also, clang seems to scope struct definitions inside
1383
- // unions, and other named struct definitions inside other
1384
- // structs to the whole translation unit.
1385
- //
1386
- // Let's just assume that if the cursor we've found is a
1387
- // definition, it's a valid inner type.
1388
- //
1389
- // [1]: https://github.com/rust-lang/rust-bindgen/issues/482
1390
- let is_inner_struct =
1391
- cur.semantic_parent() == cursor || cur.is_definition();
1392
- if !is_inner_struct {
1393
- return CXChildVisit_Continue;
1394
- }
1395
-
1396
- // Even if this is a definition, we may not be the semantic
1397
- // parent, see #1281.
1398
- let inner = Item::parse(cur, Some(potential_id), ctx)
1399
- .expect("Inner ClassDecl");
1400
-
1401
- // If we avoided recursion parsing this type (in
1402
- // `Item::from_ty_with_id()`), then this might not be a
1403
- // valid type ID, so check and gracefully handle this.
1404
- if ctx.resolve_item_fallible(inner).is_some() {
1405
- let inner = inner.expect_type_id(ctx);
1406
-
1407
- ci.inner_types.push(inner);
1408
-
1409
- // A declaration of an union or a struct without name
1410
- // could also be an unnamed field, unfortunately.
1411
- if cur.is_anonymous() && cur.kind() != CXCursor_EnumDecl
1412
- {
1413
- let ty = cur.cur_type();
1414
- let public = cur.public_accessible();
1415
- let offset = cur.offset_of_field().ok();
1416
-
1417
- maybe_anonymous_struct_field =
1418
- Some((inner, ty, public, offset));
1419
- }
1420
- }
1421
- }
1422
- CXCursor_PackedAttr => {
1423
- ci.packed_attr = true;
1424
- }
1425
- CXCursor_TemplateTypeParameter => {
1426
- let param = Item::type_param(None, cur, ctx).expect(
1427
- "Item::type_param should't fail when pointing \
1428
- at a TemplateTypeParameter",
1429
- );
1430
- ci.template_params.push(param);
1431
- }
1432
- CXCursor_CXXBaseSpecifier => {
1433
- let is_virtual_base = cur.is_virtual_base();
1434
- ci.has_own_virtual_method |= is_virtual_base;
1435
-
1436
- let kind = if is_virtual_base {
1437
- BaseKind::Virtual
1438
- } else {
1439
- BaseKind::Normal
1440
- };
1441
-
1442
- let field_name = match ci.base_members.len() {
1443
- 0 => "_base".into(),
1444
- n => format!("_base_{}", n),
1445
- };
1446
- let type_id =
1447
- Item::from_ty_or_ref(cur.cur_type(), cur, None, ctx);
1448
- ci.base_members.push(Base {
1449
- ty: type_id,
1450
- kind,
1451
- field_name,
1452
- is_pub: cur.access_specifier() ==
1453
- clang_sys::CX_CXXPublic,
1454
- });
1455
- }
1456
- CXCursor_Constructor | CXCursor_Destructor |
1457
- CXCursor_CXXMethod => {
1458
- let is_virtual = cur.method_is_virtual();
1459
- let is_static = cur.method_is_static();
1460
- debug_assert!(!(is_static && is_virtual), "How?");
1461
-
1462
- ci.has_destructor |= cur.kind() == CXCursor_Destructor;
1463
- ci.has_own_virtual_method |= is_virtual;
1464
-
1465
- // This used to not be here, but then I tried generating
1466
- // stylo bindings with this (without path filters), and
1467
- // cried a lot with a method in gfx/Point.h
1468
- // (ToUnknownPoint), that somehow was causing the same type
1469
- // to be inserted in the map two times.
1470
- //
1471
- // I couldn't make a reduced test case, but anyway...
1472
- // Methods of template functions not only used to be inlined,
1473
- // but also instantiated, and we wouldn't be able to call
1474
- // them, so just bail out.
1475
- if !ci.template_params.is_empty() {
1476
- return CXChildVisit_Continue;
1477
- }
1478
-
1479
- // NB: This gets us an owned `Function`, not a
1480
- // `FunctionSig`.
1481
- let signature =
1482
- match Item::parse(cur, Some(potential_id), ctx) {
1483
- Ok(item)
1484
- if ctx
1485
- .resolve_item(item)
1486
- .kind()
1487
- .is_function() =>
1488
- {
1489
- item
1490
- }
1491
- _ => return CXChildVisit_Continue,
1492
- };
1493
-
1494
- let signature = signature.expect_function_id(ctx);
1495
-
1496
- match cur.kind() {
1497
- CXCursor_Constructor => {
1498
- ci.constructors.push(signature);
1499
- }
1500
- CXCursor_Destructor => {
1501
- let kind = if is_virtual {
1502
- MethodKind::VirtualDestructor {
1503
- pure_virtual: cur.method_is_pure_virtual(),
1504
- }
1505
- } else {
1506
- MethodKind::Destructor
1507
- };
1508
- ci.destructor = Some((kind, signature));
1509
- }
1510
- CXCursor_CXXMethod => {
1511
- let is_const = cur.method_is_const();
1512
- let method_kind = if is_static {
1513
- MethodKind::Static
1514
- } else if is_virtual {
1515
- MethodKind::Virtual {
1516
- pure_virtual: cur.method_is_pure_virtual(),
1517
- }
1518
- } else {
1519
- MethodKind::Normal
1520
- };
1521
-
1522
- let method =
1523
- Method::new(method_kind, signature, is_const);
1524
-
1525
- ci.methods.push(method);
1526
- }
1527
- _ => unreachable!("How can we see this here?"),
1528
- }
1529
- }
1530
- CXCursor_NonTypeTemplateParameter => {
1531
- ci.has_non_type_template_params = true;
1532
- }
1533
- CXCursor_VarDecl => {
1534
- let linkage = cur.linkage();
1535
- if linkage != CXLinkage_External &&
1536
- linkage != CXLinkage_UniqueExternal
1537
- {
1538
- return CXChildVisit_Continue;
1539
- }
1540
-
1541
- let visibility = cur.visibility();
1542
- if visibility != CXVisibility_Default {
1543
- return CXChildVisit_Continue;
1544
- }
1545
-
1546
- if let Ok(item) = Item::parse(cur, Some(potential_id), ctx)
1547
- {
1548
- ci.inner_vars.push(item.as_var_id_unchecked());
1549
- }
1550
- }
1551
- // Intentionally not handled
1552
- CXCursor_CXXAccessSpecifier |
1553
- CXCursor_CXXFinalAttr |
1554
- CXCursor_FunctionTemplate |
1555
- CXCursor_ConversionFunction => {}
1556
- _ => {
1557
- warn!(
1558
- "unhandled comp member `{}` (kind {:?}) in `{}` ({})",
1559
- cur.spelling(),
1560
- clang::kind_to_str(cur.kind()),
1561
- cursor.spelling(),
1562
- cur.location()
1563
- );
1564
- }
1565
- }
1566
- CXChildVisit_Continue
1567
- });
1568
-
1569
- if let Some((ty, _, public, offset)) = maybe_anonymous_struct_field {
1570
- let field =
1571
- RawField::new(None, ty, None, None, None, public, offset);
1572
- ci.fields.append_raw_field(field);
1573
- }
1574
-
1575
- Ok(ci)
1576
- }
1577
-
1578
- fn kind_from_cursor(
1579
- cursor: &clang::Cursor,
1580
- ) -> Result<CompKind, ParseError> {
1581
- use clang_sys::*;
1582
- Ok(match cursor.kind() {
1583
- CXCursor_UnionDecl => CompKind::Union,
1584
- CXCursor_ClassDecl | CXCursor_StructDecl => CompKind::Struct,
1585
- CXCursor_CXXBaseSpecifier |
1586
- CXCursor_ClassTemplatePartialSpecialization |
1587
- CXCursor_ClassTemplate => match cursor.template_kind() {
1588
- CXCursor_UnionDecl => CompKind::Union,
1589
- _ => CompKind::Struct,
1590
- },
1591
- _ => {
1592
- warn!("Unknown kind for comp type: {:?}", cursor);
1593
- return Err(ParseError::Continue);
1594
- }
1595
- })
1596
- }
1597
-
1598
- /// Get the set of types that were declared within this compound type
1599
- /// (e.g. nested class definitions).
1600
- pub(crate) fn inner_types(&self) -> &[TypeId] {
1601
- &self.inner_types
1602
- }
1603
-
1604
- /// Get the set of static variables declared within this compound type.
1605
- pub(crate) fn inner_vars(&self) -> &[VarId] {
1606
- &self.inner_vars
1607
- }
1608
-
1609
- /// Have we found a field with an opaque type that could potentially mess up
1610
- /// the layout of this compound type?
1611
- pub(crate) fn found_unknown_attr(&self) -> bool {
1612
- self.found_unknown_attr
1613
- }
1614
-
1615
- /// Is this compound type packed?
1616
- pub(crate) fn is_packed(
1617
- &self,
1618
- ctx: &BindgenContext,
1619
- layout: Option<&Layout>,
1620
- ) -> bool {
1621
- if self.packed_attr {
1622
- return true;
1623
- }
1624
-
1625
- // Even though `libclang` doesn't expose `#pragma packed(...)`, we can
1626
- // detect it through its effects.
1627
- if let Some(parent_layout) = layout {
1628
- let mut packed = false;
1629
- self.each_known_field_layout(ctx, |layout| {
1630
- packed = packed || layout.align > parent_layout.align;
1631
- });
1632
- if packed {
1633
- info!("Found a struct that was defined within `#pragma packed(...)`");
1634
- return true;
1635
- }
1636
-
1637
- if self.has_own_virtual_method && parent_layout.align == 1 {
1638
- return true;
1639
- }
1640
- }
1641
-
1642
- false
1643
- }
1644
-
1645
- /// Return true if a compound type is "naturally packed". This means we can exclude the
1646
- /// "packed" attribute without changing the layout.
1647
- /// This is useful for types that need an "align(N)" attribute since rustc won't compile
1648
- /// structs that have both of those attributes.
1649
- pub(crate) fn already_packed(&self, ctx: &BindgenContext) -> Option<bool> {
1650
- let mut total_size: usize = 0;
1651
-
1652
- for field in self.fields().iter() {
1653
- let layout = field.layout(ctx)?;
1654
-
1655
- if layout.align != 0 && total_size % layout.align != 0 {
1656
- return Some(false);
1657
- }
1658
-
1659
- total_size += layout.size;
1660
- }
1661
-
1662
- Some(true)
1663
- }
1664
-
1665
- /// Returns true if compound type has been forward declared
1666
- pub(crate) fn is_forward_declaration(&self) -> bool {
1667
- self.is_forward_declaration
1668
- }
1669
-
1670
- /// Compute this compound structure's bitfield allocation units.
1671
- pub(crate) fn compute_bitfield_units(
1672
- &mut self,
1673
- ctx: &BindgenContext,
1674
- layout: Option<&Layout>,
1675
- ) {
1676
- let packed = self.is_packed(ctx, layout);
1677
- self.fields.compute_bitfield_units(ctx, packed)
1678
- }
1679
-
1680
- /// Assign for each anonymous field a generated name.
1681
- pub(crate) fn deanonymize_fields(&mut self, ctx: &BindgenContext) {
1682
- self.fields.deanonymize_fields(ctx, &self.methods);
1683
- }
1684
-
1685
- /// Returns whether the current union can be represented as a Rust `union`
1686
- ///
1687
- /// Requirements:
1688
- /// 1. Current RustTarget allows for `untagged_union`
1689
- /// 2. Each field can derive `Copy` or we use ManuallyDrop.
1690
- /// 3. It's not zero-sized.
1691
- ///
1692
- /// Second boolean returns whether all fields can be copied (and thus
1693
- /// ManuallyDrop is not needed).
1694
- pub(crate) fn is_rust_union(
1695
- &self,
1696
- ctx: &BindgenContext,
1697
- layout: Option<&Layout>,
1698
- name: &str,
1699
- ) -> (bool, bool) {
1700
- if !self.is_union() {
1701
- return (false, false);
1702
- }
1703
-
1704
- if !ctx.options().untagged_union {
1705
- return (false, false);
1706
- }
1707
-
1708
- if self.is_forward_declaration() {
1709
- return (false, false);
1710
- }
1711
-
1712
- let union_style = if ctx.options().bindgen_wrapper_union.matches(name) {
1713
- NonCopyUnionStyle::BindgenWrapper
1714
- } else if ctx.options().manually_drop_union.matches(name) {
1715
- NonCopyUnionStyle::ManuallyDrop
1716
- } else {
1717
- ctx.options().default_non_copy_union_style
1718
- };
1719
-
1720
- let all_can_copy = self.fields().iter().all(|f| match *f {
1721
- Field::DataMember(ref field_data) => {
1722
- field_data.ty().can_derive_copy(ctx)
1723
- }
1724
- Field::Bitfields(_) => true,
1725
- });
1726
-
1727
- if !all_can_copy && union_style == NonCopyUnionStyle::BindgenWrapper {
1728
- return (false, false);
1729
- }
1730
-
1731
- if layout.map_or(false, |l| l.size == 0) {
1732
- return (false, false);
1733
- }
1734
-
1735
- (true, all_can_copy)
1736
- }
1737
- }
1738
-
1739
- impl DotAttributes for CompInfo {
1740
- fn dot_attributes<W>(
1741
- &self,
1742
- ctx: &BindgenContext,
1743
- out: &mut W,
1744
- ) -> io::Result<()>
1745
- where
1746
- W: io::Write,
1747
- {
1748
- writeln!(out, "<tr><td>CompKind</td><td>{:?}</td></tr>", self.kind)?;
1749
-
1750
- if self.has_own_virtual_method {
1751
- writeln!(out, "<tr><td>has_vtable</td><td>true</td></tr>")?;
1752
- }
1753
-
1754
- if self.has_destructor {
1755
- writeln!(out, "<tr><td>has_destructor</td><td>true</td></tr>")?;
1756
- }
1757
-
1758
- if self.has_nonempty_base {
1759
- writeln!(out, "<tr><td>has_nonempty_base</td><td>true</td></tr>")?;
1760
- }
1761
-
1762
- if self.has_non_type_template_params {
1763
- writeln!(
1764
- out,
1765
- "<tr><td>has_non_type_template_params</td><td>true</td></tr>"
1766
- )?;
1767
- }
1768
-
1769
- if self.packed_attr {
1770
- writeln!(out, "<tr><td>packed_attr</td><td>true</td></tr>")?;
1771
- }
1772
-
1773
- if self.is_forward_declaration {
1774
- writeln!(
1775
- out,
1776
- "<tr><td>is_forward_declaration</td><td>true</td></tr>"
1777
- )?;
1778
- }
1779
-
1780
- if !self.fields().is_empty() {
1781
- writeln!(out, r#"<tr><td>fields</td><td><table border="0">"#)?;
1782
- for field in self.fields() {
1783
- field.dot_attributes(ctx, out)?;
1784
- }
1785
- writeln!(out, "</table></td></tr>")?;
1786
- }
1787
-
1788
- Ok(())
1789
- }
1790
- }
1791
-
1792
- impl IsOpaque for CompInfo {
1793
- type Extra = Option<Layout>;
1794
-
1795
- fn is_opaque(&self, ctx: &BindgenContext, layout: &Option<Layout>) -> bool {
1796
- if self.has_non_type_template_params ||
1797
- self.has_unevaluable_bit_field_width
1798
- {
1799
- return true;
1800
- }
1801
-
1802
- // When we do not have the layout for a bitfield's type (for example, it
1803
- // is a type parameter), then we can't compute bitfield units. We are
1804
- // left with no choice but to make the whole struct opaque, or else we
1805
- // might generate structs with incorrect sizes and alignments.
1806
- if let CompFields::Error = self.fields {
1807
- return true;
1808
- }
1809
-
1810
- // Bitfields with a width that is larger than their unit's width have
1811
- // some strange things going on, and the best we can do is make the
1812
- // whole struct opaque.
1813
- if self.fields().iter().any(|f| match *f {
1814
- Field::DataMember(_) => false,
1815
- Field::Bitfields(ref unit) => unit.bitfields().iter().any(|bf| {
1816
- let bitfield_layout = ctx
1817
- .resolve_type(bf.ty())
1818
- .layout(ctx)
1819
- .expect("Bitfield without layout? Gah!");
1820
- bf.width() / 8 > bitfield_layout.size as u32
1821
- }),
1822
- }) {
1823
- return true;
1824
- }
1825
-
1826
- if !ctx.options().rust_features().repr_packed_n {
1827
- // If we don't have `#[repr(packed(N)]`, the best we can
1828
- // do is make this struct opaque.
1829
- //
1830
- // See https://github.com/rust-lang/rust-bindgen/issues/537 and
1831
- // https://github.com/rust-lang/rust/issues/33158
1832
- if self.is_packed(ctx, layout.as_ref()) &&
1833
- layout.map_or(false, |l| l.align > 1)
1834
- {
1835
- warn!("Found a type that is both packed and aligned to greater than \
1836
- 1; Rust before version 1.33 doesn't have `#[repr(packed(N))]`, so we \
1837
- are treating it as opaque. You may wish to set bindgen's rust target \
1838
- version to 1.33 or later to enable `#[repr(packed(N))]` support.");
1839
- return true;
1840
- }
1841
- }
1842
-
1843
- false
1844
- }
1845
- }
1846
-
1847
- impl TemplateParameters for CompInfo {
1848
- fn self_template_params(&self, _ctx: &BindgenContext) -> Vec<TypeId> {
1849
- self.template_params.clone()
1850
- }
1851
- }
1852
-
1853
- impl Trace for CompInfo {
1854
- type Extra = Item;
1855
-
1856
- fn trace<T>(&self, context: &BindgenContext, tracer: &mut T, item: &Item)
1857
- where
1858
- T: Tracer,
1859
- {
1860
- for p in item.all_template_params(context) {
1861
- tracer.visit_kind(p.into(), EdgeKind::TemplateParameterDefinition);
1862
- }
1863
-
1864
- for ty in self.inner_types() {
1865
- tracer.visit_kind(ty.into(), EdgeKind::InnerType);
1866
- }
1867
-
1868
- for &var in self.inner_vars() {
1869
- tracer.visit_kind(var.into(), EdgeKind::InnerVar);
1870
- }
1871
-
1872
- for method in self.methods() {
1873
- tracer.visit_kind(method.signature.into(), EdgeKind::Method);
1874
- }
1875
-
1876
- if let Some((_kind, signature)) = self.destructor() {
1877
- tracer.visit_kind(signature.into(), EdgeKind::Destructor);
1878
- }
1879
-
1880
- for ctor in self.constructors() {
1881
- tracer.visit_kind(ctor.into(), EdgeKind::Constructor);
1882
- }
1883
-
1884
- // Base members and fields are not generated for opaque types (but all
1885
- // of the above things are) so stop here.
1886
- if item.is_opaque(context, &()) {
1887
- return;
1888
- }
1889
-
1890
- for base in self.base_members() {
1891
- tracer.visit_kind(base.ty.into(), EdgeKind::BaseMember);
1892
- }
1893
-
1894
- self.fields.trace(context, tracer, &());
1895
- }
1896
- }