#![feature(prelude_import)]
#[prelude_import]
use std::prelude::rust_2021::*;
#[macro_use]
extern crate std;
use heapsz_derive::HeapSize;
#[allow(dead_code)]
#[path = "allowlisting.rs"]
mod allowlisting {
use heapsz_derive::HeapSize;
pub struct FullAllow {
#[heap_size]
pub field_bool: bool,
#[heap_size]
pub field_u8: u8,
#[heap_size]
pub field_u16: u16,
#[heap_size]
pub field_u32: u32,
#[heap_size]
pub field_u64: u64,
#[heap_size]
pub field_u128: u128,
#[heap_size]
pub field_usize: usize,
#[heap_size]
pub field_f32: f32,
#[heap_size]
pub field_f64: f64,
}
impl ::heapsz::HeapSize for FullAllow {
fn heap_size(&self) -> usize {
0 + ::heapsz::HeapSize::heap_size(&self.field_bool)
+ ::heapsz::HeapSize::heap_size(&self.field_u8)
+ ::heapsz::HeapSize::heap_size(&self.field_u16)
+ ::heapsz::HeapSize::heap_size(&self.field_u32)
+ ::heapsz::HeapSize::heap_size(&self.field_u64)
+ ::heapsz::HeapSize::heap_size(&self.field_u128)
+ ::heapsz::HeapSize::heap_size(&self.field_usize)
+ ::heapsz::HeapSize::heap_size(&self.field_f32)
+ ::heapsz::HeapSize::heap_size(&self.field_f64)
}
}
pub struct PartialAllow {
#[heap_size]
pub field_bool: bool,
#[heap_size]
pub field_u8: u8,
#[heap_size]
pub field_u16: u16,
#[heap_size]
pub field_u32: u32,
#[heap_size]
pub field_u64: u64,
pub field_u128: u128,
pub field_usize: usize,
pub field_f32: f32,
pub field_f64: f64,
}
impl ::heapsz::HeapSize for PartialAllow {
fn heap_size(&self) -> usize {
0 + ::heapsz::HeapSize::heap_size(&self.field_bool)
+ ::heapsz::HeapSize::heap_size(&self.field_u8)
+ ::heapsz::HeapSize::heap_size(&self.field_u16)
+ ::heapsz::HeapSize::heap_size(&self.field_u32)
+ ::heapsz::HeapSize::heap_size(&self.field_u64)
}
}
fn main() {}
}
pub struct Unit;
impl ::heapsz::HeapSize for Unit {
fn heap_size(&self) -> usize {
0
}
}
pub struct Tuple1(#[heap_size] pub allowlisting::FullAllow);
impl ::heapsz::HeapSize for Tuple1 {
fn heap_size(&self) -> usize {
0 + ::heapsz::HeapSize::heap_size(&self.0)
}
}
#[heap_size]
pub struct Tuple2(
pub allowlisting::FullAllow,
#[heap_size(skip)]
pub allowlisting::PartialAllow,
);
impl ::heapsz::HeapSize for Tuple2 {
fn heap_size(&self) -> usize {
0 + ::heapsz::HeapSize::heap_size(&self.0)
}
}
fn main() {}