[rustc_resolve] Correctly keep all reexports in ModChild::reexport_chain - #162543
rust-bors[bot] merged 2 commits into
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…, r=<try> [rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain`
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (ad96898): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never rustc-perf Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 0.7%, secondary -2.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.7%, secondary 0.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 480.775s -> 481.562s (0.16%) |
5996a38 to
200b561
Compare
|
@rustbot ready |
5d8fceb to
cb55fc7
Compare
|
All done and squashed commits. Thanks for starting it and for the reviews! @bors r=petrochenkov |
|
⌛ Testing commit cb55fc7 with merge 23ee25b... Workflow: https://github.com/rust-lang/rust/actions/runs/35058393850 |
…, r=petrochenkov [rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain` Fixes #81893. First commit comes from #161872 and it's the base I used for the fix in the second commit (which also reverts basically everything from the first commit, not sure if I should keep it...). In short, `NameResolution` only seems to have access to local reexports and to the final reexported item. So instead, we keep the information in `DeclKind` (which cannot implement `Drop` because it's part of `DeclData` which is stored in `ResolverArenas::dropless` so I kept a slice instead of a `SmallVec`. Guess how I found out? Lots of `panic`s :') ) and we use this information in `reexport_chain`. r? @petrochenkov
|
@bors yield (to beta revert, which flaked out again) |
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #162765. |
|
⌛ Testing commit cb55fc7 with merge 14eb5ac... Workflow: https://github.com/rust-lang/rust/actions/runs/35059565227 |
…, r=petrochenkov [rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain` Fixes #81893. First commit comes from #161872 and it's the base I used for the fix in the second commit (which also reverts basically everything from the first commit, not sure if I should keep it...). In short, `NameResolution` only seems to have access to local reexports and to the final reexported item. So instead, we keep the information in `DeclKind` (which cannot implement `Drop` because it's part of `DeclData` which is stored in `ResolverArenas::dropless` so I kept a slice instead of a `SmallVec`. Guess how I found out? Lots of `panic`s :') ) and we use this information in `reexport_chain`. r? @petrochenkov
|
Sadly the @bors yield |
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #162846. |
|
Double-check that the job should have succeeded: @bors try jobs=test-x86_64-msvc-1 |
This comment has been minimized.
This comment has been minimized.
…, r=<try> [rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain` try-job: test-x86_64-msvc-1
|
@bors rollup=iffy |
…uwer Rollup of 4 perf-sensitive pull requests Successful merges: - #162450 (Cache block seeking results for initialized_at_terminator and _exit) - #162543 ([rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain`) - #162712 (perf: Keep the first macro syntax-context mapping inline) - #162747 (Lowering cleanups)
…uwer Rollup of 4 perf-sensitive pull requests Successful merges: - #162450 (Cache block seeking results for initialized_at_terminator and _exit) - #162543 ([rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain`) - #162712 (perf: Keep the first macro syntax-context mapping inline) - #162747 (Lowering cleanups)
…uwer Rollup of 4 perf-sensitive pull requests Successful merges: - #162450 (Cache block seeking results for initialized_at_terminator and _exit) - #162543 ([rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain`) - #162712 (perf: Keep the first macro syntax-context mapping inline) - #162747 (Lowering cleanups)
…uwer Rollup of 4 perf-sensitive pull requests Successful merges: - #162450 (Cache block seeking results for initialized_at_terminator and _exit) - #162543 ([rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain`) - #162712 (perf: Keep the first macro syntax-context mapping inline) - #162747 (Lowering cleanups)
Rollup merge of #162543 - GuillaumeGomez:reexport-from-transient-crates, r=petrochenkov [rustc_resolve] Correctly keep all reexports in `ModChild::reexport_chain` Fixes #81893. First commit comes from #161872 and it's the base I used for the fix in the second commit (which also reverts basically everything from the first commit, not sure if I should keep it...). In short, `NameResolution` only seems to have access to local reexports and to the final reexported item. So instead, we keep the information in `DeclKind` (which cannot implement `Drop` because it's part of `DeclData` which is stored in `ResolverArenas::dropless` so I kept a slice instead of a `SmallVec`. Guess how I found out? Lots of `panic`s :') ) and we use this information in `reexport_chain`. r? @petrochenkov
|
Note This PR was benchmarked as part of triage of its containing rollup: triage URL. Finished benchmarking commit (a289e4f): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.2%, secondary -1.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: missing data |
View all comments
Fixes #81893.
First commit comes from #161872 and it's the base I used for the fix in the second commit (which also reverts basically everything from the first commit, not sure if I should keep it...). In short,
NameResolutiononly seems to have access to local reexports and to the final reexported item. So instead, we keep the information inDeclKind(which cannot implementDropbecause it's part ofDeclDatawhich is stored inResolverArenas::droplessso I kept a slice instead of aSmallVec. Guess how I found out? Lots ofpanics :') ) and we use this information inreexport_chain.r? @petrochenkov