# Struct synstructure::VariantAst [−] [src]

    pub struct VariantAst<'a> {
        pub ident: &'a Ident,
        pub attrs: &'a [Attribute],
        pub data: &'a VariantData,
        pub discriminant: &'a Option<ConstExpr>,
    }

This type is similar to `syn`'s `Variant` type, however each of the fields are references rather than owned. When this is used as the AST for a real variant, this struct simply borrows the fields of the `syn` `Variant`, however this type may also be used as the sole variant for astruct.

## Fields

`ident: &'a Ident` `attrs: &'a [Attribute]` `data: &'a VariantData` `discriminant: &'a Option<ConstExpr>`

## Trait Implementations

### `impl<'a> Debug for VariantAst<'a>`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter. Read more

### `impl<'a> Copy for VariantAst<'a>`
[src]

### `impl<'a> Clone for VariantAst<'a>`
[src]

#### `fn clone(&self) -> VariantAst<'a>`
[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0
[src]

Performs copy-assignment from `source`. Read more

### `impl<'a> PartialEq for VariantAst<'a>`
[src]

#### `fn eq(&self, __arg_0: &VariantAst<'a>) -> bool`
[src]

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

#### `fn ne(&self, __arg_0: &VariantAst<'a>) -> bool`
[src]

This method tests for `!=`.

### `impl<'a> Eq for VariantAst<'a>`
[src]

### `impl<'a> Hash for VariantAst<'a>`
[src]

#### `fn hash<__H: Hasher>(&self, __arg_0: &mut __H)`
[src]

Feeds this value into the given [`Hasher`]. Read more

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

Feeds a slice of this type into the given [`Hasher`]. Read more

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)