pub enum SpecializedLayout {
Scalar {
size: usize,
align: usize,
},
Vec {
element_layout: Box<SpecializedLayout>,
element_size: usize,
},
HashMap {
key_layout: Box<SpecializedLayout>,
value_layout: Box<SpecializedLayout>,
},
Struct {
field_layouts: Vec<SpecializedLayout>,
field_offsets: Vec<usize>,
total_size: usize,
},
Tuple {
element_layouts: Vec<SpecializedLayout>,
element_offsets: Vec<usize>,
total_size: usize,
},
}Expand description
Describes how a type is specialized in JIT traces
Variants§
Scalar
Raw scalar value on stack
Vec
Specialized vector (ptr, len, cap on stack)
HashMap
Specialized hash map
Struct
Unboxed struct with specialized fields
Tuple
Unboxed tuple
Implementations§
Trait Implementations§
Source§impl Clone for SpecializedLayout
impl Clone for SpecializedLayout
Source§fn clone(&self) -> SpecializedLayout
fn clone(&self) -> SpecializedLayout
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SpecializedLayout
impl Debug for SpecializedLayout
Source§impl PartialEq for SpecializedLayout
impl PartialEq for SpecializedLayout
impl StructuralPartialEq for SpecializedLayout
Auto Trait Implementations§
impl Freeze for SpecializedLayout
impl RefUnwindSafe for SpecializedLayout
impl Send for SpecializedLayout
impl Sync for SpecializedLayout
impl Unpin for SpecializedLayout
impl UnsafeUnpin for SpecializedLayout
impl UnwindSafe for SpecializedLayout
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