Skip to content

Commit

Permalink
Merge commit '4a5297d30b0f0754a3bbc47b71bb55b04960c0ad' into color-eyre
Browse files Browse the repository at this point in the history
  • Loading branch information
ten3roberts committed Dec 11, 2023
2 parents 57216d0 + 4a5297d commit e3fd620
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 34 deletions.
8 changes: 5 additions & 3 deletions color-eyre/examples/multiple_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ fn join_errors(results: Vec<Result<(), SourceError>>) -> Result<(), Report> {
return Ok(());
}

results
let err = results
.into_iter()
.filter(Result::is_err)
.map(Result::unwrap_err)
.fold(Err(eyre!("encountered multiple errors")), |report, e| {
.fold(eyre!("encountered multiple errors"), |report, e| {
report.error(e)
})
});

Err(err)
}

/// Helper function to generate errors
Expand Down
19 changes: 9 additions & 10 deletions color-eyre/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use crate::{
section::PanicMessage,
writers::{EnvSection, WriterExt},
};
use eyre::WrapErr;
use fmt::Display;
use indenter::{indented, Format};
use owo_colors::{style, OwoColorize, Style};
Expand Down Expand Up @@ -760,7 +759,7 @@ impl HookBuilder {
};

#[cfg(feature = "capture-spantrace")]
color_spantrace::set_theme(self.theme.into()).wrap_err("could not set the provided `Theme` via `color_spantrace::set_theme` globally as another was already set")?;
eyre::WrapErr::wrap_err(color_spantrace::set_theme(self.theme.into()), "could not set the provided `Theme` via `color_spantrace::set_theme` globally as another was already set")?;

Ok((panic_hook, eyre_hook))
}
Expand Down Expand Up @@ -1038,6 +1037,13 @@ pub struct EyreHook {
issue_filter: Arc<IssueFilterCallback>,
}

