You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
589 B
30 lines
589 B
mod drop;
|
|
|
|
use self::drop::{DetectDrop, Flag};
|
|
use anyhow::Error;
|
|
use std::marker::Unpin;
|
|
use std::mem;
|
|
|
|
#[test]
|
|
fn test_error_size() {
|
|
assert_eq!(mem::size_of::<Error>(), mem::size_of::<usize>());
|
|
}
|
|
|
|
#[test]
|
|
fn test_null_pointer_optimization() {
|
|
assert_eq!(mem::size_of::<Result<(), Error>>(), mem::size_of::<usize>());
|
|
}
|
|
|
|
#[test]
|
|
fn test_autotraits() {
|
|
fn assert<E: Unpin + Send + Sync + 'static>() {}
|
|
assert::<Error>();
|
|
}
|
|
|
|
#[test]
|
|
fn test_drop() {
|
|
let has_dropped = Flag::new();
|
|
drop(Error::new(DetectDrop::new(&has_dropped)));
|
|
assert!(has_dropped.get());
|
|
}
|