Commit graph

21417 commits

Author SHA1 Message Date
alexey semenyuk
64c4cf1cba
Fix version for ref_option 2024-10-20 14:43:32 +05:00
Michael Goulet
69b088626c Fix tests 2024-10-19 18:07:35 +00:00
y21
4de65a113f fix empty suggestion ICE in from_over_into 2024-10-19 19:24:09 +02:00
y21
38cf3f3234 add debug assertions for overlapping spans and empty replacements 2024-10-19 19:23:56 +02:00
blyxyas
e518d66dc0 Apply review comments + use shallow_lint_levels_on 2024-10-19 16:20:52 +02:00
blyxyas
e427a4e694 Remove module passes filtering 2024-10-19 16:20:51 +02:00
blyxyas
8f8aa46a87 Follow review comments (optimize the filtering) 2024-10-19 16:20:33 +02:00
blyxyas
698363122e Do not run lints that cannot emit
Before this change, adding a lint was a difficult matter
because it always had some overhead involved. This was
because all lints would run, no matter their default level,
or if the user had #![allow]ed them. This PR changes that
2024-10-19 16:19:44 +02:00
bors
5678531c6d Auto merge of #13564 - GnomedDev:fix-manualbits-in-macro, r=blyxyas
Stop linting manual_bits in any macro invoke

Closes #13563.

changelog: [`manual_bits`] No longer lints in macro-generated code
2024-10-19 14:09:28 +00:00
bors
f2f0175eb2 Auto merge of #13543 - GnomedDev:symbol-comparisons, r=y21
Add internal lint to check for slow symbol comparisons

See the conversation on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/Checking.20a.20Symbol.20is.20equal.20to.20a.20string.20literal).

changelog: none
2024-10-18 23:20:38 +00:00
GnomedDev
a739cc3abe
Stop linting manual_bits in any macro invoke 2024-10-18 21:41:05 +01:00
bors
6a795887c4 Auto merge of #13539 - GuillaumeGomez:allow-no-js, r=Alexendoo
Allow to go through clippy lints page without javascript

Fixes #13536.

This is the follow-up of https://github.com/rust-lang/rust-clippy/pull/13269.

This PR makes it possible to expand/collapse lints (individually) without JS. To achieve this result, there are two ways:
1. Use `details` and `summary` tags. Problem with this approach is that the web browser search may open the `details` tags automatically if content matching it is inside. From a previous discussion with `@Alexendoo,` it seems to not be a desired behaviour.
2. Use a little trick where you use a `label` and a checkbox where the checkbox is in fact hidden. Then it's just a matter of CSS.

r? `@Alexendoo`

changelog: Allow to go through clippy lints page without JS
2024-10-18 19:24:16 +00:00
bors
47effe4f68 Auto merge of #13562 - klensy:pc, r=flip1995
pulldown-cmark: don't pull getopts dep

Don't pull getopts, as it unused. Noticed in https://github.com/rust-lang/rust/pull/131892

changelog: none
2024-10-18 16:27:41 +00:00
Guillaume Gomez
da19d47147 Fix lints syntax highlighting 2024-10-18 18:03:16 +02:00
Guillaume Gomez
82969e5c4e Allow to go through clippy lints page without javascript 2024-10-18 18:03:16 +02:00
klensy
2c3a34a040 pulldown-cmark: don't pull getopts dep 2024-10-18 17:08:50 +03:00
Philipp Krones
91a458f451 Hotfix TRAIT_METHODS static->const 2024-10-18 14:54:06 +02:00
Philipp Krones
fea5e77da1 Merge commit 'a109190d70' into clippy-subtree-update 2024-10-18 13:44:06 +02:00
bors
a109190d70 Auto merge of #13561 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2024-10-18 11:31:05 +00:00
Philipp Krones
4b5d1894db
Bump nightly version -> 2024-10-18 2024-10-18 13:26:07 +02:00
Philipp Krones
4d5eaa0344
Bump Clippy version -> 0.1.84 2024-10-18 13:25:50 +02:00
Philipp Krones
224d1e323a
Merge remote-tracking branch 'upstream/master' into rustup 2024-10-18 13:25:37 +02:00
Alexey Semenyuk
8555922351 Don't trigger const_is_empty for inline const assertions 2024-10-17 22:36:26 +05:00
bors
dae1be90ee Auto merge of #13525 - xFrednet:changelog-1-82, r=dswij
Changelog for Clippy 1.82 ✈️

