macro_rules! preceded {
($i:expr, $submac:ident!( $($args:tt)* ), $submac2:ident!( $($args2:tt)* )) => { ... };
($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => { ... };
($i:expr, $f:expr, $submac:ident!( $($args:tt)* )) => { ... };
($i:expr, $f:expr, $g:expr) => { ... };
}Expand description
Parse two things, returning the value of the second.
- Syntax:
preceded!(BEFORE, THING) - Output:
THING
extern crate syn;
#[macro_use] extern crate synom;
use syn::Expr;
use syn::parse::expr;
// An expression preceded by ##.
named!(pound_pound_expr -> Expr,
preceded!(punct!("##"), expr)
);
fn main() {
let input = "## 1 + 1";
let parsed = pound_pound_expr(input).expect("pound pound expr");
println!("{:?}", parsed);
}