code_ownership 2.1.4 → 2.2.0

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 (505) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config +2 -2
  3. data/Cargo.lock +6 -59
  4. data/ext/cargo-vendor/codeowners-0.5.0/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/audit.yml +31 -0
  6. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/ci.yml +11 -0
  7. data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/codeql.yml +21 -0
  8. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/Cargo.lock +27 -115
  9. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/Cargo.toml +44 -3
  10. data/ext/cargo-vendor/codeowners-0.5.0/perf/README.md +204 -0
  11. data/ext/cargo-vendor/codeowners-0.5.0/perf/compare.sh +23 -0
  12. data/ext/cargo-vendor/codeowners-0.5.0/perf/run.sh +28 -0
  13. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/rust-toolchain.toml +1 -1
  14. data/ext/cargo-vendor/codeowners-0.5.0/src/bin/codeowners-perf.rs +719 -0
  15. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/file.rs +9 -9
  16. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/mod.rs +4 -4
  17. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/noop.rs +4 -4
  18. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cli.rs +7 -7
  19. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/main.rs +3 -3
  20. data/ext/cargo-vendor/codeowners-0.5.0/src/ownership/file_owner_resolver.rs +829 -0
  21. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/validator.rs +108 -15
  22. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership.rs +22 -3
  23. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project.rs +4 -4
  24. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project_builder.rs +40 -14
  25. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project_file_builder.rs +2 -2
  26. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner/api.rs +8 -5
  27. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner/types.rs +1 -2
  28. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner.rs +39 -29
  29. data/ext/cargo-vendor/codeowners-0.5.0/tests/annotation_in_unowned_team_glob_test.rs +64 -0
  30. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/common/mod.rs +1 -1
  31. data/ext/cargo-vendor/codeowners-0.5.0/tests/directory_codeowner_github_team_test.rs +22 -0
  32. data/ext/cargo-vendor/codeowners-0.5.0/tests/empty_directory_codeowner_test.rs +26 -0
  33. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/.github/CODEOWNERS +18 -0
  34. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/code_ownership.yml +4 -0
  35. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/alpha.yml +7 -0
  36. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/beta.yml +3 -0
  37. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/alpha_owned.rb +2 -0
  38. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/beta_owned.rb +4 -0
  39. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/.github/CODEOWNERS +15 -0
  40. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/.codeowner +1 -0
  41. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/handled.rb +2 -0
  42. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_name/named.rb +2 -0
  43. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/.github/CODEOWNERS +14 -0
  44. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/.codeowner +1 -0
  45. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/.codeowner +1 -0
  46. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/nested_file.rb +2 -0
  47. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/code_ownership.yml +10 -0
  48. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/teams/foo.yml +5 -0
  49. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/.github/CODEOWNERS +14 -0
  50. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/.codeowner +1 -0
  51. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/.codeowner +1 -0
  52. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/nested_file.rb +2 -0
  53. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/code_ownership.yml +10 -0
  54. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/teams/foo.yml +5 -0
  55. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/app/services/.codeowner +1 -0
  56. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +10 -0
  57. data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +5 -0
  58. data/ext/cargo-vendor/codeowners-0.5.0/tests/global_gitignore_test.rs +50 -0
  59. data/ext/cargo-vendor/codeowners-0.5.0/tests/invalid_directory_codeowner_test.rs +26 -0
  60. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_test.rs +9 -9
  61. data/ext/cargo-vendor/codeowners-0.5.0/tests/perf_harness_test.rs +245 -0
  62. data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_new_file_test.rs +63 -0
  63. data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_source_file_test.rs +40 -0
  64. data/ext/cargo-vendor/error-stack-0.8.0/.cargo-checksum.json +1 -0
  65. data/ext/cargo-vendor/error-stack-0.8.0/.cargo_vcs_info.json +6 -0
  66. data/ext/cargo-vendor/error-stack-0.8.0/.justfile +16 -0
  67. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/CHANGELOG.md +50 -1
  68. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/Cargo.lock +253 -310
  69. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/Cargo.toml +107 -52
  70. data/ext/cargo-vendor/error-stack-0.8.0/Cargo.toml.orig +109 -0
  71. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/README.md +16 -18
  72. data/ext/cargo-vendor/error-stack-0.8.0/build.rs +28 -0
  73. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/demo.rs +21 -19
  74. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/detect.rs +6 -6
  75. data/ext/cargo-vendor/error-stack-0.8.0/examples/exit_code.rs +25 -0
  76. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/parse_config.rs +5 -5
  77. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/anyhow.rs +7 -7
  78. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/eyre.rs +7 -6
  79. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/mod.rs +7 -9
  80. data/ext/cargo-vendor/error-stack-0.8.0/src/context.rs +52 -0
  81. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/error.rs +2 -9
  82. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/iter.rs +286 -0
  83. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/mod.rs +19 -0
  84. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/stream.rs +212 -0
  85. data/ext/cargo-vendor/error-stack-0.8.0/src/ext/tuple.rs +218 -0
  86. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/charset.rs +12 -12
  87. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/color.rs +30 -30
  88. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/config.rs +1 -1
  89. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/hook.rs +23 -24
  90. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/location.rs +3 -3
  91. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/mod.rs +62 -52
  92. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/frame_impl.rs +12 -15
  93. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/kind.rs +11 -10
  94. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/mod.rs +8 -10
  95. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/future.rs +57 -63
  96. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/hook/context.rs +18 -20
  97. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/hook/mod.rs +16 -15
  98. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/iter.rs +12 -57
  99. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/lib.rs +99 -87
  100. data/ext/cargo-vendor/error-stack-0.8.0/src/macros.rs +212 -0
  101. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/report.rs +525 -207
  102. data/ext/cargo-vendor/error-stack-0.8.0/src/result.rs +137 -0
  103. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/serde.rs +53 -38
  104. data/ext/cargo-vendor/error-stack-0.8.0/src/sink.rs +672 -0
  105. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/common.rs +36 -24
  106. data/ext/cargo-vendor/error-stack-0.8.0/tests/compiletest.rs +22 -0
  107. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__charset_ascii.snap +1 -1
  108. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__charset_utf8.snap +1 -1
  109. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__diagnostics_add.snap +1 -1
  110. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__doc.snap +1 -1
  111. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__emit.snap +1 -1
  112. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__emit_alt.snap +1 -1
  113. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_cast.snap +1 -1
  114. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_decrement.snap +1 -1
  115. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_emit.snap +1 -1
  116. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_increment.snap +1 -1
  117. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_storage.snap +1 -1
  118. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_color.snap +1 -1
  119. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_emphasis.snap +1 -1
  120. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_none.snap +1 -1
  121. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt_doc_alt.snap +1 -1
  122. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__debug_hook.snap +1 -1
  123. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__debug_hook_provide.snap +1 -1
  124. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/lib__suggestion.snap +2 -2
  125. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_debug__doc.snap +3 -3
  126. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__complex.snap +1 -1
  127. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_location.snap +1 -1
  128. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__linear.snap +2 -2
  129. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__linear_ext.snap +2 -2
  130. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline_context.snap +3 -3
  131. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__sources.snap +1 -1
  132. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__sources_transparent.snap +1 -1
  133. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested.snap +10 -10
  134. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested@spantrace-backtrace.snap +10 -10
  135. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested_alternate.snap +10 -10
  136. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested_alternate@spantrace-backtrace.snap +10 -10
  137. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__attachment.snap +1 -1
  138. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__context.snap +1 -1
  139. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__multiple_sources.snap +2 -2
  140. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__multiple_sources_at_root.snap +2 -2
  141. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_attach.rs +41 -15
  142. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_attach_printable.rs +14 -15
  143. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_backtrace.rs +0 -1
  144. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_change_context.rs +31 -9
  145. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_compatibility.rs +8 -17
  146. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_conversion.rs +25 -3
  147. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_debug.rs +91 -91
  148. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_display.rs +8 -9
  149. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_downcast.rs +101 -0
  150. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_extend.rs +99 -0
  151. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_frame.rs +136 -0
  152. data/ext/cargo-vendor/error-stack-0.8.0/tests/test_iter.rs +132 -0
  153. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_macros.rs +5 -31
  154. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_provision.rs +3 -2
  155. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_serialize.rs +14 -14
  156. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_span_trace.rs +10 -11
  157. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.rs +21 -0
  158. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.stderr +23 -0
  159. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.rs +28 -0
  160. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.stderr +13 -0
  161. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.rs +32 -0
  162. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.stderr +132 -0
  163. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.rs +32 -0
  164. data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.stderr +35 -0
  165. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/ui/must_use.rs +3 -3
  166. data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/ui/must_use.stderr +1 -1
  167. data/ext/code_ownership/Cargo.toml +1 -1
  168. data/ext/code_ownership/src/lib.rs +13 -1
  169. data/lib/code_ownership/version.rb +1 -1
  170. data/lib/code_ownership.rb +3 -0
  171. metadata +340 -431
  172. data/ext/cargo-vendor/ahash-0.7.8/.cargo-checksum.json +0 -1
  173. data/ext/cargo-vendor/ahash-0.7.8/.cargo_vcs_info.json +0 -6
  174. data/ext/cargo-vendor/ahash-0.7.8/.github/workflows/rust.yml +0 -151
  175. data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml +0 -149
  176. data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml.orig +0 -96
  177. data/ext/cargo-vendor/ahash-0.7.8/FAQ.md +0 -118
  178. data/ext/cargo-vendor/ahash-0.7.8/LICENSE-APACHE +0 -201
  179. data/ext/cargo-vendor/ahash-0.7.8/LICENSE-MIT +0 -25
  180. data/ext/cargo-vendor/ahash-0.7.8/README.md +0 -110
  181. data/ext/cargo-vendor/ahash-0.7.8/build.rs +0 -47
  182. data/ext/cargo-vendor/ahash-0.7.8/rustfmt.toml +0 -1
  183. data/ext/cargo-vendor/ahash-0.7.8/src/aes_hash.rs +0 -440
  184. data/ext/cargo-vendor/ahash-0.7.8/src/convert.rs +0 -167
  185. data/ext/cargo-vendor/ahash-0.7.8/src/fallback_hash.rs +0 -392
  186. data/ext/cargo-vendor/ahash-0.7.8/src/hash_map.rs +0 -371
  187. data/ext/cargo-vendor/ahash-0.7.8/src/hash_quality_test.rs +0 -517
  188. data/ext/cargo-vendor/ahash-0.7.8/src/hash_set.rs +0 -313
  189. data/ext/cargo-vendor/ahash-0.7.8/src/lib.rs +0 -263
  190. data/ext/cargo-vendor/ahash-0.7.8/src/operations.rs +0 -330
  191. data/ext/cargo-vendor/ahash-0.7.8/src/random_state.rs +0 -363
  192. data/ext/cargo-vendor/ahash-0.7.8/src/specialize.rs +0 -239
  193. data/ext/cargo-vendor/ahash-0.7.8/tests/bench.rs +0 -154
  194. data/ext/cargo-vendor/ahash-0.7.8/tests/map_tests.rs +0 -203
  195. data/ext/cargo-vendor/ahash-0.7.8/tests/nopanic.rs +0 -72
  196. data/ext/cargo-vendor/codeowners-0.3.3/.cargo-checksum.json +0 -1
  197. data/ext/cargo-vendor/codeowners-0.3.3/.github/workflows/audit.yml +0 -19
  198. data/ext/cargo-vendor/codeowners-0.3.3/src/ownership/file_owner_resolver.rs +0 -416
  199. data/ext/cargo-vendor/error-stack-0.5.0/.cargo-checksum.json +0 -1
  200. data/ext/cargo-vendor/error-stack-0.5.0/.cargo_vcs_info.json +0 -6
  201. data/ext/cargo-vendor/error-stack-0.5.0/.justfile +0 -58
  202. data/ext/cargo-vendor/error-stack-0.5.0/Cargo.toml.orig +0 -87
  203. data/ext/cargo-vendor/error-stack-0.5.0/build.rs +0 -29
  204. data/ext/cargo-vendor/error-stack-0.5.0/examples/exit_code.rs +0 -24
  205. data/ext/cargo-vendor/error-stack-0.5.0/rust-toolchain.toml +0 -4
  206. data/ext/cargo-vendor/error-stack-0.5.0/src/context.rs +0 -132
  207. data/ext/cargo-vendor/error-stack-0.5.0/src/macros.rs +0 -253
  208. data/ext/cargo-vendor/error-stack-0.5.0/src/result.rs +0 -267
  209. data/ext/cargo-vendor/error-stack-0.5.0/tests/compiletest.rs +0 -7
  210. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@backtrace.snap +0 -104
  211. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@spantrace.snap +0 -104
  212. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@backtrace.snap +0 -104
  213. data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@spantrace.snap +0 -104
  214. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_downcast.rs +0 -41
  215. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_extend.rs +0 -78
  216. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_frame.rs +0 -126
  217. data/ext/cargo-vendor/error-stack-0.5.0/tests/test_iter.rs +0 -99
  218. data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.rs +0 -60
  219. data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.stderr +0 -101
  220. data/ext/cargo-vendor/getrandom-0.2.16/.cargo-checksum.json +0 -1
  221. data/ext/cargo-vendor/getrandom-0.2.16/.cargo_vcs_info.json +0 -6
  222. data/ext/cargo-vendor/getrandom-0.2.16/CHANGELOG.md +0 -498
  223. data/ext/cargo-vendor/getrandom-0.2.16/Cargo.lock +0 -354
  224. data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml +0 -121
  225. data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml.orig +0 -67
  226. data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-APACHE +0 -201
  227. data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-MIT +0 -26
  228. data/ext/cargo-vendor/getrandom-0.2.16/README.md +0 -81
  229. data/ext/cargo-vendor/getrandom-0.2.16/SECURITY.md +0 -13
  230. data/ext/cargo-vendor/getrandom-0.2.16/benches/buffer.rs +0 -71
  231. data/ext/cargo-vendor/getrandom-0.2.16/src/apple-other.rs +0 -24
  232. data/ext/cargo-vendor/getrandom-0.2.16/src/custom.rs +0 -105
  233. data/ext/cargo-vendor/getrandom-0.2.16/src/error.rs +0 -189
  234. data/ext/cargo-vendor/getrandom-0.2.16/src/error_impls.rs +0 -15
  235. data/ext/cargo-vendor/getrandom-0.2.16/src/espidf.rs +0 -18
  236. data/ext/cargo-vendor/getrandom-0.2.16/src/fuchsia.rs +0 -13
  237. data/ext/cargo-vendor/getrandom-0.2.16/src/getentropy.rs +0 -21
  238. data/ext/cargo-vendor/getrandom-0.2.16/src/getrandom.rs +0 -25
  239. data/ext/cargo-vendor/getrandom-0.2.16/src/hermit.rs +0 -29
  240. data/ext/cargo-vendor/getrandom-0.2.16/src/js.rs +0 -155
  241. data/ext/cargo-vendor/getrandom-0.2.16/src/lazy.rs +0 -56
  242. data/ext/cargo-vendor/getrandom-0.2.16/src/lib.rs +0 -407
  243. data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android.rs +0 -7
  244. data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android_with_fallback.rs +0 -33
  245. data/ext/cargo-vendor/getrandom-0.2.16/src/netbsd.rs +0 -46
  246. data/ext/cargo-vendor/getrandom-0.2.16/src/rdrand.rs +0 -121
  247. data/ext/cargo-vendor/getrandom-0.2.16/src/solaris.rs +0 -34
  248. data/ext/cargo-vendor/getrandom-0.2.16/src/solid.rs +0 -18
  249. data/ext/cargo-vendor/getrandom-0.2.16/src/use_file.rs +0 -120
  250. data/ext/cargo-vendor/getrandom-0.2.16/src/util.rs +0 -35
  251. data/ext/cargo-vendor/getrandom-0.2.16/src/util_libc.rs +0 -162
  252. data/ext/cargo-vendor/getrandom-0.2.16/src/vxworks.rs +0 -29
  253. data/ext/cargo-vendor/getrandom-0.2.16/src/wasi.rs +0 -17
  254. data/ext/cargo-vendor/getrandom-0.2.16/src/windows.rs +0 -59
  255. data/ext/cargo-vendor/getrandom-0.2.16/tests/common/mod.rs +0 -100
  256. data/ext/cargo-vendor/getrandom-0.2.16/tests/custom.rs +0 -54
  257. data/ext/cargo-vendor/getrandom-0.2.16/tests/normal.rs +0 -11
  258. data/ext/cargo-vendor/getrandom-0.2.16/tests/rdrand.rs +0 -22
  259. data/ext/cargo-vendor/hashbrown-0.12.3/.cargo-checksum.json +0 -1
  260. data/ext/cargo-vendor/hashbrown-0.12.3/.cargo_vcs_info.json +0 -6
  261. data/ext/cargo-vendor/hashbrown-0.12.3/CHANGELOG.md +0 -402
  262. data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml +0 -113
  263. data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml.orig +0 -60
  264. data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-APACHE +0 -201
  265. data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-MIT +0 -25
  266. data/ext/cargo-vendor/hashbrown-0.12.3/README.md +0 -126
  267. data/ext/cargo-vendor/hashbrown-0.12.3/benches/bench.rs +0 -331
  268. data/ext/cargo-vendor/hashbrown-0.12.3/benches/insert_unique_unchecked.rs +0 -32
  269. data/ext/cargo-vendor/hashbrown-0.12.3/clippy.toml +0 -1
  270. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/mod.rs +0 -4
  271. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/helpers.rs +0 -27
  272. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/map.rs +0 -734
  273. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/mod.rs +0 -4
  274. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/raw.rs +0 -231
  275. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/set.rs +0 -659
  276. data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/serde.rs +0 -201
  277. data/ext/cargo-vendor/hashbrown-0.12.3/src/lib.rs +0 -150
  278. data/ext/cargo-vendor/hashbrown-0.12.3/src/macros.rs +0 -70
  279. data/ext/cargo-vendor/hashbrown-0.12.3/src/map.rs +0 -8408
  280. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/alloc.rs +0 -73
  281. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/bitmask.rs +0 -122
  282. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/generic.rs +0 -154
  283. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/mod.rs +0 -2460
  284. data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/sse2.rs +0 -146
  285. data/ext/cargo-vendor/hashbrown-0.12.3/src/rustc_entry.rs +0 -630
  286. data/ext/cargo-vendor/hashbrown-0.12.3/src/scopeguard.rs +0 -74
  287. data/ext/cargo-vendor/hashbrown-0.12.3/src/set.rs +0 -2790
  288. data/ext/cargo-vendor/hashbrown-0.12.3/tests/hasher.rs +0 -65
  289. data/ext/cargo-vendor/hashbrown-0.12.3/tests/rayon.rs +0 -533
  290. data/ext/cargo-vendor/hashbrown-0.12.3/tests/serde.rs +0 -65
  291. data/ext/cargo-vendor/hashbrown-0.12.3/tests/set.rs +0 -34
  292. data/ext/cargo-vendor/lru-0.7.8/.cargo-checksum.json +0 -1
  293. data/ext/cargo-vendor/lru-0.7.8/.cargo_vcs_info.json +0 -6
  294. data/ext/cargo-vendor/lru-0.7.8/.github/workflows/main.yml +0 -54
  295. data/ext/cargo-vendor/lru-0.7.8/CHANGELOG.md +0 -194
  296. data/ext/cargo-vendor/lru-0.7.8/Cargo.toml +0 -42
  297. data/ext/cargo-vendor/lru-0.7.8/Cargo.toml.orig +0 -22
  298. data/ext/cargo-vendor/lru-0.7.8/LICENSE +0 -21
  299. data/ext/cargo-vendor/lru-0.7.8/README.md +0 -62
  300. data/ext/cargo-vendor/lru-0.7.8/src/lib.rs +0 -1872
  301. data/ext/cargo-vendor/version_check-0.9.5/.cargo-checksum.json +0 -1
  302. data/ext/cargo-vendor/version_check-0.9.5/.cargo_vcs_info.json +0 -6
  303. data/ext/cargo-vendor/version_check-0.9.5/.github/workflows/ci.yml +0 -42
  304. data/ext/cargo-vendor/version_check-0.9.5/.travis.yml +0 -6
  305. data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml +0 -38
  306. data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml.orig +0 -13
  307. data/ext/cargo-vendor/version_check-0.9.5/LICENSE-APACHE +0 -201
  308. data/ext/cargo-vendor/version_check-0.9.5/LICENSE-MIT +0 -19
  309. data/ext/cargo-vendor/version_check-0.9.5/README.md +0 -80
  310. data/ext/cargo-vendor/version_check-0.9.5/src/channel.rs +0 -195
  311. data/ext/cargo-vendor/version_check-0.9.5/src/date.rs +0 -203
  312. data/ext/cargo-vendor/version_check-0.9.5/src/lib.rs +0 -528
  313. data/ext/cargo-vendor/version_check-0.9.5/src/version.rs +0 -316
  314. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo-checksum.json +0 -1
  315. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo_vcs_info.json +0 -6
  316. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.github/workflows/main.yml +0 -44
  317. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.gitmodules +0 -3
  318. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CODE_OF_CONDUCT.md +0 -49
  319. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CONTRIBUTING.md +0 -8
  320. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.lock +0 -23
  321. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml +0 -59
  322. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml.orig +0 -29
  323. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-APACHE +0 -201
  324. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -220
  325. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-MIT +0 -23
  326. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/ORG_CODE_OF_CONDUCT.md +0 -143
  327. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/README.md +0 -94
  328. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/SECURITY.md +0 -29
  329. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib.rs +0 -47
  330. data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib_generated.rs +0 -2366
  331. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/CODEOWNERS +0 -0
  332. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/dotslash-config.json +0 -0
  333. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rustfmt.toml +0 -0
  334. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rusty-hook.toml +0 -0
  335. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/AGENTS.md +0 -0
  336. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/CLAUDE.md +0 -0
  337. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/README.md +0 -0
  338. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_file.sh +0 -0
  339. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_gv.sh +0 -0
  340. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/common_test.rs +0 -0
  341. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/config.rs +0 -0
  342. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/crosscheck.rs +0 -0
  343. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/lib.rs +0 -0
  344. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_file_parser.rs +0 -0
  345. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_query.rs +0 -0
  346. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_generator.rs +0 -0
  347. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_owner_finder.rs +0 -0
  348. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
  349. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/directory_mapper.rs +0 -0
  350. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/escaper.rs +0 -0
  351. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/package_mapper.rs +0 -0
  352. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_gem_mapper.rs +0 -0
  353. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_glob_mapper.rs +0 -0
  354. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_yml_mapper.rs +0 -0
  355. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper.rs +0 -0
  356. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/path_utils.rs +0 -0
  357. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/tracked_files.rs +0 -0
  358. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/cache_test.rs +0 -0
  359. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/codeowners_path_test.rs +0 -0
  360. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/crosscheck_owners_test.rs +0 -0
  361. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/executable_name_config_test.rs +10 -10
  362. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +0 -0
  363. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +0 -0
  364. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +3 -3
  365. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +3 -3
  366. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +0 -0
  367. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/.github/CODEOWNERS +0 -0
  368. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/app/foo.rb +0 -0
  369. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/code_ownership.yml +0 -0
  370. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/foo.yml +0 -0
  371. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/payments.yml +0 -0
  372. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +0 -0
  373. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/.github/CODEOWNERS +0 -0
  374. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/app/bar.rb +0 -0
  375. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/code_ownership.yml +0 -0
  376. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/teams/bar.yml +0 -0
  377. 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
  378. 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
  379. 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
  380. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
  381. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
  382. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
  383. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
  384. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
  385. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
  386. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
  387. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
  388. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
  389. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
  390. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
  391. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
  392. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
  393. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
  394. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.keep +0 -0
  395. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
  396. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
  397. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
  398. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
  399. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
  400. 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
  401. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
  402. 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
  403. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/.github/CODEOWNERS +0 -0
  404. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/code_ownership.yml +0 -0
  405. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/bad_team.yml +0 -0
  406. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/good.yml +0 -0
  407. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/gems/pets/dog.rb +0 -0
  408. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
  409. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
  410. 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
  411. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
  412. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
  413. 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
  414. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
  415. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.github/CODEOWNERS +9 -9
  416. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.ignore +0 -0
  417. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
  418. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
  419. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
  420. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
  421. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
  422. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/pets/dog.rb +0 -0
  423. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
  424. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
  425. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
  426. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
  427. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
  428. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
  429. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
  430. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
  431. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
  432. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
  433. 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
  434. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
  435. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
  436. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
  437. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
  438. 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
  439. 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
  440. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
  441. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
  442. 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
  443. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +12 -12
  444. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
  445. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
  446. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
  447. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
  448. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
  449. 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
  450. 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
  451. 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
  452. 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
  453. 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
  454. 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
  455. 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
  456. 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
  457. 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
  458. 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
  459. 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
  460. 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
  461. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
  462. 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
  463. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
  464. 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
  465. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
  466. 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
  467. 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
  468. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
  469. 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
  470. 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
  471. 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
  472. 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
  473. 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
  474. 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
  475. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/git_stage_test.rs +0 -0
  476. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_structure_test.rs +0 -0
  477. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/missing_github_team_test.rs +0 -0
  478. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/multiple_directory_owners_test.rs +0 -0
  479. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/run_config_executable_override_test.rs +0 -0
  480. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/runner_api.rs +0 -0
  481. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/untracked_files_test.rs +0 -0
  482. data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_test.rs +6 -6
  483. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_with_overrides_test.rs +0 -0
  484. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/validate_files_test.rs +0 -0
  485. /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tmp/.gitkeep +0 -0
  486. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-APACHE.md +0 -0
  487. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-MIT.md +0 -0
  488. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE.md +0 -0
  489. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/override.rs +0 -0
  490. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__location_hook.snap +0 -0
  491. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display__doc.snap +0 -0
  492. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display_alt__doc.snap +0 -0
  493. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__alt.snap +0 -0
  494. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__charset_ascii.snap +0 -0
  495. /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
  496. /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
  497. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook.snap +0 -0
  498. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_context.snap +0 -0
  499. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_decr.snap +0 -0
  500. /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
  501. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_incr.snap +0 -0
  502. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_multiple.snap +0 -0
  503. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_provider.snap +0 -0
  504. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline.snap +0 -0
  505. /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__norm.snap +0 -0
