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
Tuple
Unit

Methods

impl VariantData

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

Derived Implementations

impl Debug for VariantData

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

impl Hash for VariantData

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

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

impl Decodable for VariantData

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

impl Encodable for VariantData

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

impl Eq for VariantData

impl PartialEq for VariantData

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

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

impl Clone for VariantData

fn clone(&self) -> VariantData

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