Ralf Jung
a1d6fc4340
rename lint; add tracking issue
2023-09-25 19:05:10 +02:00
Ralf Jung
c5fccb98ea
work towards rejecting consts in patterns that do not implement PartialEq
2023-09-24 16:36:26 +02:00
Camille GILLOT
286502c9ed
Enable drop_tracking_mir by default.
2023-09-23 13:34:09 +00:00
Ralf Jung
5586c2a68f
make the reason: field mandatory for @future_incompatible lints
2023-09-22 08:59:32 +02:00
Ralf Jung
e888d470e9
give FutureIncompatibilityReason variants more explicit names
2023-09-22 08:51:18 +02:00
bors
327e6cf55c
Auto merge of #114452 - weiznich:feature/diagnostic_on_unimplemented, r=compiler-errors
...
`#[diagnostic::on_unimplemented]` without filters
This commit adds support for a `#[diagnostic::on_unimplemented]` attribute with the following options:
* `message` to customize the primary error message
* `note` to add a customized note message to an error message
* `label` to customize the label part of the error message
The relevant behavior is specified in [RFC-3366](https://rust-lang.github.io/rfcs/3366-diagnostic-attribute-namespace.html )
2023-09-17 10:00:15 +00:00
bors
df63c5f140
Auto merge of #112038 - Nemo157:edition-2024-unsafe_op_in_unsafe_fn, r=RalfJung
...
Change `unsafe_op_in_unsafe_fn` to be `warn`-by-default from edition 2024
This was previously FCPed: https://github.com/rust-lang/rust/issues/71668#issuecomment-1189396886
There were two blocking requirements:
* Fix the `unused_unsafe` lint, done in https://github.com/rust-lang/rust/pull/100081
* Have `cargo fix` able to fix the lint, done in https://github.com/rust-lang/rust/pull/112017
2023-09-14 11:52:08 +00:00
Georg Semmler
5b8a7a0917
#[diagnostic::on_unimplemented]
without filters
...
This commit adds support for a `#[diagnostic::on_unimplemented]`
attribute with the following options:
* `message` to customize the primary error message
* `note` to add a customized note message to an error message
* `label` to customize the label part of the error message
Co-authored-by: León Orell Valerian Liehr <me@fmease.dev>
Co-authored-by: Michael Goulet <michael@errs.io>
2023-09-12 20:03:18 +02:00
Michael Goulet
4d05da46e7
Don't emit refining_impl_trait for private items
2023-09-07 01:31:32 +00:00
Michael Goulet
e10262ca0a
Implement refinement lint for RPITIT
2023-09-07 00:49:09 +00:00
Matthias Krüger
93543bc8bc
Rollup merge of #115578 - ouz-a:rustc_clarify, r=oli-obk
...
Clarify cryptic comments
Clarifies some unclear comments that lurked in the compiler.
r? ``@oli-obk``
2023-09-06 19:31:49 +02:00
ouz-a
7928c5f830
make comments less cryptic
2023-09-06 12:09:29 +03:00
Wim Looman
119e0fff8a
Change unsafe_op_in_unsafe_fn to be warn-by-default from edition 2024
2023-09-06 09:30:04 +02:00
bors
1accf068d8
Auto merge of #113126 - Bryanskiy:delete_old, r=petrochenkov
...
Replace old private-in-public diagnostic with type privacy lints
Next part of RFC https://github.com/rust-lang/rust/issues/48054 .
r? `@petrochenkov`
2023-09-01 12:40:01 +00:00
bors
712d962cef
Auto merge of #115104 - compiler-errors:rollup-8235xz5, r=compiler-errors
...
Rollup of 6 pull requests
Successful merges:
- #114959 (fix #113702 emit a proper diagnostic message for unstable lints passed from CLI)
- #115011 (Warn on elided lifetimes in associated constants (`ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT`))
- #115077 (Do not emit invalid suggestion in E0191 when spans overlap)
- #115087 (Add disclaimer on size assertion macro)
- #115090 (Always use `os-release` rather than `/lib` to detect `NixOS` (bootstrap))
- #115101 (triagebot: add dependency licensing pings)
r? `@ghost`
`@rustbot` modify labels: rollup
2023-08-22 16:16:32 +00:00
allaboutevemirolive
5dce0e66b9
Redefine the pluralize macro's arm
2023-08-21 13:31:58 -04:00
Michael Goulet
fad7d220fd
Warn on elided lifetimes in associated constants
2023-08-20 00:21:47 +00:00
Michael Goulet
0e20155662
more nits
2023-08-15 03:44:21 +00:00
Michael Goulet
ca49a37390
Reuse the selection context, compute failing obligations first in ambig mode
2023-08-15 03:40:19 +00:00
Michael Goulet
d2a14df70e
nits
...
Co-authored-by: lcnr <rust@lcnr.de>
2023-08-15 03:40:19 +00:00
Michael Goulet
56f5704ff8
Implement lint against coinductive impl overlap
2023-08-15 03:40:19 +00:00
bors
ec5b882c2f
Auto merge of #114414 - cjgillot:early-unnameable-test, r=petrochenkov
...
Make test harness lint about unnnameable tests.
Implementation of https://github.com/rust-lang/rust/pull/113734#discussion_r1283073418
About the options suggested in https://github.com/rust-lang/rust/issues/36629#issuecomment-404753945 : adding this case to unused_attribute was just more complicated. I'll try to understand a bit more what you had in mind in https://github.com/rust-lang/rfcs/pull/2471#issuecomment-397241123
This was just simpler to do in a standalone PR. I'll remove the corresponding changes from https://github.com/rust-lang/rust/pull/113734 later.
r? `@petrochenkov`
2023-08-04 14:13:11 +00:00
Camille GILLOT
2a0a1f918d
Make test harness lint about unnnameable tests.
2023-08-03 13:07:30 +00:00
Nilstrieb
5830ca216d
Add internal_features
lint
...
It lints against features that are inteded to be internal to the
compiler and standard library. Implements MCP #596 .
We allow `internal_features` in the standard library and compiler as those
use many features and this _is_ the standard library from the "internal to the compiler and
standard library" after all.
Marking some features as internal wasn't exactly the most scientific approach, I just marked some
mostly obvious features. While there is a categorization in the macro,
it's not very well upheld (should probably be fixed in another PR).
We always pass `-Ainternal_features` in the testsuite
About 400 UI tests and several other tests use internal features.
Instead of throwing the attribute on each one, just always allow them.
There's nothing wrong with testing internal features^^
2023-08-03 14:50:50 +02:00
Bryanskiy
e26614e6a7
Replace old private-in-public diagnostic with type privacy lints
2023-08-02 13:40:28 +03:00
bohan
cac0bd0bef
fix(resolve): update the ambiguity glob binding as warning recursively
2023-07-29 00:19:50 +08:00
bors
317ec04d18
Auto merge of #111780 - weiznich:diagnostic_namespace, r=petrochenkov
...
Diagnostic namespace
This PR implements the basic infrastructure for accepting the `#[diagnostic]` attribute tool namespace as specified in https://github.com/rust-lang/rfcs/pull/3368 . Note: This RFC is not merged yet, but it seems like it will be accepted soon. I open this PR early on to get feedback on the actual implementation as soon as possible. This hopefully enables getting at least the diagnostic namespace to stable rust "soon", so that crates do not need to bump their MSRV if we stabilize actual attributes in this namespace.
This PR only adds infrastructure accept attributes from this namespace, it does not add any specific attribute. Therefore the compiler will emit a lint warning for each attribute that's actually used. This namespace is added behind a feature flag, so it will be only available on a nightly compiler for now.
cc `@estebank` as they've supported me in planing, specifying and implementing this feature.
2023-07-28 14:18:29 +00:00
Georg Semmler
5b576665e5
Introduce the #[diagnostic]
attribute namespace
...
Co-authored-by: est31 <est31@users.noreply.github.com>
Co-authored-by: Esteban Kuber <estebank@users.noreply.github.com>
Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
2023-07-28 13:28:02 +02:00
bors
e4c98caffe
Auto merge of #113312 - Ddystopia:auto-trait-fun, r=lcnr
...
discard default auto trait impls if explicit ones exist (rebase of #85048 )
Rebase of #85048
2023-07-28 10:41:00 +00:00
Oleksandr Babak
37159345a7
Change the description of SUSPICIOUS_AUTO_TRAIT_IMPLS
2023-07-28 11:50:10 +02:00
许杰友 Jieyou Xu (Joe)
33bd453f35
Fix removal span calculation of unused_qualifications suggestion
2023-07-18 09:52:08 +08:00
许杰友 Jieyou Xu (Joe)
0b5c683b06
Add machine-applicable suggestion for unused_qualifications
lint
2023-07-13 08:26:02 +08:00
León Orell Valerian Liehr
b809207dec
Lint against misplaced where-clauses on assoc tys in traits
2023-07-11 01:19:11 +02:00
Oli Scherer
25e3785b86
Make unused_associated_type_bounds
's lint level changeable
2023-07-05 07:46:05 +00:00
Oli Scherer
a49b736568
Lint now-unnecessary associated type bounds
2023-07-05 07:42:53 +00:00
Matthias Krüger
42a495da7e
Rollup merge of #112670 - petrochenkov:typriv, r=eholk
...
privacy: Type privacy lints fixes and cleanups
See individual commits.
Follow up to https://github.com/rust-lang/rust/pull/111801 .
2023-06-29 05:48:39 +02:00
Oli Scherer
aacd702895
Stop hiding const eval limit in external macros
2023-06-22 14:11:10 +00:00
Vadim Petrochenkov
d326aed46f
privacy: Feature gate new type privacy lints
2023-06-15 21:25:47 +03:00
Bryanskiy
6d46382f6f
Private-in-public lints implementation
2023-06-12 01:02:19 +03:00
Oli Scherer
05eae08233
Remove const eval limit and implement an exponential backoff lint instead
2023-05-31 10:24:17 +00:00
许杰友 Jieyou Xu (Joe)
b9606589c4
Add warn-by-default lint for local binding shadowing exported glob re-export item
2023-05-27 18:49:07 +08:00
bors
ea0c22ea4f
Auto merge of #106621 - ozkanonur:enable-elided-lifetimes-for-doctests, r=Mark-Simulacrum
...
enable `rust_2018_idioms` lint group for doctests
With this change, `rust_2018_idioms` lint group will be enabled for compiler/libstd doctests.
Resolves #106086
Resolves #99144
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-05-08 04:50:28 +00:00
ozkanonur
4e7c14fe9f
enable rust_2018_idioms
for doctests
...
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-05-07 00:12:29 +03:00
Urgau
53647845b9
Improve check-cfg diagnostics (part 2)
2023-05-05 13:06:48 +02:00
Gary Guo
723aee2e56
Partial stabilisation of c_unwind
2023-04-29 13:01:44 +01:00
Michael Goulet
0279922157
Add a few more missing lints
2023-04-27 18:43:03 +00:00
Michael Goulet
3793263c7d
Sort hardwired lints
2023-04-27 18:35:27 +00:00
Michael Goulet
183c7904e9
Add invalid_macro_export_arguments to built-in macro list
2023-04-27 18:33:39 +00:00
Josh Soref
e09d0d2a29
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
DaniPopes
677357d32b
Fix typos in compiler
2023-04-10 22:02:52 +02:00