resolve: Properly integrate derives and macro_rules scopes

This commit is contained in:
Vadim Petrochenkov 2019-08-17 19:32:52 +03:00
parent d65e272a9f
commit d479ff2ffe
5 changed files with 47 additions and 14 deletions

View file

@ -0,0 +1,12 @@
// force-host
// no-prefer-dynamic
#![crate_type = "proc-macro"]
extern crate proc_macro;
use proc_macro::TokenStream;
#[proc_macro_derive(repro)]
pub fn proc_macro_hack_expr(_input: TokenStream) -> TokenStream {
"macro_rules! m {()=>{}}".parse().unwrap()
}

View file

@ -0,0 +1,13 @@
// Derive macros can generate `macro_rules` items, regression test for issue #63651.
// check-pass
// aux-build:gen-macro-rules.rs
extern crate gen_macro_rules as repro;
#[derive(repro::repro)]
pub struct S;
m!(); // OK
fn main() {}