Skip to content

Resolver: local/external split of resolve_ident_in_module_non_globs_unadjusted - #158207

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
LorrensP-2158466:split-resolve-fns
Jun 25, 2026
Merged

Resolver: local/external split of resolve_ident_in_module_non_globs_unadjusted#158207
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
LorrensP-2158466:split-resolve-fns

Conversation

@LorrensP-2158466

Copy link
Copy Markdown
Contributor

This PR splits the function resolve_ident_in_module_non_globs_unadjusted into 2 variants:

  • one for local modules, which is the same work as before
  • other for external modules, which requires less work

In preperations for parallel import resolution and overall resolver refactor.

r? @petrochenkov

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 21, 2026
@LorrensP-2158466

Copy link
Copy Markdown
ContributorAuthor

@petrochenkov is this what you had in mind? Or was there more to it?

@rust-log-analyzer

This comment has been minimized.

Comment threadcompiler/rustc_resolve/src/ident.rs Outdated
Comment threadcompiler/rustc_resolve/src/ident.rs Outdated
@petrochenkovpetrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2026
@LorrensP-2158466

Copy link
Copy Markdown
ContributorAuthor

force-pushed with requested changes, @rustbot ready.

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 22, 2026
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbotrustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 22, 2026
@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Jun 22, 2026
Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted`
@petrochenkovpetrochenkov removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 22, 2026
@rust-bors

rust-borsBot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 2bc58c1 (2bc58c161c4d707f6eb431aa408cbddad597c7cf)
Base parent: cddcbec (cddcbec198760511240bf0e728193bf4d700acb4)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (2bc58c1): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

meanrangecount
Regressions ❌
(primary)
0.1%[0.1%, 0.1%]1
Regressions ❌
(secondary)
0.1%[0.1%, 0.1%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.1%[-0.1%, -0.1%]2
All ❌✅ (primary)0.1%[0.1%, 0.1%]1

Max RSS (memory usage)

Results (primary -1.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

meanrangecount
Regressions ❌
(primary)
3.5%[3.5%, 3.5%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-2.1%[-3.0%, -1.4%]4
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-1.0%[-3.0%, 3.5%]5

Cycles

Results (primary -1.5%, secondary 1.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
3.3%[2.7%, 4.2%]3
Improvements ✅
(primary)
-1.5%[-1.7%, -1.3%]2
Improvements ✅
(secondary)
-5.0%[-5.0%, -5.0%]1
All ❌✅ (primary)-1.5%[-1.7%, -1.3%]2

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 505.379s -> 504.424s (-0.19%)
Artifact size: 353.06 MiB -> 353.03 MiB (-0.01%)

@rustbotrustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 22, 2026
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors r+ rollup=maybe

@rust-bors

rust-borsBot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 6863281 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jun 22, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 22, 2026
…, r=petrochenkov
Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted`
This PR splits the function `resolve_ident_in_module_non_globs_unadjusted` into 2 variants:
- one for local modules, which is the same work as before
- other for external modules, which requires less work
In preperations for parallel import resolution and overall resolver refactor.
r? @petrochenkov
@jhprattjhpratt mentioned this pull request Jun 22, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 24, 2026
…, r=petrochenkov
Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted`
This PR splits the function `resolve_ident_in_module_non_globs_unadjusted` into 2 variants:
- one for local modules, which is the same work as before
- other for external modules, which requires less work
In preperations for parallel import resolution and overall resolver refactor.
r? @petrochenkov
@jhprattjhpratt mentioned this pull request Jun 24, 2026
rust-borsBot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 27 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158257 ( fix escaping placeholder check in next solver normalization folder)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
Failed merges:
- #158256 (Avoid parser panics bubbling out to proc macros)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 24, 2026
…, r=petrochenkov
Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted`
This PR splits the function `resolve_ident_in_module_non_globs_unadjusted` into 2 variants:
- one for local modules, which is the same work as before
- other for external modules, which requires less work
In preperations for parallel import resolution and overall resolver refactor.
r? @petrochenkov
This was referenced Jun 24, 2026
rust-borsBot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-borsBot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-borsBot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-borsBot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jun 24, 2026
…, r=petrochenkov
Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted`
This PR splits the function `resolve_ident_in_module_non_globs_unadjusted` into 2 variants:
- one for local modules, which is the same work as before
- other for external modules, which requires less work
In preperations for parallel import resolution and overall resolver refactor.
r? @petrochenkov
rust-borsBot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-borsBot pushed a commit that referenced this pull request Jun 25, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-borsBot pushed a commit that referenced this pull request Jun 25, 2026
Rollup of 35 pull requests
Successful merges:
- #158315 (`rust-analyzer` subtree update)
- #158336 (Stop excluding `stdarch` test crates from `rust-src`)
- #155739 (Add temporary scope to assert_eq and assert_ne)
- #156885 (Fix misattributed type inference error span for index expressions)
- #157271 (simplify some `proc_macro` things)
- #157419 (move rustc_type_ir Term things to term_kind.rs)
- #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- #157921 (trait solver: Resolve region vars in max universe)
- #157960 (delegation: add support for infers in generics)
- #157983 (Lift the same-signature restriction for `extern "tail"`)
- #158053 (Optimize network address parser)
- #158105 (Extract all instance shim variants into new `ShimKind` enum)
- #158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- #158279 (Follow goto and drop when linting unreachable code)
- #157527 (Move derive tests into their dedicated folder)
- #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- #157939 (Reorganize `tests/ui/issues` [8/N])
- #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- #158003 (Reorganize `tests/ui/issues` [9/N])
- #158020 (Update mingw-w64 C toolchain)
- #158039 (c-variadic: test that we use equality up to free lifetimes)
- #158060 (Reorganize `tests/ui/issues` [10/N])
- #158222 (format: ignore println newline in foreign format hints)
- #158223 (Move target checking for #[lang] to the attribute parser)
- #158252 (Use `cfg_select` in `std::os`)
- #158263 (Only load the feature list once in the entire resolver)
- #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- #158272 (Reorganize `tests/ui/issues` [13/N])
- #158274 (triagebot: Stop pinging myself)
- #158282 (slice_split_once: bounds check optimization note)
- #158300 (Improve unknown crate_type diagnostic suggestions)
- #158304 (mailmap: update mu001999)
- #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
@rust-bors
rust-borsBot merged commit a60ee86 into rust-lang:mainJun 25, 2026
14 checks passed
@rustbotrustbot added this to the 1.98.0 milestone Jun 25, 2026
rust-timer added a commit that referenced this pull request Jun 25, 2026
Rollup merge of #158207 - LorrensP-2158466:split-resolve-fns, r=petrochenkov
Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted`
This PR splits the function `resolve_ident_in_module_non_globs_unadjusted` into 2 variants:
- one for local modules, which is the same work as before
- other for external modules, which requires less work
In preperations for parallel import resolution and overall resolver refactor.
r? @petrochenkov
@JonathanBrouwer

