pub trait MemSizeRecorder: MemSize {
// Required methods
fn record_mem_size(&self);
fn set_mem_recorder(&mut self, mem_size: Arc<AtomicUsize>);
}Expand description
Heap-size recorder for a class(struct)
You should use a static Var to record mem-size
and record mem-size after construction & minus it in drop()
So, variable-size fields in object should NOT be modified to keep heap-size stable.
Or, you can record the initial mem-size in this object
Or, update it (not impl)
Required Methods§
fn record_mem_size(&self)
fn set_mem_recorder(&mut self, mem_size: Arc<AtomicUsize>)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.