Skip to content

Conversation

fmease
Copy link
Member

@fmease fmease commented Feb 2, 2024

The first commit is just drive-by cleanup.

Provide a structured suggestion if the user forgot to prefix a “const parameter” with const, e.g., in struct Tagged<TAG: u64>;. This happens to me from time to time. Maybe C++ devs are also prone to this mistake given template syntax looks like template<typename T, uint32_t N>.

* Get rid of a typo in a function name
* Rename `currently_processing_generics`: The old name confused me at first since
  I assumed it referred to generic *parameters* when it was in fact referring to
  generic *arguments*. Generics are typically short for generic params.
* Get rid of a few unwraps by properly leveraging slice patterns
@rustbot

This comment was marked as outdated.

@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 Feb 2, 2024
@fmease
Copy link
Member Author

fmease commented Feb 2, 2024

r? compiler (b-naber has been inactive for more than two months)

@rustbot rustbot assigned TaKO8Ki and unassigned b-naber Feb 2, 2024
@fmease fmease force-pushed the change-ty-to-ct-param-sugg branch from caba949 to a4a13ce Compare February 2, 2024 02:13
@fmease fmease force-pushed the change-ty-to-ct-param-sugg branch from a4a13ce to 5906237 Compare February 2, 2024 02:25
@fmease fmease changed the title Suggest changing type to const parameters if we encounter a type in a trait bound position Suggest changing type to const parameters if we encounter a type in the trait bound position Feb 2, 2024
Copy link
Member

@compiler-errors compiler-errors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very cool

// const generics. Of course, `Struct` and `Enum` may contain ty params, too, but the
// benefits of including them here outweighs the small number of false positives.
Some(Res::Def(DefKind::Struct | DefKind::Enum, _))
if self.r.tcx.features().adt_const_params =>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

@compiler-errors
Copy link
Member

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Feb 2, 2024

📌 Commit 5906237 has been approved by compiler-errors

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Feb 2, 2024

🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened.

@bors bors 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 Feb 2, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 4, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#119543 (add avx512fp16 to x86 target features)
 - rust-lang#120004 (Release notes for 1.76)
 - rust-lang#120562 (Revert unsound libcore changes)
 - rust-lang#120566 (coverage: Use normal `edition:` headers in coverage tests)
 - rust-lang#120570 (Suggest changing type to const parameters if we encounter a type in the trait bound position)
 - rust-lang#120571 (Miscellaneous diagnostics cleanups)
 - rust-lang#120573 (Remove `BorrowckErrors::tainted_by_errors`)
 - rust-lang#120592 (Remove unnecessary `.to_string()`/`.as_str()`s)
 - rust-lang#120610 (hir: Remove the generic type parameter from `MaybeOwned`)
 - rust-lang#120616 (Fix ICE on field access on a tainted type after const-eval failure)

Failed merges:

 - rust-lang#120569 (coverage: Improve handling of function/closure spans)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 4, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#119543 (add avx512fp16 to x86 target features)
 - rust-lang#120004 (Release notes for 1.76)
 - rust-lang#120562 (Revert unsound libcore changes)
 - rust-lang#120566 (coverage: Use normal `edition:` headers in coverage tests)
 - rust-lang#120570 (Suggest changing type to const parameters if we encounter a type in the trait bound position)
 - rust-lang#120571 (Miscellaneous diagnostics cleanups)
 - rust-lang#120573 (Remove `BorrowckErrors::tainted_by_errors`)
 - rust-lang#120592 (Remove unnecessary `.to_string()`/`.as_str()`s)
 - rust-lang#120610 (hir: Remove the generic type parameter from `MaybeOwned`)
 - rust-lang#120616 (Fix ICE on field access on a tainted type after const-eval failure)

Failed merges:

 - rust-lang#120569 (coverage: Improve handling of function/closure spans)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 7c932d9 into rust-lang:master Feb 4, 2024
@rustbot rustbot added this to the 1.78.0 milestone Feb 4, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 4, 2024
Rollup merge of rust-lang#120570 - fmease:change-ty-to-ct-param-sugg, r=compiler-errors

Suggest changing type to const parameters if we encounter a type in the trait bound position

The first commit is just drive-by cleanup.

Provide a structured suggestion if the user forgot to prefix a “const parameter” with `const`, e.g., in `struct Tagged<TAG: u64>;`. This happens to me from time to time. Maybe C++ devs are also prone to this mistake given template syntax looks like `template<typename T, uint32_t N>`.
@fmease fmease deleted the change-ty-to-ct-param-sugg branch February 4, 2024 21:12
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Feb 6, 2024
…in-pat, r=estebank

Suggest `[tail @ ..]` on `[..tail]` and `[...tail]` where `tail` is unresolved

Fixes rust-lang#120591.
~~Will conflict with rust-lang#120570~~ (rebased).

r? estebank or compiler
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Feb 6, 2024
…in-pat, r=estebank

Suggest `[tail @ ..]` on `[..tail]` and `[...tail]` where `tail` is unresolved

Fixes rust-lang#120591.
~~Will conflict with rust-lang#120570~~ (rebased).

r? estebank or compiler
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Feb 6, 2024
…in-pat, r=estebank

Suggest `[tail @ ..]` on `[..tail]` and `[...tail]` where `tail` is unresolved

Fixes rust-lang#120591.
~~Will conflict with rust-lang#120570~~ (rebased).

r? estebank or compiler
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 6, 2024
Rollup merge of rust-lang#120597 - fmease:sugg-on-js-style-spread-op-in-pat, r=estebank

Suggest `[tail @ ..]` on `[..tail]` and `[...tail]` where `tail` is unresolved

Fixes rust-lang#120591.
~~Will conflict with rust-lang#120570~~ (rebased).

r? estebank or compiler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

6 participants