mirror of
https://github.com/eyre-rs/eyre.git
synced 2025-09-27 13:01:29 +00:00

* Switch report handler to a global hook * more cleanup * remove default from example * remove broken support for no_std * back out the unneeded nostd check * remove one stackframe when capturing a Handler * update docs and prep for release * port lib.rs docs updates to readme
33 lines
614 B
Rust
33 lines
614 B
Rust
mod drop;
|
|
|
|
use self::drop::{DetectDrop, Flag};
|
|
use eyre::Report;
|
|
use std::marker::Unpin;
|
|
use std::mem;
|
|
|
|
#[test]
|
|
fn test_error_size() {
|
|
assert_eq!(mem::size_of::<Report>(), mem::size_of::<usize>());
|
|
}
|
|
|
|
#[test]
|
|
fn test_null_pointer_optimization() {
|
|
assert_eq!(
|
|
mem::size_of::<Result<(), Report>>(),
|
|
mem::size_of::<usize>()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test_autotraits() {
|
|
fn assert<E: Unpin + Send + Sync + 'static>() {}
|
|
assert::<Report>();
|
|
}
|
|
|
|
#[test]
|
|
fn test_drop() {
|
|
let has_dropped = Flag::new();
|
|
drop(Report::new(DetectDrop::new(&has_dropped)));
|
|
assert!(has_dropped.get());
|
|
}
|