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
@@ -0,0 +1,1881 @@
1
+ #[cfg(feature = "parsing")]
2
+ use crate::ext::TokenStreamExt as _;
3
+ #[cfg(feature = "parsing")]
4
+ use crate::lookahead;
5
+ #[cfg(feature = "parsing")]
6
+ use crate::parse::{Parse, Parser};
7
+ use crate::{Error, Result};
8
+ use alloc::boxed::Box;
9
+ use alloc::ffi::CString;
10
+ #[cfg(feature = "parsing")]
11
+ use alloc::format;
12
+ use alloc::string::{String, ToString};
13
+ use alloc::vec::Vec;
14
+ use core::ffi::CStr;
15
+ use core::fmt::{self, Display};
16
+ #[cfg(feature = "extra-traits")]
17
+ use core::hash::{Hash, Hasher};
18
+ use core::str::{self, FromStr};
19
+ use proc_macro2::{Ident, Literal, Span};
20
+ #[cfg(feature = "parsing")]
21
+ use proc_macro2::{TokenStream, TokenTree};
22
+
23
+ ast_enum_of_structs! {
24
+ /// A Rust literal such as a string or integer or boolean.
25
+ ///
26
+ /// # Syntax tree enum
27
+ ///
28
+ /// This type is a [syntax tree enum].
29
+ ///
30
+ /// [syntax tree enum]: crate::expr::Expr#syntax-tree-enums
31
+ #[non_exhaustive]
32
+ pub enum Lit {
33
+ /// A UTF-8 string literal: `"foo"`.
34
+ Str(LitStr),
35
+
36
+ /// A byte string literal: `b"foo"`.
37
+ ByteStr(LitByteStr),
38
+
39
+ /// A nul-terminated C-string literal: `c"foo"`.
40
+ CStr(LitCStr),
41
+
42
+ /// A byte literal: `b'f'`.
43
+ Byte(LitByte),
44
+
45
+ /// A character literal: `'a'`.
46
+ Char(LitChar),
47
+
48
+ /// An integer literal: `1` or `1u16`.
49
+ Int(LitInt),
50
+
51
+ /// A floating point literal: `1f64` or `1.0e10f64`.
52
+ ///
53
+ /// Must be finite. May not be infinite or NaN.
54
+ Float(LitFloat),
55
+
56
+ /// A boolean literal: `true` or `false`.
57
+ Bool(LitBool),
58
+
59
+ /// A raw token literal not interpreted by Syn.
60
+ Verbatim(Literal),
61
+ }
62
+ }
63
+
64
+ ast_struct! {
65
+ /// A UTF-8 string literal: `"foo"`.
66
+ pub struct LitStr {
67
+ repr: Box<LitRepr>,
68
+ }
69
+ }
70
+
71
+ ast_struct! {
72
+ /// A byte string literal: `b"foo"`.
73
+ pub struct LitByteStr {
74
+ repr: Box<LitRepr>,
75
+ }
76
+ }
77
+
78
+ ast_struct! {
79
+ /// A nul-terminated C-string literal: `c"foo"`.
80
+ pub struct LitCStr {
81
+ repr: Box<LitRepr>,
82
+ }
83
+ }
84
+
85
+ ast_struct! {
86
+ /// A byte literal: `b'f'`.
87
+ pub struct LitByte {
88
+ repr: Box<LitRepr>,
89
+ }
90
+ }
91
+
92
+ ast_struct! {
93
+ /// A character literal: `'a'`.
94
+ pub struct LitChar {
95
+ repr: Box<LitRepr>,
96
+ }
97
+ }
98
+
99
+ struct LitRepr {
100
+ token: Literal,
101
+ suffix: Box<str>,
102
+ }
103
+
104
+ ast_struct! {
105
+ /// An integer literal: `1` or `1u16`.
106
+ pub struct LitInt {
107
+ repr: Box<LitIntRepr>,
108
+ }
109
+ }
110
+
111
+ struct LitIntRepr {
112
+ token: Literal,
113
+ digits: Box<str>,
114
+ suffix: Box<str>,
115
+ }
116
+
117
+ ast_struct! {
118
+ /// A floating point literal: `1f64` or `1.0e10f64`.
119
+ ///
120
+ /// Must be finite. May not be infinite or NaN.
121
+ pub struct LitFloat {
122
+ repr: Box<LitFloatRepr>,
123
+ }
124
+ }
125
+
126
+ struct LitFloatRepr {
127
+ token: Literal,
128
+ digits: Box<str>,
129
+ suffix: Box<str>,
130
+ }
131
+
132
+ ast_struct! {
133
+ /// A boolean literal: `true` or `false`.
134
+ pub struct LitBool {
135
+ pub value: bool,
136
+ pub span: Span,
137
+ }
138
+ }
139
+
140
+ impl LitStr {
141
+ pub fn new(value: &str, span: Span) -> Self {
142
+ let mut token = Literal::string(value);
143
+ token.set_span(span);
144
+ LitStr {
145
+ repr: Box::new(LitRepr {
146
+ token,
147
+ suffix: Box::<str>::default(),
148
+ }),
149
+ }
150
+ }
151
+
152
+ pub fn value(&self) -> String {
153
+ let repr = self.repr.token.to_string();
154
+ let (value, _suffix) = value::parse_lit_str(&repr).unwrap();
155
+ String::from(value)
156
+ }
157
+
158
+ /// Parse a syntax tree node from the content of this string literal.
159
+ ///
160
+ /// All spans in the syntax tree will point to the span of this `LitStr`.
161
+ ///
162
+ /// # Example
163
+ ///
164
+ /// ```
165
+ /// use syn::{Attribute, Error, Expr, Lit, Meta, Path, Result};
166
+ ///
167
+ /// // Parses the path from an attribute that looks like:
168
+ /// //
169
+ /// // #[path = "a::b::c"]
170
+ /// //
171
+ /// // or returns `None` if the input is some other attribute.
172
+ /// fn get_path(attr: &Attribute) -> Result<Option<Path>> {
173
+ /// if !attr.path().is_ident("path") {
174
+ /// return Ok(None);
175
+ /// }
176
+ ///
177
+ /// if let Meta::NameValue(meta) = &attr.meta {
178
+ /// if let Expr::Lit(expr) = &meta.value {
179
+ /// if let Lit::Str(lit_str) = &expr.lit {
180
+ /// return lit_str.parse().map(Some);
181
+ /// }
182
+ /// }
183
+ /// }
184
+ ///
185
+ /// let message = "expected #[path = \"...\"]";
186
+ /// Err(Error::new_spanned(attr, message))
187
+ /// }
188
+ /// ```
189
+ #[cfg(feature = "parsing")]
190
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
191
+ pub fn parse<T: Parse>(&self) -> Result<T> {
192
+ self.parse_with(T::parse)
193
+ }
194
+
195
+ /// Invoke parser on the content of this string literal.
196
+ ///
197
+ /// All spans in the syntax tree will point to the span of this `LitStr`.
198
+ ///
199
+ /// # Example
200
+ ///
201
+ /// ```
202
+ /// # use proc_macro2::Span;
203
+ /// # use syn::{LitStr, Result};
204
+ /// #
205
+ /// # fn main() -> Result<()> {
206
+ /// # let lit_str = LitStr::new("a::b::c", Span::call_site());
207
+ /// #
208
+ /// # const IGNORE: &str = stringify! {
209
+ /// let lit_str: LitStr = /* ... */;
210
+ /// # };
211
+ ///
212
+ /// // Parse a string literal like "a::b::c" into a Path, not allowing
213
+ /// // generic arguments on any of the path segments.
214
+ /// let basic_path = lit_str.parse_with(syn::Path::parse_mod_style)?;
215
+ /// #
216
+ /// # Ok(())
217
+ /// # }
218
+ /// ```
219
+ #[cfg(feature = "parsing")]
220
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
221
+ pub fn parse_with<F: Parser>(&self, parser: F) -> Result<F::Output> {
222
+ use proc_macro2::Group;
223
+
224
+ // Token stream with every span replaced by the given one.
225
+ fn respan_token_stream(stream: TokenStream, span: Span) -> TokenStream {
226
+ let mut tokens = TokenStream::new();
227
+ for token in stream {
228
+ tokens.append(respan_token_tree(token, span));
229
+ }
230
+ tokens
231
+ }
232
+
233
+ // Token tree with every span replaced by the given one.
234
+ fn respan_token_tree(mut token: TokenTree, span: Span) -> TokenTree {
235
+ match &mut token {
236
+ TokenTree::Group(g) => {
237
+ let stream = respan_token_stream(g.stream(), span);
238
+ *g = Group::new(g.delimiter(), stream);
239
+ g.set_span(span);
240
+ }
241
+ other => other.set_span(span),
242
+ }
243
+ token
244
+ }
245
+
246
+ // Parse string literal into a token stream with every span equal to the
247
+ // original literal's span.
248
+ let span = self.span();
249
+ let mut tokens =
250
+ TokenStream::from_str(&self.value()).map_err(|err| Error::new(span, err))?;
251
+ tokens = respan_token_stream(tokens, span);
252
+
253
+ let result = crate::parse::parse_scoped(parser, span, tokens)?;
254
+
255
+ let suffix = self.suffix();
256
+ if !suffix.is_empty() {
257
+ return Err(Error::new(
258
+ self.span(),
259
+ format!("unexpected suffix `{}` on string literal", suffix),
260
+ ));
261
+ }
262
+
263
+ Ok(result)
264
+ }
265
+
266
+ pub fn span(&self) -> Span {
267
+ self.repr.token.span()
268
+ }
269
+
270
+ pub fn set_span(&mut self, span: Span) {
271
+ self.repr.token.set_span(span);
272
+ }
273
+
274
+ pub fn suffix(&self) -> &str {
275
+ &self.repr.suffix
276
+ }
277
+
278
+ pub fn token(&self) -> Literal {
279
+ self.repr.token.clone()
280
+ }
281
+ }
282
+
283
+ impl LitByteStr {
284
+ pub fn new(value: &[u8], span: Span) -> Self {
285
+ let mut token = Literal::byte_string(value);
286
+ token.set_span(span);
287
+ LitByteStr {
288
+ repr: Box::new(LitRepr {
289
+ token,
290
+ suffix: Box::<str>::default(),
291
+ }),
292
+ }
293
+ }
294
+
295
+ pub fn value(&self) -> Vec<u8> {
296
+ let repr = self.repr.token.to_string();
297
+ let (value, _suffix) = value::parse_lit_byte_str(&repr).unwrap();
298
+ value
299
+ }
300
+
301
+ pub fn span(&self) -> Span {
302
+ self.repr.token.span()
303
+ }
304
+
305
+ pub fn set_span(&mut self, span: Span) {
306
+ self.repr.token.set_span(span);
307
+ }
308
+
309
+ pub fn suffix(&self) -> &str {
310
+ &self.repr.suffix
311
+ }
312
+
313
+ pub fn token(&self) -> Literal {
314
+ self.repr.token.clone()
315
+ }
316
+ }
317
+
318
+ impl LitCStr {
319
+ pub fn new(value: &CStr, span: Span) -> Self {
320
+ let mut token = Literal::c_string(value);
321
+ token.set_span(span);
322
+ LitCStr {
323
+ repr: Box::new(LitRepr {
324
+ token,
325
+ suffix: Box::<str>::default(),
326
+ }),
327
+ }
328
+ }
329
+
330
+ pub fn value(&self) -> CString {
331
+ let repr = self.repr.token.to_string();
332
+ let (value, _suffix) = value::parse_lit_c_str(&repr).unwrap();
333
+ value
334
+ }
335
+
336
+ pub fn span(&self) -> Span {
337
+ self.repr.token.span()
338
+ }
339
+
340
+ pub fn set_span(&mut self, span: Span) {
341
+ self.repr.token.set_span(span);
342
+ }
343
+
344
+ pub fn suffix(&self) -> &str {
345
+ &self.repr.suffix
346
+ }
347
+
348
+ pub fn token(&self) -> Literal {
349
+ self.repr.token.clone()
350
+ }
351
+ }
352
+
353
+ impl LitByte {
354
+ pub fn new(value: u8, span: Span) -> Self {
355
+ let mut token = Literal::byte_character(value);
356
+ token.set_span(span);
357
+ LitByte {
358
+ repr: Box::new(LitRepr {
359
+ token,
360
+ suffix: Box::<str>::default(),
361
+ }),
362
+ }
363
+ }
364
+
365
+ pub fn value(&self) -> u8 {
366
+ let repr = self.repr.token.to_string();
367
+ let (value, _suffix) = value::parse_lit_byte(&repr).unwrap();
368
+ value
369
+ }
370
+
371
+ pub fn span(&self) -> Span {
372
+ self.repr.token.span()
373
+ }
374
+
375
+ pub fn set_span(&mut self, span: Span) {
376
+ self.repr.token.set_span(span);
377
+ }
378
+
379
+ pub fn suffix(&self) -> &str {
380
+ &self.repr.suffix
381
+ }
382
+
383
+ pub fn token(&self) -> Literal {
384
+ self.repr.token.clone()
385
+ }
386
+ }
387
+
388
+ impl LitChar {
389
+ pub fn new(value: char, span: Span) -> Self {
390
+ let mut token = Literal::character(value);
391
+ token.set_span(span);
392
+ LitChar {
393
+ repr: Box::new(LitRepr {
394
+ token,
395
+ suffix: Box::<str>::default(),
396
+ }),
397
+ }
398
+ }
399
+
400
+ pub fn value(&self) -> char {
401
+ let repr = self.repr.token.to_string();
402
+ let (value, _suffix) = value::parse_lit_char(&repr).unwrap();
403
+ value
404
+ }
405
+
406
+ pub fn span(&self) -> Span {
407
+ self.repr.token.span()
408
+ }
409
+
410
+ pub fn set_span(&mut self, span: Span) {
411
+ self.repr.token.set_span(span);
412
+ }
413
+
414
+ pub fn suffix(&self) -> &str {
415
+ &self.repr.suffix
416
+ }
417
+
418
+ pub fn token(&self) -> Literal {
419
+ self.repr.token.clone()
420
+ }
421
+ }
422
+
423
+ impl LitInt {
424
+ #[track_caller]
425
+ pub fn new(repr: &str, span: Span) -> Self {
426
+ let (digits, suffix) = match value::parse_lit_int(repr) {
427
+ Some(parse) => parse,
428
+ None => panic!("not an integer literal: `{}`", repr),
429
+ };
430
+
431
+ let mut token: Literal = repr.parse().unwrap();
432
+ token.set_span(span);
433
+ LitInt {
434
+ repr: Box::new(LitIntRepr {
435
+ token,
436
+ digits,
437
+ suffix,
438
+ }),
439
+ }
440
+ }
441
+
442
+ pub fn base10_digits(&self) -> &str {
443
+ &self.repr.digits
444
+ }
445
+
446
+ /// Parses the literal into a selected number type.
447
+ ///
448
+ /// This is equivalent to `lit.base10_digits().parse()` except that the
449
+ /// resulting errors will be correctly spanned to point to the literal token
450
+ /// in the macro input.
451
+ ///
452
+ /// ```
453
+ /// use syn::LitInt;
454
+ /// use syn::parse::{Parse, ParseStream, Result};
455
+ ///
456
+ /// struct Port {
457
+ /// value: u16,
458
+ /// }
459
+ ///
460
+ /// impl Parse for Port {
461
+ /// fn parse(input: ParseStream) -> Result<Self> {
462
+ /// let lit: LitInt = input.parse()?;
463
+ /// let value = lit.base10_parse::<u16>()?;
464
+ /// Ok(Port { value })
465
+ /// }
466
+ /// }
467
+ /// ```
468
+ pub fn base10_parse<N>(&self) -> Result<N>
469
+ where
470
+ N: FromStr,
471
+ N::Err: Display,
472
+ {
473
+ self.base10_digits()
474
+ .parse()
475
+ .map_err(|err| Error::new(self.span(), err))
476
+ }
477
+
478
+ pub fn suffix(&self) -> &str {
479
+ &self.repr.suffix
480
+ }
481
+
482
+ pub fn span(&self) -> Span {
483
+ self.repr.token.span()
484
+ }
485
+
486
+ pub fn set_span(&mut self, span: Span) {
487
+ self.repr.token.set_span(span);
488
+ }
489
+
490
+ pub fn token(&self) -> Literal {
491
+ self.repr.token.clone()
492
+ }
493
+ }
494
+
495
+ impl Display for LitInt {
496
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
497
+ self.repr.token.fmt(formatter)
498
+ }
499
+ }
500
+
501
+ impl LitFloat {
502
+ #[track_caller]
503
+ pub fn new(repr: &str, span: Span) -> Self {
504
+ let (digits, suffix) = match value::parse_lit_float(repr) {
505
+ Some(parse) => parse,
506
+ None => panic!("not a float literal: `{}`", repr),
507
+ };
508
+
509
+ let mut token: Literal = repr.parse().unwrap();
510
+ token.set_span(span);
511
+ LitFloat {
512
+ repr: Box::new(LitFloatRepr {
513
+ token,
514
+ digits,
515
+ suffix,
516
+ }),
517
+ }
518
+ }
519
+
520
+ pub fn base10_digits(&self) -> &str {
521
+ &self.repr.digits
522
+ }
523
+
524
+ pub fn base10_parse<N>(&self) -> Result<N>
525
+ where
526
+ N: FromStr,
527
+ N::Err: Display,
528
+ {
529
+ self.base10_digits()
530
+ .parse()
531
+ .map_err(|err| Error::new(self.span(), err))
532
+ }
533
+
534
+ pub fn suffix(&self) -> &str {
535
+ &self.repr.suffix
536
+ }
537
+
538
+ pub fn span(&self) -> Span {
539
+ self.repr.token.span()
540
+ }
541
+
542
+ pub fn set_span(&mut self, span: Span) {
543
+ self.repr.token.set_span(span);
544
+ }
545
+
546
+ pub fn token(&self) -> Literal {
547
+ self.repr.token.clone()
548
+ }
549
+ }
550
+
551
+ impl Display for LitFloat {
552
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
553
+ self.repr.token.fmt(formatter)
554
+ }
555
+ }
556
+
557
+ impl LitBool {
558
+ pub fn new(value: bool, span: Span) -> Self {
559
+ LitBool { value, span }
560
+ }
561
+
562
+ pub fn value(&self) -> bool {
563
+ self.value
564
+ }
565
+
566
+ pub fn span(&self) -> Span {
567
+ self.span
568
+ }
569
+
570
+ pub fn set_span(&mut self, span: Span) {
571
+ self.span = span;
572
+ }
573
+
574
+ pub fn token(&self) -> Ident {
575
+ let s = if self.value { "true" } else { "false" };
576
+ Ident::new(s, self.span)
577
+ }
578
+ }
579
+
580
+ #[cfg(feature = "extra-traits")]
581
+ mod debug_impls {
582
+ use crate::lit::{LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitInt, LitStr};
583
+ use core::fmt::{self, Debug};
584
+
585
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
586
+ impl Debug for LitStr {
587
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
588
+ self.debug(formatter, "LitStr")
589
+ }
590
+ }
591
+
592
+ impl LitStr {
593
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
594
+ formatter
595
+ .debug_struct(name)
596
+ .field("token", &format_args!("{}", self.repr.token))
597
+ .finish()
598
+ }
599
+ }
600
+
601
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
602
+ impl Debug for LitByteStr {
603
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
604
+ self.debug(formatter, "LitByteStr")
605
+ }
606
+ }
607
+
608
+ impl LitByteStr {
609
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
610
+ formatter
611
+ .debug_struct(name)
612
+ .field("token", &format_args!("{}", self.repr.token))
613
+ .finish()
614
+ }
615
+ }
616
+
617
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
618
+ impl Debug for LitCStr {
619
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
620
+ self.debug(formatter, "LitCStr")
621
+ }
622
+ }
623
+
624
+ impl LitCStr {
625
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
626
+ formatter
627
+ .debug_struct(name)
628
+ .field("token", &format_args!("{}", self.repr.token))
629
+ .finish()
630
+ }
631
+ }
632
+
633
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
634
+ impl Debug for LitByte {
635
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
636
+ self.debug(formatter, "LitByte")
637
+ }
638
+ }
639
+
640
+ impl LitByte {
641
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
642
+ formatter
643
+ .debug_struct(name)
644
+ .field("token", &format_args!("{}", self.repr.token))
645
+ .finish()
646
+ }
647
+ }
648
+
649
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
650
+ impl Debug for LitChar {
651
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
652
+ self.debug(formatter, "LitChar")
653
+ }
654
+ }
655
+
656
+ impl LitChar {
657
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
658
+ formatter
659
+ .debug_struct(name)
660
+ .field("token", &format_args!("{}", self.repr.token))
661
+ .finish()
662
+ }
663
+ }
664
+
665
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
666
+ impl Debug for LitInt {
667
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
668
+ self.debug(formatter, "LitInt")
669
+ }
670
+ }
671
+
672
+ impl LitInt {
673
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
674
+ formatter
675
+ .debug_struct(name)
676
+ .field("token", &format_args!("{}", self.repr.token))
677
+ .finish()
678
+ }
679
+ }
680
+
681
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
682
+ impl Debug for LitFloat {
683
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
684
+ self.debug(formatter, "LitFloat")
685
+ }
686
+ }
687
+
688
+ impl LitFloat {
689
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
690
+ formatter
691
+ .debug_struct(name)
692
+ .field("token", &format_args!("{}", self.repr.token))
693
+ .finish()
694
+ }
695
+ }
696
+
697
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
698
+ impl Debug for LitBool {
699
+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
700
+ self.debug(formatter, "LitBool")
701
+ }
702
+ }
703
+
704
+ impl LitBool {
705
+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
706
+ formatter
707
+ .debug_struct(name)
708
+ .field("value", &self.value)
709
+ .finish()
710
+ }
711
+ }
712
+ }
713
+
714
+ #[cfg(feature = "clone-impls")]
715
+ #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
716
+ impl Clone for LitRepr {
717
+ fn clone(&self) -> Self {
718
+ LitRepr {
719
+ token: self.token.clone(),
720
+ suffix: self.suffix.clone(),
721
+ }
722
+ }
723
+ }
724
+
725
+ #[cfg(feature = "clone-impls")]
726
+ #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
727
+ impl Clone for LitIntRepr {
728
+ fn clone(&self) -> Self {
729
+ LitIntRepr {
730
+ token: self.token.clone(),
731
+ digits: self.digits.clone(),
732
+ suffix: self.suffix.clone(),
733
+ }
734
+ }
735
+ }
736
+
737
+ #[cfg(feature = "clone-impls")]
738
+ #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
739
+ impl Clone for LitFloatRepr {
740
+ fn clone(&self) -> Self {
741
+ LitFloatRepr {
742
+ token: self.token.clone(),
743
+ digits: self.digits.clone(),
744
+ suffix: self.suffix.clone(),
745
+ }
746
+ }
747
+ }
748
+
749
+ macro_rules! lit_extra_traits {
750
+ ($ty:ident) => {
751
+ #[cfg(feature = "clone-impls")]
752
+ #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
753
+ impl Clone for $ty {
754
+ fn clone(&self) -> Self {
755
+ $ty {
756
+ repr: self.repr.clone(),
757
+ }
758
+ }
759
+ }
760
+
761
+ #[cfg(feature = "extra-traits")]
762
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
763
+ impl PartialEq for $ty {
764
+ fn eq(&self, other: &Self) -> bool {
765
+ self.repr.token.to_string() == other.repr.token.to_string()
766
+ }
767
+ }
768
+
769
+ #[cfg(feature = "extra-traits")]
770
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
771
+ impl Hash for $ty {
772
+ fn hash<H>(&self, state: &mut H)
773
+ where
774
+ H: Hasher,
775
+ {
776
+ self.repr.token.to_string().hash(state);
777
+ }
778
+ }
779
+
780
+ #[cfg(feature = "parsing")]
781
+ pub_if_not_doc! {
782
+ #[doc(hidden)]
783
+ #[allow(non_snake_case)]
784
+ pub fn $ty(marker: lookahead::TokenMarker) -> $ty {
785
+ match marker {}
786
+ }
787
+ }
788
+ };
789
+ }
790
+
791
+ lit_extra_traits!(LitStr);
792
+ lit_extra_traits!(LitByteStr);
793
+ lit_extra_traits!(LitCStr);
794
+ lit_extra_traits!(LitByte);
795
+ lit_extra_traits!(LitChar);
796
+ lit_extra_traits!(LitInt);
797
+ lit_extra_traits!(LitFloat);
798
+
799
+ #[cfg(feature = "parsing")]
800
+ pub_if_not_doc! {
801
+ #[doc(hidden)]
802
+ #[allow(non_snake_case)]
803
+ pub fn LitBool(marker: lookahead::TokenMarker) -> LitBool {
804
+ match marker {}
805
+ }
806
+ }
807
+
808
+ #[cfg(feature = "parsing")]
809
+ pub_if_not_doc! {
810
+ #[doc(hidden)]
811
+ #[allow(non_snake_case)]
812
+ pub fn Lit(marker: lookahead::TokenMarker) -> Lit {
813
+ match marker {}
814
+ }
815
+ }
816
+
817
+ #[cfg(feature = "parsing")]
818
+ pub(crate) mod parsing {
819
+ use crate::buffer::Cursor;
820
+ use crate::error::Result;
821
+ use crate::lit::{
822
+ value, Lit, LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitFloatRepr, LitInt,
823
+ LitIntRepr, LitStr,
824
+ };
825
+ use crate::parse::{Parse, ParseStream, Unexpected};
826
+ use crate::token::{self, Token};
827
+ use alloc::boxed::Box;
828
+ use alloc::rc::Rc;
829
+ use alloc::string::ToString;
830
+ use core::cell::Cell;
831
+ use proc_macro2::{Literal, Punct, Span};
832
+
833
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
834
+ impl Parse for Lit {
835
+ fn parse(input: ParseStream) -> Result<Self> {
836
+ input.step(|cursor| {
837
+ if let Some((lit, rest)) = cursor.literal() {
838
+ return Ok((Lit::new(lit), rest));
839
+ }
840
+
841
+ if let Some((ident, rest)) = cursor.ident() {
842
+ let value = ident == "true";
843
+ if value || ident == "false" {
844
+ let lit_bool = LitBool {
845
+ value,
846
+ span: ident.span(),
847
+ };
848
+ return Ok((Lit::Bool(lit_bool), rest));
849
+ }
850
+ }
851
+
852
+ if let Some((punct, rest)) = cursor.punct() {
853
+ if punct.as_char() == '-' {
854
+ if let Some((lit, rest)) = parse_negative_lit(punct, rest) {
855
+ return Ok((lit, rest));
856
+ }
857
+ }
858
+ }
859
+
860
+ Err(cursor.error("expected literal"))
861
+ })
862
+ }
863
+ }
864
+
865
+ fn parse_negative_lit(neg: Punct, cursor: Cursor) -> Option<(Lit, Cursor)> {
866
+ let (lit, rest) = cursor.literal()?;
867
+
868
+ let mut span = neg.span();
869
+ span = span.join(lit.span()).unwrap_or(span);
870
+
871
+ let mut repr = lit.to_string();
872
+ repr.insert(0, '-');
873
+
874
+ if let Some((digits, suffix)) = value::parse_lit_int(&repr) {
875
+ let mut token: Literal = repr.parse().unwrap();
876
+ token.set_span(span);
877
+ return Some((
878
+ Lit::Int(LitInt {
879
+ repr: Box::new(LitIntRepr {
880
+ token,
881
+ digits,
882
+ suffix,
883
+ }),
884
+ }),
885
+ rest,
886
+ ));
887
+ }
888
+
889
+ let (digits, suffix) = value::parse_lit_float(&repr)?;
890
+ let mut token: Literal = repr.parse().unwrap();
891
+ token.set_span(span);
892
+ Some((
893
+ Lit::Float(LitFloat {
894
+ repr: Box::new(LitFloatRepr {
895
+ token,
896
+ digits,
897
+ suffix,
898
+ }),
899
+ }),
900
+ rest,
901
+ ))
902
+ }
903
+
904
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
905
+ impl Parse for LitStr {
906
+ fn parse(input: ParseStream) -> Result<Self> {
907
+ let head = input.fork();
908
+ match input.parse() {
909
+ Ok(Lit::Str(lit)) => Ok(lit),
910
+ _ => Err(head.error("expected string literal")),
911
+ }
912
+ }
913
+ }
914
+
915
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
916
+ impl Parse for LitByteStr {
917
+ fn parse(input: ParseStream) -> Result<Self> {
918
+ let head = input.fork();
919
+ match input.parse() {
920
+ Ok(Lit::ByteStr(lit)) => Ok(lit),
921
+ _ => Err(head.error("expected byte string literal")),
922
+ }
923
+ }
924
+ }
925
+
926
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
927
+ impl Parse for LitCStr {
928
+ fn parse(input: ParseStream) -> Result<Self> {
929
+ let head = input.fork();
930
+ match input.parse() {
931
+ Ok(Lit::CStr(lit)) => Ok(lit),
932
+ _ => Err(head.error("expected C string literal")),
933
+ }
934
+ }
935
+ }
936
+
937
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
938
+ impl Parse for LitByte {
939
+ fn parse(input: ParseStream) -> Result<Self> {
940
+ let head = input.fork();
941
+ match input.parse() {
942
+ Ok(Lit::Byte(lit)) => Ok(lit),
943
+ _ => Err(head.error("expected byte literal")),
944
+ }
945
+ }
946
+ }
947
+
948
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
949
+ impl Parse for LitChar {
950
+ fn parse(input: ParseStream) -> Result<Self> {
951
+ let head = input.fork();
952
+ match input.parse() {
953
+ Ok(Lit::Char(lit)) => Ok(lit),
954
+ _ => Err(head.error("expected character literal")),
955
+ }
956
+ }
957
+ }
958
+
959
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
960
+ impl Parse for LitInt {
961
+ fn parse(input: ParseStream) -> Result<Self> {
962
+ let head = input.fork();
963
+ match input.parse() {
964
+ Ok(Lit::Int(lit)) => Ok(lit),
965
+ _ => Err(head.error("expected integer literal")),
966
+ }
967
+ }
968
+ }
969
+
970
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
971
+ impl Parse for LitFloat {
972
+ fn parse(input: ParseStream) -> Result<Self> {
973
+ let head = input.fork();
974
+ match input.parse() {
975
+ Ok(Lit::Float(lit)) => Ok(lit),
976
+ _ => Err(head.error("expected floating point literal")),
977
+ }
978
+ }
979
+ }
980
+
981
+ #[cfg_attr(docsrs, doc(cfg(feature = "parsing")))]
982
+ impl Parse for LitBool {
983
+ fn parse(input: ParseStream) -> Result<Self> {
984
+ let head = input.fork();
985
+ match input.parse() {
986
+ Ok(Lit::Bool(lit)) => Ok(lit),
987
+ _ => Err(head.error("expected boolean literal")),
988
+ }
989
+ }
990
+ }
991
+
992
+ fn peek_impl(cursor: Cursor, peek: fn(ParseStream) -> bool) -> bool {
993
+ let scope = Span::call_site();
994
+ let unexpected = Rc::new(Cell::new(Unexpected::None));
995
+ let buffer = crate::parse::new_parse_buffer(scope, cursor, unexpected);
996
+ peek(&buffer)
997
+ }
998
+
999
+ macro_rules! impl_token {
1000
+ ($display:literal $name:ty) => {
1001
+ impl Token for $name {
1002
+ fn peek(cursor: Cursor) -> bool {
1003
+ fn peek(input: ParseStream) -> bool {
1004
+ <$name as Parse>::parse(input).is_ok()
1005
+ }
1006
+ peek_impl(cursor, peek)
1007
+ }
1008
+
1009
+ fn display() -> &'static str {
1010
+ $display
1011
+ }
1012
+ }
1013
+
1014
+ impl token::private::Sealed for $name {}
1015
+ };
1016
+ }
1017
+
1018
+ impl_token!("literal" Lit);
1019
+ impl_token!("string literal" LitStr);
1020
+ impl_token!("byte string literal" LitByteStr);
1021
+ impl_token!("C-string literal" LitCStr);
1022
+ impl_token!("byte literal" LitByte);
1023
+ impl_token!("character literal" LitChar);
1024
+ impl_token!("integer literal" LitInt);
1025
+ impl_token!("floating point literal" LitFloat);
1026
+ impl_token!("boolean literal" LitBool);
1027
+ }
1028
+
1029
+ #[cfg(feature = "printing")]
1030
+ mod printing {
1031
+ use crate::lit::{LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitInt, LitStr};
1032
+ use proc_macro2::TokenStream;
1033
+ use quote::{ToTokens, TokenStreamExt as _};
1034
+
1035
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1036
+ impl ToTokens for LitStr {
1037
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1038
+ self.repr.token.to_tokens(tokens);
1039
+ }
1040
+ }
1041
+
1042
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1043
+ impl ToTokens for LitByteStr {
1044
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1045
+ self.repr.token.to_tokens(tokens);
1046
+ }
1047
+ }
1048
+
1049
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1050
+ impl ToTokens for LitCStr {
1051
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1052
+ self.repr.token.to_tokens(tokens);
1053
+ }
1054
+ }
1055
+
1056
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1057
+ impl ToTokens for LitByte {
1058
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1059
+ self.repr.token.to_tokens(tokens);
1060
+ }
1061
+ }
1062
+
1063
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1064
+ impl ToTokens for LitChar {
1065
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1066
+ self.repr.token.to_tokens(tokens);
1067
+ }
1068
+ }
1069
+
1070
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1071
+ impl ToTokens for LitInt {
1072
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1073
+ self.repr.token.to_tokens(tokens);
1074
+ }
1075
+ }
1076
+
1077
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1078
+ impl ToTokens for LitFloat {
1079
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1080
+ self.repr.token.to_tokens(tokens);
1081
+ }
1082
+ }
1083
+
1084
+ #[cfg_attr(docsrs, doc(cfg(feature = "printing")))]
1085
+ impl ToTokens for LitBool {
1086
+ fn to_tokens(&self, tokens: &mut TokenStream) {
1087
+ tokens.append(self.token());
1088
+ }
1089
+ }
1090
+ }
1091
+
1092
+ mod value {
1093
+ use crate::bigint::BigInt;
1094
+ use crate::lit::{
1095
+ Lit, LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitFloatRepr, LitInt,
1096
+ LitIntRepr, LitRepr, LitStr,
1097
+ };
1098
+ use alloc::borrow::ToOwned;
1099
+ use alloc::boxed::Box;
1100
+ use alloc::ffi::CString;
1101
+ use alloc::string::{String, ToString};
1102
+ use alloc::vec::Vec;
1103
+ use core::char;
1104
+ use core::ops::{Index, RangeFrom};
1105
+ use proc_macro2::{Literal, Span};
1106
+
1107
+ impl Lit {
1108
+ /// Interpret a Syn literal from a proc-macro2 literal.
1109
+ pub fn new(token: Literal) -> Self {
1110
+ let repr = token.to_string();
1111
+ Lit::from_str(token, &repr)
1112
+ }
1113
+
1114
+ #[cfg(fuzzing)]
1115
+ #[doc(hidden)]
1116
+ pub fn from_str_for_fuzzing(repr: &str) -> Self {
1117
+ let token = Literal::u8_unsuffixed(0);
1118
+ Lit::from_str(token, repr)
1119
+ }
1120
+
1121
+ fn from_str(token: Literal, repr: &str) -> Self {
1122
+ match byte(repr, 0) {
1123
+ // "...", r"...", r#"..."#
1124
+ b'"' | b'r' => {
1125
+ if let Some((_, suffix)) = parse_lit_str(repr) {
1126
+ return Lit::Str(LitStr {
1127
+ repr: Box::new(LitRepr { token, suffix }),
1128
+ });
1129
+ }
1130
+ }
1131
+ b'b' => match byte(repr, 1) {
1132
+ // b"...", br"...", br#"...#"
1133
+ b'"' | b'r' => {
1134
+ if let Some((_, suffix)) = parse_lit_byte_str(repr) {
1135
+ return Lit::ByteStr(LitByteStr {
1136
+ repr: Box::new(LitRepr { token, suffix }),
1137
+ });
1138
+ }
1139
+ }
1140
+ // b'...'
1141
+ b'\'' => {
1142
+ if let Some((_, suffix)) = parse_lit_byte(repr) {
1143
+ return Lit::Byte(LitByte {
1144
+ repr: Box::new(LitRepr { token, suffix }),
1145
+ });
1146
+ }
1147
+ }
1148
+ _ => {}
1149
+ },
1150
+ b'c' => match byte(repr, 1) {
1151
+ // c"...", cr"...", cr#"..."#
1152
+ b'"' | b'r' => {
1153
+ if let Some((_, suffix)) = parse_lit_c_str(repr) {
1154
+ return Lit::CStr(LitCStr {
1155
+ repr: Box::new(LitRepr { token, suffix }),
1156
+ });
1157
+ }
1158
+ }
1159
+ _ => {}
1160
+ },
1161
+ // '...'
1162
+ b'\'' => {
1163
+ if let Some((_, suffix)) = parse_lit_char(repr) {
1164
+ return Lit::Char(LitChar {
1165
+ repr: Box::new(LitRepr { token, suffix }),
1166
+ });
1167
+ }
1168
+ }
1169
+ b'0'..=b'9' | b'-' => {
1170
+ // 0, 123, 0xFF, 0o77, 0b11
1171
+ if let Some((digits, suffix)) = parse_lit_int(repr) {
1172
+ return Lit::Int(LitInt {
1173
+ repr: Box::new(LitIntRepr {
1174
+ token,
1175
+ digits,
1176
+ suffix,
1177
+ }),
1178
+ });
1179
+ }
1180
+ // 1.0, 1e-1, 1e+1
1181
+ if let Some((digits, suffix)) = parse_lit_float(repr) {
1182
+ return Lit::Float(LitFloat {
1183
+ repr: Box::new(LitFloatRepr {
1184
+ token,
1185
+ digits,
1186
+ suffix,
1187
+ }),
1188
+ });
1189
+ }
1190
+ }
1191
+ // true, false
1192
+ b't' | b'f' if repr == "true" || repr == "false" => {
1193
+ return Lit::Bool(LitBool {
1194
+ value: repr == "true",
1195
+ span: token.span(),
1196
+ });
1197
+ }
1198
+ b'(' if repr == "(/*ERROR*/)" => return Lit::Verbatim(token),
1199
+ _ => {}
1200
+ }
1201
+
1202
+ Lit::Verbatim(token)
1203
+ }
1204
+
1205
+ pub fn suffix(&self) -> &str {
1206
+ match self {
1207
+ Lit::Str(lit) => lit.suffix(),
1208
+ Lit::ByteStr(lit) => lit.suffix(),
1209
+ Lit::CStr(lit) => lit.suffix(),
1210
+ Lit::Byte(lit) => lit.suffix(),
1211
+ Lit::Char(lit) => lit.suffix(),
1212
+ Lit::Int(lit) => lit.suffix(),
1213
+ Lit::Float(lit) => lit.suffix(),
1214
+ Lit::Bool(_) | Lit::Verbatim(_) => "",
1215
+ }
1216
+ }
1217
+
1218
+ pub fn span(&self) -> Span {
1219
+ match self {
1220
+ Lit::Str(lit) => lit.span(),
1221
+ Lit::ByteStr(lit) => lit.span(),
1222
+ Lit::CStr(lit) => lit.span(),
1223
+ Lit::Byte(lit) => lit.span(),
1224
+ Lit::Char(lit) => lit.span(),
1225
+ Lit::Int(lit) => lit.span(),
1226
+ Lit::Float(lit) => lit.span(),
1227
+ Lit::Bool(lit) => lit.span,
1228
+ Lit::Verbatim(lit) => lit.span(),
1229
+ }
1230
+ }
1231
+
1232
+ pub fn set_span(&mut self, span: Span) {
1233
+ match self {
1234
+ Lit::Str(lit) => lit.set_span(span),
1235
+ Lit::ByteStr(lit) => lit.set_span(span),
1236
+ Lit::CStr(lit) => lit.set_span(span),
1237
+ Lit::Byte(lit) => lit.set_span(span),
1238
+ Lit::Char(lit) => lit.set_span(span),
1239
+ Lit::Int(lit) => lit.set_span(span),
1240
+ Lit::Float(lit) => lit.set_span(span),
1241
+ Lit::Bool(lit) => lit.span = span,
1242
+ Lit::Verbatim(lit) => lit.set_span(span),
1243
+ }
1244
+ }
1245
+ }
1246
+
1247
+ /// Get the byte at offset idx, or a default of `b'\0'` if we're looking
1248
+ /// past the end of the input buffer.
1249
+ pub(crate) fn byte<S: AsRef<[u8]> + ?Sized>(s: &S, idx: usize) -> u8 {
1250
+ let s = s.as_ref();
1251
+ if idx < s.len() {
1252
+ s[idx]
1253
+ } else {
1254
+ 0
1255
+ }
1256
+ }
1257
+
1258
+ fn next_chr(s: &str) -> char {
1259
+ s.chars().next().unwrap_or('\0')
1260
+ }
1261
+
1262
+ // Returns (content, suffix).
1263
+ pub(crate) fn parse_lit_str(s: &str) -> Option<(Box<str>, Box<str>)> {
1264
+ match byte(s, 0) {
1265
+ b'"' => parse_lit_str_cooked(s),
1266
+ b'r' => parse_lit_str_raw(s),
1267
+ _ => unreachable!(),
1268
+ }
1269
+ }
1270
+
1271
+ fn parse_lit_str_cooked(mut s: &str) -> Option<(Box<str>, Box<str>)> {
1272
+ assert_eq!(byte(s, 0), b'"');
1273
+ s = &s[1..];
1274
+
1275
+ let mut content = String::new();
1276
+ 'outer: loop {
1277
+ let ch = match byte(s, 0) {
1278
+ b'"' => break,
1279
+ b'\\' => {
1280
+ let b = byte(s, 1);
1281
+ s = s.get(2..)?;
1282
+ match b {
1283
+ b'x' => {
1284
+ let (byte, rest) = backslash_x(s)?;
1285
+ s = rest;
1286
+ if byte > 0x7F {
1287
+ // invalid \x byte in string literal
1288
+ return None;
1289
+ }
1290
+ char::from(byte)
1291
+ }
1292
+ b'u' => {
1293
+ let (ch, rest) = backslash_u(s)?;
1294
+ s = rest;
1295
+ ch
1296
+ }
1297
+ b'n' => '\n',
1298
+ b'r' => '\r',
1299
+ b't' => '\t',
1300
+ b'\\' => '\\',
1301
+ b'0' => '\0',
1302
+ b'\'' => '\'',
1303
+ b'"' => '"',
1304
+ b'\r' | b'\n' => loop {
1305
+ let b = byte(s, 0);
1306
+ match b {
1307
+ b' ' | b'\t' | b'\n' | b'\r' => s = &s[1..],
1308
+ _ => continue 'outer,
1309
+ }
1310
+ },
1311
+ _ => {
1312
+ // unexpected byte after backslash
1313
+ return None;
1314
+ }
1315
+ }
1316
+ }
1317
+ b'\r' => {
1318
+ if byte(s, 1) != b'\n' {
1319
+ // bare carriage return not allowed in string
1320
+ return None;
1321
+ }
1322
+ s = &s[2..];
1323
+ '\n'
1324
+ }
1325
+ _ => {
1326
+ let ch = next_chr(s);
1327
+ s = s.get(ch.len_utf8()..)?;
1328
+ ch
1329
+ }
1330
+ };
1331
+ content.push(ch);
1332
+ }
1333
+
1334
+ assert!(s.starts_with('"'));
1335
+ let content = content.into_boxed_str();
1336
+ let suffix = s[1..].to_owned().into_boxed_str();
1337
+ Some((content, suffix))
1338
+ }
1339
+
1340
+ fn parse_lit_str_raw(mut s: &str) -> Option<(Box<str>, Box<str>)> {
1341
+ assert_eq!(byte(s, 0), b'r');
1342
+ s = &s[1..];
1343
+
1344
+ let mut pounds = 0;
1345
+ loop {
1346
+ match byte(s, pounds) {
1347
+ b'#' => pounds += 1,
1348
+ b'"' => break,
1349
+ _ => return None,
1350
+ }
1351
+ }
1352
+ let close = s.rfind('"').unwrap();
1353
+ for end in s.get(close + 1..close + 1 + pounds)?.bytes() {
1354
+ if end != b'#' {
1355
+ return None;
1356
+ }
1357
+ }
1358
+
1359
+ let content = s.get(pounds + 1..close)?.to_owned().into_boxed_str();
1360
+ let suffix = s[close + 1 + pounds..].to_owned().into_boxed_str();
1361
+ Some((content, suffix))
1362
+ }
1363
+
1364
+ // Returns (content, suffix).
1365
+ pub(crate) fn parse_lit_byte_str(s: &str) -> Option<(Vec<u8>, Box<str>)> {
1366
+ assert_eq!(byte(s, 0), b'b');
1367
+ match byte(s, 1) {
1368
+ b'"' => parse_lit_byte_str_cooked(s),
1369
+ b'r' => parse_lit_byte_str_raw(s),
1370
+ _ => unreachable!(),
1371
+ }
1372
+ }
1373
+
1374
+ fn parse_lit_byte_str_cooked(mut s: &str) -> Option<(Vec<u8>, Box<str>)> {
1375
+ assert_eq!(byte(s, 0), b'b');
1376
+ assert_eq!(byte(s, 1), b'"');
1377
+ s = &s[2..];
1378
+
1379
+ // We're going to want to have slices which don't respect codepoint boundaries.
1380
+ let mut v = s.as_bytes();
1381
+
1382
+ let mut out = Vec::new();
1383
+ 'outer: loop {
1384
+ let byte = match byte(v, 0) {
1385
+ b'"' => break,
1386
+ b'\\' => {
1387
+ let b = byte(v, 1);
1388
+ v = v.get(2..)?;
1389
+ match b {
1390
+ b'x' => {
1391
+ let (b, rest) = backslash_x(v)?;
1392
+ v = rest;
1393
+ b
1394
+ }
1395
+ b'n' => b'\n',
1396
+ b'r' => b'\r',
1397
+ b't' => b'\t',
1398
+ b'\\' => b'\\',
1399
+ b'0' => b'\0',
1400
+ b'\'' => b'\'',
1401
+ b'"' => b'"',
1402
+ b'\r' | b'\n' => loop {
1403
+ let byte = byte(v, 0);
1404
+ if matches!(byte, b' ' | b'\t' | b'\n' | b'\r') {
1405
+ v = &v[1..];
1406
+ } else {
1407
+ continue 'outer;
1408
+ }
1409
+ },
1410
+ _ => {
1411
+ // unexpected byte after backslash
1412
+ return None;
1413
+ }
1414
+ }
1415
+ }
1416
+ b'\r' => {
1417
+ if byte(v, 1) != b'\n' {
1418
+ // bare carriage return not allowed in string
1419
+ return None;
1420
+ }
1421
+ v = &v[2..];
1422
+ b'\n'
1423
+ }
1424
+ b => {
1425
+ v = v.get(1..)?;
1426
+ b
1427
+ }
1428
+ };
1429
+ out.push(byte);
1430
+ }
1431
+
1432
+ assert_eq!(byte(v, 0), b'"');
1433
+ let suffix = s[s.len() - v.len() + 1..].to_owned().into_boxed_str();
1434
+ Some((out, suffix))
1435
+ }
1436
+
1437
+ fn parse_lit_byte_str_raw(s: &str) -> Option<(Vec<u8>, Box<str>)> {
1438
+ assert_eq!(byte(s, 0), b'b');
1439
+ let (value, suffix) = parse_lit_str_raw(&s[1..])?;
1440
+ Some((String::from(value).into_bytes(), suffix))
1441
+ }
1442
+
1443
+ // Returns (content, suffix).
1444
+ pub(crate) fn parse_lit_c_str(s: &str) -> Option<(CString, Box<str>)> {
1445
+ assert_eq!(byte(s, 0), b'c');
1446
+ match byte(s, 1) {
1447
+ b'"' => parse_lit_c_str_cooked(s),
1448
+ b'r' => parse_lit_c_str_raw(s),
1449
+ _ => unreachable!(),
1450
+ }
1451
+ }
1452
+
1453
+ fn parse_lit_c_str_cooked(mut s: &str) -> Option<(CString, Box<str>)> {
1454
+ assert_eq!(byte(s, 0), b'c');
1455
+ assert_eq!(byte(s, 1), b'"');
1456
+ s = &s[2..];
1457
+
1458
+ // We're going to want to have slices which don't respect codepoint boundaries.
1459
+ let mut v = s.as_bytes();
1460
+
1461
+ let mut out = Vec::new();
1462
+ 'outer: loop {
1463
+ let byte = match byte(v, 0) {
1464
+ b'"' => break,
1465
+ b'\\' => {
1466
+ let b = byte(v, 1);
1467
+ v = v.get(2..)?;
1468
+ match b {
1469
+ b'x' => {
1470
+ let (b, rest) = backslash_x(v)?;
1471
+ if b == 0 {
1472
+ // \x00 is not allowed in C-string literal
1473
+ return None;
1474
+ }
1475
+ v = rest;
1476
+ b
1477
+ }
1478
+ b'u' => {
1479
+ let (ch, rest) = backslash_u(v)?;
1480
+ if ch == '\0' {
1481
+ // \u{0} is not allowed in C-string literal
1482
+ return None;
1483
+ }
1484
+ v = rest;
1485
+ out.extend_from_slice(ch.encode_utf8(&mut [0u8; 4]).as_bytes());
1486
+ continue 'outer;
1487
+ }
1488
+ b'n' => b'\n',
1489
+ b'r' => b'\r',
1490
+ b't' => b'\t',
1491
+ b'\\' => b'\\',
1492
+ b'\'' => b'\'',
1493
+ b'"' => b'"',
1494
+ b'\r' | b'\n' => loop {
1495
+ let byte = byte(v, 0);
1496
+ if matches!(byte, b' ' | b'\t' | b'\n' | b'\r') {
1497
+ v = &v[1..];
1498
+ } else {
1499
+ continue 'outer;
1500
+ }
1501
+ },
1502
+ _ => {
1503
+ // unexpected byte after backslash
1504
+ return None;
1505
+ }
1506
+ }
1507
+ }
1508
+ b'\r' => {
1509
+ if byte(v, 1) != b'\n' {
1510
+ // bare carriage return not allowed in string
1511
+ return None;
1512
+ }
1513
+ v = &v[2..];
1514
+ b'\n'
1515
+ }
1516
+ b => {
1517
+ v = v.get(1..)?;
1518
+ b
1519
+ }
1520
+ };
1521
+ out.push(byte);
1522
+ }
1523
+
1524
+ assert_eq!(byte(v, 0), b'"');
1525
+ let suffix = s[s.len() - v.len() + 1..].to_owned().into_boxed_str();
1526
+ let cstring = CString::new(out).ok()?;
1527
+ Some((cstring, suffix))
1528
+ }
1529
+
1530
+ fn parse_lit_c_str_raw(s: &str) -> Option<(CString, Box<str>)> {
1531
+ assert_eq!(byte(s, 0), b'c');
1532
+ let (value, suffix) = parse_lit_str_raw(&s[1..])?;
1533
+ let cstring = CString::new(String::from(value)).ok()?;
1534
+ Some((cstring, suffix))
1535
+ }
1536
+
1537
+ // Returns (value, suffix).
1538
+ pub(crate) fn parse_lit_byte(s: &str) -> Option<(u8, Box<str>)> {
1539
+ assert_eq!(byte(s, 0), b'b');
1540
+ assert_eq!(byte(s, 1), b'\'');
1541
+
1542
+ // We're going to want to have slices which don't respect codepoint boundaries.
1543
+ let mut v = &s.as_bytes()[2..];
1544
+
1545
+ let b = match byte(v, 0) {
1546
+ b'\\' => {
1547
+ let b = byte(v, 1);
1548
+ v = v.get(2..)?;
1549
+ match b {
1550
+ b'x' => {
1551
+ let (b, rest) = backslash_x(v)?;
1552
+ v = rest;
1553
+ b
1554
+ }
1555
+ b'n' => b'\n',
1556
+ b'r' => b'\r',
1557
+ b't' => b'\t',
1558
+ b'\\' => b'\\',
1559
+ b'0' => b'\0',
1560
+ b'\'' => b'\'',
1561
+ b'"' => b'"',
1562
+ _ => {
1563
+ // unexpected byte after backslash
1564
+ return None;
1565
+ }
1566
+ }
1567
+ }
1568
+ b => {
1569
+ v = v.get(1..)?;
1570
+ b
1571
+ }
1572
+ };
1573
+
1574
+ if byte(v, 0) != b'\'' {
1575
+ return None;
1576
+ }
1577
+
1578
+ let suffix = s[s.len() - v.len() + 1..].to_owned().into_boxed_str();
1579
+ Some((b, suffix))
1580
+ }
1581
+
1582
+ // Returns (value, suffix).
1583
+ pub(crate) fn parse_lit_char(mut s: &str) -> Option<(char, Box<str>)> {
1584
+ assert_eq!(byte(s, 0), b'\'');
1585
+ s = &s[1..];
1586
+
1587
+ let ch = match byte(s, 0) {
1588
+ b'\\' => {
1589
+ let b = byte(s, 1);
1590
+ s = s.get(2..)?;
1591
+ match b {
1592
+ b'x' => {
1593
+ let (byte, rest) = backslash_x(s)?;
1594
+ s = rest;
1595
+ if byte > 0x7F {
1596
+ // invalid \x byte in character literal
1597
+ return None;
1598
+ }
1599
+ char::from(byte)
1600
+ }
1601
+ b'u' => {
1602
+ let (ch, rest) = backslash_u(s)?;
1603
+ s = rest;
1604
+ ch
1605
+ }
1606
+ b'n' => '\n',
1607
+ b'r' => '\r',
1608
+ b't' => '\t',
1609
+ b'\\' => '\\',
1610
+ b'0' => '\0',
1611
+ b'\'' => '\'',
1612
+ b'"' => '"',
1613
+ _ => {
1614
+ // unexpected byte after backslash
1615
+ return None;
1616
+ }
1617
+ }
1618
+ }
1619
+ _ => {
1620
+ let ch = next_chr(s);
1621
+ s = s.get(ch.len_utf8()..)?;
1622
+ ch
1623
+ }
1624
+ };
1625
+
1626
+ if byte(s, 0) != b'\'' {
1627
+ return None;
1628
+ }
1629
+
1630
+ let suffix = s[1..].to_owned().into_boxed_str();
1631
+ Some((ch, suffix))
1632
+ }
1633
+
1634
+ fn backslash_x<S>(s: &S) -> Option<(u8, &S)>
1635
+ where
1636
+ S: Index<RangeFrom<usize>, Output = S> + AsRef<[u8]> + ?Sized,
1637
+ {
1638
+ let mut ch = 0;
1639
+ let b0 = byte(s, 0);
1640
+ let b1 = byte(s, 1);
1641
+ ch += 0x10
1642
+ * match b0 {
1643
+ b'0'..=b'9' => b0 - b'0',
1644
+ b'a'..=b'f' => 10 + (b0 - b'a'),
1645
+ b'A'..=b'F' => 10 + (b0 - b'A'),
1646
+ _ => return None,
1647
+ };
1648
+ ch += match b1 {
1649
+ b'0'..=b'9' => b1 - b'0',
1650
+ b'a'..=b'f' => 10 + (b1 - b'a'),
1651
+ b'A'..=b'F' => 10 + (b1 - b'A'),
1652
+ _ => return None,
1653
+ };
1654
+ Some((ch, &s[2..]))
1655
+ }
1656
+
1657
+ fn backslash_u<S>(mut s: &S) -> Option<(char, &S)>
1658
+ where
1659
+ S: Index<RangeFrom<usize>, Output = S> + AsRef<[u8]> + ?Sized,
1660
+ {
1661
+ if byte(s, 0) != b'{' {
1662
+ return None;
1663
+ }
1664
+ s = &s[1..];
1665
+
1666
+ let mut ch = 0;
1667
+ let mut digits = 0;
1668
+ loop {
1669
+ let b = byte(s, 0);
1670
+ let digit = match b {
1671
+ b'0'..=b'9' => b - b'0',
1672
+ b'a'..=b'f' => 10 + b - b'a',
1673
+ b'A'..=b'F' => 10 + b - b'A',
1674
+ b'_' if digits > 0 => {
1675
+ s = &s[1..];
1676
+ continue;
1677
+ }
1678
+ b'}' if digits == 0 => return None,
1679
+ b'}' => break,
1680
+ _ => return None,
1681
+ };
1682
+ if digits == 6 {
1683
+ return None;
1684
+ }
1685
+ ch *= 0x10;
1686
+ ch += u32::from(digit);
1687
+ digits += 1;
1688
+ s = &s[1..];
1689
+ }
1690
+ if byte(s, 0) != b'}' {
1691
+ return None;
1692
+ }
1693
+ s = &s[1..];
1694
+
1695
+ let ch = char::from_u32(ch)?;
1696
+ Some((ch, s))
1697
+ }
1698
+
1699
+ // Returns base 10 digits and suffix.
1700
+ pub(crate) fn parse_lit_int(mut s: &str) -> Option<(Box<str>, Box<str>)> {
1701
+ let negative = byte(s, 0) == b'-';
1702
+ if negative {
1703
+ s = &s[1..];
1704
+ }
1705
+
1706
+ let base = match (byte(s, 0), byte(s, 1)) {
1707
+ (b'0', b'x') => {
1708
+ s = &s[2..];
1709
+ 16
1710
+ }
1711
+ (b'0', b'o') => {
1712
+ s = &s[2..];
1713
+ 8
1714
+ }
1715
+ (b'0', b'b') => {
1716
+ s = &s[2..];
1717
+ 2
1718
+ }
1719
+ (b'0'..=b'9', _) => 10,
1720
+ _ => return None,
1721
+ };
1722
+
1723
+ let mut value = BigInt::new();
1724
+ let mut has_digit = false;
1725
+ 'outer: loop {
1726
+ let b = byte(s, 0);
1727
+ let digit = match b {
1728
+ b'0'..=b'9' => b - b'0',
1729
+ b'a'..=b'f' if base > 10 => b - b'a' + 10,
1730
+ b'A'..=b'F' if base > 10 => b - b'A' + 10,
1731
+ b'_' => {
1732
+ s = &s[1..];
1733
+ continue;
1734
+ }
1735
+ // If looking at a floating point literal, we don't want to
1736
+ // consider it an integer.
1737
+ b'.' if base == 10 => return None,
1738
+ b'e' | b'E' if base == 10 => {
1739
+ let mut has_exp = false;
1740
+ for (i, b) in s[1..].bytes().enumerate() {
1741
+ match b {
1742
+ b'_' => {}
1743
+ b'-' | b'+' => return None,
1744
+ b'0'..=b'9' => has_exp = true,
1745
+ _ => {
1746
+ let suffix = &s[1 + i..];
1747
+ if has_exp && crate::ident::xid_ok(suffix) {
1748
+ return None;
1749
+ } else {
1750
+ break 'outer;
1751
+ }
1752
+ }
1753
+ }
1754
+ }
1755
+ if has_exp {
1756
+ return None;
1757
+ } else {
1758
+ break;
1759
+ }
1760
+ }
1761
+ _ => break,
1762
+ };
1763
+
1764
+ if digit >= base {
1765
+ return None;
1766
+ }
1767
+
1768
+ has_digit = true;
1769
+ value *= base;
1770
+ value += digit;
1771
+ s = &s[1..];
1772
+ }
1773
+
1774
+ if !has_digit {
1775
+ return None;
1776
+ }
1777
+
1778
+ let suffix = s;
1779
+ if suffix.is_empty() || crate::ident::xid_ok(suffix) {
1780
+ let mut repr = value.to_string();
1781
+ if negative {
1782
+ repr.insert(0, '-');
1783
+ }
1784
+ Some((repr.into_boxed_str(), suffix.to_owned().into_boxed_str()))
1785
+ } else {
1786
+ None
1787
+ }
1788
+ }
1789
+
1790
+ // Returns base 10 digits and suffix.
1791
+ pub(crate) fn parse_lit_float(input: &str) -> Option<(Box<str>, Box<str>)> {
1792
+ // Rust's floating point literals are very similar to the ones parsed by
1793
+ // the standard library, except that rust's literals can contain
1794
+ // ignorable underscores. Let's remove those underscores.
1795
+
1796
+ let mut bytes = input.to_owned().into_bytes();
1797
+
1798
+ let start = (*bytes.first()? == b'-') as usize;
1799
+ match bytes.get(start)? {
1800
+ b'0'..=b'9' => {}
1801
+ _ => return None,
1802
+ }
1803
+
1804
+ let mut read = start;
1805
+ let mut write = start;
1806
+ let mut has_dot = false;
1807
+ let mut has_e = false;
1808
+ let mut has_sign = false;
1809
+ let mut has_exponent = false;
1810
+ while read < bytes.len() {
1811
+ match bytes[read] {
1812
+ b'_' => {
1813
+ // Don't increase write
1814
+ read += 1;
1815
+ continue;
1816
+ }
1817
+ b'0'..=b'9' => {
1818
+ if has_e {
1819
+ has_exponent = true;
1820
+ }
1821
+ bytes[write] = bytes[read];
1822
+ }
1823
+ b'.' => {
1824
+ if has_e || has_dot {
1825
+ return None;
1826
+ }
1827
+ has_dot = true;
1828
+ bytes[write] = b'.';
1829
+ }
1830
+ b'e' | b'E' => {
1831
+ match bytes[read + 1..]
1832
+ .iter()
1833
+ .find(|b| **b != b'_')
1834
+ .unwrap_or(&b'\0')
1835
+ {
1836
+ b'-' | b'+' | b'0'..=b'9' => {}
1837
+ _ => break,
1838
+ }
1839
+ if has_e {
1840
+ if has_exponent {
1841
+ break;
1842
+ } else {
1843
+ return None;
1844
+ }
1845
+ }
1846
+ has_e = true;
1847
+ bytes[write] = b'e';
1848
+ }
1849
+ b'-' | b'+' => {
1850
+ if has_sign || has_exponent || !has_e {
1851
+ return None;
1852
+ }
1853
+ has_sign = true;
1854
+ if bytes[read] == b'-' {
1855
+ bytes[write] = bytes[read];
1856
+ } else {
1857
+ // Omit '+'
1858
+ read += 1;
1859
+ continue;
1860
+ }
1861
+ }
1862
+ _ => break,
1863
+ }
1864
+ read += 1;
1865
+ write += 1;
1866
+ }
1867
+
1868
+ if has_e && !has_exponent {
1869
+ return None;
1870
+ }
1871
+
1872
+ let mut digits = String::from_utf8(bytes).unwrap();
1873
+ let suffix = digits.split_off(read);
1874
+ digits.truncate(write);
1875
+ if suffix.is_empty() || crate::ident::xid_ok(&suffix) {
1876
+ Some((digits.into_boxed_str(), suffix.into_boxed_str()))
1877
+ } else {
1878
+ None
1879
+ }
1880
+ }
1881
+ }