Skip to content

Commit

Permalink
chore: refactor backtrace style in panic
Browse files Browse the repository at this point in the history
fix: rustfmt

fix: excess return statement

fix: fmt
  • Loading branch information
Konippi committed Aug 2, 2024
1 parent 2cec7a8 commit c77a68a
Showing 1 changed file with 23 additions and 25 deletions.
48 changes: 23 additions & 25 deletions library/std/src/panic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -463,11 +463,10 @@ static SHOULD_CAPTURE: AtomicU8 = AtomicU8::new(0);
/// environment variable; see the details in [`get_backtrace_style`].
#[unstable(feature = "panic_backtrace_config", issue = "93346")]
pub fn set_backtrace_style(style: BacktraceStyle) {
if !cfg!(feature = "backtrace") {
// If the `backtrace` feature of this crate isn't enabled, skip setting.
return;
if cfg!(feature = "backtrace") {
// If the `backtrace` feature of this crate is enabled, set the backtrace style.
SHOULD_CAPTURE.store(style.as_u8(), Ordering::Release);
}
SHOULD_CAPTURE.store(style.as_u8(), Ordering::Release);
}

/// Checks whether the standard library's panic hook will capture and print a
Expand Down Expand Up @@ -499,27 +498,26 @@ pub fn get_backtrace_style() -> Option<BacktraceStyle> {
// to optimize away callers.
return None;
}
if let Some(style) = BacktraceStyle::from_u8(SHOULD_CAPTURE.load(Ordering::Acquire)) {
return Some(style);
}

let format = crate::env::var_os("RUST_BACKTRACE")
.map(|x| {
if &x == "0" {
BacktraceStyle::Off
} else if &x == "full" {
BacktraceStyle::Full
} else {
BacktraceStyle::Short
}
})
.unwrap_or(if crate::sys::FULL_BACKTRACE_DEFAULT {
BacktraceStyle::Full
} else {
BacktraceStyle::Off
});
set_backtrace_style(format);
Some(format)
BacktraceStyle::from_u8(SHOULD_CAPTURE.load(Ordering::Acquire)).map(Some).unwrap_or_else(|| {
let env_var = crate::env::var_os("RUST_BACKTRACE");
let style = env_var
.and_then(|var| {
var.to_str().map(|s| match s {
"0" => BacktraceStyle::Off,
"full" => BacktraceStyle::Full,
_ => BacktraceStyle::Short,
})
})
.unwrap_or_else(|| {
if crate::sys::FULL_BACKTRACE_DEFAULT {
BacktraceStyle::Full
} else {
BacktraceStyle::Short
}
});
set_backtrace_style(style);
Some(style)
})
}

#[cfg(test)]
Expand Down

0 comments on commit c77a68a

Please sign in to comment.