Copy link
Copy Markdown
Member

@rust-timer build d2446b5
Perf run for #158342

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (d2446b5): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

meanrangecount
Regressions ❌
(primary)
0.1%[0.1%, 0.1%]1
Regressions ❌
(secondary)
0.1%[0.1%, 0.1%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.1%[-0.2%, -0.1%]3
All ❌✅ (primary)0.1%[0.1%, 0.1%]1

Max RSS (memory usage)

Results (primary 2.7%, secondary -2.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

meanrangecount
Regressions ❌
(primary)
2.7%[1.0%, 5.8%]3
Regressions ❌
(secondary)
5.7%[5.7%, 5.7%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-10.2%[-10.2%, -10.2%]1
All ❌✅ (primary)2.7%[1.0%, 5.8%]3

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 503.101s -> 504.521s (0.28%)
Artifact size: 353.51 MiB -> 353.09 MiB (-0.12%)

pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jun 26, 2026
Rollup of 35 pull requests
Successful merges:
- rust-lang/rust#158315 (`rust-analyzer` subtree update)
- rust-lang/rust#158336 (Stop excluding `stdarch` test crates from `rust-src`)
- rust-lang/rust#155739 (Add temporary scope to assert_eq and assert_ne)
- rust-lang/rust#156885 (Fix misattributed type inference error span for index expressions)
- rust-lang/rust#157271 (simplify some `proc_macro` things)
- rust-lang/rust#157419 (move rustc_type_ir Term things to term_kind.rs)
- rust-lang/rust#157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- rust-lang/rust#157921 (trait solver: Resolve region vars in max universe)
- rust-lang/rust#157960 (delegation: add support for infers in generics)
- rust-lang/rust#157983 (Lift the same-signature restriction for `extern "tail"`)
- rust-lang/rust#158053 (Optimize network address parser)
- rust-lang/rust#158105 (Extract all instance shim variants into new `ShimKind` enum)
- rust-lang/rust#158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- rust-lang/rust#158279 (Follow goto and drop when linting unreachable code)
- rust-lang/rust#157527 (Move derive tests into their dedicated folder)
- rust-lang/rust#157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- rust-lang/rust#157939 (Reorganize `tests/ui/issues` [8/N])
- rust-lang/rust#157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- rust-lang/rust#158003 (Reorganize `tests/ui/issues` [9/N])
- rust-lang/rust#158020 (Update mingw-w64 C toolchain)
- rust-lang/rust#158039 (c-variadic: test that we use equality up to free lifetimes)
- rust-lang/rust#158060 (Reorganize `tests/ui/issues` [10/N])
- rust-lang/rust#158222 (format: ignore println newline in foreign format hints)
- rust-lang/rust#158223 (Move target checking for #[lang] to the attribute parser)
- rust-lang/rust#158252 (Use `cfg_select` in `std::os`)
- rust-lang/rust#158263 (Only load the feature list once in the entire resolver)
- rust-lang/rust#158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- rust-lang/rust#158272 (Reorganize `tests/ui/issues` [13/N])
- rust-lang/rust#158274 (triagebot: Stop pinging myself)
- rust-lang/rust#158282 (slice_split_once: bounds check optimization note)
- rust-lang/rust#158300 (Improve unknown crate_type diagnostic suggestions)
- rust-lang/rust#158304 (mailmap: update mu001999)
- rust-lang/rust#158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- rust-lang/rust#158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- rust-lang/rust#158326 (Add `io::ErrorKind::TooManyOpenFiles`)
pullBot pushed a commit to Kokoro2336/rust-analyzer that referenced this pull request Jun 29, 2026
Rollup of 35 pull requests
Successful merges:
- rust-lang/rust#158315 (`rust-analyzer` subtree update)
- rust-lang/rust#158336 (Stop excluding `stdarch` test crates from `rust-src`)
- rust-lang/rust#155739 (Add temporary scope to assert_eq and assert_ne)
- rust-lang/rust#156885 (Fix misattributed type inference error span for index expressions)
- rust-lang/rust#157271 (simplify some `proc_macro` things)
- rust-lang/rust#157419 (move rustc_type_ir Term things to term_kind.rs)
- rust-lang/rust#157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- rust-lang/rust#157921 (trait solver: Resolve region vars in max universe)
- rust-lang/rust#157960 (delegation: add support for infers in generics)
- rust-lang/rust#157983 (Lift the same-signature restriction for `extern "tail"`)
- rust-lang/rust#158053 (Optimize network address parser)
- rust-lang/rust#158105 (Extract all instance shim variants into new `ShimKind` enum)
- rust-lang/rust#158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- rust-lang/rust#158279 (Follow goto and drop when linting unreachable code)
- rust-lang/rust#157527 (Move derive tests into their dedicated folder)
- rust-lang/rust#157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- rust-lang/rust#157939 (Reorganize `tests/ui/issues` [8/N])
- rust-lang/rust#157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- rust-lang/rust#158003 (Reorganize `tests/ui/issues` [9/N])
- rust-lang/rust#158020 (Update mingw-w64 C toolchain)
- rust-lang/rust#158039 (c-variadic: test that we use equality up to free lifetimes)
- rust-lang/rust#158060 (Reorganize `tests/ui/issues` [10/N])
- rust-lang/rust#158222 (format: ignore println newline in foreign format hints)
- rust-lang/rust#158223 (Move target checking for #[lang] to the attribute parser)
- rust-lang/rust#158252 (Use `cfg_select` in `std::os`)
- rust-lang/rust#158263 (Only load the feature list once in the entire resolver)
- rust-lang/rust#158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- rust-lang/rust#158272 (Reorganize `tests/ui/issues` [13/N])
- rust-lang/rust#158274 (triagebot: Stop pinging myself)
- rust-lang/rust#158282 (slice_split_once: bounds check optimization note)
- rust-lang/rust#158300 (Improve unknown crate_type diagnostic suggestions)
- rust-lang/rust#158304 (mailmap: update mu001999)
- rust-lang/rust#158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- rust-lang/rust#158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- rust-lang/rust#158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-borsBot pushed a commit that referenced this pull request Jun 30, 2026
…rochenkov
resolve: no allocation in `resolve_ident_in(_local)_module_*`
Somewhat of a follow up of #158207 and #158035. Remove the `or_default` call of `NameResolutions` which does an arena allocation. Prep work for parallel import resolution.
- cycle detection now works on `module` and `bindingkey` instead of the `NameResolution`. This should have no impact as `NameResolutions` are found by that pair.
- Now that we get an `Option<NameResolution>` the logic changed a bit to work with `None`. Did this by following the logic of the functions to see what would happen with a completely empty resolution (`or_default`).
r? @petrochenkov
rust-borsBot pushed a commit that referenced this pull request Jul 1, 2026
…rochenkov
resolve: no allocation in `resolve_ident_in(_local)_module_*`
Somewhat of a follow up of #158207 and #158035. Remove the `or_default` call of `NameResolutions` which does an arena allocation. Prep work for parallel import resolution.
- cycle detection now works on `module` and `bindingkey` instead of the `NameResolution`. This should have no impact as `NameResolutions` are found by that pair.
- Now that we get an `Option<NameResolution>` the logic changed a bit to work with `None`. Did this by following the logic of the functions to see what would happen with a completely empty resolution (`or_default`).
r? @petrochenkov
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 2, 2026
…rochenkov
resolve: no allocation in `resolve_ident_in(_local)_module_*`
Somewhat of a follow up of rust-lang/rust#158207 and rust-lang/rust#158035. Remove the `or_default` call of `NameResolutions` which does an arena allocation. Prep work for parallel import resolution.
- cycle detection now works on `module` and `bindingkey` instead of the `NameResolution`. This should have no impact as `NameResolutions` are found by that pair.
- Now that we get an `Option<NameResolution>` the logic changed a bit to work with `None`. Did this by following the logic of the functions to see what would happen with a completely empty resolution (`or_default`).
r? @petrochenkov
@LorrensP-2158466
LorrensP-2158466 deleted the split-resolve-fns branch August 4, 2026 17:49
ghaaj pushed a commit to ghaaj/polygrammar that referenced this pull request Aug 7, 2026
Rollup of 35 pull requests
Successful merges:
- rust-lang/rust#158315 (`rust-analyzer` subtree update)
- rust-lang/rust#158336 (Stop excluding `stdarch` test crates from `rust-src`)
- rust-lang/rust#155739 (Add temporary scope to assert_eq and assert_ne)
- rust-lang/rust#156885 (Fix misattributed type inference error span for index expressions)
- rust-lang/rust#157271 (simplify some `proc_macro` things)
- rust-lang/rust#157419 (move rustc_type_ir Term things to term_kind.rs)
- rust-lang/rust#157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- rust-lang/rust#157921 (trait solver: Resolve region vars in max universe)
- rust-lang/rust#157960 (delegation: add support for infers in generics)
- rust-lang/rust#157983 (Lift the same-signature restriction for `extern "tail"`)
- rust-lang/rust#158053 (Optimize network address parser)
- rust-lang/rust#158105 (Extract all instance shim variants into new `ShimKind` enum)
- rust-lang/rust#158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- rust-lang/rust#158279 (Follow goto and drop when linting unreachable code)
- rust-lang/rust#157527 (Move derive tests into their dedicated folder)
- rust-lang/rust#157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- rust-lang/rust#157939 (Reorganize `tests/ui/issues` [8/N])
- rust-lang/rust#157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- rust-lang/rust#158003 (Reorganize `tests/ui/issues` [9/N])
- rust-lang/rust#158020 (Update mingw-w64 C toolchain)
- rust-lang/rust#158039 (c-variadic: test that we use equality up to free lifetimes)
- rust-lang/rust#158060 (Reorganize `tests/ui/issues` [10/N])
- rust-lang/rust#158222 (format: ignore println newline in foreign format hints)
- rust-lang/rust#158223 (Move target checking for #[lang] to the attribute parser)
- rust-lang/rust#158252 (Use `cfg_select` in `std::os`)
- rust-lang/rust#158263 (Only load the feature list once in the entire resolver)
- rust-lang/rust#158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- rust-lang/rust#158272 (Reorganize `tests/ui/issues` [13/N])
- rust-lang/rust#158274 (triagebot: Stop pinging myself)
- rust-lang/rust#158282 (slice_split_once: bounds check optimization note)
- rust-lang/rust#158300 (Improve unknown crate_type diagnostic suggestions)
- rust-lang/rust#158304 (mailmap: update mu001999)
- rust-lang/rust#158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- rust-lang/rust#158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- rust-lang/rust#158326 (Add `io::ErrorKind::TooManyOpenFiles`)
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request Aug 17, 2026
Rollup of 35 pull requests
Successful merges:
- rust-lang/rust#158315 (`rust-analyzer` subtree update)
- rust-lang/rust#158336 (Stop excluding `stdarch` test crates from `rust-src`)
- rust-lang/rust#155739 (Add temporary scope to assert_eq and assert_ne)
- rust-lang/rust#156885 (Fix misattributed type inference error span for index expressions)
- rust-lang/rust#157271 (simplify some `proc_macro` things)
- rust-lang/rust#157419 (move rustc_type_ir Term things to term_kind.rs)
- rust-lang/rust#157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
- rust-lang/rust#157921 (trait solver: Resolve region vars in max universe)
- rust-lang/rust#157960 (delegation: add support for infers in generics)
- rust-lang/rust#157983 (Lift the same-signature restriction for `extern "tail"`)
- rust-lang/rust#158053 (Optimize network address parser)
- rust-lang/rust#158105 (Extract all instance shim variants into new `ShimKind` enum)
- rust-lang/rust#158207 (Resolver: local/external split of `resolve_ident_in_module_non_globs_unadjusted` )
- rust-lang/rust#158279 (Follow goto and drop when linting unreachable code)
- rust-lang/rust#157527 (Move derive tests into their dedicated folder)
- rust-lang/rust#157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
- rust-lang/rust#157939 (Reorganize `tests/ui/issues` [8/N])
- rust-lang/rust#157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
- rust-lang/rust#158003 (Reorganize `tests/ui/issues` [9/N])
- rust-lang/rust#158020 (Update mingw-w64 C toolchain)
- rust-lang/rust#158039 (c-variadic: test that we use equality up to free lifetimes)
- rust-lang/rust#158060 (Reorganize `tests/ui/issues` [10/N])
- rust-lang/rust#158222 (format: ignore println newline in foreign format hints)
- rust-lang/rust#158223 (Move target checking for #[lang] to the attribute parser)
- rust-lang/rust#158252 (Use `cfg_select` in `std::os`)
- rust-lang/rust#158263 (Only load the feature list once in the entire resolver)
- rust-lang/rust#158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
- rust-lang/rust#158272 (Reorganize `tests/ui/issues` [13/N])
- rust-lang/rust#158274 (triagebot: Stop pinging myself)
- rust-lang/rust#158282 (slice_split_once: bounds check optimization note)
- rust-lang/rust#158300 (Improve unknown crate_type diagnostic suggestions)
- rust-lang/rust#158304 (mailmap: update mu001999)
- rust-lang/rust#158309 (Update `rustc-literal-escaper` version to `0.0.8`)
- rust-lang/rust#158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
- rust-lang/rust#158326 (Add `io::ErrorKind::TooManyOpenFiles`)
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@LorrensP-2158466@rust-log-analyzer@petrochenkov@rust-timer@JonathanBrouwer@rustbot