Enum syntex_syntax::ast::VariantData [] [src]

pub enum VariantData {
    Struct(Vec<StructField>, NodeId),
    Tuple(Vec<StructField>, NodeId),
    Unit(NodeId),
}

Fields and Ids of enum variants and structs

For enum variants: NodeId represents both an Id of the variant itself (relevant for all variant kinds) and an Id of the variant's constructor (not relevant for Struct-variants). One shared Id can be successfully used for these two purposes. Id of the whole enum lives in Item.

For structs: NodeId represents an Id of the structure's constructor, so it is not actually used for Struct-structs (but still presents). Structures don't have an analogue of "Id of the variant itself" from enum variants. Id of the whole struct lives in Item.

Variants

Struct(Vec<StructField>, NodeId)

Struct variant.

E.g. Bar { .. } as in enum Foo { Bar { .. } }

Tuple(Vec<StructField>, NodeId)

Tuple variant.

E.g. Bar(..) as in enum Foo { Bar(..) }

Unit(NodeId)

Unit variant.

E.g. Bar = .. as in enum Foo { Bar = .. }

Methods

impl VariantData
[src]

fn fields(&self) -> &[StructField]

fn id(&self) -> NodeId

fn is_struct(&self) -> bool

fn is_tuple(&self) -> bool

fn is_unit(&self) -> bool

Trait Implementations

impl Debug for VariantData
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Hash for VariantData
[src]

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl Decodable for VariantData
[src]

fn decode<__D: Decoder>(__arg_0: &mut __D) -> Result<VariantData, __D::Error>

impl Encodable for VariantData
[src]

fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S::Error>

impl Eq for VariantData
[src]

impl PartialEq for VariantData
[src]

fn eq(&self, __arg_0: &VariantData) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &VariantData) -> bool

This method tests for !=.

impl Clone for VariantData
[src]

fn clone(&self) -> VariantData

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more