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.
- checksums.yaml +4 -4
- data/.cargo/config +2 -2
- data/Cargo.lock +6 -59
- data/ext/cargo-vendor/codeowners-0.5.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/audit.yml +31 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/ci.yml +11 -0
- data/ext/cargo-vendor/codeowners-0.5.0/.github/workflows/codeql.yml +21 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/Cargo.lock +27 -115
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/Cargo.toml +44 -3
- data/ext/cargo-vendor/codeowners-0.5.0/perf/README.md +204 -0
- data/ext/cargo-vendor/codeowners-0.5.0/perf/compare.sh +23 -0
- data/ext/cargo-vendor/codeowners-0.5.0/perf/run.sh +28 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/rust-toolchain.toml +1 -1
- data/ext/cargo-vendor/codeowners-0.5.0/src/bin/codeowners-perf.rs +719 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/file.rs +9 -9
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/mod.rs +4 -4
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cache/noop.rs +4 -4
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/cli.rs +7 -7
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/main.rs +3 -3
- data/ext/cargo-vendor/codeowners-0.5.0/src/ownership/file_owner_resolver.rs +829 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/validator.rs +108 -15
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership.rs +22 -3
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project.rs +4 -4
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project_builder.rs +40 -14
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/project_file_builder.rs +2 -2
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner/api.rs +8 -5
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner/types.rs +1 -2
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/runner.rs +39 -29
- data/ext/cargo-vendor/codeowners-0.5.0/tests/annotation_in_unowned_team_glob_test.rs +64 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/common/mod.rs +1 -1
- data/ext/cargo-vendor/codeowners-0.5.0/tests/directory_codeowner_github_team_test.rs +22 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/empty_directory_codeowner_test.rs +26 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/.github/CODEOWNERS +18 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/code_ownership.yml +4 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/alpha.yml +7 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/config/teams/beta.yml +3 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/alpha_owned.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/annotation_in_unowned_team_glob/ruby/app/services/beta_owned.rb +4 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/.github/CODEOWNERS +15 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_handle/handled.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/directory-codeowner-github-team/app/by_name/named.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/.github/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/app/services/nested/nested_file.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/empty-directory-codeowner/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/.github/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/app/services/nested/nested_file.rb +2 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/invalid-directory-codeowner/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/app/services/.codeowner +1 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/global_gitignore_test.rs +50 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/invalid_directory_codeowner_test.rs +26 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_test.rs +9 -9
- data/ext/cargo-vendor/codeowners-0.5.0/tests/perf_harness_test.rs +245 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_new_file_test.rs +63 -0
- data/ext/cargo-vendor/codeowners-0.5.0/tests/untracked_source_file_test.rs +40 -0
- data/ext/cargo-vendor/error-stack-0.8.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/error-stack-0.8.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/error-stack-0.8.0/.justfile +16 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/CHANGELOG.md +50 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/Cargo.lock +253 -310
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/Cargo.toml +107 -52
- data/ext/cargo-vendor/error-stack-0.8.0/Cargo.toml.orig +109 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/README.md +16 -18
- data/ext/cargo-vendor/error-stack-0.8.0/build.rs +28 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/demo.rs +21 -19
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/detect.rs +6 -6
- data/ext/cargo-vendor/error-stack-0.8.0/examples/exit_code.rs +25 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/examples/parse_config.rs +5 -5
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/anyhow.rs +7 -7
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/eyre.rs +7 -6
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/compat/mod.rs +7 -9
- data/ext/cargo-vendor/error-stack-0.8.0/src/context.rs +52 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/error.rs +2 -9
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/iter.rs +286 -0
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/mod.rs +19 -0
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/stream.rs +212 -0
- data/ext/cargo-vendor/error-stack-0.8.0/src/ext/tuple.rs +218 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/charset.rs +12 -12
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/color.rs +30 -30
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/config.rs +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/hook.rs +23 -24
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/location.rs +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/mod.rs +62 -52
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/frame_impl.rs +12 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/kind.rs +11 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/frame/mod.rs +8 -10
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/future.rs +57 -63
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/hook/context.rs +18 -20
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/hook/mod.rs +16 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/iter.rs +12 -57
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/lib.rs +99 -87
- data/ext/cargo-vendor/error-stack-0.8.0/src/macros.rs +212 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/report.rs +525 -207
- data/ext/cargo-vendor/error-stack-0.8.0/src/result.rs +137 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/serde.rs +53 -38
- data/ext/cargo-vendor/error-stack-0.8.0/src/sink.rs +672 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/common.rs +36 -24
- data/ext/cargo-vendor/error-stack-0.8.0/tests/compiletest.rs +22 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__charset_ascii.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__charset_utf8.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__diagnostics_add.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__doc.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__emit.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__emit_alt.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_cast.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_decrement.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_emit.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_increment.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__hookcontext_storage.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_color.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_emphasis.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt__preference_none.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/fmt_doc_alt.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__debug_hook.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__debug_hook_provide.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/lib__suggestion.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_debug__doc.snap +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__complex.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_location.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__linear.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__linear_ext.snap +2 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline_context.snap +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__sources.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__sources_transparent.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested.snap +10 -10
- 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
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__sources_nested_alternate.snap +10 -10
- 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
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__attachment.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__context.snap +1 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_serialize__multiple_sources.snap +2 -2
- 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
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_attach.rs +41 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_attach_printable.rs +14 -15
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_backtrace.rs +0 -1
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_change_context.rs +31 -9
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_compatibility.rs +8 -17
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_conversion.rs +25 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_debug.rs +91 -91
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_display.rs +8 -9
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_downcast.rs +101 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_extend.rs +99 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_frame.rs +136 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/test_iter.rs +132 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_macros.rs +5 -31
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_provision.rs +3 -2
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_serialize.rs +14 -14
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/test_span_trace.rs +10 -11
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.rs +21 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/attach_diagnostics.stderr +23 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.rs +28 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/frames_mut_escape.stderr +13 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.rs +32 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/macro_invalid_args.stderr +132 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.rs +32 -0
- data/ext/cargo-vendor/error-stack-0.8.0/tests/ui/missing_args.stderr +35 -0
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/ui/must_use.rs +3 -3
- data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/ui/must_use.stderr +1 -1
- data/ext/code_ownership/Cargo.toml +1 -1
- data/ext/code_ownership/src/lib.rs +13 -1
- data/lib/code_ownership/version.rb +1 -1
- data/lib/code_ownership.rb +3 -0
- metadata +340 -431
- data/ext/cargo-vendor/ahash-0.7.8/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/ahash-0.7.8/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/ahash-0.7.8/.github/workflows/rust.yml +0 -151
- data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml +0 -149
- data/ext/cargo-vendor/ahash-0.7.8/Cargo.toml.orig +0 -96
- data/ext/cargo-vendor/ahash-0.7.8/FAQ.md +0 -118
- data/ext/cargo-vendor/ahash-0.7.8/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/ahash-0.7.8/LICENSE-MIT +0 -25
- data/ext/cargo-vendor/ahash-0.7.8/README.md +0 -110
- data/ext/cargo-vendor/ahash-0.7.8/build.rs +0 -47
- data/ext/cargo-vendor/ahash-0.7.8/rustfmt.toml +0 -1
- data/ext/cargo-vendor/ahash-0.7.8/src/aes_hash.rs +0 -440
- data/ext/cargo-vendor/ahash-0.7.8/src/convert.rs +0 -167
- data/ext/cargo-vendor/ahash-0.7.8/src/fallback_hash.rs +0 -392
- data/ext/cargo-vendor/ahash-0.7.8/src/hash_map.rs +0 -371
- data/ext/cargo-vendor/ahash-0.7.8/src/hash_quality_test.rs +0 -517
- data/ext/cargo-vendor/ahash-0.7.8/src/hash_set.rs +0 -313
- data/ext/cargo-vendor/ahash-0.7.8/src/lib.rs +0 -263
- data/ext/cargo-vendor/ahash-0.7.8/src/operations.rs +0 -330
- data/ext/cargo-vendor/ahash-0.7.8/src/random_state.rs +0 -363
- data/ext/cargo-vendor/ahash-0.7.8/src/specialize.rs +0 -239
- data/ext/cargo-vendor/ahash-0.7.8/tests/bench.rs +0 -154
- data/ext/cargo-vendor/ahash-0.7.8/tests/map_tests.rs +0 -203
- data/ext/cargo-vendor/ahash-0.7.8/tests/nopanic.rs +0 -72
- data/ext/cargo-vendor/codeowners-0.3.3/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/codeowners-0.3.3/.github/workflows/audit.yml +0 -19
- data/ext/cargo-vendor/codeowners-0.3.3/src/ownership/file_owner_resolver.rs +0 -416
- data/ext/cargo-vendor/error-stack-0.5.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/error-stack-0.5.0/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/error-stack-0.5.0/.justfile +0 -58
- data/ext/cargo-vendor/error-stack-0.5.0/Cargo.toml.orig +0 -87
- data/ext/cargo-vendor/error-stack-0.5.0/build.rs +0 -29
- data/ext/cargo-vendor/error-stack-0.5.0/examples/exit_code.rs +0 -24
- data/ext/cargo-vendor/error-stack-0.5.0/rust-toolchain.toml +0 -4
- data/ext/cargo-vendor/error-stack-0.5.0/src/context.rs +0 -132
- data/ext/cargo-vendor/error-stack-0.5.0/src/macros.rs +0 -253
- data/ext/cargo-vendor/error-stack-0.5.0/src/result.rs +0 -267
- data/ext/cargo-vendor/error-stack-0.5.0/tests/compiletest.rs +0 -7
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@backtrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested@spantrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@backtrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/snapshots/test_debug__sources_nested_alternate@spantrace.snap +0 -104
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_downcast.rs +0 -41
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_extend.rs +0 -78
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_frame.rs +0 -126
- data/ext/cargo-vendor/error-stack-0.5.0/tests/test_iter.rs +0 -99
- data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.rs +0 -60
- data/ext/cargo-vendor/error-stack-0.5.0/tests/ui/macro_invalid_args.stderr +0 -101
- data/ext/cargo-vendor/getrandom-0.2.16/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/getrandom-0.2.16/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/getrandom-0.2.16/CHANGELOG.md +0 -498
- data/ext/cargo-vendor/getrandom-0.2.16/Cargo.lock +0 -354
- data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml +0 -121
- data/ext/cargo-vendor/getrandom-0.2.16/Cargo.toml.orig +0 -67
- data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/getrandom-0.2.16/LICENSE-MIT +0 -26
- data/ext/cargo-vendor/getrandom-0.2.16/README.md +0 -81
- data/ext/cargo-vendor/getrandom-0.2.16/SECURITY.md +0 -13
- data/ext/cargo-vendor/getrandom-0.2.16/benches/buffer.rs +0 -71
- data/ext/cargo-vendor/getrandom-0.2.16/src/apple-other.rs +0 -24
- data/ext/cargo-vendor/getrandom-0.2.16/src/custom.rs +0 -105
- data/ext/cargo-vendor/getrandom-0.2.16/src/error.rs +0 -189
- data/ext/cargo-vendor/getrandom-0.2.16/src/error_impls.rs +0 -15
- data/ext/cargo-vendor/getrandom-0.2.16/src/espidf.rs +0 -18
- data/ext/cargo-vendor/getrandom-0.2.16/src/fuchsia.rs +0 -13
- data/ext/cargo-vendor/getrandom-0.2.16/src/getentropy.rs +0 -21
- data/ext/cargo-vendor/getrandom-0.2.16/src/getrandom.rs +0 -25
- data/ext/cargo-vendor/getrandom-0.2.16/src/hermit.rs +0 -29
- data/ext/cargo-vendor/getrandom-0.2.16/src/js.rs +0 -155
- data/ext/cargo-vendor/getrandom-0.2.16/src/lazy.rs +0 -56
- data/ext/cargo-vendor/getrandom-0.2.16/src/lib.rs +0 -407
- data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android.rs +0 -7
- data/ext/cargo-vendor/getrandom-0.2.16/src/linux_android_with_fallback.rs +0 -33
- data/ext/cargo-vendor/getrandom-0.2.16/src/netbsd.rs +0 -46
- data/ext/cargo-vendor/getrandom-0.2.16/src/rdrand.rs +0 -121
- data/ext/cargo-vendor/getrandom-0.2.16/src/solaris.rs +0 -34
- data/ext/cargo-vendor/getrandom-0.2.16/src/solid.rs +0 -18
- data/ext/cargo-vendor/getrandom-0.2.16/src/use_file.rs +0 -120
- data/ext/cargo-vendor/getrandom-0.2.16/src/util.rs +0 -35
- data/ext/cargo-vendor/getrandom-0.2.16/src/util_libc.rs +0 -162
- data/ext/cargo-vendor/getrandom-0.2.16/src/vxworks.rs +0 -29
- data/ext/cargo-vendor/getrandom-0.2.16/src/wasi.rs +0 -17
- data/ext/cargo-vendor/getrandom-0.2.16/src/windows.rs +0 -59
- data/ext/cargo-vendor/getrandom-0.2.16/tests/common/mod.rs +0 -100
- data/ext/cargo-vendor/getrandom-0.2.16/tests/custom.rs +0 -54
- data/ext/cargo-vendor/getrandom-0.2.16/tests/normal.rs +0 -11
- data/ext/cargo-vendor/getrandom-0.2.16/tests/rdrand.rs +0 -22
- data/ext/cargo-vendor/hashbrown-0.12.3/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/hashbrown-0.12.3/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/hashbrown-0.12.3/CHANGELOG.md +0 -402
- data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml +0 -113
- data/ext/cargo-vendor/hashbrown-0.12.3/Cargo.toml.orig +0 -60
- data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/hashbrown-0.12.3/LICENSE-MIT +0 -25
- data/ext/cargo-vendor/hashbrown-0.12.3/README.md +0 -126
- data/ext/cargo-vendor/hashbrown-0.12.3/benches/bench.rs +0 -331
- data/ext/cargo-vendor/hashbrown-0.12.3/benches/insert_unique_unchecked.rs +0 -32
- data/ext/cargo-vendor/hashbrown-0.12.3/clippy.toml +0 -1
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/mod.rs +0 -4
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/helpers.rs +0 -27
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/map.rs +0 -734
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/mod.rs +0 -4
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/raw.rs +0 -231
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/rayon/set.rs +0 -659
- data/ext/cargo-vendor/hashbrown-0.12.3/src/external_trait_impls/serde.rs +0 -201
- data/ext/cargo-vendor/hashbrown-0.12.3/src/lib.rs +0 -150
- data/ext/cargo-vendor/hashbrown-0.12.3/src/macros.rs +0 -70
- data/ext/cargo-vendor/hashbrown-0.12.3/src/map.rs +0 -8408
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/alloc.rs +0 -73
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/bitmask.rs +0 -122
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/generic.rs +0 -154
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/mod.rs +0 -2460
- data/ext/cargo-vendor/hashbrown-0.12.3/src/raw/sse2.rs +0 -146
- data/ext/cargo-vendor/hashbrown-0.12.3/src/rustc_entry.rs +0 -630
- data/ext/cargo-vendor/hashbrown-0.12.3/src/scopeguard.rs +0 -74
- data/ext/cargo-vendor/hashbrown-0.12.3/src/set.rs +0 -2790
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/hasher.rs +0 -65
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/rayon.rs +0 -533
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/serde.rs +0 -65
- data/ext/cargo-vendor/hashbrown-0.12.3/tests/set.rs +0 -34
- data/ext/cargo-vendor/lru-0.7.8/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/lru-0.7.8/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/lru-0.7.8/.github/workflows/main.yml +0 -54
- data/ext/cargo-vendor/lru-0.7.8/CHANGELOG.md +0 -194
- data/ext/cargo-vendor/lru-0.7.8/Cargo.toml +0 -42
- data/ext/cargo-vendor/lru-0.7.8/Cargo.toml.orig +0 -22
- data/ext/cargo-vendor/lru-0.7.8/LICENSE +0 -21
- data/ext/cargo-vendor/lru-0.7.8/README.md +0 -62
- data/ext/cargo-vendor/lru-0.7.8/src/lib.rs +0 -1872
- data/ext/cargo-vendor/version_check-0.9.5/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/version_check-0.9.5/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/version_check-0.9.5/.github/workflows/ci.yml +0 -42
- data/ext/cargo-vendor/version_check-0.9.5/.travis.yml +0 -6
- data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml +0 -38
- data/ext/cargo-vendor/version_check-0.9.5/Cargo.toml.orig +0 -13
- data/ext/cargo-vendor/version_check-0.9.5/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/version_check-0.9.5/LICENSE-MIT +0 -19
- data/ext/cargo-vendor/version_check-0.9.5/README.md +0 -80
- data/ext/cargo-vendor/version_check-0.9.5/src/channel.rs +0 -195
- data/ext/cargo-vendor/version_check-0.9.5/src/date.rs +0 -203
- data/ext/cargo-vendor/version_check-0.9.5/src/lib.rs +0 -528
- data/ext/cargo-vendor/version_check-0.9.5/src/version.rs +0 -316
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.github/workflows/main.yml +0 -44
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/.gitmodules +0 -3
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CODE_OF_CONDUCT.md +0 -49
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/CONTRIBUTING.md +0 -8
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.lock +0 -23
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml +0 -59
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/Cargo.toml.orig +0 -29
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -220
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-MIT +0 -23
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/ORG_CODE_OF_CONDUCT.md +0 -143
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/README.md +0 -94
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/SECURITY.md +0 -29
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib.rs +0 -47
- data/ext/cargo-vendor/wasi-0.11.1+wasi-snapshot-preview1/src/lib_generated.rs +0 -2366
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.github/workflows/dotslash-config.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rustfmt.toml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/.rusty-hook.toml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/AGENTS.md +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/CLAUDE.md +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/README.md +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_file.sh +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/dev/run_benchmarks_for_gv.sh +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/common_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/config.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/crosscheck.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/lib.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_file_parser.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/codeowners_query.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_generator.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/file_owner_finder.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/directory_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/escaper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/package_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_gem_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_glob_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper/team_yml_mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/ownership/mapper.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/path_utils.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/src/tracked_files.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/cache_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/codeowners_path_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/crosscheck_owners_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/executable_name_config_test.rs +10 -10
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +3 -3
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +3 -3
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/app/foo.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/foo.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/config/teams/payments.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/app/bar.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/default_executable_name/config/teams/bar.yml +0 -0
- 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
- 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
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/.keep +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/bad_team.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/config/teams/good.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/missing_github_team/gems/pets/dog.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.github/CODEOWNERS +9 -9
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/.ignore +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/gems/pets/dog.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
- 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
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +12 -12
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
- 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
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/git_stage_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/invalid_project_structure_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/missing_github_team_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/multiple_directory_owners_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/run_config_executable_override_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/runner_api.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/untracked_files_test.rs +0 -0
- data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_test.rs +6 -6
- /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/valid_project_with_overrides_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tests/validate_files_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.3 → codeowners-0.5.0}/tmp/.gitkeep +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-APACHE.md +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE-MIT.md +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/LICENSE.md +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/src/fmt/override.rs +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/hook__location_hook.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display__doc.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/doc/report_display_alt__doc.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__alt.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__charset_ascii.snap +0 -0
- /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
- /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
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_context.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_decr.snap +0 -0
- /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
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_incr.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_multiple.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__hook_provider.snap +0 -0
- /data/ext/cargo-vendor/{error-stack-0.5.0 → error-stack-0.8.0}/tests/snapshots/test_debug__full__multiline.snap +0 -0
- /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::{
|
|
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
|
-
/// .
|
|
116
|
-
/// .
|
|
117
|
-
/// .
|
|
118
|
-
/// .
|
|
119
|
-
/// .
|
|
120
|
-
/// .
|
|
121
|
-
/// .
|
|
122
|
-
/// .
|
|
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
|
-
/// .
|
|
202
|
-
/// .
|
|
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
|
-
/// .
|
|
280
|
+
/// .attach_opaque(Error {
|
|
282
281
|
/// code: 404,
|
|
283
282
|
/// reason: "not found - server cannot find requested resource",
|
|
284
283
|
/// })
|
|
285
|
-
/// .
|
|
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
|
-
/// .
|
|
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 [`.
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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::
|
|
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 [`
|
|
17
|
-
//! attachments which are added via [`Report::attach`] or [`Report::
|
|
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 [`
|
|
20
|
-
//! object itself. Therefore if you want to call a hook on a [`
|
|
21
|
-
//! [`Display`] implementation, you may want to call [`request.provide_ref(self)`] inside of
|
|
22
|
-
//! [`
|
|
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
|
-
//! .
|
|
98
|
-
//! .
|
|
99
|
-
//! .
|
|
100
|
-
//! .
|
|
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 [`
|
|
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 [`
|
|
204
|
-
//! parent, we travel up the tree until we encounter our first [`
|
|
205
|
-
//! contain lists, for the sake of clarity this explanation only shows the first
|
|
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::{
|
|
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,
|
|
437
|
+
fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
|
|
437
438
|
for symbol in self.inner {
|
|
438
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
#[
|
|
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
|
-
|
|
845
|
-
|
|
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
|
-
|
|
851
|
-
|
|
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(
|
|
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")),
|
|
1103
|
+
#[cfg_attr(not(any(feature = "std", feature = "hooks")), expect(unused_mut))]
|
|
1094
1104
|
let mut lines = self
|
|
1095
|
-
.
|
|
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<
|
|
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::
|
|
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,
|
|
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:
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
201
|
+
Error::provide(self, request);
|
|
205
202
|
}
|
|
206
203
|
}
|
|
207
204
|
|
|
208
205
|
impl Frame {
|
|
209
|
-
/// Creates a frame from
|
|
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:
|
|
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::
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
14
|
-
/// Frame was created through [`attach()`] or [`
|
|
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
|
-
/// [`
|
|
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 [`
|
|
25
|
+
/// A generic attachment created through [`attach_opaque()`].
|
|
25
26
|
///
|
|
26
|
-
/// [`
|
|
27
|
+
/// [`attach_opaque()`]: crate::Report::attach_opaque
|
|
27
28
|
Opaque(&'f (dyn Send + Sync + 'static)),
|
|
28
|
-
/// A printable attachment created through [`
|
|
29
|
+
/// A printable attachment created through [`attach()`].
|
|
29
30
|
///
|
|
30
|
-
/// [`
|
|
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
|
|
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
|
|
16
|
-
///
|
|
17
|
-
///
|
|
18
|
-
///
|
|
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
|
-
/// [`
|
|
22
|
+
/// [`sources()`]: Self::sources
|
|
24
23
|
pub struct Frame {
|
|
25
24
|
frame: Box<dyn FrameImpl>,
|
|
26
|
-
sources: Box<[
|
|
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
|
}
|