Macro synom::epsilon
[−]
[src]
macro_rules! epsilon { ($i:expr,) => { ... }; }
Parses nothing and always succeeds.
This can be useful as a fallthrough case in alt!
.
- Syntax:
epsilon!()
- Output:
()
extern crate syn; #[macro_use] extern crate synom; use syn::Mutability; named!(mutability -> Mutability, alt!( keyword!("mut") => { |_| Mutability::Mutable } | epsilon!() => { |_| Mutability::Immutable } )); fn main() { let input = "mut"; let parsed = mutability(input).expect("mutability"); assert_eq!(parsed, Mutability::Mutable); let input = ""; let parsed = mutability(input).expect("mutability"); assert_eq!(parsed, Mutability::Immutable); }