Skip to content

Conversation

@jonas-schievink
Copy link
Contributor

The ItemTree lowering code used to attach attributes on an extern {} block to all the children. This is wrong and causes problems with attribute resolution that manifested as a hang.

This PR treats extern blocks as first-class items in the ItemTree and lowers its contents in the ModCollector instead.

Fixes #8414 (comment)
Fixes #8905
Fixes #8909

bors r+

@jonas-schievink jonas-schievink changed the title Don't lower extern block in the ItemTree fix: Don't hang on unresolved attribute on extern block and its children May 21, 2021
@bors
Copy link
Contributor

bors bot commented May 21, 2021

@bors bors bot merged commit de403b1 into rust-lang:master May 21, 2021
@jonas-schievink jonas-schievink deleted the dont-lower-extern-blocks-in-itemtree branch May 24, 2021 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Macros in extern blocks don't work Hang in wasmer during item collection Always loading on checking

1 participant