blob: 6b609eaee1295dd0e87c6fba02af46c8b7b82648 [file] [log] [blame]
// force-host
// no-prefer-dynamic
#![crate_type = "proc-macro"]
extern crate proc_macro;
use proc_macro::*;
#[proc_macro_attribute]
pub fn attr2mac1(_: TokenStream, _: TokenStream) -> TokenStream {
"macro_rules! foo1 { (a) => (a) }".parse().unwrap()
}
#[proc_macro_attribute]
pub fn attr2mac2(_: TokenStream, _: TokenStream) -> TokenStream {
"macro foo2(a) { a }".parse().unwrap()
}
#[proc_macro]
pub fn mac2mac1(_: TokenStream) -> TokenStream {
"macro_rules! foo3 { (a) => (a) }".parse().unwrap()
}
#[proc_macro]
pub fn mac2mac2(_: TokenStream) -> TokenStream {
"macro foo4(a) { a }".parse().unwrap()
}
#[proc_macro]
pub fn tricky(_: TokenStream) -> TokenStream {
"fn foo() {
macro_rules! foo { (a) => (a) }
}".parse().unwrap()
}