Skip to content

Rollup of 15 pull requests - #159240

Closed
JonathanBrouwer wants to merge 64 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-0W8C2Kq
Closed

Rollup of 15 pull requests#159240
JonathanBrouwer wants to merge 64 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-0W8C2Kq

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

qaijuangand others added 30 commits June 12, 2026 20:57
There is only one place where `SourceKindSubdiag` is used without
`SourceKindMultiSuggestion`; it doesn't seem useful to distinguish
between them (I have no idea what either of the names means tbh)
This allows users of `rustc_public` to do more complex navigation
through data structures by exposing the following info:
* `AdtDef::generics_of` - Get the generics for the ADT.
* `AdtDef::inherent_impls` - Get all the impls for the ADT.
* `FnDef::associated_item` - Get the trait or impl block that contains the
function if it exists.
* `FnDef::generics_of` - get the generics for a given function.
* `ImplDef::generics_of` - Get the generics for the impl block.
* `ImplDef` implements `CrateDefType` - figure out the type of the impl
block with `CrateDefType::ty()` or get the normalized type with
`CrateDefType::ty_with_args()`.
This was partially written with the help of Gemini, but I reviewed the
code it generated.
Since PR 154149, when one item is glob-imported into a module twice with
different visibilities, the first-arrived declaration stays in the
resolution slot and the most visible declaration of the ambiguous glob
set is only recorded in `ambiguity_vis_max`. `DeclData::vis()` returns
the max, so name resolution, metadata reexports and
`cross_crate_inlinable` export the item at the maximum visibility, but
`set_bindings_effective_visibilities` walked only the slot-resident
declaration's reexport chain. When the restricted route arrives first,
the definition's effective visibility caps at the restricted
visibility while the item is still exported: spurious dead_code, the
item missing from reachable_set, should_encode_mir returning false, and
downstream crates failing with "missing optimized MIR" (a 1.96.1 ->
1.97.0 stable-to-stable regression).
Generalize the one-level `ambiguity_vis_max` update that PR 154149 added
in `update_import` (to keep the most visible import from being reported
as unused) into a walk of that declaration's whole reexport chain:
extract the chain walk into `update_decl_chain` and recurse into
`ambiguity_vis_max` at every hop, so the most visible declaration
drives the effective visibility of everything on its route, including
the final definition. Updates are monotone, so the dual walk is
order-independent. The `ambiguous_import_visibilities` lint and the
PR 156284 diagnostic suppression are untouched.
@rustbotrustbot added A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool O-windows Operating system: Windows PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jul 13, 2026
@rust-bors

rust-borsBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit b1212ab has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 13, 2026
@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Jul 13, 2026
…uwer
Rollup of 15 pull requests
Successful merges:
- #159039 (resolve: fix effective visibilities for items in ambiguous glob sets)
- #157706 (Deny `todo!()` in tidy)
- #156047 (Fix trait method resolution on an adjusted never type)
- #158535 (Support `#[track_caller]` on EII declarations)
- #158632 (First steps of late-bound turbofishing (place FnDef behind a dummy binder))
- #158846 (Fix unused variable warnings for diverging expressions)
- #159002 (Small refactorings in `need_type_info` module)
- #159202 (Bump rustc-demangle to 0.1.28)
- #159216 (Avoid using probe self_ty for delegation arguments)
- #156609 (Consider structurally impossible Sized predicates in MIR)
- #157993 (Expose more info about ADTs and functions in rustc_public)
- #158804 (Clarify `as_uninit_mut` may point to uninitialized memory)
- #158854 (Add `#[rustc_test_entrypoint_marker]`)
- #158998 (Some minor ast validation and visiting cleanups)
- #159123 (doc: clarify attr parser APIs)
@rust-borsrust-borsBot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 13, 2026
@rust-bors

rust-borsBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 776dc9e failed: CI. Failed job:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-llvm-22-3 failed! Check out the build log: (web)(plain enhanced)(plain)

Click to see the possible cause of the failure (guessed by this bot)
 |
