Lily Mara
4844325faf
Add await_holding_invalid_type
lint
...
changelog: [`await_holding_invalid_type`]
This lint allows users to create a denylist of types which are not allowed to be
held across await points. This is essentially a re-implementation of the
language-level [`must_not_suspend`
lint](https://github.com/rust-lang/rust/issues/83310 ). That lint has a lot of
work still to be done before it will reach Rust stable, and in the meantime
there are a lot of types which can trip up developers if they are used
improperly.
2022-04-15 14:39:10 -07:00
Jason Newcomb
48bcc1d95f
Move let_unit_value
back into style
2022-04-14 21:33:32 -04:00
kyoto7250
9716a9eff0
adding condition for map_clone message
...
if msrv < 1.36, the message tells , but the suggestion is
2022-04-12 04:03:48 +09:00
flip1995
71131351de
Merge commit '984330a6ee3c4d15626685d6dc8b7b759ff630bd' into clippyup
2022-04-08 10:06:10 +01:00
Max Baumann
9be3945be7
fix existing clippy tests
2022-03-30 20:12:58 +02:00
lcnr
104ba478f2
clippy: nameres for primitive type impls
2022-03-30 11:57:53 +02:00
lcnr
148b593954
get clippy to compile again
2022-03-30 11:23:58 +02:00
flip1995
bf66aeda0a
Merge commit 'a98e7ab8b94485be6bd03e0c6b8682ecab5b52e6' into clippyup
2022-01-27 15:12:45 +01:00
xFrednet
1afeb71065
Track msrv
attribute for manual_bits
and borrow_as_prt
2022-01-15 00:57:43 +01:00
xFrednet
9e7858545a
Add msrv
config for map_clone
2022-01-14 23:45:05 +01:00
flip1995
fb0142ae41
Merge commit '97a5daa65908e59744e2bc625b14849352231c75' into clippyup
2022-01-13 13:18:19 +01:00
Alex Macleod
04eb27aeaf
Use method name from conf::DisallowedMethod
...
Since def_path_str returns e.g. "core::f32::<impl f32>::clamp" for
"f32::clamp"
2022-01-12 16:23:22 +00:00
flip1995
ece0946d7f
Merge commit '23d11428de3e973b34a5090a78d62887f821c90e' into clippyup
2021-12-17 13:40:22 +01:00
Yechan Bae
c0fd250c62
Fix grammar issues
2021-12-07 10:08:22 -05:00
Yechan Bae
ee0d71e103
Clarify the purpose of the lint
2021-12-07 10:06:34 -05:00
flip1995
8fea1d94f3
Merge commit 'a5d597637dcb78dc73f93561ce474f23d4177c35' into clippyup
2021-12-06 12:33:31 +01:00
flip1995
9b38fb7b71
Also pluralize disallowed_method(s) lint
...
To stay consistent with the sister lint disallowed_type, also rename the
disallowed_method lint to disallowed_methods.
2021-11-18 17:37:06 +01:00
Philipp Hansch
a0d81d1327
Pluralize disallowed_type lint filenames
...
This way they match up with the pluralized lint name as well.
2021-11-18 17:37:06 +01:00
Philipp Hansch
b7f18916fa
Pluralize disallowed_type lint
...
This was brought up in [Zulip] and is also mentioned in the lint naming
conventions. Since this is still a nursery lint, I think there shouldn't
be any problem in renaming it.
[Zulip]: https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/disallow_type.20vs.20disallowed-types
2021-11-18 17:37:02 +01:00
flip1995
731dfde267
Merge remote-tracking branch 'upstream/master' into rustup
2021-11-18 12:22:00 +01:00
xFrednet
e444cbe5d6
New index_refutable_slice
lint
...
* Finding pattern slices for `avoidable_slice_indexing`
* `avoidable_slice_indexing` analysing slice usage
* Add configuration to `avoidable_slice_indexing`
* Emitting `avoidable_slice_indexing` with suggestions
* Dogfooding and fixing bugs
* Add ui-toml test for `avoidable_slice_indexing`
* Correctly suggest `ref` keywords for `avoidable_slice_indexing`
* Test and document `mut` for `avoid_slice_indexing`
* Handle macros with `avoidable_slice_indexing` lint
* Ignore slices with sub patterns in `avoidable_slice_indexing`
* Update lint description for `avoidable_slice_indexing`
* Move `avoidable_slice_indexing` to nursery
* Added more tests for `avoidable_slice_indexing`
* Update documentation and message for `avoidable_slice_indexing`
* Teach `avoidable_slice_indexing` about `HirId`s and `Visitors`
* Rename lint to `index_refutable_slice` and connected config
2021-11-11 17:34:02 +01:00
Joshua Nelson
ac9dd36856
Don't abort compilation after giving a lint error
...
The only reason to use `abort_if_errors` is when the program is so broken that either:
1. later passes get confused and ICE
2. any diagnostics from later passes would be noise
This is never the case for lints, because the compiler has to be able to deal with `allow`-ed lints.
So it can continue to lint and compile even if there are lint errors.
2021-11-08 01:22:28 +00:00
flip1995
e674d0a599
Merge commit 'e18101137866b79045fee0ef996e696e68c920b4' into clippyup
2021-11-04 12:52:36 +00:00
Andre Bogus
a4ede72b3d
update most tests to 2021 edition
2021-10-30 14:50:53 +02:00
flip1995
7631fc5d82
Merge commit '91496c2ac6abf6454c413bb23e8becf6b6dc20ea' into clippyup
2021-10-21 13:11:36 +02:00
flip1995
085181e29d
Merge remote-tracking branch 'upstream/master' into rustup
2021-10-21 12:18:12 +02:00
Cameron Steffen
0a23fff82d
Fix clippy with changed macro statement spans
2021-10-15 02:36:58 -05:00
James Hinshelwood
72078faf91
Allow giving reasons for disallowed_types
...
Co-authored-by: James Hinshelwood <james.hinshelwood@bigpayme.com>
2021-10-08 20:47:52 +01:00
flip1995
5cf4984872
Merge commit 'b7f3f7f6082679da2da9a0b3faf1b5adef3afd3b' into clippyup
2021-10-07 11:21:30 +02:00
Yechan Bae
fb0353b28d
Update documentation and name for non_send_fields_in_send_ty lint
2021-10-02 19:22:37 -04:00
Yechan Bae
ef8df9df68
Forgot to bless ui-toml test
2021-10-01 14:26:04 -04:00
Yechan Bae
4f01656a7d
Add ui-test for enable-raw-pointer-heuristic-for-send config
2021-10-01 14:04:20 -04:00
Yechan Bae
427a09ba7b
Add configuration for raw pointer heuristic
2021-10-01 14:04:20 -04:00
flip1995
23d5457e6d
Merge commit 'cb7915b00c235e9b5861564f3be78dba330980ee' into clippyup
2021-09-28 18:03:12 +01:00
David Tolnay
c2783c1dcb
Downgrade many_single_char_names to pedantic
2021-09-14 09:59:06 -07:00
Ariel Davis
293db0d33c
Allow giving reasons for disallowed_methods
2021-09-08 21:12:02 -04:00
flip1995
1ad5464200
Merge commit '7bfc26ec8e7a454786668e7e52ffe527fc649735' into clippyup
2021-08-12 11:16:25 +02:00
bors
f998e89e43
Auto merge of #7478 - DevinR528:preemtive, r=llogiq
...
Fix nonstandard_macro_braces FP and docs of disallowed_types
changelog: Fix FP in [`nonstandard_macro_braces`] lint
2021-08-10 00:52:04 +00:00
LeSeulArtichaut
4743ec1948
Don't emit too_many_lines
for closures
2021-08-05 15:38:57 +02:00
flip1995
2b20f49841
Merge commit '0cce3f643bfcbb92d5a1bb71858c9cbaff749d6b' into clippyup
2021-07-29 12:16:06 +02:00
Devin Ragotzy
a1bab3bc63
Add primitive type support to disallowed_type lint
...
Fix docs of disallowed_type
Add ability to name primitive types without import path
Move primitive resolution to clippy_utils path_to_res fn
Refactor Res matching, fix naming and docs from review
Use tcx.def_path_str when emitting the lint
2021-07-27 10:01:38 -04:00
Devin Ragotzy
44d37a44bc
Lint inside macro when owned by current crate
2021-07-24 07:30:22 -04:00
Devin Ragotzy
f5c3ed4463
Only trigger for one level of macros
2021-07-24 07:30:22 -04:00
Devin Ragotzy
5bc5bfce04
Add tests for FP in nonstandard_macro_braces
2021-07-24 07:30:22 -04:00
flip1995
1d084b13a5
Merge commit '54a20a02ecd0e1352a871aa0990bcc8b8b03173e' into clippyup
2021-07-15 10:44:10 +02:00
Devin Ragotzy
1d110f8c2e
Fix emitting in nested (proc_)macros for nonstandard_macro_braces lint
2021-07-04 07:06:23 -04:00
David Tolnay
0f662e5833
Downgrade nonstandard_macro_braces to nursery
2021-07-02 22:16:04 -07:00
flip1995
ebe52869a3
Merge commit '61eb38aeda6cb54b93b872bf503d70084c4d621c' into clippyup
2021-07-01 18:17:38 +02:00
Igor Aleksanov
018be41dee
Implement 'disallowed_script_idents' lint
2021-06-30 19:06:33 +03:00
Devin Ragotzy
9492de5843
Add import_rename lint, this adds a field on the Conf struct
...
Rename lint and fix review issues
2021-06-24 16:13:02 -04:00
bors
3120b09151
Auto merge of #7299 - DevinR528:macro-brace, r=llogiq
...
Add macro_braces lint to check for irregular brace use in certain macros
The name is a bit long but this sounds good as `#[allow(unconventional_macro_braces)]` and it seems more clear that we are talking about the macro call not macro definitions, any feedback let me know. Thanks!
fixes #7278
changelog: Add ``[`unconventional_macro_braces`]`` lint that checks for uncommon brace usage with macros.
2021-06-19 17:56:56 +00:00
Devin Ragotzy
723f515b60
Add macro_braces lint to check for irregular brace use in certain macros
...
Rename unconventional -> nonstandard, add config field
Add standard_macro_braces fields so users can specify macro names and
brace combinations to lint for in the clippy.toml file.
Fix errors caused by nonstandard_macro_braces in other lint tests
Fix users ability to override the default nonstandard macro braces
Add type position macros impl `check_ty`
2021-06-17 07:02:36 -04:00
Devin Ragotzy
70ce0c2c55
Remove requirement of fully qualified path for disallowed_method/type
2021-06-11 17:25:32 -04:00
Devin Ragotzy
ea45e2a9cf
Add disallowed_types lint, this adds a field to the Conf struct
...
Replace use of node_type -> node_type_opt, fix clippy warnings
Don't walk the hir unnecessarily let the visitor do it
2021-06-09 07:21:16 -04:00
flip1995
6c27482115
Merge commit '3ae8faff4d46ad92f194c2a4b941c3152a701b31' into clippyup
2021-06-03 08:41:37 +02:00
Cameron Steffen
2e2021bbda
Add avoid_breaking_exported_api config option
2021-05-26 16:35:22 -05:00
ayushmishra2005
9013bf299e
Addressed PR coments
2021-05-14 17:30:26 +05:30
ayushmishra2005
7d83f98ff3
Improve match statements
2021-05-14 08:57:33 +05:30
flip1995
d605882023
Merge commit 'b71f3405606d49b9735606b479c3415a0ca9810f' into clippyup
2021-05-06 12:20:44 +02:00
Cameron Steffen
857d9f15da
Fix error punctuation
2021-05-02 16:56:46 -05:00
Cameron Steffen
1e22e564e4
Refactor config deserialization
2021-05-01 17:38:05 -05:00
flip1995
f6d1f368db
Merge commit 'b40ea209e7f14c8193ddfc98143967b6a2f4f5c9' into clippyup
2021-04-08 17:50:13 +02:00
Matthias Krüger
ca7e95501c
upper_case_acronyms: add ui and ui-toml tests for private/public enums
2021-03-27 01:08:14 +01:00
flip1995
9f6b5de7de
Merge commit '0e87918536b9833bbc6c683d1f9d51ee2bf03ef1' into clippyup
2021-03-25 19:29:11 +01:00
bors
8af28840d2
Auto merge of #6805 - matthiaskrgr:uca_nopub_6803, r=flip1995
...
upper_case_acronyms: don't warn on public items
Fixes #6803
changelog: upper_case_acronyms: ignore public items
2021-03-17 10:53:02 +00:00
flip1995
f2f2a005b4
Merge commit '6ed6f1e6a1a8f414ba7e6d9b8222e7e5a1686e42' into clippyup
2021-03-12 15:30:50 +01:00
Cameron Steffen
ada8c72f3f
Add version = "Two" to rustfmt.toml
...
Ignore UI tests since this change makes rustfmt less friendly with UI
test comments.
2021-03-01 16:17:33 -06:00
Matthias Krüger
8eb2bd13d0
update the lint messages and tests
2021-02-28 02:22:05 +01:00
Matthias Krüger
9dba6a9fde
upper_case_acronyms: don't warn on public items
...
Fixes #6803
changelog: upper_case_acronyms: ignore public items
2021-02-26 21:31:34 +01:00
flip1995
f64149dd04
Merge commit '928e72dd10749875cbd412f74bfbfd7765dbcd8a' into clippyup
2021-02-25 11:25:22 +01:00
Matthias Krüger
913c71018c
upper_case_acronyms: add io-toml tests and bless previous tests
2021-02-24 23:50:55 +01:00
flip1995
8b9f4a0d34
Merge commit '70c0f90453701e7d6d9b99aaa1fc6a765937b736' into clippyup
2021-02-11 15:04:38 +01:00
bors
beb49bad26
Auto merge of #6650 - daxpedda:cargo-common-metadata-publish, r=flip1995
...
Fix cargo_common_metadata warning on `publish = false`.
I believe `cargo_common_metadata` shouldn't trigger when `publish = false`, not sure if everybody agrees.
Made some tests to handle all edge-cases.
Fixes #6649 .
changelog: [`cargo_common_metadata`](https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata ): No longer lints if [`publish = false`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field ) is defined in the manifest
2021-02-11 09:34:44 +00:00
daxpedda
3c8f7542f7
Fux toml_unknown_key
test.
2021-02-06 18:21:03 +01:00
Philip Hayes
7b7e3ca511
Support free functions in disallowed-methods lint
...
In other words, support:
`disallowed_methods = ["alloc::vec::Vec::new"]` (a free function) in
addition to
`disallowed_methods = ["alloc::vec::Vec::leak"]` (a method).
Improve the documentation to clarify that users must specify the full
qualified path for each disallowed function, which can be confusing for
reexports. Include an example `clippy.toml`.
Simplify the actual lint pass so we can reuse `utils::fn_def_id`.
2021-02-04 11:28:55 -08:00
flip1995
f03edfd7a1
Merge commit '4911ab124c481430672a3833b37075e6435ec34d' into clippyup
2020-12-20 17:19:49 +01:00
Philipp Hansch
4bd9ed9b88
Rewrite update-all-references bash scripts in Rust
...
This replaces the `update-all-references` scripts with a single
cargo dev bless
command.
cc #5394
2020-12-12 15:09:57 +01:00
flip1995
8eca423ea1
Merge commit 'c1664c50b27a51f7a78c93ba65558e7c33eabee6' into clippyup
2020-12-06 15:01:03 +01:00
xFrednet
898b7c594c
Renamed the configuraiton to unreadable-literal-lint-fractions
2020-12-05 20:59:53 +00:00
xFrednet
6edd598856
Added a lint-fraction-readability flag to the configuration
2020-12-04 21:26:47 +00:00
Suyash458
aaa4325045
add support for minimum supported rust version.
...
add configuration option for minimum supported rust version
add msrv attribute to some lints listed in #6097
add tests
2020-11-25 12:22:47 +01:00
Eduardo Broto
50419118b4
Merge commit '645ef505da378b6f810b1567806d1bcc2856395f' into clippyup
2020-10-28 23:36:07 +01:00
Cauê Baasch de Souza
e8731a926c
Add large_types_passed_by_value lint
...
Refactor trivially_copy_pass_by_ref and the new lint into pass_by_ref_or_value module
Update stderr of conf_unknown_key test
Rename lint to large_types_passed_by_value
Increase `pass_by_value_size_limit` default value to 256
Improve rules for `large_types_passed_by_value`
Improve tests for `large_types_passed_by_value`
Improve documentation for `large_types_passed_by_value`
Make minor corrections to pass_by_ref_or_value.rs suggested by clippy itself
Fix `large_types_passed_by_value` example and improve docs
pass_by_ref_or_value: Tweak check for mut annotation in params
large_types_passed_by_value: add tests for pub trait, trait impl and inline attributes
2020-10-24 14:46:56 -03:00
Eduardo Broto
cdb555f4fc
Merge commit 'bf1c6f9871f430e284b17aa44059e0d0395e28a6' into clippyup
2020-10-23 22:16:59 +02:00
Takayuki Nakata
377d1fab1f
Remove the generated files by update-references.sh
if they are empty
2020-10-11 22:57:22 +09:00
flip1995
fbf2430f02
Merge commit '2f6439ae6a6803d030cceb3ee14c9150e91b328b' into clippyup
2020-10-09 12:45:29 +02:00
Frank
f9da2946d8
update error message, refactor disallowed_method
2020-09-25 11:09:04 -05:00
Frank
9eb52d2eb6
update toml_unknown_key test
2020-09-25 11:09:04 -05:00
Frank
1479c18396
add disallowed_method lint
2020-09-25 11:09:04 -05:00
flip1995
a12828a80a
Merge commit '5034d47f721ff4c3a3ff2aca9ef2ef3e1d067f9f' into clippyup
2020-09-10 17:47:07 +02:00
Ryan1729
9e7ce9d385
run the specific script suggested by the error message
...
```
./tests/ui-toml/update-references.sh './target/debug/test_build_base' 'functions_maxlines/test.rs'
```
2020-09-04 21:12:16 -06:00
flip1995
027780ca2c
Merge commit '09bd400243ed6f7059fedc0c1623aae3792521d6' into clippyup
2020-08-11 17:50:45 +02:00
Matthias Krüger
e57aafe33f
too-many-lines: make lint adhere to lint message convention
2020-08-10 20:55:23 +02:00
flip1995
6f25adbd5a
Merge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup
2020-07-14 14:59:59 +02:00
ThibsG
754bfb1dc8
Add configurable threshold for type_repetition_in_bounds
lint
2020-07-03 17:29:54 +02:00
flip1995
d13d8987b0
Merge commit '43a1777b89cf6791f9e20878b4e5e3ae907867a5' into clippyup
2020-05-11 20:23:47 +02:00
Glenn Hope
ad92486d52
Add check for "test" in parent name. Include flag for disabling wildcard import exceptions
2020-05-09 11:09:38 -07:00
Marcin Serwin
512f23fff1
Add test for zero single char names
2020-04-15 13:35:44 +02:00
David Tolnay
94154cad20
Downgrade trivially_copy_pass_by_ref to pedantic
2020-04-02 18:56:10 -07:00
Areredify
338fb7a3e9
add excessive bools lints
2020-02-05 20:54:58 +03:00
Mikhail Babenko
2b7bc260de
add size parameter for lint
2020-01-25 18:06:52 +03:00
Areredify
7fddac0404
Add new lint: large stack array
...
added documentation
minor style fix
change as to ::from
add ignore to doc
include threshold in lint message/make suggestion more apparent/use Scalar api instead of matching
style fix
shange snippet_opt to snippet
2019-11-13 21:44:29 +03:00
Lzu Tao
b869eeb2a4
build: improve script and travis config
...
* fix a diff failure on windows
See https://travis-ci.com/rust-lang/rust-clippy/jobs/245971932#L1625
for an example.
* use cmp instead of diff > /dev/null
* clone single branch instead of clone then checking out
* do not decrypt key if have no diff change
2019-10-22 10:14:39 +07:00
flip1995
17808c7d00
Update ui-toml tests
2019-08-14 09:58:00 +02:00
Matthias Krüger
5d58163f7d
trivially_copy_pass_by_ref: print size of type and limit in the lint message
2019-05-23 23:48:20 +02:00
Matthias Krüger
920e47ceb5
NFC: fix typos
2019-04-04 11:15:30 +02:00
Félix Fischer
ddc718087f
Renamed: Cyclomatic Complexity -> Cognitive Complexity
...
* Ran automatic naming update
* Formalized rename of `cyclomatic_complexity` to `cognitive_complexity`
** Added the rename to `lib.rs`
** Added rename test
* Added warning for deprecated key `cyclomatic_complexity_threshold` and tests for it
* Added deprecation status for Clippy's builtin attribute
* Updated tests for new builtin attribute renaming
2019-03-06 10:07:38 -03:00
Unknown
6e35b33bc3
Updating code to ignore rustfmt issue.
2019-02-01 13:21:19 -05:00
Unknown
3a97b5fa20
Moving tests to ui-toml to make use of clippy.toml
2019-02-01 13:21:19 -05:00
Araam Borhanian
1169066a0b
Adding lint for too many lines.
2019-02-01 13:21:19 -05:00
Philipp Hansch
38d4ac7cea
Remove all copyright license headers
...
Discussion previously happened in https://github.com/rust-lang/rust/pull/43498
2019-01-08 21:46:39 +01:00
flip1995
d2dbd0b8a5
Update *.stderr files
2018-12-28 12:41:12 +01:00
Matthias Krüger
7bcc2cd9c8
update test stderr
2018-12-10 08:22:07 +01:00
Matthias Krüger
435299be30
rustfmt tests
2018-12-09 23:26:16 +01:00
Oliver Scherer
b8654eaa6c
Stabilize tool lints
2018-10-11 12:16:22 +02:00
Manish Goregaokar
e9c025ea70
Add license header to Rust files
2018-10-06 09:43:08 -07:00
flip1995
cfd4c538d4
Adapt ui-toml-tests to the tool_lints
2018-08-29 11:08:29 -07:00
Wim Looman
700ece5648
Allow configuring the trivial copy size limit
2018-06-15 16:53:34 +02:00
Wim Looman
3244d122fd
Get compile-test tests for configuration working
2018-05-30 20:37:18 +02:00