Commit graph

12771 commits

Author SHA1 Message Date
Michael Wright
949b25981c Change Bound to EndBound
Only the end bounds of ranges can actually be included or excluded. This
commit changes the SpannedRange type to reflect that. Update `Kind::value`
to and `Kind::cmp` for this change. `Kind::cmp` gets flipped to check value
first and then the bound details and is much shorter.
2021-11-09 05:44:02 +02:00
Michael Wright
98416d7f6c Remove unimplemented!() case in matches code
This unbounded case never actually happens because `all_ranges(..)` uses
the scrutinee type bounds for open ranges. Switch to our own `Bound`
enum so that we don't have this case.
2021-11-09 05:44:02 +02:00
Serial
680923491a Fix explicit_counter_loop suggestion for non-usize types 2021-11-08 22:21:05 -05:00
bors
830f2205d4 Auto merge of #7944 - Serial-ATA:deprecated-cfg-attr-msrv, r=giraffate
Add MSRV to deprecated_cfg_attr

changelog: Add MSRV to [`deprecated_cfg_attr`]

closes: #7922
2021-11-09 00:58:37 +00:00
Serial
413d255916 Add MSRV to deprecated_cfg_attr 2021-11-08 17:53:50 -05:00
bors
94517d397c Auto merge of #7938 - camsteffen:visitors, r=xFrednet
Introduce `expr_visitor` and `expr_visitor_no_bodies`

changelog: none

A couple utils that satisfy a *lot* of visitor use cases. Factoring in every possible usage would be really big so I just focused on cleaning clippy_utils.
2021-11-08 13:39:58 +00:00
bors
6fcdf81939 Auto merge of #7945 - Serial-ATA:issue-7934, r=flip1995
Fix ICE in undocumented_unsafe_blocks

changelog: Fix ICE in [`undocumented_unsafe_blocks`]

closes: #7934
2021-11-08 10:48:34 +00:00
Serial
2c6f03d48b Fix ICE in undocumented_unsafe_blocks 2021-11-07 14:28:30 -05:00
bors
07f4f7c2dd Auto merge of #7917 - Alexendoo:cargo-dev-lint, r=giraffate
Add `cargo dev lint` to manually run clippy on a file

I found the manual run command really useful, this makes it a bit easier to type

Not sure if this belongs in the changelog or not

changelog: Add `cargo dev lint` to manually run clippy on a file
2021-11-07 06:06:26 +00:00
bors
e3d1e60ed9 Auto merge of #7894 - Serial-ATA:extend-author-lint, r=camsteffen
Extend author lint

changelog: none

* Print float and int suffixes
* Print labels
* Struct field checks
* Repeat length expression check
* Destructure method calls
* Destructure closures
2021-11-06 20:08:32 +00:00
Alex Macleod
b5bae09184 Add cargo dev lint to manually run clippy on a file
I found the manual run command really useful, this makes it a bit easier
to type
2021-11-06 17:20:15 +00:00
Serial
c96cd359f5 Extend author lint 2021-11-06 03:08:14 -04:00
Cameron Steffen
2c7b7e8c56 Remove if let check for match_ref_pats 2021-11-05 14:50:23 -05:00
Cameron Steffen
5239a90f70 Factor in some expr_visitor usages 2021-11-05 14:39:39 -05:00
Cameron Steffen
73501daa39 Add expr_visitor util 2021-11-05 14:16:56 -05:00
Cameron Steffen
1c4dd8d3eb Remove trim_semicolon 2021-11-05 11:39:50 -05:00
bors
445c83f8f3 Auto merge of #7937 - flip1995:rustfmt-skip-artefact, r=Manishearth
Remove rustfmt::skip attribute from register_plugins function

r? `@Manishearth` since you added this in #540 😄

changelog: none
2021-11-05 15:34:46 +00:00
bors
9a60a93cac Auto merge of #7897 - camsteffen:in-macro, r=flip1995
Replace `in_macro` usage with `from_expansion`

changelog: none

Generally replace `in_macro(span)` with `span.from_expansion()`. If we're just trying to avoid expanded code, this seems more appropriate because any kind of expanded code is prone to false positives. One place I did not touch is `macro_use.rs`. I think this lint could use a rewrite so I moved `in_macro` there, the only place it is still used.
2021-11-05 14:42:32 +00:00
Cameron Steffen
5b1b6a2276 Edit docs about macros 2021-11-05 09:27:22 -05:00
bors
85e25923e1 Auto merge of #7909 - mikerite:fix-7816, r=camsteffen
Fix false negative in [`match_overlapping_arms`]

