Closed
Description
This bit of macro from libcore
:
( $($name:ident)+) => (
#[stable(feature = "rust1", since = "1.0.0")]
impl<$($name: Hash),*> Hash for ($($name,)*) {
was apparently parsing as a MatchNt $name:Hash
, which breaks with my fix to #21370.
There's no need to parse MatchNt on a macro RHS, but we don't know we're on a macro RHS when we're parsing a token tree. Probably we should get rid of MatchNt. It's a weird "composite token" and the tokenizer phase is clearly too early to spot it. Rather we can look for the colon and fragment specifier when we parse a LHS TT into matchers.
Nominating 1.0-beta, P-backcompat-lang.