Macro abortable_parser::must[][src]

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