@@ -9,7 +9,7 @@ pub(crate) struct Config {
9
9
 
10
10
  #[cfg(any(feature = "std", feature = "hooks"))]
11
11
  impl Config {
12
- pub(crate) fn new(color_mode: ColorMode, charset: Charset, alternate: bool) -> Self {
12
+ pub(crate) const fn new(color_mode: ColorMode, charset: Charset, alternate: bool) -> Self {
13
13
  let context = HookContext::new(Format::new(alternate, color_mode, charset));
14
14
 
15
15
  Self { context }
@@ -3,13 +3,12 @@
3
3
  // implementation: `pub(crate)` and `pub`.
4
4
  #![cfg_attr(not(feature = "std"), allow(unreachable_pub))]
5
5
 
6
- #[cfg_attr(feature = "std", allow(unused_imports))]
7
6
  use alloc::{boxed::Box, string::String, vec::Vec};
8
7
  use core::{any::TypeId, mem};
9
8
 
10
9
  pub(crate) use default::install_builtin_hooks;
11
10
 
12
- use crate::fmt::{charset::Charset, ColorMode, Frame};
11
+ use crate::fmt::{ColorMode, Frame, charset::Charset};
13
12
 
14
13
  pub(crate) struct Format {
15
14
  alternate: bool,
@@ -112,14 +111,14 @@ crate::hook::context::impl_hook_context! {
112
111
  /// Report::install_debug_hook::<Secret>(|_, _| {});
113
112
  ///
114
113
  /// let report = Report::new(Error::from(ErrorKind::InvalidInput))
115
- /// .attach(HttpResponseStatusCode(404))
116
- /// .attach(Suggestion("do you have a connection to the internet?"))
117
- /// .attach(HttpResponseStatusCode(405))
118
- /// .attach(Warning("unable to determine environment"))
119
- /// .attach(Secret("pssst, don't tell anyone else c;"))
120
- /// .attach(Suggestion("execute the program from the fish shell"))
121
- /// .attach(HttpResponseStatusCode(501))
122
- /// .attach(Suggestion("try better next time!"));
114
+ /// .attach_opaque(HttpResponseStatusCode(404))
115
+ /// .attach_opaque(Suggestion("do you have a connection to the internet?"))
116
+ /// .attach_opaque(HttpResponseStatusCode(405))
117
+ /// .attach_opaque(Warning("unable to determine environment"))
118
+ /// .attach_opaque(Secret("pssst, don't tell anyone else c;"))
119
+ /// .attach_opaque(Suggestion("execute the program from the fish shell"))
120
+ /// .attach_opaque(HttpResponseStatusCode(501))
121
+ /// .attach_opaque(Suggestion("try better next time!"));
123
122
  ///
124
123
  /// # Report::set_color_mode(error_stack::fmt::ColorMode::Emphasis);
125
124
  /// # fn render(value: String) -> String {
@@ -198,8 +197,8 @@ crate::hook::context::impl_hook_context! {
198
197
  /// });
199
198
  ///
200
199
  /// let report = Report::new(std::io::Error::from(ErrorKind::InvalidInput))
201
- /// .attach(Computation(2))
202
- /// .attach(Computation(3));
200
+ /// .attach_opaque(Computation(2))
201
+ /// .attach_opaque(Computation(3));
203
202
  ///
204
203
  /// # Report::set_color_mode(error_stack::fmt::ColorMode::Emphasis);
205
204
  /// # fn render(value: String) -> String {
@@ -240,7 +239,7 @@ impl<T> HookContext<T> {
240
239
  self.inner().extra().color
241
240
  }
242
241
 
243
- /// The requested [`Charset`] for this invocation of hooks
242
+ /// The requested [`Charset`] for this invocation of hooks.
244
243
  ///
245
244
  /// Hooks can be invoked in using different charsets, which reflect the capabilities of the
246
245
  /// terminal.
@@ -278,11 +277,11 @@ impl<T> HookContext<T> {
278
277
  /// });
279
278
  ///
280
279
  /// let report = Report::new(std::io::Error::from(ErrorKind::InvalidInput))
281
- /// .attach(Error {
280
+ /// .attach_opaque(Error {
282
281
  /// code: 404,
283
282
  /// reason: "not found - server cannot find requested resource",
284
283
  /// })
285
- /// .attach(Error {
284
+ /// .attach_opaque(Error {
286
285
  /// code: 405,
287
286
  /// reason: "bad request - server cannot or will not process request",
288
287
  /// });
@@ -305,7 +304,7 @@ impl<T> HookContext<T> {
305
304
  /// ```
306
305
  ///
307
306
  /// <pre>
308
- #[doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt__hookcontext_emit.snap"))]
307
+ #[cfg_attr(doc, doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt__hookcontext_emit.snap")))]
309
308
  /// </pre>
310
309
  pub fn push_appendix(&mut self, content: impl Into<String>) {
311
310
  self.inner_mut().extra_mut().appendix.push(content.into());
@@ -332,7 +331,7 @@ impl<T> HookContext<T> {
332
331
  /// });
333
332
  ///
334
333
  /// let report = Report::new(io::Error::from(io::ErrorKind::InvalidInput))
335
- /// .attach(Suggestion("try better next time"));
334
+ /// .attach_opaque(Suggestion("try better next time"));
336
335
  ///
337
336
  /// # Report::set_color_mode(error_stack::fmt::ColorMode::Emphasis);
338
337
  /// # fn render(value: String) -> String {
@@ -352,7 +351,7 @@ impl<T> HookContext<T> {
352
351
  /// ```
353
352
  ///
354
353
  /// <pre>
355
- #[doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt__diagnostics_add.snap"))]
354
+ #[cfg_attr(doc, doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt__diagnostics_add.snap")))]
356
355
  /// </pre>
357
356
  pub fn push_body(&mut self, content: impl Into<String>) {
358
357
  self.inner_mut().extra_mut().body.push(content.into());
@@ -410,8 +409,8 @@ fn into_boxed_hook<T: Send + Sync + 'static>(
410
409
  /// Hooks are added via [`.insert()`], which will wrap the function in an additional closure.
411
410
  /// This closure will downcast/request the [`Frame`] to the requested type.
412
411
  ///
413
- /// If not set, opaque attachments (added via [`.attach()`]) won't be rendered in the [`Debug`]
414
- /// output.
412
+ /// If not set, opaque attachments (added via [`.attach_opaque()`]) won't be rendered in the
413
+ /// [`Debug`] output.
415
414
  ///
416
415
  /// The default implementation provides supports for [`Backtrace`] and [`SpanTrace`],
417
416
  /// if their necessary features have been enabled.
@@ -421,7 +420,8 @@ fn into_boxed_hook<T: Send + Sync + 'static>(
421
420
  /// [`Display`]: core::fmt::Display
422
421
  /// [`Debug`]: core::fmt::Debug
423
422
  /// [`.insert()`]: Hooks::insert
424
- #[allow(clippy::field_scoped_visibility_modifiers)]
423
+ /// [`.attach_opaque()`]: crate::Report::attach_opaque
424
+ #[expect(clippy::field_scoped_visibility_modifiers)]
425
425
  pub(crate) struct Hooks {
426
426
  // We use `Vec`, instead of `HashMap` or `BTreeMap`, so that ordering is consistent with the
427
427
  // insertion order of types.
@@ -455,8 +455,7 @@ impl Hooks {
455
455
  mod default {
456
456
  #[cfg(any(feature = "backtrace", feature = "spantrace"))]
457
457
  use alloc::format;
458
- #[cfg_attr(feature = "std", allow(unused_imports))]
459
- use alloc::string::ToString;
458
+ use alloc::string::ToString as _;
460
459
  use core::{
461
460
  panic::Location,
462
461
  sync::atomic::{AtomicBool, Ordering},
@@ -472,8 +471,8 @@ mod default {
472
471
  use tracing_error::SpanTrace;
473
472
 
474
473
  use crate::{
475
- fmt::{hook::HookContext, location::LocationAttachment},
476
474
  Report,
475
+ fmt::{hook::HookContext, location::LocationAttachment},
477
476
  };
478
477
 
479
478
  pub(crate) fn install_builtin_hooks() {
@@ -15,7 +15,7 @@ impl<'a, 'loc> LocationAttachment<'a, 'loc> {
15
15
  }
16
16
 
17
17
  impl fmt::Display for LocationAttachment<'_, '_> {
18
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18
+ fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
19
19
  let location = self.location;
20
20
 
21
21
  let mut style = Style::new();
@@ -24,9 +24,9 @@ impl fmt::Display for LocationAttachment<'_, '_> {
24
24
  ColorMode::None => {}
25
25
  ColorMode::Color => style.set_foreground(Color::Black, true),
26
26
  ColorMode::Emphasis => style.set_display(DisplayStyle::new().with_italic(true)),
27
- };
27
+ }
28
28
 
29
- f.write_fmt(format_args!("at {}", style.apply(&location)))?;
29
+ fmt.write_fmt(format_args!("at {}", style.apply(&location)))?;
30
30
 
31
31
  Ok(())
32
32
  }
@@ -8,18 +8,18 @@
8
8
  //! The [`Debug`] implementation can be easily extended using hooks. Hooks are functions of the
9
9
  //! signature `Fn(&T, &mut HookContext<T>)`, they provide an ergonomic way to partially modify the
10
10
  //! output format and enable custom output for types that are not necessarily added via
11
- //! [`Report::attach_printable`] or are unable to implement [`Display`].
11
+ //! [`Report::attach`] or are unable to implement [`Display`].
12
12
  //!
13
13
  //! Hooks can be attached through the central hooking mechanism which `error-stack`
14
14
  //! provides via [`Report::install_debug_hook`].
15
15
  //!
16
- //! Hooks are called for contexts which provide additional values through [`Context::provide`] and
17
- //! attachments which are added via [`Report::attach`] or [`Report::attach_printable`]. The order of
16
+ //! Hooks are called for contexts which provide additional values through [`Error::provide`] and
17
+ //! attachments which are added via [`Report::attach`] or [`Report::attach_opaque`]. The order of
18
18
  //! [`Report::install_debug_hook`] calls determines the order of the rendered output. Note, that
19
- //! Hooks get called on all values provided by [`Context::provide`], but not on the [`Context`]
20
- //! object itself. Therefore if you want to call a hook on a [`Context`] to print in addition to its
21
- //! [`Display`] implementation, you may want to call [`request.provide_ref(self)`] inside of
22
- //! [`Context::provide`].
19
+ //! Hooks get called on all values provided by [`Error::provide`], but not on the [`Error`]
20
+ //! object itself. Therefore if you want to call a hook on a [`Error`] context to print in addition
21
+ //! to its [`Display`] implementation, you may want to call [`request.provide_ref(self)`] inside of
22
+ //! [`Error::provide`].
23
23
  //!
24
24
  //! [`request.provide_ref(self)`]: core::error::Request::provide_ref
25
25
  //!
@@ -94,10 +94,10 @@
94
94
  //!
95
95
  //!
96
96
  //! let report = Report::new(Error::from(ErrorKind::InvalidInput))
97
- //! .attach_printable(ErrorCode(404))
98
- //! .attach(Suggestion("try to be connected to the internet."))
99
- //! .attach(Suggestion("try better next time!"))
100
- //! .attach(Warning("unable to fetch resource"));
97
+ //! .attach(ErrorCode(404))
98
+ //! .attach_opaque(Suggestion("try to be connected to the internet."))
99
+ //! .attach_opaque(Suggestion("try better next time!"))
100
+ //! .attach_opaque(Warning("unable to fetch resource"));
101
101
  //!
102
102
  //! # Report::set_color_mode(error_stack::fmt::ColorMode::Emphasis);
103
103
  //! # fn render(value: String) -> String {
@@ -124,13 +124,13 @@
124
124
  //! The output of `println!("{report:?}")`:
125
125
  //!
126
126
  //! <pre>
127
- #![doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt__doc.snap"))]
127
+ #![cfg_attr(doc, doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt__doc.snap")))]
128
128
  //! </pre>
129
129
  //!
130
130
  //! The output of `println!("{report:#?}")`:
131
131
  //!
132
132
  //! <pre>
133
- #![doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt_doc_alt.snap"))]
133
+ #![cfg_attr(doc, doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/snapshots/doc/fmt_doc_alt.snap")))]
134
134
  //! </pre>
135
135
  //!
136
136
  //! ## Implementation Details
@@ -187,7 +187,7 @@
187
187
  //!
188
188
  //! While formatting we view the [`Report`]s as a tree of [`Frame`]s, therefore the following
189
189
  //! explanation will use terminology associated with trees, every [`Frame`] is a node and can have
190
- //! `0..n` children, a node that has no children (a leaf) is guaranteed to be a [`Context`].
190
+ //! `0..n` children, a node that has no children (a leaf) is guaranteed to be a [`Error`] context.
191
191
  //!
192
192
  //! A list is a list of nodes where each node in the list is the parent of the next node in the list
193
193
  //! and only has a single child. The last node in the list is exempt of that rule of that rule and
@@ -200,9 +200,10 @@
200
200
  //! (`1`), but `1` is not the immediate context parent of `3` and `4` (`2`) is. In the more detailed
201
201
  //! example `(Dᶜ, Hᶜ, Iᶜ)` is considered a group because they share the same *immediate* context
202
202
  //! parent `Aᶜ`, important to note is that we only refer to immediate context parents, `Fᵃ` is the
203
- //! immediate parent of `Iᶜ`, but is not a [`Context`], therefore to find the immediate context
204
- //! parent, we travel up the tree until we encounter our first [`Context`] node. Groups always
205
- //! contain lists, for the sake of clarity this explanation only shows the first element.
203
+ //! immediate parent of `Iᶜ`, but is not a [`Error`] context, therefore to find the immediate
204
+ //! context parent, we travel up the tree until we encounter our first [`Error`] context node.
205
+ //! Groups always contain lists, for the sake of clarity this explanation only shows the first
206
+ //! element.
206
207
  //!
207
208
  //! The rules stated above also implies some additional rules:
208
209
  //! * lists are never empty
@@ -213,7 +214,7 @@
213
214
  //! Using the aforementioned delimiters for lists and groups the end result would be:
214
215
  //!
215
216
  //! Overview Tree: `[0, 1] ([2] ([3], [4, 5]), [6, 7, 8])`
216
- //! Detailed Tree: `[Aᶜ] ([Dᶜ], [Hᶜ], [Iᶜ])`
217
+ //! Detailed Tree: `[Aᶜ] ([Dᶜ], [Hᶜ], [Iᶜ])`.
217
218
  //!
218
219
  //! Attachments are not ordered by insertion order but by depth in the tree. The depth in the tree
219
220
  //! is the inverse of the insertion order, this means that the [`Debug`] output of all
@@ -299,16 +300,16 @@ mod hook;
299
300
  mod location;
300
301
  mod r#override;
301
302
 
302
- use alloc::collections::VecDeque;
303
- #[cfg_attr(feature = "std", allow(unused_imports))]
304
303
  use alloc::{
305
304
  borrow::ToOwned,
305
+ collections::VecDeque,
306
306
  format,
307
- string::{String, ToString},
307
+ string::{String, ToString as _},
308
308
  vec,
309
309
  vec::Vec,
310
310
  };
311
311
  use core::{
312
+ error::Error,
312
313
  fmt::{self, Debug, Display, Formatter},
313
314
  iter::once,
314
315
  mem,
@@ -319,16 +320,16 @@ pub use color::ColorMode;
319
320
  #[cfg(any(feature = "std", feature = "hooks"))]
320
321
  pub use hook::HookContext;
321
322
  #[cfg(any(feature = "std", feature = "hooks"))]
322
- pub(crate) use hook::{install_builtin_hooks, Format, Hooks};
323
+ pub(crate) use hook::{Format, Hooks, install_builtin_hooks};
323
324
  #[cfg(not(any(feature = "std", feature = "hooks")))]
324
325
  use location::LocationAttachment;
325
326
 
326
327
  use crate::{
328
+ AttachmentKind, Frame, FrameKind, Report,
327
329
  fmt::{
328
330
  color::{Color, DisplayStyle, Style},
329
331
  config::Config,
330
332
  },
331
- AttachmentKind, Context, Frame, FrameKind, Report,
332
333
  };
333
334
 
334
335
  #[derive(Debug, Copy, Clone, Eq, PartialEq)]
@@ -433,9 +434,9 @@ struct SymbolDisplay<'a> {
433
434
  }
434
435
 
435
436
  impl Display for SymbolDisplay<'_> {
436
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
437
+ fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
437
438
  for symbol in self.inner {
438
- f.write_str(symbol.to_str(self.charset))?;
439
+ fmt.write_str(symbol.to_str(self.charset))?;
439
440
  }
440
441
 
441
442
  Ok(())
@@ -459,12 +460,12 @@ enum Spacing {
459
460
 
460
461
  #[derive(Debug, Copy, Clone)]
461
462
  struct Indent {
462
- /// Is this used in a group context, if that is the case, then add a single leading space
463
+ /// Is this used in a group context? If that is the case, then add a single leading space.
463
464
  group: bool,
464
- /// Should the indent be visible, if that isn't the case it will render a space instead of
465
- /// `|`
465
+ /// Should the indent be visible? If that isn't the case it will render a space instead of
466
+ /// `|`.
466
467
  visible: bool,
467
- /// Should spacing included, this is the difference between `| ` and `|`
468
+ /// Should spacing be included? This is the difference between `| ` and `|`.
468
469
  spacing: Option<Spacing>,
469
470
  }
470
471
 
@@ -568,7 +569,7 @@ enum Instruction {
568
569
  Context {
569
570
  position: Position,
570
571
  },
571
- /// `Position::Final` means *that nothing follows*
572
+ /// `Position::Final` means *that nothing follows*.
572
573
  Attachment {
573
574
  position: Position,
574
575
  },
@@ -584,10 +585,12 @@ enum PreparedInstruction<'a> {
584
585
  }
585
586
 
586
587
  impl Instruction {
587
- // Reason: the match arms are the same intentionally, this makes it more clean which variant
588
- // emits which and also keeps it nicely formatted.
589
- #[allow(clippy::match_same_arms)]
590
- fn prepare(&self) -> PreparedInstruction {
588
+ #[expect(
589
+ clippy::match_same_arms,
590
+ reason = "the match arms are the same intentionally, this makes it more clean which \
591
+ variant emits which and also keeps it nicely formatted."
592
+ )]
593
+ fn prepare(&self) -> PreparedInstruction<'_> {
591
594
  match self {
592
595
  Self::Value { value, style } => PreparedInstruction::Content(value, style),
593
596
 
@@ -672,7 +675,7 @@ struct LineDisplay<'a> {
672
675
  }
673
676
 
674
677
  impl Display for LineDisplay<'_> {
675
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
678
+ fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
676
679
  for instruction in self.line.0.iter().rev() {
677
680
  Display::fmt(
678
681
  &InstructionDisplay {
@@ -680,7 +683,7 @@ impl Display for LineDisplay<'_> {
680
683
  charset: self.charset,
681
684
  instruction,
682
685
  },
683
- f,
686
+ fmt,
684
687
  )?;
685
688
  }
686
689
 
@@ -691,7 +694,7 @@ impl Display for LineDisplay<'_> {
691
694
  struct Lines(VecDeque<Line>);
692
695
 
693
696
  impl Lines {
694
- fn new() -> Self {
697
+ const fn new() -> Self {
695
698
  Self(VecDeque::new())
696
699
  }
697
700
 
@@ -753,7 +756,7 @@ fn collect<'a>(root: &'a Frame, prefix: &'a [&Frame]) -> (Vec<&'a Frame>, &'a [F
753
756
  (stack, next)
754
757
  }
755
758
 
756
- /// Partition the tree, this looks for the first `Context`,
759
+ /// Partition the tree, this looks for the first context frame,
757
760
  /// then moves it up the chain and adds it to our results.
758
761
  /// Once we reach the end all remaining items on the stack are added to the prefix pile,
759
762
  /// which will be used in next iteration.
@@ -774,7 +777,7 @@ fn partition<'a>(stack: &'a [&'a Frame]) -> (Vec<(&'a Frame, Vec<&'a Frame>)>, V
774
777
  (result, queue)
775
778
  }
776
779
 
777
- fn debug_context(context: &dyn Context, mode: ColorMode) -> Lines {
780
+ fn debug_context(context: &(dyn Error + Send + Sync + 'static), mode: ColorMode) -> Lines {
778
781
  context
779
782
  .to_string()
780
783
  .lines()
@@ -806,7 +809,7 @@ impl Opaque {
806
809
  Self(0)
807
810
  }
808
811
 
809
- fn increase(&mut self) {
812
+ const fn increase(&mut self) {
810
813
  self.0 += 1;
811
814
  }
812
815
 
@@ -825,7 +828,10 @@ impl Opaque {
825
828
  }
826
829
  }
827
830
 
828
- #[allow(clippy::needless_pass_by_ref_mut)]
831
+ #[cfg_attr(
832
+ not(any(feature = "std", feature = "hooks")),
833
+ expect(clippy::needless_pass_by_ref_mut)
834
+ )]
829
835
  fn debug_attachments_invoke<'a>(
830
836
  frames: impl IntoIterator<Item = &'a Frame>,
831
837
  config: &mut Config,
@@ -840,15 +846,19 @@ fn debug_attachments_invoke<'a>(
840
846
  .map(|frame| match frame.kind() {
841
847
  #[cfg(any(feature = "std", feature = "hooks"))]
842
848
  FrameKind::Context(_) => Some(
843
- Report::invoke_debug_format_hook(|hooks| hooks.call(frame, context))
844
- .then(|| context.take_body())
845
- .unwrap_or_default(),
849
+ if Report::invoke_debug_format_hook(|hooks| hooks.call(frame, context)) {
850
+ context.take_body()
851
+ } else {
852
+ Vec::new()
853
+ },
846
854
  ),
847
855
  #[cfg(any(feature = "std", feature = "hooks"))]
848
856
  FrameKind::Attachment(AttachmentKind::Printable(attachment)) => Some(
849
- Report::invoke_debug_format_hook(|hooks| hooks.call(frame, context))
850
- .then(|| context.take_body())
851
- .unwrap_or_else(|| vec![attachment.to_string()]),
857
+ if Report::invoke_debug_format_hook(|hooks| hooks.call(frame, context)) {
858
+ context.take_body()
859
+ } else {
860
+ vec![attachment.to_string()]
861
+ },
852
862
  ),
853
863
  #[cfg(any(feature = "std", feature = "hooks"))]
854
864
  FrameKind::Attachment(AttachmentKind::Opaque(_)) => {
@@ -1024,7 +1034,7 @@ fn debug_frame(root: &Frame, prefix: &[&Frame], config: &mut Config) -> Vec<Line
1024
1034
  // The attachments are rendered as direct descendants of the parent context
1025
1035
  let head_context = debug_context(
1026
1036
  match head.kind() {
1027
- FrameKind::Context(c) => c,
1037
+ FrameKind::Context(context) => context,
1028
1038
  FrameKind::Attachment(_) => unreachable!(),
1029
1039
  },
1030
1040
  config.color_mode(),
@@ -1083,16 +1093,16 @@ fn debug_frame(root: &Frame, prefix: &[&Frame], config: &mut Config) -> Vec<Line
1083
1093
  vec![debug_render(head, contexts, sources)]
1084
1094
  }
1085
1095
 
1086
- impl<C> Debug for Report<C> {
1096
+ impl<C: ?Sized> Debug for Report<C> {
1087
1097
  fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
1088
1098
  let mut config = Config::load(fmt.alternate());
1089
1099
 
1090
1100
  let color = config.color_mode();
1091
1101
  let charset = config.charset();
1092
1102
 
1093
- #[cfg_attr(not(any(feature = "std", feature = "hooks")), allow(unused_mut))]
1103
+ #[cfg_attr(not(any(feature = "std", feature = "hooks")), expect(unused_mut))]
1094
1104
  let mut lines = self
1095
- .current_frames()
1105
+ .current_frames_unchecked()
1096
1106
  .iter()
1097
1107
  .flat_map(|frame| debug_frame(frame, &[], &mut config))
1098
1108
  .enumerate()
@@ -1152,7 +1162,7 @@ impl<C> Debug for Report<C> {
1152
1162
  }
1153
1163
  }
1154
1164
 
1155
- impl<Context> Display for Report<Context> {
1165
+ impl<C: ?Sized> Display for Report<C> {
1156
1166
  fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
1157
1167
  for (index, frame) in self
1158
1168
  .frames()
@@ -1,10 +1,9 @@
1
- #[cfg_attr(feature = "std", allow(unused_imports))]
2
1
  use alloc::boxed::Box;
3
2
  #[cfg(nightly)]
4
- use core::error::{Error, Request};
5
- use core::{any::Any, fmt};
3
+ use core::error::Request;
4
+ use core::{any::Any, error::Error, fmt};
6
5
 
7
- use crate::{AttachmentKind, Context, Frame, FrameKind};
6
+ use crate::{AttachmentKind, Frame, FrameKind};
8
7
 
9
8
  /// Internal representation of a [`Frame`].
10
9
  pub(super) trait FrameImpl: Send + Sync + 'static {
@@ -19,22 +18,20 @@ pub(super) trait FrameImpl: Send + Sync + 'static {
19
18
  fn provide<'a>(&'a self, request: &mut Request<'a>);
20
19
  }
21
20
 
22
- #[cfg(nightly)]
23
21
  impl fmt::Debug for Box<dyn FrameImpl> {
24
22
  fn fmt(&self, _: &mut fmt::Formatter<'_>) -> fmt::Result {
25
23
  unreachable!()
26
24
  }
27
25
  }
28
26
 
29
- #[cfg(nightly)]
30
27
  impl fmt::Display for Box<dyn FrameImpl> {
31
28
  fn fmt(&self, _: &mut fmt::Formatter<'_>) -> fmt::Result {
32
29
  unreachable!()
33
30
  }
34
31
  }
35
32
 
36
- #[cfg(nightly)]
37
33
  impl Error for Box<dyn FrameImpl> {
34
+ #[cfg(nightly)]
38
35
  fn provide<'a>(&'a self, request: &mut Request<'a>) {
39
36
  (**self).provide(request);
40
37
  }
@@ -44,7 +41,7 @@ struct ContextFrame<C> {
44
41
  context: C,
45
42
  }
46
43
 
47
- impl<C: Context> FrameImpl for ContextFrame<C> {
44
+ impl<C: Error + Send + Sync + 'static> FrameImpl for ContextFrame<C> {
48
45
  fn kind(&self) -> FrameKind<'_> {
49
46
  FrameKind::Context(&self.context)
50
47
  }
@@ -59,7 +56,7 @@ impl<C: Context> FrameImpl for ContextFrame<C> {
59
56
 
60
57
  #[cfg(nightly)]
61
58
  fn provide<'a>(&'a self, request: &mut Request<'a>) {
62
- Context::provide(&self.context, request);
59
+ Error::provide(&self.context, request);
63
60
  }
64
61
  }
65
62
 
@@ -129,7 +126,7 @@ impl fmt::Display for AnyhowContext {
129
126
  }
130
127
 
131
128
  #[cfg(feature = "anyhow")]
132
- impl Context for AnyhowContext {
129
+ impl Error for AnyhowContext {
133
130
  #[cfg(all(nightly, feature = "std"))]
134
131
  #[inline]
135
132
  fn provide<'a>(&'a self, request: &mut Request<'a>) {
@@ -154,7 +151,7 @@ impl FrameImpl for AnyhowContext {
154
151
  #[cfg(nightly)]
155
152
  #[inline]
156
153
  fn provide<'a>(&'a self, request: &mut Request<'a>) {
157
- Context::provide(self, request);
154
+ Error::provide(self, request);
158
155
  }
159
156
  }
160
157
 
@@ -176,7 +173,7 @@ impl fmt::Display for EyreContext {
176
173
  }
177
174
 
178
175
  #[cfg(feature = "eyre")]
179
- impl Context for EyreContext {
176
+ impl Error for EyreContext {
180
177
  #[cfg(nightly)]
181
178
  #[inline]
182
179
  fn provide<'a>(&'a self, request: &mut Request<'a>) {
@@ -201,15 +198,15 @@ impl FrameImpl for EyreContext {
201
198
  #[cfg(nightly)]
202
199
  #[inline]
203
200
  fn provide<'a>(&'a self, request: &mut Request<'a>) {
204
- Context::provide(self, request);
201
+ Error::provide(self, request);
205
202
  }
206
203
  }
207
204
 
208
205
  impl Frame {
209
- /// Creates a frame from a [`Context`].
206
+ /// Creates a frame from an [`Error`].
210
207
  pub(crate) fn from_context<C>(context: C, sources: Box<[Self]>) -> Self
211
208
  where
212
- C: Context,
209
+ C: Error + Send + Sync + 'static,
213
210
  {
214
211
  Self {
215
212
  frame: Box::new(ContextFrame { context }),
@@ -1,6 +1,7 @@
1
- use core::fmt::{Debug, Display};
2
-
3
- use crate::Context;
1
+ use core::{
2
+ error::Error,
3
+ fmt::{Debug, Display},
4
+ };
4
5
 
5
6
  /// Classification of the contents of a [`Frame`], determined by how it was created.
6
7
  ///
@@ -10,24 +11,24 @@ pub enum FrameKind<'f> {
10
11
  ///
11
12
  /// [`Report::new()`]: crate::Report::new
12
13
  /// [`change_context()`]: crate::Report::change_context
13
- Context(&'f dyn Context),
14
- /// Frame was created through [`attach()`] or [`attach_printable()`].
14
+ Context(&'f (dyn Error + Send + Sync + 'static)),
15
+ /// Frame was created through [`attach()`] or [`attach_opaque()`].
15
16
  ///
16
17
  /// [`attach()`]: crate::Report::attach
17
- /// [`attach_printable()`]: crate::Report::attach_printable
18
+ /// [`attach_opaque()`]: crate::Report::attach_opaque
18
19
  Attachment(AttachmentKind<'f>),
19
20
  }
20
21
 
21
22
  /// Classification of an attachment which is determined by the method it was created in.
22
23
  #[non_exhaustive]
23
24
  pub enum AttachmentKind<'f> {
24
- /// A generic attachment created through [`attach()`].
25
+ /// A generic attachment created through [`attach_opaque()`].
25
26
  ///
26
- /// [`attach()`]: crate::Report::attach
27
+ /// [`attach_opaque()`]: crate::Report::attach_opaque
27
28
  Opaque(&'f (dyn Send + Sync + 'static)),
28
- /// A printable attachment created through [`attach_printable()`].
29
+ /// A printable attachment created through [`attach()`].
29
30
  ///
30
- /// [`attach_printable()`]: crate::Report::attach_printable
31
+ /// [`attach()`]: crate::Report::attach
31
32
  Printable(&'f dyn Printable),
32
33
  }
33
34
 
@@ -1,29 +1,28 @@
1
1
  mod frame_impl;
2
2
  mod kind;
3
3
 
4
- #[cfg_attr(feature = "std", allow(unused_imports))]
5
4
  use alloc::boxed::Box;
6
5
  #[cfg(nightly)]
7
- use core::error::{self, Error};
8
- use core::{any::TypeId, fmt};
6
+ use core::error;
7
+ use core::{any::TypeId, error::Error, fmt};
9
8
 
10
9
  use self::frame_impl::FrameImpl;
11
10
  pub use self::kind::{AttachmentKind, FrameKind};
12
11
 
13
12
  /// A single context or attachment inside of a [`Report`].
14
13
  ///
15
- /// `Frame`s are organized as a singly linked list, which can be iterated by calling
16
- /// [`Report::frames()`]. The head contains the current context or attachment, and the tail contains
17
- /// the root context created by [`Report::new()`]. The next `Frame` can be accessed by requesting it
18
- /// by calling [`Report::request_ref()`].
14
+ /// `Frame`s are organized as a tree, which can be traversed by calling [`Report::frames()`].
15
+ /// The top contains the most recent context or attachment, the leaves contain the root contexts
16
+ /// created by [`Report::new()`]. The `Frame`s below a frame can be accessed by calling
17
+ /// [`sources()`].
19
18
  ///
20
19
  /// [`Report`]: crate::Report
21
20
  /// [`Report::frames()`]: crate::Report::frames
22
21
  /// [`Report::new()`]: crate::Report::new
23
- /// [`Report::request_ref()`]: crate::Report::request_ref
22
+ /// [`sources()`]: Self::sources
24
23
  pub struct Frame {
25
24
  frame: Box<dyn FrameImpl>,
26
- sources: Box<[Frame]>,
25
+ sources: Box<[Self]>,
27
26
  }
28
27
 
29
28
  impl Frame {
@@ -97,7 +96,6 @@ impl Frame {
97
96
  self.frame.as_any().type_id()
98
97
  }
99
98
 
100
- #[cfg(nightly)]
101
99
  pub(crate) fn as_error(&self) -> &impl Error {
102
100
  &self.frame
103
101
  }