-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Delay def collection for expression-like nodes #128844
Closed
Closed
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
73be83c
Delay def collection for expression-like nodes
camelid 60bc83d
Create defs before lowering NodeId
camelid d1b810a
Create defs for generators
camelid 7e9fbf7
Create def for implicit closure in async fn
camelid 6c70fc3
Bless tests
camelid a146e1d
Remove extraneous with_def_id_parent call
camelid a36ce9b
Visit closures and opaque types in rustc_dump_def_parents
camelid 60ddcf1
Use current_def_id_parent in more places
camelid 79a3e7a
Show nested items in rustc_dump_def_parents
camelid 134314a
wip: rm `ItemKind::OpaqueTy`
camelid d29f44a
Handle opaques in NodeCollector
camelid ca48eee
Fix nested behavior
camelid c8cefb2
INTRA not INTER
camelid d7b0b0e
Fix bound vars ICE
camelid 96f38fc
Fix generics ICE
camelid dcb9e9a
Fix dead code analysis for opaque types
camelid 6d13474
[do not merge] Bless impl-trait tests (incorrect!)
camelid File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we remove that parameter and have
create_def
always usecurrent_def_id_parent
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would make sense to me 👍 I think using
current_hir_id_owner
only makes sense if either:current_def_id_parent
is the innermost hir ownerI think right now there should never be any cases where we're creating defs that wants to skip a parent. The struct definition in
fn foo() -> Foo<{ struct Bar; 1 }>
does have that behaviour since its parent isfoo
notconstant#0
but that' happens via creating theDefId
inDefCollector
.