Skip to content

resolving cyclic glob vis-max - #161024

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
calvinrp:fix/pub-visibility
Aug 18, 2026
Merged

resolving cyclic glob vis-max#161024
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
calvinrp:fix/pub-visibility

Conversation

@calvinrp

Copy link
Copy Markdown
Contributor

Fixes #160685

#159039 follows ambiguity_vis_max. Mutual globs can cycle that and overflow the stack. Visit each most-visible glob once, and still walk source_decl so it stays public.

Also shortened the #159038 regression-test headers.

r? petrochenkov
@rustbot label +A-resolve +A-visibility +T-compiler +beta-nominated

LLM helped investigate and simplify. I wrote the change and this text.

@rustbot rustbot 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. A-resolve Area: Name/path resolution done by `rustc_resolve` specifically A-visibility Area: Visibility / privacy beta-nominated Nominated for backporting to the compiler in the beta channel. labels Aug 13, 2026
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors r+

@rust-bors

rust-bors Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3e48bd4 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 18, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 18, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #161024 (resolving cyclic glob vis-max)
 - #161231 (passes: `rustc_scalable_vector` fields are not dead)
 - #161238 (remove scalar size mismatch interpreter error, make it an ICE instead)
 - #160345 (Resolver: add `checked` methods for `Cm(Ref)Cell`)
 - #161129 (Avoid ICE when recovering parenthesized type parameters)
 - #161235 (Compute job time in post-merge-report from the actual GitHub duration)
 - #161239 (Fix `#[repr(transparent)]` wrapper types not working with `Complex<T>`)
 - #161244 (Add regression test for indexing an unsized static without a body)
 - #161257 (Ignore target feature test when LLVM fails to compile minicore)
 - #161258 (perf: return early from in_external_macro for root contexts)
 - #161278 (Add regression test for normalization failure on erased closure in async block)
@rust-bors
rust-bors Bot merged commit 5868ef5 into rust-lang:main Aug 18, 2026
13 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 18, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 18, 2026
Rollup merge of #161024 - calvinrp:fix/pub-visibility, r=petrochenkov

resolving cyclic glob vis-max

Fixes #160685

#159039 follows `ambiguity_vis_max`. Mutual globs can cycle that and overflow the stack. Visit each most-visible glob once, and still walk `source_decl` so it stays public.

Also shortened the #159038 regression-test headers.

r? petrochenkov
@rustbot label +A-resolve +A-visibility +T-compiler +beta-nominated
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Aug 19, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#161024 (resolving cyclic glob vis-max)
 - rust-lang/rust#161231 (passes: `rustc_scalable_vector` fields are not dead)
 - rust-lang/rust#161238 (remove scalar size mismatch interpreter error, make it an ICE instead)
 - rust-lang/rust#160345 (Resolver: add `checked` methods for `Cm(Ref)Cell`)
 - rust-lang/rust#161129 (Avoid ICE when recovering parenthesized type parameters)
 - rust-lang/rust#161235 (Compute job time in post-merge-report from the actual GitHub duration)
 - rust-lang/rust#161239 (Fix `#[repr(transparent)]` wrapper types not working with `Complex<T>`)
 - rust-lang/rust#161244 (Add regression test for indexing an unsized static without a body)
 - rust-lang/rust#161257 (Ignore target feature test when LLVM fails to compile minicore)
 - rust-lang/rust#161258 (perf: return early from in_external_macro for root contexts)
 - rust-lang/rust#161278 (Add regression test for normalization failure on erased closure in async block)
@rustbot

rustbot commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

beta backport approved as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle. Backport labels are handled by them.

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Aug 20, 2026
@cuviper cuviper modified the milestones: 1.100.0, 1.99.0 Aug 20, 2026
@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Aug 20, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 22, 2026
[beta] bump stage0, plus backports

- Bump stage0 to stable 1.98.0
- fix buggy MaybeDangling<&T> validation logic #161125
- resolving cyclic glob vis-max #161024

r? me
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-resolve Area: Name/path resolution done by `rustc_resolve` specifically A-visibility Area: Visibility / privacy beta-accepted Accepted for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant 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.

1.98 beta regression: compiler stack overflow

4 participants