Macro cpp_synom::preceded [] [src]

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) => { ... };
}

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