801 | pub fn unused_pub_fn() {}
| ^^^^^^^^^^^^^
|
= note: in libraries, `pub` items can be used by dependent crates; in binaries, they cannot, so this `pub` item is unused
note: the lint level is defined here
--> compiler/rustc_lint_defs/src/builtin.rs:798:9
|
798 | #![deny(dead_code_pub_in_binary)]
| ^^^^^^^^^^^^^^^^^^^^^^^
---
---- compiler/rustc_lint_defs/src/builtin.rs - builtin::FORBIDDEN_LINT_GROUPS (line 168) stdout ----
warning: warn(bad_style) incompatible with previous forbid
--> compiler/rustc_lint_defs/src/builtin.rs:170:9
|
169 | #![forbid(warnings)]
| -------- `forbid` level set here
170 | #![warn(bad_style)]
| ^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: `#[warn(forbidden_lint_groups)]` (part of `#[warn(future_incompatible)]`) on by default
---
| ^^^^^^^^^^^^^^^^ overruled by previous forbid
|
::: compiler/rustc_lint_defs/src/builtin.rs:169:11
|
169 | #![forbid(warnings)]
| -------- `forbid` level set here
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
error: the feature `rustdoc_internals` is internal to the compiler or standard library
---
= note: using it is strongly discouraged
note: the lint level is defined here
--> compiler/rustc_lint_defs/src/builtin.rs:169:11
|
169 | #![forbid(warnings)]
| ^^^^^^^^
= note: `#[forbid(internal_features)]` implied by `#[forbid(warnings)]`
error: aborting due to 1 previous error; 2 warnings emitted
Couldn't compile the test.
\ (no newline at end of output)
---
| - type must be known at this point
|
help: consider giving `x` an explicit type
|
5548 | let x: /* Type */ = panic!();
| ++++++++++++
error: aborting due to 1 previous error; 1 warning emitted
For more information about this error, try `rustc --explain E0282`.
---
test result: FAILED. 115 passed; 4 failed; 29 ignored; 0 measured; 0 filtered out; finished in 1.55s
all doctests ran in 2.00s; merged doctests compilation took 0.44s
error: doctest failed, to rerun pass `-p rustc_lint_defs --doc`
Bootstrap failed while executing `--stage 1 test --skip src/tools/tidy --skip src/tools/linkchecker`
Currently active steps:
test::CrateLibrustc { build_compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu, crates: ["rustc-main", "rustc_abi", "rustc_arena", "rustc_ast", "rustc_ast_ir", "rustc_ast_lowering", "rustc_ast_passes", "rustc_ast_pretty", "rustc_attr_parsing", "rustc_baked_icu_data", "rustc_borrowck", "rustc_builtin_macros", "rustc_codegen_llvm", "rustc_codegen_ssa", "rustc_const_eval", "rustc_data_structures", "rustc_driver", "rustc_driver_impl", "rustc_error_codes", "rustc_error_messages", "rustc_errors", "rustc_expand", "rustc_feature", "rustc_fs_util", "rustc_graphviz", "rustc_hashes", "rustc_hir", "rustc_hir_analysis", "rustc_hir_id", "rustc_hir_pretty", "rustc_hir_typeck", "rustc_incremental", "rustc_index", "rustc_index_macros", "rustc_infer", "rustc_interface", "rustc_lexer", "rustc_lint", "rustc_lint_defs", "rustc_llvm", "rustc_log", "rustc_macros", "rustc_metadata", "rustc_middle", "rustc_mir_build", "rustc_mir_dataflow", "rustc_mir_transform", "rustc_monomorphize", "rustc_next_trait_solver", "rustc_parse", "rustc_parse_format", "rustc_passes", "rustc_pattern_analysis", "rustc_privacy", "rustc_proc_macro", "rustc_public", "rustc_public_bridge", "rustc_query_impl", "rustc_resolve", "rustc_sanitizers", "rustc_serialize", "rustc_session", "rustc_span", "rustc_symbol_mangling", "rustc_target", "rustc_thread_pool", "rustc_trait_selection", "rustc_traits", "rustc_transmute", "rustc_ty_utils", "rustc_type_ir", "rustc_type_ir_macros", "rustc_windows_rc"] } at src/bootstrap/src/core/build_steps/test.rs:3195
test::Crate { build_compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu, mode: Rustc, crates: ["rustc-main", "rustc_abi", "rustc_arena", "rustc_ast", "rustc_ast_ir", "rustc_ast_lowering", "rustc_ast_passes", "rustc_ast_pretty", "rustc_attr_parsing", "rustc_baked_icu_data", "rustc_borrowck", "rustc_builtin_macros", "rustc_codegen_llvm", "rustc_codegen_ssa", "rustc_const_eval", "rustc_data_structures", "rustc_driver", "rustc_driver_impl", "rustc_error_codes", "rustc_error_messages", "rustc_errors", "rustc_expand", "rustc_feature", "rustc_fs_util", "rustc_graphviz", "rustc_hashes", "rustc_hir", "rustc_hir_analysis", "rustc_hir_id", "rustc_hir_pretty", "rustc_hir_typeck", "rustc_incremental", "rustc_index", "rustc_index_macros", "rustc_infer", "rustc_interface", "rustc_lexer", "rustc_lint", "rustc_lint_defs", "rustc_llvm", "rustc_log", "rustc_macros", "rustc_metadata", "rustc_middle", "rustc_mir_build", "rustc_mir_dataflow", "rustc_mir_transform", "rustc_monomorphize", "rustc_next_trait_solver", "rustc_parse", "rustc_parse_format", "rustc_passes", "rustc_pattern_analysis", "rustc_privacy", "rustc_proc_macro", "rustc_public", "rustc_public_bridge", "rustc_query_impl", "rustc_resolve", "rustc_sanitizers", "rustc_serialize", "rustc_session", "rustc_span", "rustc_symbol_mangling", "rustc_target", "rustc_thread_pool", "rustc_trait_selection", "rustc_traits", "rustc_transmute", "rustc_ty_utils", "rustc_type_ir", "rustc_type_ir_macros", "rustc_windows_rc"] } at src/bootstrap/src/core/build_steps/test.rs:3202
Build completed unsuccessfully in 0:43:34

@rust-borsrust-borsBot 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 Jul 13, 2026
@rust-bors

rust-borsBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

PR #156047, which is a member of this rollup, was unapproved.

@JonathanBrouwer

Copy link
Copy Markdown
MemberAuthor

That PR is not the only problem here tho..., looking further

@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 13, 2026
@JonathanBrouwer
JonathanBrouwer deleted the rollup-0W8C2Kq branch August 21, 2026 07:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-CIArea: Our Github Actions CIA-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-run-makeArea: port run-make Makefiles to rmake.rsA-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-jsonArea: Rustdoc JSON backendA-rustdoc-searchArea: Rustdoc's search featureA-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`A-testsuiteArea: The testsuite used to check the correctness of rustcA-tidyArea: The tidy toolO-windowsOperating system: WindowsPG-exploit-mitigationsProject group: Exploit mitigationsrollupA PR which is a rollupT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-clippyRelevant to the Clippy team.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

15 participants

@JonathanBrouwer@rust-log-analyzer@rustbot@qaijuang@yilin0518@WaffleLapkin@erickt@calvinrp@kn1g78@cezarbbb@teor2345@jdonszelmann@TaKO8Ki@oli-obk@chenyukang