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,1831 +0,0 @@
1
- use crate::internals::name::{MultiName, Name};
2
- use crate::internals::symbol::*;
3
- use crate::internals::{ungroup, Ctxt};
4
- use proc_macro2::{Spacing, Span, TokenStream, TokenTree};
5
- use quote::ToTokens;
6
- use std::collections::BTreeSet;
7
- use std::iter::FromIterator;
8
- use syn::meta::ParseNestedMeta;
9
- use syn::parse::ParseStream;
10
- use syn::punctuated::Punctuated;
11
- use syn::spanned::Spanned;
12
- use syn::{token, Ident, Lifetime, Token};
13
-
14
- // This module handles parsing of `#[serde(...)]` attributes. The entrypoints
15
- // are `attr::Container::from_ast`, `attr::Variant::from_ast`, and
16
- // `attr::Field::from_ast`. Each returns an instance of the corresponding
17
- // struct. Note that none of them return a Result. Unrecognized, malformed, or
18
- // duplicated attributes result in a span_err but otherwise are ignored. The
19
- // user will see errors simultaneously for all bad attributes in the crate
20
- // rather than just the first.
21
-
22
- pub use crate::internals::case::RenameRule;
23
-
24
- pub(crate) struct Attr<'c, T> {
25
- cx: &'c Ctxt,
26
- name: Symbol,
27
- tokens: TokenStream,
28
- value: Option<T>,
29
- }
30
-
31
- impl<'c, T> Attr<'c, T> {
32
- fn none(cx: &'c Ctxt, name: Symbol) -> Self {
33
- Attr {
34
- cx,
35
- name,
36
- tokens: TokenStream::new(),
37
- value: None,
38
- }
39
- }
40
-
41
- fn set<A: ToTokens>(&mut self, obj: A, value: T) {
42
- let tokens = obj.into_token_stream();
43
-
44
- if self.value.is_some() {
45
- let msg = format!("duplicate serde attribute `{}`", self.name);
46
- self.cx.error_spanned_by(tokens, msg);
47
- } else {
48
- self.tokens = tokens;
49
- self.value = Some(value);
50
- }
51
- }
52
-
53
- fn set_opt<A: ToTokens>(&mut self, obj: A, value: Option<T>) {
54
- if let Some(value) = value {
55
- self.set(obj, value);
56
- }
57
- }
58
-
59
- fn set_if_none(&mut self, value: T) {
60
- if self.value.is_none() {
61
- self.value = Some(value);
62
- }
63
- }
64
-
65
- pub(crate) fn get(self) -> Option<T> {
66
- self.value
67
- }
68
-
69
- fn get_with_tokens(self) -> Option<(TokenStream, T)> {
70
- match self.value {
71
- Some(v) => Some((self.tokens, v)),
72
- None => None,
73
- }
74
- }
75
- }
76
-
77
- struct BoolAttr<'c>(Attr<'c, ()>);
78
-
79
- impl<'c> BoolAttr<'c> {
80
- fn none(cx: &'c Ctxt, name: Symbol) -> Self {
81
- BoolAttr(Attr::none(cx, name))
82
- }
83
-
84
- fn set_true<A: ToTokens>(&mut self, obj: A) {
85
- self.0.set(obj, ());
86
- }
87
-
88
- fn get(&self) -> bool {
89
- self.0.value.is_some()
90
- }
91
- }
92
-
93
- pub(crate) struct VecAttr<'c, T> {
94
- cx: &'c Ctxt,
95
- name: Symbol,
96
- first_dup_tokens: TokenStream,
97
- values: Vec<T>,
98
- }
99
-
100
- impl<'c, T> VecAttr<'c, T> {
101
- fn none(cx: &'c Ctxt, name: Symbol) -> Self {
102
- VecAttr {
103
- cx,
104
- name,
105
- first_dup_tokens: TokenStream::new(),
106
- values: Vec::new(),
107
- }
108
- }
109
-
110
- fn insert<A: ToTokens>(&mut self, obj: A, value: T) {
111
- if self.values.len() == 1 {
112
- self.first_dup_tokens = obj.into_token_stream();
113
- }
114
- self.values.push(value);
115
- }
116
-
117
- fn at_most_one(mut self) -> Option<T> {
118
- if self.values.len() > 1 {
119
- let dup_token = self.first_dup_tokens;
120
- let msg = format!("duplicate serde attribute `{}`", self.name);
121
- self.cx.error_spanned_by(dup_token, msg);
122
- None
123
- } else {
124
- self.values.pop()
125
- }
126
- }
127
-
128
- pub(crate) fn get(self) -> Vec<T> {
129
- self.values
130
- }
131
- }
132
-
133
- fn unraw(ident: &Ident) -> Ident {
134
- Ident::new(ident.to_string().trim_start_matches("r#"), ident.span())
135
- }
136
-
137
- #[derive(Copy, Clone)]
138
- pub struct RenameAllRules {
139
- pub serialize: RenameRule,
140
- pub deserialize: RenameRule,
141
- }
142
-
143
- impl RenameAllRules {
144
- /// Returns a new `RenameAllRules` with the individual rules of `self` and
145
- /// `other_rules` joined by `RenameRules::or`.
146
- pub fn or(self, other_rules: Self) -> Self {
147
- Self {
148
- serialize: self.serialize.or(other_rules.serialize),
149
- deserialize: self.deserialize.or(other_rules.deserialize),
150
- }
151
- }
152
- }
153
-
154
- /// Represents struct or enum attribute information.
155
- pub struct Container {
156
- name: MultiName,
157
- transparent: bool,
158
- deny_unknown_fields: bool,
159
- default: Default,
160
- rename_all_rules: RenameAllRules,
161
- rename_all_fields_rules: RenameAllRules,
162
- ser_bound: Option<Vec<syn::WherePredicate>>,
163
- de_bound: Option<Vec<syn::WherePredicate>>,
164
- tag: TagType,
165
- type_from: Option<syn::Type>,
166
- type_try_from: Option<syn::Type>,
167
- type_into: Option<syn::Type>,
168
- remote: Option<syn::Path>,
169
- identifier: Identifier,
170
- serde_path: Option<syn::Path>,
171
- is_packed: bool,
172
- /// Error message generated when type can't be deserialized
173
- expecting: Option<String>,
174
- non_exhaustive: bool,
175
- }
176
-
177
- /// Styles of representing an enum.
178
- pub enum TagType {
179
- /// The default.
180
- ///
181
- /// ```json
182
- /// {"variant1": {"key1": "value1", "key2": "value2"}}
183
- /// ```
184
- External,
185
-
186
- /// `#[serde(tag = "type")]`
187
- ///
188
- /// ```json
189
- /// {"type": "variant1", "key1": "value1", "key2": "value2"}
190
- /// ```
191
- Internal { tag: String },
192
-
193
- /// `#[serde(tag = "t", content = "c")]`
194
- ///
195
- /// ```json
196
- /// {"t": "variant1", "c": {"key1": "value1", "key2": "value2"}}
197
- /// ```
198
- Adjacent { tag: String, content: String },
199
-
200
- /// `#[serde(untagged)]`
201
- ///
202
- /// ```json
203
- /// {"key1": "value1", "key2": "value2"}
204
- /// ```
205
- None,
206
- }
207
-
208
- /// Whether this enum represents the fields of a struct or the variants of an
209
- /// enum.
210
- #[derive(Copy, Clone)]
211
- pub enum Identifier {
212
- /// It does not.
213
- No,
214
-
215
- /// This enum represents the fields of a struct. All of the variants must be
216
- /// unit variants, except possibly one which is annotated with
217
- /// `#[serde(other)]` and is a newtype variant.
218
- Field,
219
-
220
- /// This enum represents the variants of an enum. All of the variants must
221
- /// be unit variants.
222
- Variant,
223
- }
224
-
225
- impl Identifier {
226
- #[cfg(feature = "deserialize_in_place")]
227
- pub fn is_some(self) -> bool {
228
- match self {
229
- Identifier::No => false,
230
- Identifier::Field | Identifier::Variant => true,
231
- }
232
- }
233
- }
234
-
235
- impl Container {
236
- /// Extract out the `#[serde(...)]` attributes from an item.
237
- pub fn from_ast(cx: &Ctxt, item: &syn::DeriveInput) -> Self {
238
- let mut ser_name = Attr::none(cx, RENAME);
239
- let mut de_name = Attr::none(cx, RENAME);
240
- let mut transparent = BoolAttr::none(cx, TRANSPARENT);
241
- let mut deny_unknown_fields = BoolAttr::none(cx, DENY_UNKNOWN_FIELDS);
242
- let mut default = Attr::none(cx, DEFAULT);
243
- let mut rename_all_ser_rule = Attr::none(cx, RENAME_ALL);
244
- let mut rename_all_de_rule = Attr::none(cx, RENAME_ALL);
245
- let mut rename_all_fields_ser_rule = Attr::none(cx, RENAME_ALL_FIELDS);
246
- let mut rename_all_fields_de_rule = Attr::none(cx, RENAME_ALL_FIELDS);
247
- let mut ser_bound = Attr::none(cx, BOUND);
248
- let mut de_bound = Attr::none(cx, BOUND);
249
- let mut untagged = BoolAttr::none(cx, UNTAGGED);
250
- let mut internal_tag = Attr::none(cx, TAG);
251
- let mut content = Attr::none(cx, CONTENT);
252
- let mut type_from = Attr::none(cx, FROM);
253
- let mut type_try_from = Attr::none(cx, TRY_FROM);
254
- let mut type_into = Attr::none(cx, INTO);
255
- let mut remote = Attr::none(cx, REMOTE);
256
- let mut field_identifier = BoolAttr::none(cx, FIELD_IDENTIFIER);
257
- let mut variant_identifier = BoolAttr::none(cx, VARIANT_IDENTIFIER);
258
- let mut serde_path = Attr::none(cx, CRATE);
259
- let mut expecting = Attr::none(cx, EXPECTING);
260
- let mut non_exhaustive = false;
261
-
262
- for attr in &item.attrs {
263
- if attr.path() != SERDE {
264
- non_exhaustive |=
265
- matches!(&attr.meta, syn::Meta::Path(path) if path == NON_EXHAUSTIVE);
266
- continue;
267
- }
268
-
269
- if let syn::Meta::List(meta) = &attr.meta {
270
- if meta.tokens.is_empty() {
271
- continue;
272
- }
273
- }
274
-
275
- if let Err(err) = attr.parse_nested_meta(|meta| {
276
- if meta.path == RENAME {
277
- // #[serde(rename = "foo")]
278
- // #[serde(rename(serialize = "foo", deserialize = "bar"))]
279
- let (ser, de) = get_renames(cx, RENAME, &meta)?;
280
- ser_name.set_opt(&meta.path, ser.as_ref().map(Name::from));
281
- de_name.set_opt(&meta.path, de.as_ref().map(Name::from));
282
- } else if meta.path == RENAME_ALL {
283
- // #[serde(rename_all = "foo")]
284
- // #[serde(rename_all(serialize = "foo", deserialize = "bar"))]
285
- let one_name = meta.input.peek(Token![=]);
286
- let (ser, de) = get_renames(cx, RENAME_ALL, &meta)?;
287
- if let Some(ser) = ser {
288
- match RenameRule::from_str(&ser.value()) {
289
- Ok(rename_rule) => rename_all_ser_rule.set(&meta.path, rename_rule),
290
- Err(err) => cx.error_spanned_by(ser, err),
291
- }
292
- }
293
- if let Some(de) = de {
294
- match RenameRule::from_str(&de.value()) {
295
- Ok(rename_rule) => rename_all_de_rule.set(&meta.path, rename_rule),
296
- Err(err) => {
297
- if !one_name {
298
- cx.error_spanned_by(de, err);
299
- }
300
- }
301
- }
302
- }
303
- } else if meta.path == RENAME_ALL_FIELDS {
304
- // #[serde(rename_all_fields = "foo")]
305
- // #[serde(rename_all_fields(serialize = "foo", deserialize = "bar"))]
306
- let one_name = meta.input.peek(Token![=]);
307
- let (ser, de) = get_renames(cx, RENAME_ALL_FIELDS, &meta)?;
308
-
309
- match item.data {
310
- syn::Data::Enum(_) => {
311
- if let Some(ser) = ser {
312
- match RenameRule::from_str(&ser.value()) {
313
- Ok(rename_rule) => {
314
- rename_all_fields_ser_rule.set(&meta.path, rename_rule);
315
- }
316
- Err(err) => cx.error_spanned_by(ser, err),
317
- }
318
- }
319
- if let Some(de) = de {
320
- match RenameRule::from_str(&de.value()) {
321
- Ok(rename_rule) => {
322
- rename_all_fields_de_rule.set(&meta.path, rename_rule);
323
- }
324
- Err(err) => {
325
- if !one_name {
326
- cx.error_spanned_by(de, err);
327
- }
328
- }
329
- }
330
- }
331
- }
332
- syn::Data::Struct(_) => {
333
- let msg = "#[serde(rename_all_fields)] can only be used on enums";
334
- cx.syn_error(meta.error(msg));
335
- }
336
- syn::Data::Union(_) => {
337
- let msg = "#[serde(rename_all_fields)] can only be used on enums";
338
- cx.syn_error(meta.error(msg));
339
- }
340
- }
341
- } else if meta.path == TRANSPARENT {
342
- // #[serde(transparent)]
343
- transparent.set_true(meta.path);
344
- } else if meta.path == DENY_UNKNOWN_FIELDS {
345
- // #[serde(deny_unknown_fields)]
346
- deny_unknown_fields.set_true(meta.path);
347
- } else if meta.path == DEFAULT {
348
- if meta.input.peek(Token![=]) {
349
- // #[serde(default = "...")]
350
- if let Some(path) = parse_lit_into_expr_path(cx, DEFAULT, &meta)? {
351
- match &item.data {
352
- syn::Data::Struct(syn::DataStruct { fields, .. }) => match fields {
353
- syn::Fields::Named(_) | syn::Fields::Unnamed(_) => {
354
- default.set(&meta.path, Default::Path(path));
355
- }
356
- syn::Fields::Unit => {
357
- let msg = "#[serde(default = \"...\")] can only be used on structs that have fields";
358
- cx.syn_error(meta.error(msg));
359
- }
360
- },
361
- syn::Data::Enum(_) => {
362
- let msg = "#[serde(default = \"...\")] can only be used on structs";
363
- cx.syn_error(meta.error(msg));
364
- }
365
- syn::Data::Union(_) => {
366
- let msg = "#[serde(default = \"...\")] can only be used on structs";
367
- cx.syn_error(meta.error(msg));
368
- }
369
- }
370
- }
371
- } else {
372
- // #[serde(default)]
373
- match &item.data {
374
- syn::Data::Struct(syn::DataStruct { fields, .. }) => match fields {
375
- syn::Fields::Named(_) | syn::Fields::Unnamed(_) => {
376
- default.set(meta.path, Default::Default);
377
- }
378
- syn::Fields::Unit => {
379
- let msg = "#[serde(default)] can only be used on structs that have fields";
380
- cx.error_spanned_by(fields, msg);
381
- }
382
- },
383
- syn::Data::Enum(_) => {
384
- let msg = "#[serde(default)] can only be used on structs";
385
- cx.syn_error(meta.error(msg));
386
- }
387
- syn::Data::Union(_) => {
388
- let msg = "#[serde(default)] can only be used on structs";
389
- cx.syn_error(meta.error(msg));
390
- }
391
- }
392
- }
393
- } else if meta.path == BOUND {
394
- // #[serde(bound = "T: SomeBound")]
395
- // #[serde(bound(serialize = "...", deserialize = "..."))]
396
- let (ser, de) = get_where_predicates(cx, &meta)?;
397
- ser_bound.set_opt(&meta.path, ser);
398
- de_bound.set_opt(&meta.path, de);
399
- } else if meta.path == UNTAGGED {
400
- // #[serde(untagged)]
401
- match item.data {
402
- syn::Data::Enum(_) => {
403
- untagged.set_true(&meta.path);
404
- }
405
- syn::Data::Struct(_) => {
406
- let msg = "#[serde(untagged)] can only be used on enums";
407
- cx.syn_error(meta.error(msg));
408
- }
409
- syn::Data::Union(_) => {
410
- let msg = "#[serde(untagged)] can only be used on enums";
411
- cx.syn_error(meta.error(msg));
412
- }
413
- }
414
- } else if meta.path == TAG {
415
- // #[serde(tag = "type")]
416
- if let Some(s) = get_lit_str(cx, TAG, &meta)? {
417
- match &item.data {
418
- syn::Data::Enum(_) => {
419
- internal_tag.set(&meta.path, s.value());
420
- }
421
- syn::Data::Struct(syn::DataStruct { fields, .. }) => match fields {
422
- syn::Fields::Named(_) => {
423
- internal_tag.set(&meta.path, s.value());
424
- }
425
- syn::Fields::Unnamed(_) | syn::Fields::Unit => {
426
- let msg = "#[serde(tag = \"...\")] can only be used on enums and structs with named fields";
427
- cx.syn_error(meta.error(msg));
428
- }
429
- },
430
- syn::Data::Union(_) => {
431
- let msg = "#[serde(tag = \"...\")] can only be used on enums and structs with named fields";
432
- cx.syn_error(meta.error(msg));
433
- }
434
- }
435
- }
436
- } else if meta.path == CONTENT {
437
- // #[serde(content = "c")]
438
- if let Some(s) = get_lit_str(cx, CONTENT, &meta)? {
439
- match &item.data {
440
- syn::Data::Enum(_) => {
441
- content.set(&meta.path, s.value());
442
- }
443
- syn::Data::Struct(_) => {
444
- let msg = "#[serde(content = \"...\")] can only be used on enums";
445
- cx.syn_error(meta.error(msg));
446
- }
447
- syn::Data::Union(_) => {
448
- let msg = "#[serde(content = \"...\")] can only be used on enums";
449
- cx.syn_error(meta.error(msg));
450
- }
451
- }
452
- }
453
- } else if meta.path == FROM {
454
- // #[serde(from = "Type")]
455
- if let Some(from_ty) = parse_lit_into_ty(cx, FROM, &meta)? {
456
- type_from.set_opt(&meta.path, Some(from_ty));
457
- }
458
- } else if meta.path == TRY_FROM {
459
- // #[serde(try_from = "Type")]
460
- if let Some(try_from_ty) = parse_lit_into_ty(cx, TRY_FROM, &meta)? {
461
- type_try_from.set_opt(&meta.path, Some(try_from_ty));
462
- }
463
- } else if meta.path == INTO {
464
- // #[serde(into = "Type")]
465
- if let Some(into_ty) = parse_lit_into_ty(cx, INTO, &meta)? {
466
- type_into.set_opt(&meta.path, Some(into_ty));
467
- }
468
- } else if meta.path == REMOTE {
469
- // #[serde(remote = "...")]
470
- if let Some(path) = parse_lit_into_path(cx, REMOTE, &meta)? {
471
- if is_primitive_path(&path, "Self") {
472
- remote.set(&meta.path, item.ident.clone().into());
473
- } else {
474
- remote.set(&meta.path, path);
475
- }
476
- }
477
- } else if meta.path == FIELD_IDENTIFIER {
478
- // #[serde(field_identifier)]
479
- field_identifier.set_true(&meta.path);
480
- } else if meta.path == VARIANT_IDENTIFIER {
481
- // #[serde(variant_identifier)]
482
- variant_identifier.set_true(&meta.path);
483
- } else if meta.path == CRATE {
484
- // #[serde(crate = "foo")]
485
- if let Some(path) = parse_lit_into_path(cx, CRATE, &meta)? {
486
- serde_path.set(&meta.path, path);
487
- }
488
- } else if meta.path == EXPECTING {
489
- // #[serde(expecting = "a message")]
490
- if let Some(s) = get_lit_str(cx, EXPECTING, &meta)? {
491
- expecting.set(&meta.path, s.value());
492
- }
493
- } else {
494
- let path = meta.path.to_token_stream().to_string().replace(' ', "");
495
- return Err(
496
- meta.error(format_args!("unknown serde container attribute `{}`", path))
497
- );
498
- }
499
- Ok(())
500
- }) {
501
- cx.syn_error(err);
502
- }
503
- }
504
-
505
- let mut is_packed = false;
506
- for attr in &item.attrs {
507
- if attr.path() == REPR {
508
- let _ = attr.parse_args_with(|input: ParseStream| {
509
- while let Some(token) = input.parse()? {
510
- if let TokenTree::Ident(ident) = token {
511
- is_packed |= ident == "packed";
512
- }
513
- }
514
- Ok(())
515
- });
516
- }
517
- }
518
-
519
- Container {
520
- name: MultiName::from_attrs(Name::from(&unraw(&item.ident)), ser_name, de_name, None),
521
- transparent: transparent.get(),
522
- deny_unknown_fields: deny_unknown_fields.get(),
523
- default: default.get().unwrap_or(Default::None),
524
- rename_all_rules: RenameAllRules {
525
- serialize: rename_all_ser_rule.get().unwrap_or(RenameRule::None),
526
- deserialize: rename_all_de_rule.get().unwrap_or(RenameRule::None),
527
- },
528
- rename_all_fields_rules: RenameAllRules {
529
- serialize: rename_all_fields_ser_rule.get().unwrap_or(RenameRule::None),
530
- deserialize: rename_all_fields_de_rule.get().unwrap_or(RenameRule::None),
531
- },
532
- ser_bound: ser_bound.get(),
533
- de_bound: de_bound.get(),
534
- tag: decide_tag(cx, item, untagged, internal_tag, content),
535
- type_from: type_from.get(),
536
- type_try_from: type_try_from.get(),
537
- type_into: type_into.get(),
538
- remote: remote.get(),
539
- identifier: decide_identifier(cx, item, field_identifier, variant_identifier),
540
- serde_path: serde_path.get(),
541
- is_packed,
542
- expecting: expecting.get(),
543
- non_exhaustive,
544
- }
545
- }
546
-
547
- pub fn name(&self) -> &MultiName {
548
- &self.name
549
- }
550
-
551
- pub fn rename_all_rules(&self) -> RenameAllRules {
552
- self.rename_all_rules
553
- }
554
-
555
- pub fn rename_all_fields_rules(&self) -> RenameAllRules {
556
- self.rename_all_fields_rules
557
- }
558
-
559
- pub fn transparent(&self) -> bool {
560
- self.transparent
561
- }
562
-
563
- pub fn deny_unknown_fields(&self) -> bool {
564
- self.deny_unknown_fields
565
- }
566
-
567
- pub fn default(&self) -> &Default {
568
- &self.default
569
- }
570
-
571
- pub fn ser_bound(&self) -> Option<&[syn::WherePredicate]> {
572
- self.ser_bound.as_ref().map(|vec| &vec[..])
573
- }
574
-
575
- pub fn de_bound(&self) -> Option<&[syn::WherePredicate]> {
576
- self.de_bound.as_ref().map(|vec| &vec[..])
577
- }
578
-
579
- pub fn tag(&self) -> &TagType {
580
- &self.tag
581
- }
582
-
583
- pub fn type_from(&self) -> Option<&syn::Type> {
584
- self.type_from.as_ref()
585
- }
586
-
587
- pub fn type_try_from(&self) -> Option<&syn::Type> {
588
- self.type_try_from.as_ref()
589
- }
590
-
591
- pub fn type_into(&self) -> Option<&syn::Type> {
592
- self.type_into.as_ref()
593
- }
594
-
595
- pub fn remote(&self) -> Option<&syn::Path> {
596
- self.remote.as_ref()
597
- }
598
-
599
- pub fn is_packed(&self) -> bool {
600
- self.is_packed
601
- }
602
-
603
- pub fn identifier(&self) -> Identifier {
604
- self.identifier
605
- }
606
-
607
- pub fn custom_serde_path(&self) -> Option<&syn::Path> {
608
- self.serde_path.as_ref()
609
- }
610
-
611
- /// Error message generated when type can't be deserialized.
612
- /// If `None`, default message will be used
613
- pub fn expecting(&self) -> Option<&str> {
614
- self.expecting.as_ref().map(String::as_ref)
615
- }
616
-
617
- pub fn non_exhaustive(&self) -> bool {
618
- self.non_exhaustive
619
- }
620
- }
621
-
622
- fn decide_tag(
623
- cx: &Ctxt,
624
- item: &syn::DeriveInput,
625
- untagged: BoolAttr,
626
- internal_tag: Attr<String>,
627
- content: Attr<String>,
628
- ) -> TagType {
629
- match (
630
- untagged.0.get_with_tokens(),
631
- internal_tag.get_with_tokens(),
632
- content.get_with_tokens(),
633
- ) {
634
- (None, None, None) => TagType::External,
635
- (Some(_), None, None) => TagType::None,
636
- (None, Some((_, tag)), None) => {
637
- // Check that there are no tuple variants.
638
- if let syn::Data::Enum(data) = &item.data {
639
- for variant in &data.variants {
640
- match &variant.fields {
641
- syn::Fields::Named(_) | syn::Fields::Unit => {}
642
- syn::Fields::Unnamed(fields) => {
643
- if fields.unnamed.len() != 1 {
644
- let msg =
645
- "#[serde(tag = \"...\")] cannot be used with tuple variants";
646
- cx.error_spanned_by(variant, msg);
647
- break;
648
- }
649
- }
650
- }
651
- }
652
- }
653
- TagType::Internal { tag }
654
- }
655
- (Some((untagged_tokens, ())), Some((tag_tokens, _)), None) => {
656
- let msg = "enum cannot be both untagged and internally tagged";
657
- cx.error_spanned_by(untagged_tokens, msg);
658
- cx.error_spanned_by(tag_tokens, msg);
659
- TagType::External // doesn't matter, will error
660
- }
661
- (None, None, Some((content_tokens, _))) => {
662
- let msg = "#[serde(tag = \"...\", content = \"...\")] must be used together";
663
- cx.error_spanned_by(content_tokens, msg);
664
- TagType::External
665
- }
666
- (Some((untagged_tokens, ())), None, Some((content_tokens, _))) => {
667
- let msg = "untagged enum cannot have #[serde(content = \"...\")]";
668
- cx.error_spanned_by(untagged_tokens, msg);
669
- cx.error_spanned_by(content_tokens, msg);
670
- TagType::External
671
- }
672
- (None, Some((_, tag)), Some((_, content))) => TagType::Adjacent { tag, content },
673
- (Some((untagged_tokens, ())), Some((tag_tokens, _)), Some((content_tokens, _))) => {
674
- let msg = "untagged enum cannot have #[serde(tag = \"...\", content = \"...\")]";
675
- cx.error_spanned_by(untagged_tokens, msg);
676
- cx.error_spanned_by(tag_tokens, msg);
677
- cx.error_spanned_by(content_tokens, msg);
678
- TagType::External
679
- }
680
- }
681
- }
682
-
683
- fn decide_identifier(
684
- cx: &Ctxt,
685
- item: &syn::DeriveInput,
686
- field_identifier: BoolAttr,
687
- variant_identifier: BoolAttr,
688
- ) -> Identifier {
689
- match (
690
- &item.data,
691
- field_identifier.0.get_with_tokens(),
692
- variant_identifier.0.get_with_tokens(),
693
- ) {
694
- (_, None, None) => Identifier::No,
695
- (_, Some((field_identifier_tokens, ())), Some((variant_identifier_tokens, ()))) => {
696
- let msg =
697
- "#[serde(field_identifier)] and #[serde(variant_identifier)] cannot both be set";
698
- cx.error_spanned_by(field_identifier_tokens, msg);
699
- cx.error_spanned_by(variant_identifier_tokens, msg);
700
- Identifier::No
701
- }
702
- (syn::Data::Enum(_), Some(_), None) => Identifier::Field,
703
- (syn::Data::Enum(_), None, Some(_)) => Identifier::Variant,
704
- (syn::Data::Struct(syn::DataStruct { struct_token, .. }), Some(_), None) => {
705
- let msg = "#[serde(field_identifier)] can only be used on an enum";
706
- cx.error_spanned_by(struct_token, msg);
707
- Identifier::No
708
- }
709
- (syn::Data::Union(syn::DataUnion { union_token, .. }), Some(_), None) => {
710
- let msg = "#[serde(field_identifier)] can only be used on an enum";
711
- cx.error_spanned_by(union_token, msg);
712
- Identifier::No
713
- }
714
- (syn::Data::Struct(syn::DataStruct { struct_token, .. }), None, Some(_)) => {
715
- let msg = "#[serde(variant_identifier)] can only be used on an enum";
716
- cx.error_spanned_by(struct_token, msg);
717
- Identifier::No
718
- }
719
- (syn::Data::Union(syn::DataUnion { union_token, .. }), None, Some(_)) => {
720
- let msg = "#[serde(variant_identifier)] can only be used on an enum";
721
- cx.error_spanned_by(union_token, msg);
722
- Identifier::No
723
- }
724
- }
725
- }
726
-
727
- /// Represents variant attribute information
728
- pub struct Variant {
729
- name: MultiName,
730
- rename_all_rules: RenameAllRules,
731
- ser_bound: Option<Vec<syn::WherePredicate>>,
732
- de_bound: Option<Vec<syn::WherePredicate>>,
733
- skip_deserializing: bool,
734
- skip_serializing: bool,
735
- other: bool,
736
- serialize_with: Option<syn::ExprPath>,
737
- deserialize_with: Option<syn::ExprPath>,
738
- borrow: Option<BorrowAttribute>,
739
- untagged: bool,
740
- }
741
-
742
- struct BorrowAttribute {
743
- path: syn::Path,
744
- lifetimes: Option<BTreeSet<syn::Lifetime>>,
745
- }
746
-
747
- impl Variant {
748
- pub fn from_ast(cx: &Ctxt, variant: &syn::Variant) -> Self {
749
- let mut ser_name = Attr::none(cx, RENAME);
750
- let mut de_name = Attr::none(cx, RENAME);
751
- let mut de_aliases = VecAttr::none(cx, RENAME);
752
- let mut skip_deserializing = BoolAttr::none(cx, SKIP_DESERIALIZING);
753
- let mut skip_serializing = BoolAttr::none(cx, SKIP_SERIALIZING);
754
- let mut rename_all_ser_rule = Attr::none(cx, RENAME_ALL);
755
- let mut rename_all_de_rule = Attr::none(cx, RENAME_ALL);
756
- let mut ser_bound = Attr::none(cx, BOUND);
757
- let mut de_bound = Attr::none(cx, BOUND);
758
- let mut other = BoolAttr::none(cx, OTHER);
759
- let mut serialize_with = Attr::none(cx, SERIALIZE_WITH);
760
- let mut deserialize_with = Attr::none(cx, DESERIALIZE_WITH);
761
- let mut borrow = Attr::none(cx, BORROW);
762
- let mut untagged = BoolAttr::none(cx, UNTAGGED);
763
-
764
- for attr in &variant.attrs {
765
- if attr.path() != SERDE {
766
- continue;
767
- }
768
-
769
- if let syn::Meta::List(meta) = &attr.meta {
770
- if meta.tokens.is_empty() {
771
- continue;
772
- }
773
- }
774
-
775
- if let Err(err) = attr.parse_nested_meta(|meta| {
776
- if meta.path == RENAME {
777
- // #[serde(rename = "foo")]
778
- // #[serde(rename(serialize = "foo", deserialize = "bar"))]
779
- let (ser, de) = get_multiple_renames(cx, &meta)?;
780
- ser_name.set_opt(&meta.path, ser.as_ref().map(Name::from));
781
- for de_value in de {
782
- de_name.set_if_none(Name::from(&de_value));
783
- de_aliases.insert(&meta.path, Name::from(&de_value));
784
- }
785
- } else if meta.path == ALIAS {
786
- // #[serde(alias = "foo")]
787
- if let Some(s) = get_lit_str(cx, ALIAS, &meta)? {
788
- de_aliases.insert(&meta.path, Name::from(&s));
789
- }
790
- } else if meta.path == RENAME_ALL {
791
- // #[serde(rename_all = "foo")]
792
- // #[serde(rename_all(serialize = "foo", deserialize = "bar"))]
793
- let one_name = meta.input.peek(Token![=]);
794
- let (ser, de) = get_renames(cx, RENAME_ALL, &meta)?;
795
- if let Some(ser) = ser {
796
- match RenameRule::from_str(&ser.value()) {
797
- Ok(rename_rule) => rename_all_ser_rule.set(&meta.path, rename_rule),
798
- Err(err) => cx.error_spanned_by(ser, err),
799
- }
800
- }
801
- if let Some(de) = de {
802
- match RenameRule::from_str(&de.value()) {
803
- Ok(rename_rule) => rename_all_de_rule.set(&meta.path, rename_rule),
804
- Err(err) => {
805
- if !one_name {
806
- cx.error_spanned_by(de, err);
807
- }
808
- }
809
- }
810
- }
811
- } else if meta.path == SKIP {
812
- // #[serde(skip)]
813
- skip_serializing.set_true(&meta.path);
814
- skip_deserializing.set_true(&meta.path);
815
- } else if meta.path == SKIP_DESERIALIZING {
816
- // #[serde(skip_deserializing)]
817
- skip_deserializing.set_true(&meta.path);
818
- } else if meta.path == SKIP_SERIALIZING {
819
- // #[serde(skip_serializing)]
820
- skip_serializing.set_true(&meta.path);
821
- } else if meta.path == OTHER {
822
- // #[serde(other)]
823
- other.set_true(&meta.path);
824
- } else if meta.path == BOUND {
825
- // #[serde(bound = "T: SomeBound")]
826
- // #[serde(bound(serialize = "...", deserialize = "..."))]
827
- let (ser, de) = get_where_predicates(cx, &meta)?;
828
- ser_bound.set_opt(&meta.path, ser);
829
- de_bound.set_opt(&meta.path, de);
830
- } else if meta.path == WITH {
831
- // #[serde(with = "...")]
832
- if let Some(path) = parse_lit_into_expr_path(cx, WITH, &meta)? {
833
- let mut ser_path = path.clone();
834
- ser_path
835
- .path
836
- .segments
837
- .push(Ident::new("serialize", ser_path.span()).into());
838
- serialize_with.set(&meta.path, ser_path);
839
- let mut de_path = path;
840
- de_path
841
- .path
842
- .segments
843
- .push(Ident::new("deserialize", de_path.span()).into());
844
- deserialize_with.set(&meta.path, de_path);
845
- }
846
- } else if meta.path == SERIALIZE_WITH {
847
- // #[serde(serialize_with = "...")]
848
- if let Some(path) = parse_lit_into_expr_path(cx, SERIALIZE_WITH, &meta)? {
849
- serialize_with.set(&meta.path, path);
850
- }
851
- } else if meta.path == DESERIALIZE_WITH {
852
- // #[serde(deserialize_with = "...")]
853
- if let Some(path) = parse_lit_into_expr_path(cx, DESERIALIZE_WITH, &meta)? {
854
- deserialize_with.set(&meta.path, path);
855
- }
856
- } else if meta.path == BORROW {
857
- let borrow_attribute = if meta.input.peek(Token![=]) {
858
- // #[serde(borrow = "'a + 'b")]
859
- let lifetimes = parse_lit_into_lifetimes(cx, &meta)?;
860
- BorrowAttribute {
861
- path: meta.path.clone(),
862
- lifetimes: Some(lifetimes),
863
- }
864
- } else {
865
- // #[serde(borrow)]
866
- BorrowAttribute {
867
- path: meta.path.clone(),
868
- lifetimes: None,
869
- }
870
- };
871
- match &variant.fields {
872
- syn::Fields::Unnamed(fields) if fields.unnamed.len() == 1 => {
873
- borrow.set(&meta.path, borrow_attribute);
874
- }
875
- _ => {
876
- let msg = "#[serde(borrow)] may only be used on newtype variants";
877
- cx.error_spanned_by(variant, msg);
878
- }
879
- }
880
- } else if meta.path == UNTAGGED {
881
- untagged.set_true(&meta.path);
882
- } else {
883
- let path = meta.path.to_token_stream().to_string().replace(' ', "");
884
- return Err(
885
- meta.error(format_args!("unknown serde variant attribute `{}`", path))
886
- );
887
- }
888
- Ok(())
889
- }) {
890
- cx.syn_error(err);
891
- }
892
- }
893
-
894
- Variant {
895
- name: MultiName::from_attrs(
896
- Name::from(&unraw(&variant.ident)),
897
- ser_name,
898
- de_name,
899
- Some(de_aliases),
900
- ),
901
- rename_all_rules: RenameAllRules {
902
- serialize: rename_all_ser_rule.get().unwrap_or(RenameRule::None),
903
- deserialize: rename_all_de_rule.get().unwrap_or(RenameRule::None),
904
- },
905
- ser_bound: ser_bound.get(),
906
- de_bound: de_bound.get(),
907
- skip_deserializing: skip_deserializing.get(),
908
- skip_serializing: skip_serializing.get(),
909
- other: other.get(),
910
- serialize_with: serialize_with.get(),
911
- deserialize_with: deserialize_with.get(),
912
- borrow: borrow.get(),
913
- untagged: untagged.get(),
914
- }
915
- }
916
-
917
- pub fn name(&self) -> &MultiName {
918
- &self.name
919
- }
920
-
921
- pub fn aliases(&self) -> &BTreeSet<Name> {
922
- self.name.deserialize_aliases()
923
- }
924
-
925
- pub fn rename_by_rules(&mut self, rules: RenameAllRules) {
926
- if !self.name.serialize_renamed {
927
- self.name.serialize.value =
928
- rules.serialize.apply_to_variant(&self.name.serialize.value);
929
- }
930
- if !self.name.deserialize_renamed {
931
- self.name.deserialize.value = rules
932
- .deserialize
933
- .apply_to_variant(&self.name.deserialize.value);
934
- }
935
- self.name
936
- .deserialize_aliases
937
- .insert(self.name.deserialize.clone());
938
- }
939
-
940
- pub fn rename_all_rules(&self) -> RenameAllRules {
941
- self.rename_all_rules
942
- }
943
-
944
- pub fn ser_bound(&self) -> Option<&[syn::WherePredicate]> {
945
- self.ser_bound.as_ref().map(|vec| &vec[..])
946
- }
947
-
948
- pub fn de_bound(&self) -> Option<&[syn::WherePredicate]> {
949
- self.de_bound.as_ref().map(|vec| &vec[..])
950
- }
951
-
952
- pub fn skip_deserializing(&self) -> bool {
953
- self.skip_deserializing
954
- }
955
-
956
- pub fn skip_serializing(&self) -> bool {
957
- self.skip_serializing
958
- }
959
-
960
- pub fn other(&self) -> bool {
961
- self.other
962
- }
963
-
964
- pub fn serialize_with(&self) -> Option<&syn::ExprPath> {
965
- self.serialize_with.as_ref()
966
- }
967
-
968
- pub fn deserialize_with(&self) -> Option<&syn::ExprPath> {
969
- self.deserialize_with.as_ref()
970
- }
971
-
972
- pub fn untagged(&self) -> bool {
973
- self.untagged
974
- }
975
- }
976
-
977
- /// Represents field attribute information
978
- pub struct Field {
979
- name: MultiName,
980
- skip_serializing: bool,
981
- skip_deserializing: bool,
982
- skip_serializing_if: Option<syn::ExprPath>,
983
- default: Default,
984
- serialize_with: Option<syn::ExprPath>,
985
- deserialize_with: Option<syn::ExprPath>,
986
- ser_bound: Option<Vec<syn::WherePredicate>>,
987
- de_bound: Option<Vec<syn::WherePredicate>>,
988
- borrowed_lifetimes: BTreeSet<syn::Lifetime>,
989
- getter: Option<syn::ExprPath>,
990
- flatten: bool,
991
- transparent: bool,
992
- }
993
-
994
- /// Represents the default to use for a field when deserializing.
995
- pub enum Default {
996
- /// Field must always be specified because it does not have a default.
997
- None,
998
- /// The default is given by `std::default::Default::default()`.
999
- Default,
1000
- /// The default is given by this function.
1001
- Path(syn::ExprPath),
1002
- }
1003
-
1004
- impl Default {
1005
- pub fn is_none(&self) -> bool {
1006
- match self {
1007
- Default::None => true,
1008
- Default::Default | Default::Path(_) => false,
1009
- }
1010
- }
1011
- }
1012
-
1013
- impl Field {
1014
- /// Extract out the `#[serde(...)]` attributes from a struct field.
1015
- pub fn from_ast(
1016
- cx: &Ctxt,
1017
- index: usize,
1018
- field: &syn::Field,
1019
- attrs: Option<&Variant>,
1020
- container_default: &Default,
1021
- private: &Ident,
1022
- ) -> Self {
1023
- let mut ser_name = Attr::none(cx, RENAME);
1024
- let mut de_name = Attr::none(cx, RENAME);
1025
- let mut de_aliases = VecAttr::none(cx, RENAME);
1026
- let mut skip_serializing = BoolAttr::none(cx, SKIP_SERIALIZING);
1027
- let mut skip_deserializing = BoolAttr::none(cx, SKIP_DESERIALIZING);
1028
- let mut skip_serializing_if = Attr::none(cx, SKIP_SERIALIZING_IF);
1029
- let mut default = Attr::none(cx, DEFAULT);
1030
- let mut serialize_with = Attr::none(cx, SERIALIZE_WITH);
1031
- let mut deserialize_with = Attr::none(cx, DESERIALIZE_WITH);
1032
- let mut ser_bound = Attr::none(cx, BOUND);
1033
- let mut de_bound = Attr::none(cx, BOUND);
1034
- let mut borrowed_lifetimes = Attr::none(cx, BORROW);
1035
- let mut getter = Attr::none(cx, GETTER);
1036
- let mut flatten = BoolAttr::none(cx, FLATTEN);
1037
-
1038
- let ident = match &field.ident {
1039
- Some(ident) => Name::from(&unraw(ident)),
1040
- None => Name {
1041
- value: index.to_string(),
1042
- span: Span::call_site(),
1043
- },
1044
- };
1045
-
1046
- if let Some(borrow_attribute) = attrs.and_then(|variant| variant.borrow.as_ref()) {
1047
- if let Ok(borrowable) = borrowable_lifetimes(cx, &ident, field) {
1048
- if let Some(lifetimes) = &borrow_attribute.lifetimes {
1049
- for lifetime in lifetimes {
1050
- if !borrowable.contains(lifetime) {
1051
- let msg =
1052
- format!("field `{}` does not have lifetime {}", ident, lifetime);
1053
- cx.error_spanned_by(field, msg);
1054
- }
1055
- }
1056
- borrowed_lifetimes.set(&borrow_attribute.path, lifetimes.clone());
1057
- } else {
1058
- borrowed_lifetimes.set(&borrow_attribute.path, borrowable);
1059
- }
1060
- }
1061
- }
1062
-
1063
- for attr in &field.attrs {
1064
- if attr.path() != SERDE {
1065
- continue;
1066
- }
1067
-
1068
- if let syn::Meta::List(meta) = &attr.meta {
1069
- if meta.tokens.is_empty() {
1070
- continue;
1071
- }
1072
- }
1073
-
1074
- if let Err(err) = attr.parse_nested_meta(|meta| {
1075
- if meta.path == RENAME {
1076
- // #[serde(rename = "foo")]
1077
- // #[serde(rename(serialize = "foo", deserialize = "bar"))]
1078
- let (ser, de) = get_multiple_renames(cx, &meta)?;
1079
- ser_name.set_opt(&meta.path, ser.as_ref().map(Name::from));
1080
- for de_value in de {
1081
- de_name.set_if_none(Name::from(&de_value));
1082
- de_aliases.insert(&meta.path, Name::from(&de_value));
1083
- }
1084
- } else if meta.path == ALIAS {
1085
- // #[serde(alias = "foo")]
1086
- if let Some(s) = get_lit_str(cx, ALIAS, &meta)? {
1087
- de_aliases.insert(&meta.path, Name::from(&s));
1088
- }
1089
- } else if meta.path == DEFAULT {
1090
- if meta.input.peek(Token![=]) {
1091
- // #[serde(default = "...")]
1092
- if let Some(path) = parse_lit_into_expr_path(cx, DEFAULT, &meta)? {
1093
- default.set(&meta.path, Default::Path(path));
1094
- }
1095
- } else {
1096
- // #[serde(default)]
1097
- default.set(&meta.path, Default::Default);
1098
- }
1099
- } else if meta.path == SKIP_SERIALIZING {
1100
- // #[serde(skip_serializing)]
1101
- skip_serializing.set_true(&meta.path);
1102
- } else if meta.path == SKIP_DESERIALIZING {
1103
- // #[serde(skip_deserializing)]
1104
- skip_deserializing.set_true(&meta.path);
1105
- } else if meta.path == SKIP {
1106
- // #[serde(skip)]
1107
- skip_serializing.set_true(&meta.path);
1108
- skip_deserializing.set_true(&meta.path);
1109
- } else if meta.path == SKIP_SERIALIZING_IF {
1110
- // #[serde(skip_serializing_if = "...")]
1111
- if let Some(path) = parse_lit_into_expr_path(cx, SKIP_SERIALIZING_IF, &meta)? {
1112
- skip_serializing_if.set(&meta.path, path);
1113
- }
1114
- } else if meta.path == SERIALIZE_WITH {
1115
- // #[serde(serialize_with = "...")]
1116
- if let Some(path) = parse_lit_into_expr_path(cx, SERIALIZE_WITH, &meta)? {
1117
- serialize_with.set(&meta.path, path);
1118
- }
1119
- } else if meta.path == DESERIALIZE_WITH {
1120
- // #[serde(deserialize_with = "...")]
1121
- if let Some(path) = parse_lit_into_expr_path(cx, DESERIALIZE_WITH, &meta)? {
1122
- deserialize_with.set(&meta.path, path);
1123
- }
1124
- } else if meta.path == WITH {
1125
- // #[serde(with = "...")]
1126
- if let Some(path) = parse_lit_into_expr_path(cx, WITH, &meta)? {
1127
- let mut ser_path = path.clone();
1128
- ser_path
1129
- .path
1130
- .segments
1131
- .push(Ident::new("serialize", ser_path.span()).into());
1132
- serialize_with.set(&meta.path, ser_path);
1133
- let mut de_path = path;
1134
- de_path
1135
- .path
1136
- .segments
1137
- .push(Ident::new("deserialize", de_path.span()).into());
1138
- deserialize_with.set(&meta.path, de_path);
1139
- }
1140
- } else if meta.path == BOUND {
1141
- // #[serde(bound = "T: SomeBound")]
1142
- // #[serde(bound(serialize = "...", deserialize = "..."))]
1143
- let (ser, de) = get_where_predicates(cx, &meta)?;
1144
- ser_bound.set_opt(&meta.path, ser);
1145
- de_bound.set_opt(&meta.path, de);
1146
- } else if meta.path == BORROW {
1147
- if meta.input.peek(Token![=]) {
1148
- // #[serde(borrow = "'a + 'b")]
1149
- let lifetimes = parse_lit_into_lifetimes(cx, &meta)?;
1150
- if let Ok(borrowable) = borrowable_lifetimes(cx, &ident, field) {
1151
- for lifetime in &lifetimes {
1152
- if !borrowable.contains(lifetime) {
1153
- let msg = format!(
1154
- "field `{}` does not have lifetime {}",
1155
- ident, lifetime,
1156
- );
1157
- cx.error_spanned_by(field, msg);
1158
- }
1159
- }
1160
- borrowed_lifetimes.set(&meta.path, lifetimes);
1161
- }
1162
- } else {
1163
- // #[serde(borrow)]
1164
- if let Ok(borrowable) = borrowable_lifetimes(cx, &ident, field) {
1165
- borrowed_lifetimes.set(&meta.path, borrowable);
1166
- }
1167
- }
1168
- } else if meta.path == GETTER {
1169
- // #[serde(getter = "...")]
1170
- if let Some(path) = parse_lit_into_expr_path(cx, GETTER, &meta)? {
1171
- getter.set(&meta.path, path);
1172
- }
1173
- } else if meta.path == FLATTEN {
1174
- // #[serde(flatten)]
1175
- flatten.set_true(&meta.path);
1176
- } else {
1177
- let path = meta.path.to_token_stream().to_string().replace(' ', "");
1178
- return Err(
1179
- meta.error(format_args!("unknown serde field attribute `{}`", path))
1180
- );
1181
- }
1182
- Ok(())
1183
- }) {
1184
- cx.syn_error(err);
1185
- }
1186
- }
1187
-
1188
- // Is skip_deserializing, initialize the field to Default::default() unless a
1189
- // different default is specified by `#[serde(default = "...")]` on
1190
- // ourselves or our container (e.g. the struct we are in).
1191
- if let Default::None = *container_default {
1192
- if skip_deserializing.0.value.is_some() {
1193
- default.set_if_none(Default::Default);
1194
- }
1195
- }
1196
-
1197
- let mut borrowed_lifetimes = borrowed_lifetimes.get().unwrap_or_default();
1198
- if !borrowed_lifetimes.is_empty() {
1199
- // Cow<str> and Cow<[u8]> never borrow by default:
1200
- //
1201
- // impl<'de, 'a, T: ?Sized> Deserialize<'de> for Cow<'a, T>
1202
- //
1203
- // A #[serde(borrow)] attribute enables borrowing that corresponds
1204
- // roughly to these impls:
1205
- //
1206
- // impl<'de: 'a, 'a> Deserialize<'de> for Cow<'a, str>
1207
- // impl<'de: 'a, 'a> Deserialize<'de> for Cow<'a, [u8]>
1208
- if is_cow(&field.ty, is_str) {
1209
- let mut path = syn::Path {
1210
- leading_colon: None,
1211
- segments: Punctuated::new(),
1212
- };
1213
- let span = Span::call_site();
1214
- path.segments.push(Ident::new("_serde", span).into());
1215
- path.segments.push(private.clone().into());
1216
- path.segments.push(Ident::new("de", span).into());
1217
- path.segments
1218
- .push(Ident::new("borrow_cow_str", span).into());
1219
- let expr = syn::ExprPath {
1220
- attrs: Vec::new(),
1221
- qself: None,
1222
- path,
1223
- };
1224
- deserialize_with.set_if_none(expr);
1225
- } else if is_cow(&field.ty, is_slice_u8) {
1226
- let mut path = syn::Path {
1227
- leading_colon: None,
1228
- segments: Punctuated::new(),
1229
- };
1230
- let span = Span::call_site();
1231
- path.segments.push(Ident::new("_serde", span).into());
1232
- path.segments.push(private.clone().into());
1233
- path.segments.push(Ident::new("de", span).into());
1234
- path.segments
1235
- .push(Ident::new("borrow_cow_bytes", span).into());
1236
- let expr = syn::ExprPath {
1237
- attrs: Vec::new(),
1238
- qself: None,
1239
- path,
1240
- };
1241
- deserialize_with.set_if_none(expr);
1242
- }
1243
- } else if is_implicitly_borrowed(&field.ty) {
1244
- // Types &str and &[u8] are always implicitly borrowed. No need for
1245
- // a #[serde(borrow)].
1246
- collect_lifetimes(&field.ty, &mut borrowed_lifetimes);
1247
- }
1248
-
1249
- Field {
1250
- name: MultiName::from_attrs(ident, ser_name, de_name, Some(de_aliases)),
1251
- skip_serializing: skip_serializing.get(),
1252
- skip_deserializing: skip_deserializing.get(),
1253
- skip_serializing_if: skip_serializing_if.get(),
1254
- default: default.get().unwrap_or(Default::None),
1255
- serialize_with: serialize_with.get(),
1256
- deserialize_with: deserialize_with.get(),
1257
- ser_bound: ser_bound.get(),
1258
- de_bound: de_bound.get(),
1259
- borrowed_lifetimes,
1260
- getter: getter.get(),
1261
- flatten: flatten.get(),
1262
- transparent: false,
1263
- }
1264
- }
1265
-
1266
- pub fn name(&self) -> &MultiName {
1267
- &self.name
1268
- }
1269
-
1270
- pub fn aliases(&self) -> &BTreeSet<Name> {
1271
- self.name.deserialize_aliases()
1272
- }
1273
-
1274
- pub fn rename_by_rules(&mut self, rules: RenameAllRules) {
1275
- if !self.name.serialize_renamed {
1276
- self.name.serialize.value = rules.serialize.apply_to_field(&self.name.serialize.value);
1277
- }
1278
- if !self.name.deserialize_renamed {
1279
- self.name.deserialize.value = rules
1280
- .deserialize
1281
- .apply_to_field(&self.name.deserialize.value);
1282
- }
1283
- self.name
1284
- .deserialize_aliases
1285
- .insert(self.name.deserialize.clone());
1286
- }
1287
-
1288
- pub fn skip_serializing(&self) -> bool {
1289
- self.skip_serializing
1290
- }
1291
-
1292
- pub fn skip_deserializing(&self) -> bool {
1293
- self.skip_deserializing
1294
- }
1295
-
1296
- pub fn skip_serializing_if(&self) -> Option<&syn::ExprPath> {
1297
- self.skip_serializing_if.as_ref()
1298
- }
1299
-
1300
- pub fn default(&self) -> &Default {
1301
- &self.default
1302
- }
1303
-
1304
- pub fn serialize_with(&self) -> Option<&syn::ExprPath> {
1305
- self.serialize_with.as_ref()
1306
- }
1307
-
1308
- pub fn deserialize_with(&self) -> Option<&syn::ExprPath> {
1309
- self.deserialize_with.as_ref()
1310
- }
1311
-
1312
- pub fn ser_bound(&self) -> Option<&[syn::WherePredicate]> {
1313
- self.ser_bound.as_ref().map(|vec| &vec[..])
1314
- }
1315
-
1316
- pub fn de_bound(&self) -> Option<&[syn::WherePredicate]> {
1317
- self.de_bound.as_ref().map(|vec| &vec[..])
1318
- }
1319
-
1320
- pub fn borrowed_lifetimes(&self) -> &BTreeSet<syn::Lifetime> {
1321
- &self.borrowed_lifetimes
1322
- }
1323
-
1324
- pub fn getter(&self) -> Option<&syn::ExprPath> {
1325
- self.getter.as_ref()
1326
- }
1327
-
1328
- pub fn flatten(&self) -> bool {
1329
- self.flatten
1330
- }
1331
-
1332
- pub fn transparent(&self) -> bool {
1333
- self.transparent
1334
- }
1335
-
1336
- pub fn mark_transparent(&mut self) {
1337
- self.transparent = true;
1338
- }
1339
- }
1340
-
1341
- type SerAndDe<T> = (Option<T>, Option<T>);
1342
-
1343
- fn get_ser_and_de<'c, T, F, R>(
1344
- cx: &'c Ctxt,
1345
- attr_name: Symbol,
1346
- meta: &ParseNestedMeta,
1347
- f: F,
1348
- ) -> syn::Result<(VecAttr<'c, T>, VecAttr<'c, T>)>
1349
- where
1350
- T: Clone,
1351
- F: Fn(&Ctxt, Symbol, Symbol, &ParseNestedMeta) -> syn::Result<R>,
1352
- R: Into<Option<T>>,
1353
- {
1354
- let mut ser_meta = VecAttr::none(cx, attr_name);
1355
- let mut de_meta = VecAttr::none(cx, attr_name);
1356
-
1357
- let lookahead = meta.input.lookahead1();
1358
- if lookahead.peek(Token![=]) {
1359
- if let Some(both) = f(cx, attr_name, attr_name, meta)?.into() {
1360
- ser_meta.insert(&meta.path, both.clone());
1361
- de_meta.insert(&meta.path, both);
1362
- }
1363
- } else if lookahead.peek(token::Paren) {
1364
- meta.parse_nested_meta(|meta| {
1365
- if meta.path == SERIALIZE {
1366
- if let Some(v) = f(cx, attr_name, SERIALIZE, &meta)?.into() {
1367
- ser_meta.insert(&meta.path, v);
1368
- }
1369
- } else if meta.path == DESERIALIZE {
1370
- if let Some(v) = f(cx, attr_name, DESERIALIZE, &meta)?.into() {
1371
- de_meta.insert(&meta.path, v);
1372
- }
1373
- } else {
1374
- return Err(meta.error(format_args!(
1375
- "malformed {0} attribute, expected `{0}(serialize = ..., deserialize = ...)`",
1376
- attr_name,
1377
- )));
1378
- }
1379
- Ok(())
1380
- })?;
1381
- } else {
1382
- return Err(lookahead.error());
1383
- }
1384
-
1385
- Ok((ser_meta, de_meta))
1386
- }
1387
-
1388
- fn get_renames(
1389
- cx: &Ctxt,
1390
- attr_name: Symbol,
1391
- meta: &ParseNestedMeta,
1392
- ) -> syn::Result<SerAndDe<syn::LitStr>> {
1393
- let (ser, de) = get_ser_and_de(cx, attr_name, meta, get_lit_str2)?;
1394
- Ok((ser.at_most_one(), de.at_most_one()))
1395
- }
1396
-
1397
- fn get_multiple_renames(
1398
- cx: &Ctxt,
1399
- meta: &ParseNestedMeta,
1400
- ) -> syn::Result<(Option<syn::LitStr>, Vec<syn::LitStr>)> {
1401
- let (ser, de) = get_ser_and_de(cx, RENAME, meta, get_lit_str2)?;
1402
- Ok((ser.at_most_one(), de.get()))
1403
- }
1404
-
1405
- fn get_where_predicates(
1406
- cx: &Ctxt,
1407
- meta: &ParseNestedMeta,
1408
- ) -> syn::Result<SerAndDe<Vec<syn::WherePredicate>>> {
1409
- let (ser, de) = get_ser_and_de(cx, BOUND, meta, parse_lit_into_where)?;
1410
- Ok((ser.at_most_one(), de.at_most_one()))
1411
- }
1412
-
1413
- fn get_lit_str(
1414
- cx: &Ctxt,
1415
- attr_name: Symbol,
1416
- meta: &ParseNestedMeta,
1417
- ) -> syn::Result<Option<syn::LitStr>> {
1418
- get_lit_str2(cx, attr_name, attr_name, meta)
1419
- }
1420
-
1421
- fn get_lit_str2(
1422
- cx: &Ctxt,
1423
- attr_name: Symbol,
1424
- meta_item_name: Symbol,
1425
- meta: &ParseNestedMeta,
1426
- ) -> syn::Result<Option<syn::LitStr>> {
1427
- let expr: syn::Expr = meta.value()?.parse()?;
1428
- let mut value = &expr;
1429
- while let syn::Expr::Group(e) = value {
1430
- value = &e.expr;
1431
- }
1432
- if let syn::Expr::Lit(syn::ExprLit {
1433
- lit: syn::Lit::Str(lit),
1434
- ..
1435
- }) = value
1436
- {
1437
- let suffix = lit.suffix();
1438
- if !suffix.is_empty() {
1439
- cx.error_spanned_by(
1440
- lit,
1441
- format!("unexpected suffix `{}` on string literal", suffix),
1442
- );
1443
- }
1444
- Ok(Some(lit.clone()))
1445
- } else {
1446
- cx.error_spanned_by(
1447
- expr,
1448
- format!(
1449
- "expected serde {} attribute to be a string: `{} = \"...\"`",
1450
- attr_name, meta_item_name
1451
- ),
1452
- );
1453
- Ok(None)
1454
- }
1455
- }
1456
-
1457
- fn parse_lit_into_path(
1458
- cx: &Ctxt,
1459
- attr_name: Symbol,
1460
- meta: &ParseNestedMeta,
1461
- ) -> syn::Result<Option<syn::Path>> {
1462
- let string = match get_lit_str(cx, attr_name, meta)? {
1463
- Some(string) => string,
1464
- None => return Ok(None),
1465
- };
1466
-
1467
- Ok(match string.parse() {
1468
- Ok(path) => Some(path),
1469
- Err(_) => {
1470
- cx.error_spanned_by(
1471
- &string,
1472
- format!("failed to parse path: {:?}", string.value()),
1473
- );
1474
- None
1475
- }
1476
- })
1477
- }
1478
-
1479
- fn parse_lit_into_expr_path(
1480
- cx: &Ctxt,
1481
- attr_name: Symbol,
1482
- meta: &ParseNestedMeta,
1483
- ) -> syn::Result<Option<syn::ExprPath>> {
1484
- let string = match get_lit_str(cx, attr_name, meta)? {
1485
- Some(string) => string,
1486
- None => return Ok(None),
1487
- };
1488
-
1489
- Ok(match string.parse() {
1490
- Ok(expr) => Some(expr),
1491
- Err(_) => {
1492
- cx.error_spanned_by(
1493
- &string,
1494
- format!("failed to parse path: {:?}", string.value()),
1495
- );
1496
- None
1497
- }
1498
- })
1499
- }
1500
-
1501
- fn parse_lit_into_where(
1502
- cx: &Ctxt,
1503
- attr_name: Symbol,
1504
- meta_item_name: Symbol,
1505
- meta: &ParseNestedMeta,
1506
- ) -> syn::Result<Vec<syn::WherePredicate>> {
1507
- let string = match get_lit_str2(cx, attr_name, meta_item_name, meta)? {
1508
- Some(string) => string,
1509
- None => return Ok(Vec::new()),
1510
- };
1511
-
1512
- Ok(
1513
- match string.parse_with(Punctuated::<syn::WherePredicate, Token![,]>::parse_terminated) {
1514
- Ok(predicates) => Vec::from_iter(predicates),
1515
- Err(err) => {
1516
- cx.error_spanned_by(string, err);
1517
- Vec::new()
1518
- }
1519
- },
1520
- )
1521
- }
1522
-
1523
- fn parse_lit_into_ty(
1524
- cx: &Ctxt,
1525
- attr_name: Symbol,
1526
- meta: &ParseNestedMeta,
1527
- ) -> syn::Result<Option<syn::Type>> {
1528
- let string = match get_lit_str(cx, attr_name, meta)? {
1529
- Some(string) => string,
1530
- None => return Ok(None),
1531
- };
1532
-
1533
- Ok(match string.parse() {
1534
- Ok(ty) => Some(ty),
1535
- Err(_) => {
1536
- cx.error_spanned_by(
1537
- &string,
1538
- format!("failed to parse type: {} = {:?}", attr_name, string.value()),
1539
- );
1540
- None
1541
- }
1542
- })
1543
- }
1544
-
1545
- // Parses a string literal like "'a + 'b + 'c" containing a nonempty list of
1546
- // lifetimes separated by `+`.
1547
- fn parse_lit_into_lifetimes(
1548
- cx: &Ctxt,
1549
- meta: &ParseNestedMeta,
1550
- ) -> syn::Result<BTreeSet<syn::Lifetime>> {
1551
- let string = match get_lit_str(cx, BORROW, meta)? {
1552
- Some(string) => string,
1553
- None => return Ok(BTreeSet::new()),
1554
- };
1555
-
1556
- if let Ok(lifetimes) = string.parse_with(|input: ParseStream| {
1557
- let mut set = BTreeSet::new();
1558
- while !input.is_empty() {
1559
- let lifetime: Lifetime = input.parse()?;
1560
- if !set.insert(lifetime.clone()) {
1561
- cx.error_spanned_by(
1562
- &string,
1563
- format!("duplicate borrowed lifetime `{}`", lifetime),
1564
- );
1565
- }
1566
- if input.is_empty() {
1567
- break;
1568
- }
1569
- input.parse::<Token![+]>()?;
1570
- }
1571
- Ok(set)
1572
- }) {
1573
- if lifetimes.is_empty() {
1574
- cx.error_spanned_by(string, "at least one lifetime must be borrowed");
1575
- }
1576
- return Ok(lifetimes);
1577
- }
1578
-
1579
- cx.error_spanned_by(
1580
- &string,
1581
- format!("failed to parse borrowed lifetimes: {:?}", string.value()),
1582
- );
1583
- Ok(BTreeSet::new())
1584
- }
1585
-
1586
- fn is_implicitly_borrowed(ty: &syn::Type) -> bool {
1587
- is_implicitly_borrowed_reference(ty) || is_option(ty, is_implicitly_borrowed_reference)
1588
- }
1589
-
1590
- fn is_implicitly_borrowed_reference(ty: &syn::Type) -> bool {
1591
- is_reference(ty, is_str) || is_reference(ty, is_slice_u8)
1592
- }
1593
-
1594
- // Whether the type looks like it might be `std::borrow::Cow<T>` where elem="T".
1595
- // This can have false negatives and false positives.
1596
- //
1597
- // False negative:
1598
- //
1599
- // use std::borrow::Cow as Pig;
1600
- //
1601
- // #[derive(Deserialize)]
1602
- // struct S<'a> {
1603
- // #[serde(borrow)]
1604
- // pig: Pig<'a, str>,
1605
- // }
1606
- //
1607
- // False positive:
1608
- //
1609
- // type str = [i16];
1610
- //
1611
- // #[derive(Deserialize)]
1612
- // struct S<'a> {
1613
- // #[serde(borrow)]
1614
- // cow: Cow<'a, str>,
1615
- // }
1616
- fn is_cow(ty: &syn::Type, elem: fn(&syn::Type) -> bool) -> bool {
1617
- let path = match ungroup(ty) {
1618
- syn::Type::Path(ty) => &ty.path,
1619
- _ => {
1620
- return false;
1621
- }
1622
- };
1623
- let seg = match path.segments.last() {
1624
- Some(seg) => seg,
1625
- None => {
1626
- return false;
1627
- }
1628
- };
1629
- let args = match &seg.arguments {
1630
- syn::PathArguments::AngleBracketed(bracketed) => &bracketed.args,
1631
- _ => {
1632
- return false;
1633
- }
1634
- };
1635
- seg.ident == "Cow"
1636
- && args.len() == 2
1637
- && match (&args[0], &args[1]) {
1638
- (syn::GenericArgument::Lifetime(_), syn::GenericArgument::Type(arg)) => elem(arg),
1639
- _ => false,
1640
- }
1641
- }
1642
-
1643
- fn is_option(ty: &syn::Type, elem: fn(&syn::Type) -> bool) -> bool {
1644
- let path = match ungroup(ty) {
1645
- syn::Type::Path(ty) => &ty.path,
1646
- _ => {
1647
- return false;
1648
- }
1649
- };
1650
- let seg = match path.segments.last() {
1651
- Some(seg) => seg,
1652
- None => {
1653
- return false;
1654
- }
1655
- };
1656
- let args = match &seg.arguments {
1657
- syn::PathArguments::AngleBracketed(bracketed) => &bracketed.args,
1658
- _ => {
1659
- return false;
1660
- }
1661
- };
1662
- seg.ident == "Option"
1663
- && args.len() == 1
1664
- && match &args[0] {
1665
- syn::GenericArgument::Type(arg) => elem(arg),
1666
- _ => false,
1667
- }
1668
- }
1669
-
1670
- // Whether the type looks like it might be `&T` where elem="T". This can have
1671
- // false negatives and false positives.
1672
- //
1673
- // False negative:
1674
- //
1675
- // type Yarn = str;
1676
- //
1677
- // #[derive(Deserialize)]
1678
- // struct S<'a> {
1679
- // r: &'a Yarn,
1680
- // }
1681
- //
1682
- // False positive:
1683
- //
1684
- // type str = [i16];
1685
- //
1686
- // #[derive(Deserialize)]
1687
- // struct S<'a> {
1688
- // r: &'a str,
1689
- // }
1690
- fn is_reference(ty: &syn::Type, elem: fn(&syn::Type) -> bool) -> bool {
1691
- match ungroup(ty) {
1692
- syn::Type::Reference(ty) => ty.mutability.is_none() && elem(&ty.elem),
1693
- _ => false,
1694
- }
1695
- }
1696
-
1697
- fn is_str(ty: &syn::Type) -> bool {
1698
- is_primitive_type(ty, "str")
1699
- }
1700
-
1701
- fn is_slice_u8(ty: &syn::Type) -> bool {
1702
- match ungroup(ty) {
1703
- syn::Type::Slice(ty) => is_primitive_type(&ty.elem, "u8"),
1704
- _ => false,
1705
- }
1706
- }
1707
-
1708
- fn is_primitive_type(ty: &syn::Type, primitive: &str) -> bool {
1709
- match ungroup(ty) {
1710
- syn::Type::Path(ty) => ty.qself.is_none() && is_primitive_path(&ty.path, primitive),
1711
- _ => false,
1712
- }
1713
- }
1714
-
1715
- fn is_primitive_path(path: &syn::Path, primitive: &str) -> bool {
1716
- path.leading_colon.is_none()
1717
- && path.segments.len() == 1
1718
- && path.segments[0].ident == primitive
1719
- && path.segments[0].arguments.is_empty()
1720
- }
1721
-
1722
- // All lifetimes that this type could borrow from a Deserializer.
1723
- //
1724
- // For example a type `S<'a, 'b>` could borrow `'a` and `'b`. On the other hand
1725
- // a type `for<'a> fn(&'a str)` could not borrow `'a` from the Deserializer.
1726
- //
1727
- // This is used when there is an explicit or implicit `#[serde(borrow)]`
1728
- // attribute on the field so there must be at least one borrowable lifetime.
1729
- fn borrowable_lifetimes(
1730
- cx: &Ctxt,
1731
- name: &Name,
1732
- field: &syn::Field,
1733
- ) -> Result<BTreeSet<syn::Lifetime>, ()> {
1734
- let mut lifetimes = BTreeSet::new();
1735
- collect_lifetimes(&field.ty, &mut lifetimes);
1736
- if lifetimes.is_empty() {
1737
- let msg = format!("field `{}` has no lifetimes to borrow", name);
1738
- cx.error_spanned_by(field, msg);
1739
- Err(())
1740
- } else {
1741
- Ok(lifetimes)
1742
- }
1743
- }
1744
-
1745
- fn collect_lifetimes(ty: &syn::Type, out: &mut BTreeSet<syn::Lifetime>) {
1746
- match ty {
1747
- #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
1748
- syn::Type::Slice(ty) => {
1749
- collect_lifetimes(&ty.elem, out);
1750
- }
1751
- syn::Type::Array(ty) => {
1752
- collect_lifetimes(&ty.elem, out);
1753
- }
1754
- syn::Type::Ptr(ty) => {
1755
- collect_lifetimes(&ty.elem, out);
1756
- }
1757
- syn::Type::Reference(ty) => {
1758
- out.extend(ty.lifetime.iter().cloned());
1759
- collect_lifetimes(&ty.elem, out);
1760
- }
1761
- syn::Type::Tuple(ty) => {
1762
- for elem in &ty.elems {
1763
- collect_lifetimes(elem, out);
1764
- }
1765
- }
1766
- syn::Type::Path(ty) => {
1767
- if let Some(qself) = &ty.qself {
1768
- collect_lifetimes(&qself.ty, out);
1769
- }
1770
- for seg in &ty.path.segments {
1771
- if let syn::PathArguments::AngleBracketed(bracketed) = &seg.arguments {
1772
- for arg in &bracketed.args {
1773
- match arg {
1774
- syn::GenericArgument::Lifetime(lifetime) => {
1775
- out.insert(lifetime.clone());
1776
- }
1777
- syn::GenericArgument::Type(ty) => {
1778
- collect_lifetimes(ty, out);
1779
- }
1780
- syn::GenericArgument::AssocType(binding) => {
1781
- collect_lifetimes(&binding.ty, out);
1782
- }
1783
- syn::GenericArgument::Const(_)
1784
- | syn::GenericArgument::AssocConst(_)
1785
- | syn::GenericArgument::Constraint(_)
1786
- | _ => {}
1787
- }
1788
- }
1789
- }
1790
- }
1791
- }
1792
- syn::Type::Paren(ty) => {
1793
- collect_lifetimes(&ty.elem, out);
1794
- }
1795
- syn::Type::Group(ty) => {
1796
- collect_lifetimes(&ty.elem, out);
1797
- }
1798
- syn::Type::Macro(ty) => {
1799
- collect_lifetimes_from_tokens(ty.mac.tokens.clone(), out);
1800
- }
1801
- syn::Type::BareFn(_)
1802
- | syn::Type::Never(_)
1803
- | syn::Type::TraitObject(_)
1804
- | syn::Type::ImplTrait(_)
1805
- | syn::Type::Infer(_)
1806
- | syn::Type::Verbatim(_) => {}
1807
-
1808
- _ => {}
1809
- }
1810
- }
1811
-
1812
- fn collect_lifetimes_from_tokens(tokens: TokenStream, out: &mut BTreeSet<syn::Lifetime>) {
1813
- let mut iter = tokens.into_iter();
1814
- while let Some(tt) = iter.next() {
1815
- match &tt {
1816
- TokenTree::Punct(op) if op.as_char() == '\'' && op.spacing() == Spacing::Joint => {
1817
- if let Some(TokenTree::Ident(ident)) = iter.next() {
1818
- out.insert(syn::Lifetime {
1819
- apostrophe: op.span(),
1820
- ident,
1821
- });
1822
- }
1823
- }
1824
- TokenTree::Group(group) => {
1825
- let tokens = group.stream();
1826
- collect_lifetimes_from_tokens(tokens, out);
1827
- }
1828
- _ => {}
1829
- }
1830
- }
1831
- }