pub struct Header {
pub email_index: usize,
pub left: Option<Box<Header>>,
pub right: Option<Box<Header>>,
}Fields§
§email_index: usize§left: Option<Box<Header>>§right: Option<Box<Header>>Trait Implementations§
Source§impl Drop for Header
Iterative drop to avoid a stack overflow when dropping a deep tree.
impl Drop for Header
Iterative drop to avoid a stack overflow when dropping a deep tree.
A large near-sorted mailbox degenerates the ad-hoc BST in structs.rs into a
linked list of depth N; Rust’s default derived drop glue for Box<Header>
recurses through left/right, so dropping such a tree (e.g. when the
EmailStore goes out of scope) would recurse to depth N and could overflow
the stack. This unlinks children into an explicit work stack instead.
Auto Trait Implementations§
impl Freeze for Header
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnsafeUnpin for Header
impl UnwindSafe for Header
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more