Derive Macro quartz_commands::FromArgument [−][src]
#[derive(FromArgument)]
Expand description
Derives the trait FromArgument for enums whose variants are field-less.
use quartz_commands::{ArgumentTraverser, FromArgument}; #[derive(FromArgument, PartialEq, Eq, Debug)] enum ValidArgs { Foo, Bar, FizzBuzz } // We need this because types are allowed to parse multiple arguments let mut dummy = ArgumentTraverser::new(""); assert_eq!(ValidArgs::from_arg("foo", &mut dummy, &()), Ok(ValidArgs::Foo)); assert_eq!(ValidArgs::from_arg("fizz-buzz", &mut dummy, &()), Ok(ValidArgs::FizzBuzz));