pub struct ProductTypeElementLayout {
pub offset: u16,
pub ty: AlgebraicTypeLayout,
pub name: Option<Box<str>>,
}Expand description
A mirrior of ProductTypeElement annotated with a Layout.
Fields§
§offset: u16The relative offset of a field’s value to its parent product value.
ty: AlgebraicTypeLayoutThe type of the field.
name: Option<Box<str>>An optional name of the field.
This allows us to convert back to ProductTypeElement,
which we do when reporting type errors.
Trait Implementations§
Source§impl Clone for ProductTypeElementLayout
impl Clone for ProductTypeElementLayout
Source§fn clone(&self) -> ProductTypeElementLayout
fn clone(&self) -> ProductTypeElementLayout
Returns a copy 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 ProductTypeElementLayout
impl Debug for ProductTypeElementLayout
Source§impl MemoryUsage for ProductTypeElementLayout
impl MemoryUsage for ProductTypeElementLayout
Source§fn heap_usage(&self) -> usize
fn heap_usage(&self) -> usize
The heap memory usage of this type. The default implementation returns 0.
Source§impl PartialEq for ProductTypeElementLayout
impl PartialEq for ProductTypeElementLayout
impl Eq for ProductTypeElementLayout
impl StructuralPartialEq for ProductTypeElementLayout
Auto Trait Implementations§
impl Freeze for ProductTypeElementLayout
impl RefUnwindSafe for ProductTypeElementLayout
impl Send for ProductTypeElementLayout
impl Sync for ProductTypeElementLayout
impl Unpin for ProductTypeElementLayout
impl UnwindSafe for ProductTypeElementLayout
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more