blob: 0fbb4a501ca6ea97a3ecb823b79f1fdfdfece043 [file] [log] [blame]
#[macro_use] extern crate heapsize_derive;
mod heapsize {
pub trait HeapSizeOf {
fn heap_size_of_children(&self) -> usize;
}
impl<T> HeapSizeOf for Box<T> {
fn heap_size_of_children(&self) -> usize {
::std::mem::size_of::<T>()
}
}
}
#[derive(HeapSizeOf)]
struct Foo([Box<u32>; 2], Box<u8>);
#[test]
fn test() {
use heapsize::HeapSizeOf;
assert_eq!(Foo([Box::new(1), Box::new(2)], Box::new(3)).heap_size_of_children(), 9);
}