changelog: Fix false negative in [`match_overlapping_arms`]
2021-11-05 14:16:38 +00:00
Cameron Steffen
14d54f0f6e Use Span::from_expansion instead of in_macro 2021-11-05 08:50:17 -05:00
flip1995
93ffc9d233
Remove rustfmt::skip attribute from register_plugins function 2021-11-05 10:54:37 +00:00
bors
84a4ab7f3f Auto merge of #7928 - xFrednet:rust-90354-deploy-clippy-docs, r=flip1995
Reference `clippy_utils` docs on nightly-rustc and some other documentation updates

The `clippy_utils` crate is now part of the nightly-rustc documentation. See [**very beautiful documentation**](https://doc.rust-lang.org/nightly/nightly-rustc/clippy_utils/). This PR references them in our documentation and updates some other documentation.

changelog: none
2021-11-04 12:27:50 +00:00
xFrednet
540515220d
Added note about the usage of clippy_utils::path 2021-11-04 13:27:08 +01:00
bors
e181011378 Auto merge of #7929 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2021-11-04 12:07:07 +00:00
flip1995
c7f54624b2
Bump nightly version -> 2021-11-04 2021-11-04 12:03:53 +00:00
flip1995
1cc21db8c6
Merge remote-tracking branch 'upstream/master' into rustup 2021-11-04 12:03:28 +00:00
xFrednet
a276cd2a00
Add clippy docs to check for a specific type 2021-11-04 12:57:14 +01:00
xFrednet
d134dddf70
Improve clippy_utils function docs 2021-11-04 12:42:29 +01:00
xFrednet
1011e083cd
Reference nightly-rustc docs in clippy's docs 2021-11-04 12:09:15 +01:00
bors
150a65982b Auto merge of #7926 - lengyijun:patch-1, r=giraffate
lower_case in  span_lint_and_help document

changelog: none
2021-11-04 05:12:59 +00:00
lyj
df9f5e4b22
Update diagnostics.rs 2021-11-04 11:57:14 +08:00
Matthias Krüger
c2cbf55323 Rollup merge of #90500 - xFrednet:00000-update-clippy-deps, r=flip1995
Update Clippy dependencies

Clippy has two outdated dependencies, where one indirect dependency has been flagged by rustsec for dropping a lifetime. See [RUSTSEC-2020-0146](https://rustsec.org/advisories/RUSTSEC-2020-0146). This PR updates these dependencies.

With previous dependency updates, it was tried to prevent duplicates in the `Cargo.lock` file of rust-lang/rust. I've tried to keep this in mind with this update.

* Dependency `semver`
    * Used in `src/tools/cargo/Cargo.toml` as version `1.0.3`
    * Used in `src/tools/rust-analyzer/crates/project_model/Cargo.toml` as version `1`
    * Updated in Clippy from `0.11` to `1.0` (Clippy usually defines the major and minor patch version). The `Cargo.lock` file lists `1.0.3` which is one patch version behind the most recent one but prevents a duplicate with cargo's pinned version.
* Dependency `cargo_metadata`
    * Used in several tools as `0.14`
    * Used in `src/tools/tidy` and `src/tools/rls` as `0.12`
    * Updated in Clippy from `0.12` to `0.14`

All updates to the `Cargo.lock` have been done automatically by `x.py`.

There are still some tools with these outdated dependencies. Clippy didn't require any changes, and it would be likely that the others could also be updated without any problem. Let me know if I should try to update them as well 🙃.

Keep up the good work, whoever is reading this 🦀

---

For Clippy:

changelog: none
2021-11-02 23:48:49 +01:00
bors
4d26c5c82c Auto merge of #7904 - Serial-ATA:improve-doc-suggestion, r=xFrednet
Add suggestion to missing backticks error

changelog: Add a machine applicable suggestion for the [`doc_markdown`] missing backticks lint

closes: #7737
2021-11-02 21:07:21 +00:00
Serial
3732d117da Specify fixable doc tests 2021-11-02 17:04:35 -04:00
Serial
0db8c52291 Add suggestion to missing backticks error 2021-11-02 16:50:47 -04:00
bors
c68af43b3d Auto merge of #7916 - samueltardieu:double-colon-prefix, r=xFrednet
Advise to put a :: prefix inside the ticks

Fixes #7914.

changelog: Keep an initial `::` when [`doc_markdown`] suggests to use ticks
2021-11-02 17:02:06 +00:00
Samuel Tardieu
7f8198acad Advise to put a :: prefix inside the ticks 2021-11-02 17:57:50 +01:00
bors
b6c8168cff Auto merge of #7918 - samueltardieu:use-config-toml, r=flip1995
Use .cargo/config.toml instead of .cargo/config

`.cargo/config.toml` is the preferred form for the local configuration file. This is emphasized in _The Cargo Book_ with the following note:

> Note: Cargo also reads config files without the `.toml` extension, such as `.cargo/config`. Support for the `.toml` extension was added in version 1.39 and is the preferred form.

Moreover, this helps with toml-aware text editors as they will recognize the file extension.

changelog: none
2021-11-02 16:16:20 +00:00
Samuel Tardieu
a68c13563a Use .cargo/config.toml instead of .cargo/config
`.cargo/config.toml` is the preferred form for the local configuration
file. This is emphasized in _The Cargo Book_ with the following note:

> Note: Cargo also reads config files without the `.toml` extension, such
> as `.cargo/config`. Support for the `.toml` extension was added in version
> 1.39 and is the preferred form.

Moreover, this helps with toml-aware text editors as they will recognize
the file extension.
2021-11-02 17:08:10 +01:00
bors
2ebd535eae Auto merge of #7906 - smoelius:master, r=camsteffen
Fix #7903

Fixes #7903 (cc: `@Arnavion)`

changelog: none (bug is in same release)

r? `@camsteffen`
2021-11-02 14:06:36 +00:00
xFrednet
db9e012927 Update clippy dependencies
* semver = "0.11" -> "1.0"
* cargo_metadata = "0.12" -> "0.14"
2021-11-02 14:19:31 +01:00
bors
18cc4e74f8 Auto merge of #7907 - Alexendoo:non-ascii-restriction, r=flip1995
Move non_ascii_literal to restriction

It feels like the more apt category, since cases where you'd want it enabled would be pretty specific

changelog: Move [`non_ascii_literal`] to `restriction`
2021-11-02 10:36:26 +00:00
bors
9720619432 Auto merge of #7901 - samueltardieu:fix-7893, r=xFrednet,flip1995
Prevent clippy::needless_lifetimes false positive in async function definition

Scan `OpaqueDef` bounds for lifetimes as well. Those `OpaqueDef` instances are generated while desugaring an `async` function definition.

This fixes #7893

changelog: Prevent [`clippy::needless_lifetimes`] false positive in `async` function definition
2021-11-02 10:23:15 +00:00
bors
276e8951f1 Auto merge of #7851 - nbdd0121:master, r=flip1995
Fix manual_assert and match_wild_err_arm for `#![no_std]` and Rust 2021

Rust 2015 `std::panic!` has a wrapping block while `core::panic!` and Rust 2021 `std::panic!` does not. See rust-lang/rust#88919 for details.

Note that the test won't pass until clippy changes in rust-lang/rust#88860 is synced.

---

changelog: Fix [`manual_assert`] and [`match_wild_err_arm`] for `#![no_std]` and Rust 2021.

Fixes #7723
2021-11-02 10:09:47 +00:00
Samuel Tardieu
9bcf966e35 Add test case for clippy::needless_lifetimes in async context
Edition needs to be set to 2018 due to the use of `async`.
2021-11-02 10:57:23 +01:00
bors
38d80257d0 Auto merge of #7726 - dswij:unseparated-literal-suffix, r=flip1995
Unseparated literal suffix

Closes #7658

Since `literal_suffix` style is opinionated, we should disable by default and only enforce if it's stated as so.

changelog: [`unseparated_literal_suffix`] is renamed to `literal_suffix`, adds a new configuration `literal-suffix-style` to enforce a certain style writing literal_suffix. Possible values for `literal-suffix-style`: `"separated"`, `"unseparated"`
2021-11-02 09:57:12 +00:00
Samuel Tardieu
3f84010688 Examine lifetimes in OpaqueDef bounds as well
Fix #7893.
2021-11-02 10:54:58 +01:00
bors
4e355ebb6e Auto merge of #7819 - rust-lang:avoid-linting-impossible-truncation, r=flip1995
avoid linting `possible_truncation` on bit-reducing operations

---

*Please write a short comment explaining your change (or "none" for internal only changes)*

changelog: avoid linting `possible_truncation` on bit-reducing operations
2021-11-02 09:44:27 +00:00
bors
08b7e87843 Auto merge of #7911 - giraffate:small_fixes_for_missing_backticks, r=Manishearth
Small fixes for missing backticks in doc

changelog: none
2021-11-02 00:19:57 +00:00