Macro abortable_parser::must[][src]

macro_rules! must {
    ($i:expr, $f:ident!( $( $args:tt )* ) ) => { ... };
    ($i:expr, $f:ident) => { ... };
}

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"));