diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-08-29 13:17:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-29 13:17:52 +0200 |
| commit | e4e6b01ca110adfb0a580a35a6352a32c3e6789a (patch) | |
| tree | daa05b4a15291c134972dfbb0165728ae41a09ff /src/rustllvm/RustWrapper.cpp | |
| parent | 85ed538d6988c6c82aea8750b306cb793e874294 (diff) | |
| parent | ec45b87957c4158934fc3f5a821594ad0686ea4e (diff) | |
| download | rust-e4e6b01ca110adfb0a580a35a6352a32c3e6789a.tar.gz rust-e4e6b01ca110adfb0a580a35a6352a32c3e6789a.zip | |
Rollup merge of #63867 - petrochenkov:dhelpers, r=matthewjasper
resolve: Block expansion of a derive container until all its derives are resolved So, it turns out there's one more reason to block expansion of a `#[derive]` container until all the derives inside it are resolved, beside `Copy` (https://github.com/rust-lang/rust/pull/63248). The set of derive helper attributes registered by derives in the container also has to be known before the derives themselves are expanded, otherwise it may be too late (see https://github.com/rust-lang/rust/pull/63468#issuecomment-524550872 and the `#[stable_hasher]`-related test failures in https://github.com/rust-lang/rust/pull/63468). So, we stop our attempts to unblock the container earlier, as soon as the `Copy` status is known, and just block until all its derives are resolved. After all the derives are resolved we immediately go and process their helper attributes in the item, without delaying it until expansion of the individual derives. Unblocks https://github.com/rust-lang/rust/pull/63468 r? @matthewjasper (as a reviewer of https://github.com/rust-lang/rust/pull/63248) cc @c410-f3r
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
