macro_rules! if_zst {
(mut $this:ident, $len:ident => $zst_body:expr, $end:ident => $other_body:expr,) => { ... };
($this:ident, $len:ident => $zst_body:expr, $end:ident => $other_body:expr,) => { ... };
}Expand description
Convenience & performance macro for consuming the end_or_len field, by
giving a (&mut) usize or (&mut) NonNull<T> depending whether T is
or is not a ZST respectively.
Internally, this reads the end through a pointer-to-NonNull so that
it’ll get the appropriate non-null metadata in the backend without needing
to call assume manually.