```
Roses are red,
Violets are blue,
EuroRust in Austria,
    RustConf in Canada.
```

---

### The cat of this release is *Racka*:

<img height=500 src="https://github.com/user-attachments/assets/e5e3cc95-6fc3-4214-aab0-4f26e0967ae5" alt="The cats of this Clippy release" />

Cats for the next release can be nominated in the comments :D

---

changelog: none
2024-10-17 11:13:09 +00:00
bors
ccb30bfd5b Auto merge of #13554 - ageorgou:doc-links, r=xFrednet
Documentation fixes

- In [the page describing the lints](https://rust-lang.github.io/rust-clippy/master/index.html), the View Source links are incorrect. This PR removes the extra segment causing them to fail.
  - Example before: https://github.com/rust-lang/rust-clippy/blob/master/clippy_lints/clippy_lints/src/absolute_paths.rs#L13
  - Example after: https://github.com/rust-lang/rust-clippy/blob/master/clippy_lints/src/absolute_paths.rs#L13
  - I think this was introduced in #13269.
  - I've only checked a few of the lints with the new template, but from what I can tell the metadata is generated in the same way for all of them. The `id_location` contains the full path of the lint declaration in the repository, which is why `clippy_lints` was repeated in the URL.
- Separately, fixing a typo in the explanation of `unnecessary_get_then_check`.

changelog: none
2024-10-16 09:46:17 +00:00
bors
c512a221c2 Auto merge of #131481 - nnethercote:rm-GenKillSet, r=cjgillot
Remove `GenKillAnalysis`

There are two kinds of dataflow analysis in the compiler: `Analysis`, which is the basic kind, and `GenKillAnalysis`, which is a more specialized kind for gen/kill analyses that is intended as an optimization. However, it turns out that `GenKillAnalysis` is actually a  pessimization! It's faster (and much simpler) to do all the gen/kill analyses via `Analysis`. This lets us remove `GenKillAnalysis`, and `GenKillSet`, and a few other things, and also merge `AnalysisDomain` into `Analysis`. The PR removes 500 lines of code and improves performance.

r? `@tmiasko`
2024-10-16 09:45:05 +00:00
wowinter13
ad002ea99f fix: linter 2024-10-16 01:49:15 +02:00
wowinter13
40cb24f23c fix: simplify suggestion 2024-10-16 01:42:43 +02:00
Anastasis Georgoulas
48636259df Correct typo in lint description 2024-10-15 22:47:04 +01:00
Anastasis Georgoulas
b86a48955e Fix link to source
The URLs contained an extra `clippy_lints`, which resulted in
broken links. Links are generated using each lint's `id_location`,
which already contains the full path inside the repository.
2024-10-15 22:42:51 +01:00
bors
ddda954e37 Auto merge of #13553 - SpriteOvO:manual_is_power_of_two-change-category, r=llogiq
Change the category of `manual_is_power_of_two` to `pedantic`

Fixes #13547.

The value being checked might be a bit flag, suggesting `is_power_of_two` for it would make the code unreadable.

changelog: [`manual_is_power_of_two`]: Change the category to `pedantic`
2024-10-15 20:02:57 +00:00
Asuna
ac81f176a8 Change the category of manual_is_power_of_two to pedantic 2024-10-15 21:27:46 +02:00
bors
f32862384e Auto merge of #13395 - GnomedDev:unnecessary-lit-bound, r=Manishearth
Add lint for unnecessary lifetime bounded &str return

Closes #305.

Currently implemented with a pretty strong limitation that it can only see the most basic implicit return, but this should be fixable by something with more time and brain energy than me. Cavets from #13388 apply, as I have not had a review on my clippy lints yet so am pretty new to this.

```
changelog: [`unnecessary_literal_bound`]:  Add lint for unnecessary lifetime bounded &str return.
```
2024-10-15 16:36:12 +00:00
bors
1563ce5aaa Auto merge of #13550 - klensy:opener, r=flip1995
clippy_dev: bump opener

Bump `opener` to sync with rustc repo.

changelog: none
2024-10-15 16:07:57 +00:00
GnomedDev
b62d2624ac
Use path_res instead of lowering hir::Ty to ty::Ty 2024-10-15 17:06:21 +01:00
GnomedDev
42511a3ffa
Add lint for unnecessary lifetime bounded &str return 2024-10-15 17:06:21 +01:00
xFrednet
512ad86d68
Changelog: Update category for too_long_first_doc_paragraph 2024-10-15 17:13:19 +02:00
bors
7ce1eeaf2a Auto merge of #13551 - xFrednet:12993-kindergarden, r=xFrednet
Move `too_long_first_doc_paragraph` to `nursery`

See: https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/too_long_first_doc_paragraph.20to.20nursery.3F/near/476448239

changelog: none

I'll update the changelog as well.
2024-10-15 15:12:34 +00:00
xFrednet
fcf46466ce
Move too_long_first_doc_paragraph to nursery
See: https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/too_long_first_doc_paragraph.20to.20nursery.3F/near/476448239
2024-10-15 17:08:53 +02:00
klensy
590fdfba14 bump opener to sync with rust 2024-10-15 17:51:35 +03:00
bors
c16ba359b5 Auto merge of #131723 - matthiaskrgr:rollup-krcslig, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #122670 (Fix bug where `option_env!` would return `None` when env var is present but not valid Unicode)
 - #131095 (Use environment variables instead of command line arguments for merged doctests)
 - #131339 (Expand set_ptr_value / with_metadata_of docs)
 - #131652 (Move polarity into `PolyTraitRef` rather than storing it on the side)
 - #131675 (Update lint message for ABI not supported)
 - #131681 (Fix up-to-date checking for run-make tests)
 - #131702 (Suppress import errors for traits that couldve applied for method lookup error)
 - #131703 (Resolved python deprecation warning in publish_toolstate.py)
 - #131710 (Remove `'apostrophes'` from `rustc_parse_format`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-10-15 11:50:31 +00:00
Matthias Krüger
66359a7c87 Rollup merge of #130635 - eholk:pin-reborrow-sugar, r=compiler-errors
Add `&pin (mut|const) T` type position sugar

This adds parser support for `&pin mut T` and `&pin const T` references. These are desugared to `Pin<&mut T>` and `Pin<&T>` in the AST lowering phases.

This PR currently includes #130526 since that one is in the commit queue. Only the most recent commits (bd450027eb4a94b814a7dd9c0fa29102e6361149 and following) are new.

Tracking:

- #130494

r? `@compiler-errors`
2024-10-15 05:12:34 +02:00
wowinter13
11162d1b48 fix: remove unnecessary unfilter_map usages 2024-10-15 00:18:50 +02:00
Michael Goulet
5aa3e115f6 Move trait bound modifiers into ast::PolyTraitRef 2024-10-14 09:20:38 -04:00
Michael Goulet
360d86e9ec Move trait bound modifiers into hir::PolyTraitRef 2024-10-14 09:20:38 -04:00
bors
f444012c4c Auto merge of #13454 - samueltardieu:push-ymnkzlqloptz, r=xFrednet
Use correct std/core prefix in lint output

changelog: none

I was waiting for #13452 to be merged before sending this one. `std` is used instead of `core` when appropriate in messages.
2024-10-14 13:12:22 +00:00
Nicholas Nethercote
5a8943649a Remove ResultsCursor::contains.
It's hardly worth it, and it needs to be removed so that
`GenKillAnalysis` can be removed.
2024-10-14 16:35:28 +11:00
bors
43e99e54fa Auto merge of #13541 - xFrednet:0-module-name-rep, r=blyxyas
Move `clippy::module_name_repetitions` to `restriction` (from `pedantic`)

Rational:
- Too pedantic IMO, I use `#[warn(pedantic)]` in my personal projects, but then always allow this lint. The fact that we had a few `#[expect(clippy::module_name_repetitions)]` also underlines this point IMO
- STD doesn't do this either. Examples:
  - std::vec::Vec
  - std::collections::vec_deque::VecDequeue
- #7666 commonly ignored

---

changelog: Move [`module_name_repetitions`] to `restriction` (from `pedantic`)
[#13541](https://github.com/rust-lang/rust-clippy/pull/13541)
2024-10-13 23:39:55 +00:00
GnomedDev
979e297189
Update book 2024-10-13 21:17:03 +01:00
GnomedDev
a650692f8d
Add test 2024-10-13 21:03:39 +01:00