# Macro enum_primitive::enum_from_primitive [−] [src]

    macro_rules! enum_from_primitive {
        (
            $( #[$enum_attr:meta] )*
            enum $name:ident {
                $( $( #[$variant_attr:meta] )* $variant:ident ),+ $( = $discriminator:expr, $( $( #[$variant_two_attr:meta] )* $variant_two:ident ),+ )*
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            enum $name:ident {
                $( $( $( #[$variant_attr:meta] )* $variant:ident ),+ = $discriminator:expr ),*
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            enum $name:ident {
                $( $( #[$variant_attr:meta] )* $variant:ident ),+ $( = $discriminator:expr, $( $( #[$variant_two_attr:meta] )* $variant_two:ident ),+ )*,
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            enum $name:ident {
                $( $( $( #[$variant_attr:meta] )* $variant:ident ),+ = $discriminator:expr ),+,
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            pub enum $name:ident {
                $( $( #[$variant_attr:meta] )* $variant:ident ),+ $( = $discriminator:expr, $( $( #[$variant_two_attr:meta] )* $variant_two:ident ),+ )*
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            pub enum $name:ident {
                $( $( $( #[$variant_attr:meta] )* $variant:ident ),+ = $discriminator:expr ),*
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            pub enum $name:ident {
                $( $( #[$variant_attr:meta] )* $variant:ident ),+ $( = $discriminator:expr, $( $( #[$variant_two_attr:meta] )* $variant_two:ident ),+ )*,
            }
        ) => { ... };
        (
            $( #[$enum_attr:meta] )*
            pub enum $name:ident {
                $( $( $( #[$variant_attr:meta] )* $variant:ident ),+ = $discriminator:expr ),+,
            }
        ) => { ... };
    }

Wrap this macro around an `enum` declaration to get an automatically generated implementation of `num::FromPrimitive`.

# 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`)