Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve diagnostic for generic params from outer items (E0401) #115744

Merged
merged 3 commits into from
Sep 11, 2023

Conversation

fmease
Copy link
Member

@fmease fmease commented Sep 10, 2023

Generalize the wording of E0401 to talk about outer items instead of outer functions since the current phrasing is outdated. The outer item can be a function, constant, trait, ADT or impl block (see the new UI test for the more exotic examples).

Further, don't suggest introducing generic parameters to constant items unless the feature generic_const_items is enabled.

Lastly, make E0401 translatable while we're at it.

Fixes #115720.

@rustbot
Copy link
Collaborator

rustbot commented Sep 10, 2023

r? @compiler-errors

(rustbot has picked a reviewer for you, use r? to override)

@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 10, 2023
@fmease fmease added the A-diagnostics Area: Messages for errors, warnings, and lints label Sep 10, 2023
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.

r=me

@fmease
Copy link
Member Author

fmease commented Sep 10, 2023

@bors r=compiler-errors rollup (only affects diagnostics)

@bors
Copy link
Contributor

bors commented Sep 10, 2023

📌 Commit daf3c45 has been approved by compiler-errors

It is now in the queue for this repository.

@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 Sep 10, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Sep 11, 2023
Improve diagnostic for generic params from outer items (E0401)

Generalize the wording of E0401 to talk about *outer items* instead of *outer functions* since the current phrasing is outdated. The outer item can be a function, constant, trait, ADT or impl block (see the new UI test for the more exotic examples).

Further, don't suggest introducing generic parameters to constant items unless the feature `generic_const_items` is enabled.

Lastly, make E0401 translatable while we're at it.

Fixes rust-lang#115720.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Sep 11, 2023
Improve diagnostic for generic params from outer items (E0401)

Generalize the wording of E0401 to talk about *outer items* instead of *outer functions* since the current phrasing is outdated. The outer item can be a function, constant, trait, ADT or impl block (see the new UI test for the more exotic examples).

Further, don't suggest introducing generic parameters to constant items unless the feature `generic_const_items` is enabled.

Lastly, make E0401 translatable while we're at it.

Fixes rust-lang#115720.
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 11, 2023
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#115335 (fix overflow in array length computation)
 - rust-lang#115440 (bootstrap/format: remove unnecessary paths.push)
 - rust-lang#115702 (Update mailmap)
 - rust-lang#115734 (Use no_core for KCFI tests to exercise them in CI)
 - rust-lang#115739 (Call `LateLintPass::check_attribute` from `with_lint_attrs`)
 - rust-lang#115743 (Point out if a local trait has no implementations)
 - rust-lang#115744 (Improve diagnostic for generic params from outer items (E0401))

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 11, 2023
Rollup of 7 pull requests

Successful merges:

 - rust-lang#115308 (suggest iter_mut() where trying to modify elements from .iter())
 - rust-lang#115595 (Fix incorrect mutable suggestion information for binding in ref pattern like:  `let &b = a;` )
 - rust-lang#115702 (Update mailmap)
 - rust-lang#115708 (fix homogeneous_aggregate not ignoring some ZST)
 - rust-lang#115739 (Call `LateLintPass::check_attribute` from `with_lint_attrs`)
 - rust-lang#115743 (Point out if a local trait has no implementations)
 - rust-lang#115744 (Improve diagnostic for generic params from outer items (E0401))

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

Rollup of 8 pull requests

Successful merges:

 - rust-lang#115335 (fix overflow in array length computation)
 - rust-lang#115440 (bootstrap/format: remove unnecessary paths.push)
 - rust-lang#115702 (Update mailmap)
 - rust-lang#115727 (Implement fallback for effect param)
 - rust-lang#115739 (Call `LateLintPass::check_attribute` from `with_lint_attrs`)
 - rust-lang#115743 (Point out if a local trait has no implementations)
 - rust-lang#115744 (Improve diagnostic for generic params from outer items (E0401))
 - rust-lang#115752 (rustdoc: Add missing "Aliased type" title in the sidebar)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 8b49731 into rust-lang:master Sep 11, 2023
11 checks passed
@rustbot rustbot added this to the 1.74.0 milestone Sep 11, 2023
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Sep 11, 2023
Rollup merge of rust-lang#115744 - fmease:fix-e0401, r=compiler-errors

Improve diagnostic for generic params from outer items (E0401)

Generalize the wording of E0401 to talk about *outer items* instead of *outer functions* since the current phrasing is outdated. The outer item can be a function, constant, trait, ADT or impl block (see the new UI test for the more exotic examples).

Further, don't suggest introducing generic parameters to constant items unless the feature `generic_const_items` is enabled.

Lastly, make E0401 translatable while we're at it.

Fixes rust-lang#115720.
@fmease fmease deleted the fix-e0401 branch September 11, 2023 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints 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.

Do not suggest "using a local generic parameter" for constants
4 participants