type HookFunc = Box<
dyn Fn(&(dyn std::error::Error + 'static)) -> Box<dyn eyre::EyreHandler>
+ Send
+ Sync
+ 'static,
>;

impl EyreHook {
#[allow(unused_variables)]
pub(crate) fn default(&self, error: &(dyn std::error::Error + 'static)) -> crate::Handler {
Expand Down Expand Up @@ -1091,14 +1097,7 @@ impl EyreHook {
}

/// Convert the self into the boxed type expected by `eyre::set_hook`.
pub fn into_eyre_hook(
self,
) -> Box<
dyn Fn(&(dyn std::error::Error + 'static)) -> Box<dyn eyre::EyreHandler>
+ Send
+ Sync
+ 'static,
> {
pub fn into_eyre_hook(self) -> HookFunc {
Box::new(move |e| Box::new(self.default(e)))
}
}
Expand Down
2 changes: 0 additions & 2 deletions color-eyre/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -349,8 +349,6 @@
overflowing_literals,
path_statements,
patterns_in_fns_without_body,
private_in_public,
unconditional_recursion,
unused,
unused_allocation,
unused_comparisons,
Expand Down
8 changes: 6 additions & 2 deletions color-eyre/tests/data/theme_error_control.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,15 @@ Error:
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133
20: test::run_test_in_process::h15b6b7d5919893aa
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/test/src/lib.rs:608
 ⋮ 15 frames hidden ⋮ 
21: test::run_test::{{closure}}::h8ef02d13d4506b7f
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:572
22: test::run_test::{{closure}}::hcd7b423365d0ff7e
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:600
 ⋮ 13 frames hidden ⋮ 

Note: note
Warning: warning
Suggestion: suggestion

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
Run with RUST_BACKTRACE=full to include source snippets.
8 changes: 6 additions & 2 deletions color-eyre/tests/data/theme_error_control_location.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,15 @@ Error:
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133
20: test::run_test_in_process::h15b6b7d5919893aa
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/test/src/lib.rs:608
 ⋮ 15 frames hidden ⋮ 
21: test::run_test::{{closure}}::h8ef02d13d4506b7f
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:572
22: test::run_test::{{closure}}::hcd7b423365d0ff7e
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:600
 ⋮ 13 frames hidden ⋮ 

Note: note
Warning: warning
Suggestion: suggestion

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
Run with RUST_BACKTRACE=full to include source snippets.
8 changes: 6 additions & 2 deletions color-eyre/tests/data/theme_error_control_minimal.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,15 @@ Error:
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133
20: test::run_test_in_process::h15b6b7d5919893aa
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/test/src/lib.rs:608
 ⋮ 15 frames hidden ⋮ 
21: test::run_test::{{closure}}::h8ef02d13d4506b7f
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:572
22: test::run_test::{{closure}}::hcd7b423365d0ff7e
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:600
 ⋮ 13 frames hidden ⋮ 

Note: note
Warning: warning
Suggestion: suggestion

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
Run with RUST_BACKTRACE=full to include source snippets.
8 changes: 6 additions & 2 deletions color-eyre/tests/data/theme_error_control_spantrace.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,15 @@ Error:
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133
20: test::run_test_in_process::h15b6b7d5919893aa
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/test/src/lib.rs:608
 ⋮ 15 frames hidden ⋮ 
21: test::run_test::{{closure}}::h8ef02d13d4506b7f
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:572
22: test::run_test::{{closure}}::hcd7b423365d0ff7e
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/test/src/lib.rs:600
 ⋮ 13 frames hidden ⋮ 

Note: note
Warning: warning
Suggestion: suggestion

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
Run with RUST_BACKTRACE=full to include source snippets.
20 changes: 11 additions & 9 deletions color-eyre/tests/data/theme_panic_control_no_spantrace.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Finished dev [unoptimized + debuginfo] target(s) in 0.03s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
Running `target/debug/examples/theme_test_helper`
The application panicked (crashed).
Message: <non string panic payload>
Location: examples/theme_test_helper.rs:37

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ⋮ 6 frames hidden ⋮ 
7: std::panic::panic_any::hb5351c0843c6c4aa
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:57
8: theme_test_helper::main::h22b568e997946766
at /home/jlusby/git/yaahc/color-eyre/examples/theme_test_helper.rs:37
9: core::ops::function::FnOnce::call_once::hab7662216a7cf3dc
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/ops/function.rs:227
 ⋮ 15 frames hidden ⋮ 
 ⋮ 7 frames hidden ⋮ 
8: std::panic::panic_any::h696507828cece708
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/std/src/panic.rs:63
9: theme_test_helper::main::h8b0946db6f62a6fa
at /home/tei/dev/rust/color-eyre/examples/theme_test_helper.rs:37
10: core::ops::function::FnOnce::call_once::h6e047342a35216be
at /rustc/7b4d9e155fec06583c763f176fc432dc779f1fc6/library/core/src/ops/function.rs:250
 ⋮ 16 frames hidden ⋮ 

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
4 changes: 2 additions & 2 deletions color-eyre/tests/theme.rs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ fn test_panic_backwards_compatibility() {
};

let output = std::process::Command::new("cargo")
.args(&["run", "--example", "theme_test_helper"])
.args(["run", "--example", "theme_test_helper"])
.arg("--no-default-features")
.args(&features)
.output()
Expand Down Expand Up @@ -152,7 +152,6 @@ fn test_backwards_compatibility(target: String, file_name: &str) {
let all: Vec<_> = s.ansi_parse().collect();
let ansi: Vec<_> = s
.ansi_parse()
.into_iter()
.filter_map(|x| {
if let Output::Escape(ansi) = x {
Some(ansi)
Expand All @@ -167,6 +166,7 @@ fn test_backwards_compatibility(target: String, file_name: &str) {
let (_control_tokens, control_ansi) = f(&control);
let (_target_tokens, target_ansi) = f(&target);

// pretty_assertions::assert_eq!(target, control);
let msg = [
// comment out / un-comment what you need or don't need for debugging (see below for more instructions):

Expand Down

0 comments on commit e3fd620

Please sign in to comment.