Function fn_macro_declaration
fn fn_macro_declaration(input: &[Token]) -> CResult<'_, (&[u8], Vec<&[u8]>)>
Parse a functional macro declaration from a list of tokens.
Returns the identifier for the macro and the argument list (in order). The
input should not include #define. The actual definition is not parsed and
may be obtained from the unparsed data returned.
Returns an error if the input is not a functional macro or if the token stream contains comments.
Example
use ;
use assert_full_parse;
use *;
use Token;
// #define SUFFIX(arg) arg "suffix"
let tokens = vec!;
// Try to parse the functional part
let = fn_macro_declaration.unwrap;
assert_eq!;
// Create dummy arguments
let idents = args.into_iter.map.collect;
// Evaluate the macro
let = assert_full_parse.unwrap;
assert_eq!;