pub struct Struct {
pub identifier: Identifier,
pub members: Vec<Member>,
pub is_record: bool,
pub span: Span,
pub id: NodeID,
}Expand description
A struct type definition, e.g., struct Foo { my_field: Bar }.
In some languages these are called structs.
Type identity is decided by the full path including struct_name,
as the record is nominal, not structural.
The fields are named so struct Foo(u8, u16) is not allowed.
Fields§
§identifier: IdentifierThe name of the type in the type system in this module.
members: Vec<Member>The fields, constant variables, and functions of this structure.
is_record: boolWas this a record Foo { ... }?
If so, it wasn’t a struct.
span: SpanThe entire span of the struct definition.
id: NodeIDThe ID of the node.
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for Struct
impl<'de> Deserialize<'de> for Struct
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for Struct
impl PartialEq for Struct
impl Eq for Struct
Auto Trait Implementations§
impl RefUnwindSafe for Struct
impl Send for Struct
impl Sync for Struct
impl Unpin for Struct
impl UnwindSafe for Struct
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<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.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.