macro_rules! memory_cost_structural_copy {
{ $($ty:ty),* $(,)? } => { ... };
}
Expand description
Implement HasMemoryCostStructural
for Copy
types
The indirect_memory_cost
of a Copy + 'static
type is zero.
This macro implements that.
Ideally, we would impl <T: Copy + 'static> MemoryCostStructural for T
.
But that falls foul of trait coherence rules.
So instead we provide memory_cost_structural_copy!
and the #[deftly(has_memory_cost(copy))]
attribute.
This macro can only be used within tor-memquota
, or for types local to your crate.
For other types, use #[deftly(has_memory_cost(copy))]
on each field of that type.