Commit Graph

339 Commits

Author SHA1 Message Date
Michael Goulet c883730657 Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
Wim Looman 87f6a041b0 Add details about unsafe_op_in_unsafe_fn to E0133 2023-05-28 13:11:30 +02:00
Matthias Krüger 10b931dc24 Rollup merge of #111215 - BoxyUwU:resolve_anon_consts_differently, r=cjgillot
Various changes to name resolution of anon consts

Sorry this PR is kind of all over the place ^^'

Fixes #111012

- Rewrites anon const nameres to all go through `fn resolve_anon_const` explicitly instead of `visit_anon_const` to ensure that we do not accidentally resolve anon consts as if they are allowed to use generics when they aren't. Also means that we dont have bits of code for resolving anon consts that will get out of sync (i.e. legacy const generics and resolving path consts that were parsed as type arguments)
- Renames two of the `LifetimeRibKind`, `AnonConst -> ConcreteAnonConst` and `ConstGeneric -> ConstParamTy`
- Noticed while doing this that under `generic_const_exprs` all lifetimes currently get resolved to errors without any error being emitted which was causing a bunch of tests to pass without their bugs having been fixed, incidentally fixed that in this PR and marked those tests as `// known-bug:`. I'm fine to break those since `generic_const_exprs` is a very unstable incomplete feature and this PR _does_ make generic_const_exprs "less broken" as a whole, also I can't be assed to figure out what the underlying causes of all of them are. This PR reopens #77357 #83993
- Changed `generics_of` to stop providing generics and predicates to enum variant discriminant anon consts since those are not allowed to use generic parameters
- Updated the error for non 'static lifetime in const arguments and the error for non 'static lifetime in const param tys to use `derive(Diagnostic)`

