macro_rules! must {
($i:expr, $f:ident!( $( $args:tt )* ) ) => { ... };
($i:expr, $f:ident) => { ... };
}Expand description
Turns Result::Fail into Result::Abort.
Allows you to turn any parse failure into a hard abort of the parser.
use abortable_parser::iter;
let iter: iter::SliceIter<u8> = "foo".into();
let tok = must!(iter, text_token!("foo"));
let fail = must!(iter, text_token!("bar"));