tree 05a20d770b913b29a9309978f7ac5711994b7fc1
parent a00b4f1401d12415d50653a0d4126e1c79151127
parent 1064d41c96047650897be96190e018be9bbd818a
author Mazdak Farrokhzad <twingoow@gmail.com> 1566075454 +0200
committer GitHub <noreply@github.com> 1566075454 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJdWGo+CRBK7hj4Ov3rIwAAdHIIAGnsOtdXdv9/3acW73ZaXivc
 1UoyC4934HqpmGo9hH3k01tm+cOniTM469PQ8Y7LwxFMM1bn5QS61AIs2TVTMM0g
 Mnwsu6fBmuDIh1bBKow63Cmv5o8oaoAGtF4kQY06Ndmzq0gJZY7wcuxovjhhvTqo
 UrtG2wC6N9nKtO1EV+VKpfLKbWhoigqGFhCXmErwQZbCNriWnw46dUh/PCk4wAAb
 iTFjscRRP3wfKnndjYM2rLDBy2pd9kzDHRqeRgTeboX+nkeEd/EteaxOKN6OOiTA
 HaXK1DVrnFuqc3kp7PmVn6tp2WsthgAnoAQ2AOLk14/JQ4A8NxtKHXvezoFlIII=
 =zbfA
 -----END PGP SIGNATURE-----
 

Rollup merge of #63667 - petrochenkov:deriveholders, r=matthewjasper

resolve: Properly integrate derives and `macro_rules` scopes

So,
```rust
#[derive(A, B)]
struct S;

m!();
```
turns into something like
```rust
struct S;

A_placeholder!( struct S; );

B_placeholder!( struct S; );

m!();
```
during expansion.

And for `m!()` its "`macro_rules` scope" (aka "legacy scope") should point to the `B_placeholder` call rather than to the derive container `#[derive(A, B)]`.

`fn build_reduced_graph` now makes sure the legacy scope points to the right thing.
(It's still a mystery for me why this worked before https://github.com/rust-lang/rust/pull/63535.)

Unfortunately, placeholders from derives are currently treated separately from placeholders from other macros and need to be passed as `extra_placeholders` rather than a part of the AST fragment.
That's fixable, but I wanted to keep this PR more minimal to close the regression faster.

Fixes https://github.com/rust-lang/rust/issues/63651
r? @matthewjasper