I have a vague idea why const-arg-in-const-arg.rs, in-closure.rs and simple.rs have started failing which is unfortunate since these were deliberately made to work, I think lifetime resolution being broken just means this regressed at some point and nobody noticed because the tests were not testing anything :( I'm fine breaking these too for the same reason as the tests for #77357 #83993. I couldn't get `// known-bug` to work for these ICEs and just kept getting different stderr between CI and local `--bless` so I just removed them and will create an issue to track re-adding (and fixing) the bugs if this PR lands.

r? `@cjgillot` cc `@compiler-errors`
2023-05-09 20:49:32 +02:00
Astroide 2ac8bfaa3f Update compiler/rustc_error_codes/src/error_codes/E0726.md
Co-authored-by: Michael Goulet <michael@errs.io>
2023-05-06 19:39:08 -04:00
Astroide 42a32f3c90 rustc --explain E0726 - grammar fixing (it's => its + add a the where it felt right to do so) 2023-05-06 12:42:52 -04:00
Boxy cdba4b8650 misc nameres changes for anon consts 2023-05-05 21:31:35 +01:00
Josh Soref 5a69bc9fd0 Spelling - compiler
* account
* achieved
* advising
* always
* ambiguous
* analysis
* annotations
* appropriate
* build
* candidates
* cascading
* category
* character
* clarification
* compound
* conceptually
* constituent
* consts
* convenience
* corresponds
* debruijn
* debug
* debugable
* debuggable
* deterministic
* discriminant
* display
* documentation
* doesn't
* ellipsis
* erroneous
* evaluability
* evaluate
* evaluation
* explicitly
* fallible
* fulfill
* getting
* has
* highlighting
* illustrative
* imported
* incompatible
* infringing
* initialized
* into
* intrinsic
* introduced
* javascript
* liveness
* metadata
* monomorphization
* nonexistent
* nontrivial
* obligation
* obligations
* offset
* opaque
* opportunities
* opt-in
* outlive
* overlapping
* paragraph
* parentheses
* poisson
* precisely
* predecessors
* predicates
* preexisting
* propagated
* really
* reentrant
* referent
* responsibility
* rustonomicon
* shortcircuit
* simplifiable
* simplifications
* specify
* stabilized
* structurally
* suggestibility
* translatable
* transmuting
* two
* unclosed
* uninhabited
* visibility
* volatile
* workaround

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-17 16:09:18 -04:00
Tam Pham 44894e16ce Make "unneccesary visibility qualifier" error much more clear 2023-04-03 21:52:27 -05:00
Matthias Krüger 9ed31c530a Rollup merge of #109565 - WaffleLapkin:better_docs_for_e0223, r=oli-obk
Improve documentation for E0223

See discussion in https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Inconsistency.20in.20prohibiting.20.60Type.3A.3AAssocType.60
2023-03-28 07:01:08 +02:00
Maybe Waffle 4304435b73 Bless tidy 2023-03-27 18:58:07 +00:00
Maybe Waffle bba6e99d1e Improve documentation for E0223 2023-03-27 18:00:22 +00:00
Matthias Krüger 1853faf714 Rollup merge of #109501 - lukas-code:link, r=WaffleLapkin
make link clickable
2023-03-22 22:44:43 +01:00
Lukas Markeffsky c9712b46ce make link clickable 2023-03-22 22:01:19 +01:00
Eric Huss 21aef0a266 Update links for custom discriminants. 2023-03-18 10:22:37 -07:00
Matthias Krüger 1112bc69ab Rollup merge of #107416 - czzrr:issue-80618, r=GuillaumeGomez
Error code E0794 for late-bound lifetime parameter error.

This PR addresses [#80618](https://github.com/rust-lang/rust/issues/80618).
2023-03-18 12:04:21 +01:00
Matthias Krüger c711053d5b Rollup merge of #109211 - mili-l:mili_l/update_e0206_description, r=WaffleLapkin
E0206 - update description

added `union` to description
2023-03-18 00:05:52 +01:00
Jamilya Shurukhova 444d4f2e6f Update compiler/rustc_error_codes/src/error_codes/E0206.md
Co-authored-by: Waffle Maybe <waffle.lapkin@gmail.com>
2023-03-17 15:50:37 +01:00
Jamilya Shurukhova a697aabd80 E0206 - code review changes 2023-03-17 14:54:39 +01:00
Jamilya Shurukhova 0dd393896c E0206 - removed space 2023-03-16 10:26:34 +01:00
Jamilya Shurukhova a4c9443d98 E0206 - added union to description 2023-03-16 10:18:31 +01:00
gimbles fe5282d3fc unequal → not equal 2023-03-15 23:55:48 +05:30
clubby789 b2a37c4b05 Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
est31 f0d7bc1653 Address the new odd backticks tidy lint in compiler/ 2023-03-11 20:40:18 +01:00
Christopher Acosta 0f0acfa4cf Error code E0794 for late-bound lifetime parameter error. 2023-03-07 21:26:19 +01:00
Ezra Shaw 6c5dbccd13 refactor: statically guarantee that current error codes are documented 2023-02-26 20:12:36 +13:00
Ezra Shaw 12df6d4fe2 docs/test: add UI test and docs for E0476 2023-02-25 19:31:02 +13:00
Matthew Kelly 75fc3ee6dd Add extended error message for E0523
Adds the extended error documentation for E0523 to indicate that the
error is no longer produced by the compiler.

Update the E0464 documentation to include example code that produces the
error.

Remove the error message E0523 from the compiler and replace it with an
internal compiler error.
2023-02-06 06:58:30 -05:00
Ralf Jung ffbbcdafdb make unaligned_reference a hard error 2023-01-31 20:28:11 +01:00
Samuel Ortiz ad9633d8cc compiler: Fix E0587 explanation
We meant to use 8 as the packed argument.

Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
2023-01-27 10:59:51 +01:00
Ezra Shaw 47187f4380 add UI test + docs for E0789 2023-01-23 20:38:14 +13:00
Guillaume Gomez 71f9fc050a Rollup merge of #106931 - Ezrashaw:docs-e0208, r=compiler-errors
document + UI test `E0208` and make its output more user-friendly

Cleans up `E0208`'s output a lot. It could actually be useful for someone learning about variance now. I also added a UI test for it in `tests/ui/error-codes/` and wrote some docs for it.

r? `@GuillaumeGomez` another error code, can't be bothered to find the issue :P. Obviously there's some compiler stuff, so you'll have to hand it off.

Part of https://github.com/rust-lang/rust/issues/61137.
2023-01-19 11:19:35 +01:00
Ezra Shaw e455178b09 remove error code from #[rustc_variance] and document its remains 2023-01-18 21:10:27 +13:00
Matthias Krüger 16f836c05c Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726
Remove double spaces after dots in comments

Most of the comments do not have double spaces, so I assume these are typos.
2023-01-17 20:21:25 +01:00
Maybe Waffle ce02ef648a Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
Oli Scherer 999ad2a6b1 Improve a TAIT error and add an error code plus documentation 2023-01-16 16:54:14 +00:00
nils 6dd02d547d Rollup merge of #106714 - Ezrashaw:remove-e0490, r=davidtwco
remove unreachable error code `E0490`

AFAIK, the untested and undocumented error code `E0490` is now unreachable, it was from the days of the original borrow checker.

cc ``@GuillaumeGomez`` #61137
2023-01-12 15:44:52 +01:00
Ezra Shaw d7cad10dcb remove unreachable error code E0490 2023-01-12 14:15:21 +13:00
bowlerman 64548e5e2c remove E0280 and ICE instead 2023-01-10 03:04:28 +01:00
Ezra Shaw 0352536b19 docs/test: add error-docs and UI test for E0711 2023-01-09 15:48:53 +13:00
Ezra Shaw ea44182eea docs/test: add empty error-docs for E0208, E0640 and E0717 2023-01-09 15:48:52 +13:00
Yuki Okushi b75d9ddb2d Rollup merge of #106580 - Ezrashaw:remove-e0313, r=compiler-errors
remove unreachable error code `E0313`

Fixes #103742
Makes #103433 redundant

Implements removal of `E0313`. I agree with the linked issue that this error code is unreachable but if someone could confirm that would be great, are crater runs done for this sort of thing?

Also removed a redundant `// ignore-tidy-filelength` that I found while reading code.

cc ``@GuillaumeGomez`` #61137
2023-01-08 17:01:49 +09:00
Yuki Okushi 88b2a4c134 Rollup merge of #106557 - Ezrashaw:ui-test-fixups-1, r=GuillaumeGomez
Add some UI tests and reword error-code docs

Added UI tests for `E0013` and `E0015`. Error code docs for `E0015` were a bit unclear (they referred to all non-const errors in const context, when only non-const functions applied), so I touched them up a bit.

I also fixed up some issues in the new `error_codes.rs` tidy check (linked #106341), that I overlooked previously.

r? ``@GuillaumeGomez``
2023-01-08 17:01:48 +09:00
Ezra Shaw 0b1336285d remove unreachable error code E0313 2023-01-08 14:47:12 +13:00
Ezra Shaw b9c56856e4 doc/test: add UI test and reword docs for E0013 and E0015 2023-01-08 13:33:09 +13:00
Michael Goulet 3cfb8f809f Rollup merge of #106554 - LingMan:explanation_typo, r=compiler-errors
Fix a typo in the explanation of E0588
2023-01-06 21:54:01 -08:00
LingMan f5a244d4d1 Fix a typo in the explanation of E0588 2023-01-07 05:10:53 +01:00
Ezra Shaw 8074cf5504 docs: revert removal of E0729 2023-01-02 09:11:36 +13:00
Ezra Shaw a02419688c refactor: clean up errors.rs and error_codes_check.rs
Move them into new `error_codes.rs` tidy check.
2023-01-01 15:22:01 +13:00
Ezra Shaw 38fdb62006 refactor: merge E0465 into E0464 2022-12-31 20:44:54 +13:00
Ezra Shaw 6ef3be4303 docs: add long-form error docs for E0514 2022-12-29 14:32:39 +13:00