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 in ResolverOutputs #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 in probably_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:
Somewhat minimized test case: (still involves serde_derive and syn)
Compiles in
nightly-2020-05-24, errors innightly-2020-05-25:Any of these changes makes compilation succeed:
serde::Serializesyn/fullfeature$modwith a non-variable module name{ use $mod::DEPTH_COMPONENT; DEPTH_COMPONENT }blockRegression range: 8970e8b...46e85b4. Merges:
dyntrait syntax in more comments and docs #72532 - ratijas:dyn-trait-object-doc, r=jonas-schievinkNodeIdinResolverOutputs#72402 - marmeladema:resolver-outputs-def-id, r=ecstatic-morseParser::collect_tokens#72393 - Aaron1011:feature/rewrite-collect-tokens, r=petrochenkovmacro_defsmap #72284 - Aaron1011:feature/inline-macro-did, r=petrochenkovTokenKind::Interpolatedinprobably_equal_for_proc_macro#72388 - Aaron1011:fix/deep-tokenstream-equality, r=petrochenkovExcluding those that seem unrelated to me leaves:
NodeIdinResolverOutputs#72402Parser::collect_tokens#72393macro_defsmap #72284TokenKind::Interpolatedinprobably_equal_for_proc_macro#72388