-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)A-resolveArea: Name/path resolution done by `rustc_resolve` specificallyArea: Name/path resolution done by `rustc_resolve` specificallyC-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Description
The following crate no longer compiles as of the most recent nightly. The relevant commit range is f7af19c...bdfd698. Mentioning @petrochenkov @matthewjasper because #63535 sounds relevant – is this an intentional change?
Cargo.toml
[package]
name = "repro"
version = "0.0.0"
edition = "2018"
publish = false
[lib]
proc-macro = true
src/lib.rs
extern crate proc_macro;
use proc_macro::TokenStream;
#[proc_macro_derive(repro)]
pub fn d(_input: TokenStream) -> TokenStream {
"macro_rules! m {()=>{}}".parse().unwrap()
}
src/main.rs
#[derive(repro::repro)]
pub struct S;
m!();
fn main() {}
$ cargo +stable check
Compiling repro v0.0.0
Finished dev [unoptimized + debuginfo] target(s) in 0.18s
$ cargo +nightly-2019-08-16 check
Compiling repro v0.0.0
Finished dev [unoptimized + debuginfo] target(s) in 0.18s
$ cargo +nightly-2019-08-17 check
Compiling repro v0.0.0
error: cannot find macro `m!` in this scope
--> src/main.rs:4:1
|
4 | m!();
| ^
|
= help: have you added the `#[macro_use]` on the module/import?
jonas-schievink
Metadata
Metadata
Assignees
Labels
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)A-resolveArea: Name/path resolution done by `rustc_resolve` specificallyArea: Name/path resolution done by `rustc_resolve` specificallyC-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.