Closed
Description
Somewhat minimized test case: (still involves serde_derive and syn)
[dependencies]
serde = {version = "1", features = ["derive"]}
syn = { version = "1", features = ["full"] }
mod gl {
pub const DEPTH_COMPONENT: isize = 0;
}
macro_rules! gl_enums {
($mod:ident) => {
#[derive(serde::Serialize)]
pub enum TexFormat {
DepthComponent = $mod::DEPTH_COMPONENT
}
}
}
gl_enums!(gl);
Compiles in nightly-2020-05-24
, errors in nightly-2020-05-25
:
$ cargo +nightly-2020-05-25 rustc -- -Z macro-backtrace
Compiling proc-macro2 v1.0.17
Compiling unicode-xid v0.2.0
Compiling syn v1.0.25
Compiling serde v1.0.110
Compiling quote v1.0.6
Compiling serde_derive v1.0.110
Compiling aa v0.1.0 (/tmp/aa)
error: expected `,`
--> src/lib.rs:9:34
|
5 | / macro_rules! gl_enums {
6 | | ($mod:ident) => {
7 | | #[derive(serde::Serialize)]
8 | | pub enum TexFormat {
9 | | DepthComponent = $mod::DEPTH_COMPONENT
| | ^^
10 | | }
11 | | }
12 | | }
| |_- in this expansion of `gl_enums!`
13 |
14 | gl_enums!(gl);
| -------------- in this macro invocation
error: aborting due to previous error
Any of these changes makes compilation succeed:
- Removing use of
serde::Serialize
- Disabling the
syn/full
feature - Replacing
$mod
with a non-variable module name - Replacing the path expression with a
{ use $mod::DEPTH_COMPONENT; DEPTH_COMPONENT }
block
Regression range: 8970e8b...46e85b4. Merges:
- Auto merge of Rollup of 5 pull requests #72539 - RalfJung:rollup-8yfidi8, r=RalfJung
- Rollup merge of Use sort_unstable_by in its own docs #72535 - saschanaz:patch-1, r=jonas-schievink
- Rollup merge of Use
dyn
trait syntax in more comments and docs #72532 - ratijas:dyn-trait-object-doc, r=jonas-schievink - Rollup merge of Clean up E0602 explanation #72530 - GuillaumeGomez:cleanup-e0602, r=Dylan-DPC
- Rollup merge of bootstrap: propagate test-args to miri and clippy test suites #72527 - RalfJung:miri-clippy-test-args, r=Mark-Simulacrum
- Rollup merge of Remove all uses of
NodeId
inResolverOutputs
#72402 - marmeladema:resolver-outputs-def-id, r=ecstatic-morse - Auto merge of bump Miri #72531 - RalfJung:miri-upd, r=RalfJung
- Auto merge of Rollup of 3 pull requests #72529 - RalfJung:rollup-ydthv90, r=RalfJung
- Rollup merge of Fix typo in doc comment. #72528 - emosenkis:patch-1, r=dtolnay
- Rollup merge of Rewrite
Parser::collect_tokens
#72393 - Aaron1011:feature/rewrite-collect-tokens, r=petrochenkov - Rollup merge of Remove
macro_defs
map #72284 - Aaron1011:feature/inline-macro-did, r=petrochenkov - Auto merge of Rollup of 2 pull requests #72524 - RalfJung:rollup-s9f1pcc, r=RalfJung
- Rollup merge of small select cleanup #72517 - lcnr:refactor-winnowing, r=jonas-schievink
- Rollup merge of Recursively expand
TokenKind::Interpolated
inprobably_equal_for_proc_macro
#72388 - Aaron1011:fix/deep-tokenstream-equality, r=petrochenkov - Auto merge of Remove ReScope #72362 - matthewjasper:remove-rescope, r=nikomatsakis
- Auto merge of Rollup of 5 pull requests #72516 - Dylan-DPC:rollup-cc4w96z, r=Dylan-DPC
- Rollup merge of fix discriminant type in generator transform #72502 - RalfJung:generator-discr-ty, r=jonas-schievink
- Rollup merge of Fix ice-72487 #72489 - nbdd0121:issue-72487, r=Amanieu
- Rollup merge of Add missing ASM arena declarations to librustc_middle #72400 - Aaron1011:fix/asm-incr-ice, r=Amanieu
- Rollup merge of Unblock font loading in rustdoc.css #72092 - workingjubilee:patch-2, r=GuillaumeGomez
- Rollup merge of Preserve substitutions when making trait obligations for suggestions #71618 - ecstatic-morse:issue-71394, r=nikomatsakis
- Auto merge of Revert MSYS2 CI workaround #72474 - mati865:ci-fix, r=pietroalbini
Excluding those that seem unrelated to me leaves:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Metadata
Assignees
Labels
Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Category: This is a bug.Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleCritical priorityRelevant to the compiler team, which will review and decide on the PR/issue.Performance or correctness regression from stable to nightly.