about summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src/rustc
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-09-03 19:13:23 +0200
committerGitHub <noreply@github.com>2024-09-03 19:13:23 +0200
commitf75a1954eb1c358c5a2ef99736dabac636d40ef7 (patch)
tree051ee3b74a1048981f38b3a8f14e171bfbbbdac8 /compiler/rustc_pattern_analysis/src/rustc
parentd6c8169c186ab16a3404cd0d0866674018e8a19e (diff)
parent12de141df2d247177e9ca0498ba99bd433cfa500 (diff)
downloadrust-f75a1954eb1c358c5a2ef99736dabac636d40ef7.tar.gz
rust-f75a1954eb1c358c5a2ef99736dabac636d40ef7.zip
Rollup merge of #127692 - veera-sivarajan:bugfix-125139, r=estebank
Suggest `impl Trait` for References to Bare Trait in Function Header

Fixes #125139

This PR suggests `impl Trait` when `&Trait` is found as a function parameter type or return type. This makes use of existing diagnostics by adding `peel_refs()` when checking for type equality.

Additionaly, it makes a few other improvements:
1. Checks if functions inside impl blocks have bare trait in their headers.
2. Introduces a trait `NextLifetimeParamName` similar to the existing `NextTypeParamName` for suggesting a lifetime name. Also, abstracts out the common logic between the two trait impls.

### Related Issues
I ran into a bunch of related diagnostic issues but couldn't fix them within the scope of this PR. So, I have created the following issues:
1. [Misleading Suggestion when Returning a Reference to a Bare Trait from a Function](https://github.com/rust-lang/rust/issues/127689)
2. [Verbose Error When a Function Takes a Bare Trait as Parameter](https://github.com/rust-lang/rust/issues/127690)
3. [Incorrect Suggestion when Returning a Bare Trait from a Function](https://github.com/rust-lang/rust/issues/127691)

r​? ```@estebank``` since you implemented  #119148
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/rustc')
0 files changed, 0 insertions, 0 deletions