Skip to content

Handle higher-ranked trait bounds in suggest_impl_fn_for_fn_ptr_ret. - #162218

Open
TirushOne wants to merge 1 commit into
rust-lang:mainfrom
TirushOne:suggest-fn-return-improvments
Open

TirushOne wants to merge 1 commit into
rust-lang:mainfrom
TirushOne:suggest-fn-return-improvments

Conversation

@TirushOne

@TirushOne TirushOne commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Adresses #159481.
Builds on #159594.

Summery

Handle higher-ranked trait bounds in suggest_impl_fn_for_fn_ptr_ret. If the fn type had higher-ranked trait bounds, the suggested impl Fn replacement will now have the same higher-ranked trait bounds.

Changed how rustc_hir_pretty handles lifetimes, it know only prints explicit lifetimes, i.e. lifetimes that exist in the source code. Previously it would print implicit lifetimes as '_. This change was made to make code suggestions less verbose and make prints of the HIR match the source code more closely. Without this change, suggest_impl_fn_for_fn_ptr_ret would suggest replacing fn(&()) -> &() with impl Fn(&'_ ()) -> &'_ (), now it will suggest the more intuitive impl Fn(&()) -> &().

Changed rustc_hir_pretty to only print *explicit* lifetimes, previously it would print implicit lifetimes as "'_".
@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. labels Sep 3, 2026
@rustbot

rustbot commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

r? @jackh726

rustbot has assigned @jackh726.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 21 candidates

This branch has not been deployed

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

Labels

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants