Commit Graph

658 Commits

Author SHA1 Message Date
Takayuki Nakata 1e8ada3cab Add lint `same_item_push` 2020-08-05 22:51:38 +09:00
Philipp Krones 84455b211f
Rollup merge of #5852 - wiomoc:feature/lint-duplicate-trait, r=Manishearth
Add lint for duplicate methods of trait bounds

rel: #5777

changelog: Add [`trait_duplication_in_bounds`] lint
2020-08-04 12:06:41 +02:00
JarredAllen 25abd7ae76 Create stable_sort_primitive lint 2020-08-03 11:17:43 -07:00
Christoph Walcher 94c50bc8c9
Lint duplicate methods of trait bounds
Fixes #5777
2020-07-28 16:42:26 +02:00
Ryan1729 5a644964fc run cargo dev new_lint
specifically:
cargo dev new_lint --name derive_ord_xor_partial_ord --category correctness --pass late
2020-07-26 20:40:57 -06:00
flip1995 d164ab65f7 Merge commit 'da5a6fb1b65ec6581a67e942a3850f6bc15a552c' into clippyup 2020-07-26 21:07:07 +02:00
flip1995 aba0d244d4
Typo: Change Log -> Changelog 2020-07-16 15:40:13 +02:00
flip1995 cf383cf48a
Update changelog to beta-1.46 2020-07-16 15:36:53 +02:00
Matthias Krüger 126790999a new lint: Returning unit from closures expecting Ord
This lint catches cases where the last statement of a closure expecting
an instance of Ord has a trailing semi-colon. It compiles since the
closure ends up return () which also implements Ord but causes
unexpected results in cases such as sort_by_key.

Fixes #5080

reprise: rebase, update and address all concerns
2020-07-14 15:54:04 +02:00
flip1995 6f25adbd5a Merge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup 2020-07-14 14:59:59 +02:00
bors 12df6384b9 Auto merge of #5773 - giraffate:repeat_once, r=flip1995
Add a lint for `.repeat(1)`

changelog: New lint `repeat_once`

fix #3028.
2020-07-14 09:13:58 +00:00
Takayuki Nakata 5307cb5614 Add a lint for `.repeat(1)`
fix #3028.
2020-07-07 23:13:39 +09:00
robojumper 2e8a1be444 new lint: match_like_matches_macro 2020-07-06 18:25:20 +02:00
JarredAllen ccb999851a Fix compile error from library change 2020-07-03 16:50:45 -07:00
JarredAllen 93f0f5d37b Last few tweaks 2020-07-03 16:50:45 -07:00
JarredAllen bf48a2d50d Lint for if let Some(x) = ... instead of Option::map_or 2020-07-03 16:47:38 -07:00
Robert Sedlacek c3c402783f Added restriction lint: pattern-type-mismatch 2020-07-03 18:12:29 +02:00
Eduardo Broto 814349f941 Lint enabling the whole restriction group 2020-06-30 21:56:19 +02:00
Teddy_Wang 40ee620e51 Added a lint for .map(|x| x) 2020-06-13 10:08:12 -04:00
Lzu Tao 8db24840f7 Merge commit 'ff0993c5e9162ddaea78e83d0f0161e68bd4ea73' into clippy 2020-06-09 14:36:01 +00:00
Mazdak Farrokhzad 7b6dc7b33d
add `unnested_or_patterns` lint 2020-06-07 21:09:47 +02:00
bors 6fc9939893 Auto merge of #5671 - ebroto:changelog_144_145, r=flip1995
Update changelog for stable:1.44 beta:1.45

[Rendered](https://github.com/ebroto/rust-clippy/blob/changelog_144_145/CHANGELOG.md)

changelog: none
2020-06-05 12:52:23 +00:00
Eduardo Broto dcd4806782 Apply suggestions from PR review 2020-06-02 20:45:57 +02:00
bors f760d77bdb Auto merge of #5597 - esamudera:slice_iter_next, r=flip1995
New lint: iter_next_slice

Hello, this is a work-in-progress PR for issue: https://github.com/rust-lang/rust-clippy/issues/5572

I have implemented lint to replace `iter().next()` for `slice[index..]` and `array` with `get(index)` and `get(0)` respectively. However since I made a lot of changes, I would like to request some feedback before continuing so that I could fix mistakes.

Thank you!

---

changelog: implement `iter_next_slice` lint and test, and modify `needless_continues`, `for_loop_over_options_result` UI tests since they have `iter().next()`
2020-06-02 11:42:22 +00:00
Eduardo Broto a44fa387ef Update documentation on changelog updates 2020-06-01 20:30:20 +02:00
Eduardo Broto 6955420ace Update changelog for stable:1.44 beta:1.45 2020-06-01 09:19:54 +02:00
JarredAllen b89880a30c Ran update_lints 2020-05-31 15:19:31 -07:00
Ericko Samudera 32fde0b511 New lint: iter_next_slice 2020-06-01 03:08:51 +07:00
JarredAllen 7e843515d9 Created lint 2020-05-31 11:55:45 -07:00
Tim Nielens 5faab874f9 new lint: vec_resize_to_zero 2020-05-30 17:52:10 +02:00
flip1995 a0e9f9bd0d Merge commit '7ea7cd165ad6705603852771bf82cc2fd6560db5' into clippyup2 2020-05-28 15:45:24 +02:00
bors cafa94662c Auto merge of #5582 - vtmargaryan:match_wildcard_for_single_variants, r=flip1995
New lint: `match_wildcard_for_single_variants`

changelog: Added a new lint match_wildcard_for_single_variants to warn on enum matches where a wildcard is used to match a single variant

Closes #5556
2020-05-20 12:51:28 +00:00
flip1995 f1d3086492 Merge commit 'e214ea82ad0a751563acf67e1cd9279cf302db3a' into clippyup 2020-05-17 17:36:26 +02:00
bors e214ea82ad Auto merge of #5568 - ThibsG:RenameIdentityConversionLint, r=flip1995
Rename lint `identity_conversion` to `useless_conversion`

Lint name `identity_conversion` was misleading, so this PR renames it to `useless_conversion`.

As decision has not really came up in the issue comments, this PR will probably need discussion.

fixes #3106

changelog: Rename lint `identity_conversion` to `useless_conversion`
2020-05-17 11:29:04 +00:00
Aleksei Latyshev 07f1edf2d4
improve and generalize `option_and_then_some` lint
- rename it to bind_instead_of_map
2020-05-17 12:17:03 +03:00
ThibsG e55b920970 Rename lint `identity_conversion` to `useless_conversion` 2020-05-16 22:50:20 +02:00
ThibsG ab87f87ba0 Fix CHANGELOG.md and lint names plural 2020-05-15 18:27:11 +02:00
ThibsG 93386563f6 Rename lint `map_unwrap` to `map_unwrap_or` and register lints as renamed 2020-05-15 09:17:39 +02:00
Vardan Margaryan 94e4b5ec31 Add the redundant_wildcard_enum_match lint 2020-05-14 22:36:46 +03:00
ThibsG adbdf7549c Merge `for_loop_over_option` and `for_loop_over_result` lints into `for_loop_over_fallible` lint 2020-05-14 16:01:07 +02:00
ThibsG 0e8be599cd Merge `option_expect_used` and `result_expect_used` lints into `expect_used` lint 2020-05-14 16:01:07 +02:00
ThibsG bcf61666bd Merge `option_unwrap_used` and `result_unwrap_used` lints into `unwrap_used` lint 2020-05-14 16:01:07 +02:00
ThibsG 6cbdd1e49d Merge `option_map_unwrap_or`, `option_map_unwrap_or_else` and `result_map_unwrap_or_else` lints into `map_unwrap` lint 2020-05-14 15:56:17 +02:00
ThibsG 945c944709 Merge `block_in_if_condition_expr` and `block_in_if_condition_stmt` lints into `block_in_if_condition` lint 2020-05-14 15:56:17 +02:00
Eduardo Broto 0f2b1193f9 Remove reverse_range_loop lint 2020-05-13 20:33:32 +02:00
Eduardo Broto 8ffa0bfaa2 New lint: reversed_empty_ranges 2020-05-13 20:33:32 +02:00
flip1995 d13d8987b0 Merge commit '43a1777b89cf6791f9e20878b4e5e3ae907867a5' into clippyup 2020-05-11 20:23:47 +02:00
Eduardo Broto 3b58d66b22 Add the manual_async_fn lint 2020-05-07 21:42:40 +02:00
Eduardo Broto f072ded3bf Implement the manual_non_exhaustive lint 2020-05-01 02:10:16 +02:00
bors d13ffbe3fe Auto merge of #5522 - CrazyRoka:match_vec_item, r=phansch
New  lint `match_vec_item`

Added new lint to warn a match on index item which can panic. It's always better to use `get(..)` instead.
Closes #5500
changelog: New lint `match_on_vec_items`
2020-04-27 06:02:05 +00:00
Eduardo Broto 149f6d6046 Implement mismatched_target_os lint 2020-04-26 21:27:29 +02:00
CrazyRoka 63b451ea25 Renamed lint to `match_on_vec_items` 2020-04-25 11:34:16 +03:00
CrazyRoka 96e2bc80f5 Added lint `match_vec_item` 2020-04-24 22:45:15 +03:00
bors a609a9eb79 Auto merge of #5498 - phansch:update_changelog, r=flip1995
Update CHANGELOG.md for Rust 1.43 and 1.44

[Rendered](https://github.com/phansch/rust-clippy/blob/update_changelog/CHANGELOG.md)

changelog: none
2020-04-23 18:35:22 +00:00
Andy Weiss 6c25c3c381 Lint for holding locks across await points
Fixes #4226

This introduces the lint await_holding_lock. For async functions, we iterate
over all types in generator_interior_types and look for types named MutexGuard,
RwLockReadGuard, or RwLockWriteGuard. If we find one then we emit a lint.
2020-04-21 21:07:43 -07:00
Philipp Hansch 30c28a796d
Also mention `--fix` for nightly users 2020-04-21 07:06:44 +02:00
Philipp Hansch 803670eeb2
Address review comments 2020-04-20 22:53:00 +02:00
Philipp Hansch ca59ff2031
remark fixes 2020-04-20 22:29:27 +02:00
Philipp Hansch 4e63faa6df
Update CHANGELOG.md for Rust 1.43 and 1.44 2020-04-20 22:22:05 +02:00
bors 6ce05bf849 Auto merge of #5332 - DevinR528:if-let-else-mutex, r=flip1995
If let else mutex

changelog: Adds lint to catch incorrect use of `Mutex::lock` in `if let` expressions with lock calls in any of the blocks.

closes: #5219
2020-04-20 20:21:33 +00:00
Devin R 001a42e632 progress work on suggestion for auto fix 2020-04-20 06:29:59 -04:00
Eduardo Broto 00b4f2819f Implement unsafe_derive_deserialize lint 2020-04-19 23:26:17 +02:00
pmk21 7c52e51d79 Added basic lint and tests 2020-04-18 11:39:54 +05:30
Roland Kuhn d2cbbff217 add lint futures_not_send 2020-04-17 13:54:05 +02:00
Philipp Krones ceea3c6a35
Rollup merge of #5248 - ThibsG:ConstValues, r=flip1995
Add lint on large non scalar const

This PR adds the new lint `non_scalar_const` that aims to warn against `const` declaration of large arrays. For performance, because of inlining, large arrays should be preferably declared as `static`.

Note: i made this one to warn on all const arrays, whether they are in a body function or not. I don't know if this is really necessary, i could just reduce this lint to variables out of function scope.

Fixes: #400

changelog: add new lint for large non-scalar types declared as const
2020-04-15 20:12:28 +02:00
ThibsG 72b9ae2a10 Use only check_expr with parent expr and precedence 2020-04-15 17:18:12 +02:00
ThibsG 6b4ab82746 Global rework + fix imports 2020-04-15 17:18:12 +02:00
ThibsG 380f7218b3 Add lint on large const arrays 2020-04-09 09:09:39 +02:00
Nick Torres 91d8a804d3 result_map_or_into_option: add lint to catch manually adpating Result -> Option
Result<T, E> has an `ok()` method that adapts a Result<T,E> into an Option<T>.
It's possible to get around this adapter by writing Result<T,E>.map_or(None, Some).

This lint is implemented as a new variant of the existing
[`option_map_none` lint](https://github.com/rust-lang/rust-clippy/pull/2128)
2020-04-04 03:17:13 -07:00
Jacek Pospychala f8e892db5e useless Rc<Rc<T>>, Rc<Box<T>>, Rc<&T>, Box<&T> 2020-04-02 00:02:25 +02:00
Tomasz Miąsko b77b219280 Lint unnamed address comparisons 2020-03-30 21:42:16 +02:00
bors d3989eef2d Auto merge of #5319 - 1tgr:master, r=flip1995
Lint for `pub(crate)` items that are not crate visible due to the visibility of the module that contains them

changelog: Add `redundant_pub_crate` lint

Closes #5274.
2020-03-23 20:35:49 +00:00
flip1995 552768f092
Update changelog to 1.43.0 beta 2020-03-18 14:55:44 +01:00
Tim Robinson 52208f3cf3 Lint for `pub(crate)` items that are not crate visible due to the visibility of the module that contains them
Closes #5274.
2020-03-16 12:21:00 +00:00
flip1995 7b08c7a36e
Change changelog formatting 2020-03-12 21:02:15 +01:00
flip1995 da29402d2e
Update CHANGELOG.md 2020-03-12 21:01:19 +01:00
Jacob Meyers 0f7f30711e add lint on File::read_to_string and File::read_to_end 2020-03-06 09:50:49 -05:00
flip1995 57393b5106
Rename macro_use_import -> macro_use_imports 2020-03-05 19:22:17 +01:00
Devin R 597e02dcdf warn on macro_use attr 2020-03-04 09:36:02 -05:00
ThibsG 2aa14c9beb Add restrictive pat use in full binded struct 2020-03-04 09:11:07 +01:00
Krishna Sai Veera Reddy ff0d44e45a Add `imprecise_flops` lint
Add lint to detect floating point operations that can be computed more
accurately at the cost of performance. `cbrt`, `ln_1p` and `exp_m1`
library functions call their equivalent cmath implementations which is
slower but more accurate so moving checks for these under this new lint.
2020-02-23 22:36:15 -08:00
Krishna Sai Veera Reddy 4065ca9c8c Move `manual_mul_add` into `suboptimal_flops` lint 2020-02-23 22:20:34 -08:00
Krishna Sai Veera Reddy 6dacb1aa67 Change lint name to `suboptimal_flops` 2020-02-23 22:20:34 -08:00
Krishna Veera Reddy 1f4f357bf5 Consolidate the accuracy and efficiency lints
Merge the accuracy and efficiency lints into a single lint that
checks for improvements to accuracy, efficiency and readability
of floating-point expressions.
2020-02-23 22:20:33 -08:00
Krishna Veera Reddy c636c6a55b Add lints to detect inaccurate and inefficient FP operations
Add lints to detect floating point computations that are either
inaccurate or inefficient and suggest better alternatives.
2020-02-23 22:20:33 -08:00
flip1995 4229dbcf33
Run update_lints 2020-02-21 11:14:16 +01:00
Krishna Sai Veera Reddy 219c94d028 Separate out lint to check lossy whole number float literals 2020-02-20 22:33:36 -08:00
flip1995 757bbf7feb
Fix markdown Files
Rendered:

[CHANGELOG.md](https://github.com/flip1995/rust-clippy/blob/gha/CHANGELOG.md)
[CODE_OF_CONDUCT.md](https://github.com/flip1995/rust-clippy/blob/gha/CODE_OF_CONDUCT.md)
[CONTRIBUTING.md](https://github.com/flip1995/rust-clippy/blob/gha/CONTRIBUTING.md)
[README.md](https://github.com/flip1995/rust-clippy/blob/gha/README.md)
[clippy_dummy/PUBLISH.md](https://github.com/flip1995/rust-clippy/blob/gha/clippy_dummy/PUBLISH.md)
[doc/adding_lints.md](https://github.com/flip1995/rust-clippy/blob/gha/doc/adding_lints.md)
[etc/relicense/RELICENSE_DOCUMENTATION.md](https://github.com/flip1995/rust-clippy/blob/gha/etc/relicense/RELICENSE_DOCUMENTATION.md)
2020-02-12 09:34:25 +01:00
Krishna Sai Veera Reddy be1bc571c3 Add `option-env-unwrap` lint 2020-02-08 16:44:35 -08:00
Areredify 338fb7a3e9 add excessive bools lints 2020-02-05 20:54:58 +03:00
ThibsG 6afd7ea147 Use span_lint_and_sugg + move infaillible lint
- moving infaillible lint to prevent collisions
2020-02-04 22:49:08 +01:00
flip1995 1ef4509eb4
Update changelog 2020-01-30 23:34:07 +01:00
Mikhail Babenko d1f8621711 add lint 2020-01-30 16:48:56 +03:00
xiongmao86 512efbea23 Declare lint and implement lint logic. 2020-01-30 00:21:29 +08:00
Areredify 796958c7e2 add `option_as_ref_deref` lint 2020-01-23 16:12:16 +03:00
Yuki Okushi 95c369fa91 Add `skip_while_next` lint 2020-01-20 10:56:02 +09:00
xiongmao86 96334d0d7c Declare lint. 2020-01-12 19:54:17 +08:00
ThibsG 8ae8b08e32 Change lint name to WILDCARD_IN_OR_PATTERNS 2020-01-07 18:48:16 +01:00
ThibsG 96c4198832 New lint: pats_with_wild_match_arm
- Wildcard use with other pattern in same match arm
2020-01-07 18:48:16 +01:00
Krishna Sai Veera Reddy 9e6a6069a7 Add lint to detect usage of invalid atomic ordering
Detect usage of invalid atomic ordering modes such as
`Ordering::{Release, AcqRel}` in atomic loads and
`Ordering::{Acquire, AcqRel}` in atomic stores.
2020-01-06 16:39:31 -08:00
Brad Sherman ab5ff0352e Add lint for iter.nth(0)
- Encourage iter.next() rather than iter.nth(0), which is less readable
2020-01-04 11:20:11 -06:00
Krishna Veera Reddy 8db319f957 Use `mem::take` instead of `mem::replace` when applicable
`std::mem::take` can be used to replace a value of type `T`
with `T::default()` instead of `std::mem::replace`.
2019-12-31 09:22:34 -08:00
mgr-inz-rafal f191e916bd Add new lint (modulo_arithmetic) 2019-12-28 16:46:08 +01:00
bors 1837cbce6c Auto merge of #4885 - rust-lang:mut-key-types, r=flip1995
new lint: mutable_key_type

This fixes #732 - well, partly, it doesn't adress `Hash` impls, but the use of mutable types as map keys or set members

changelog: add `mutable_key_type` lint

r? @flip1995
2019-12-24 13:32:45 +00:00
Andre Bogus 40435acf3d new lint: mutable_key_type 2019-12-24 13:46:19 +01:00
bors 143ad5e2d1 Auto merge of #4911 - phansch:update_changelog, r=flip1995
Update changelog for Rust 1.39 and 1.40

[Rendered](https://github.com/phansch/rust-clippy/blob/update_changelog/CHANGELOG.md)

changelog: none
2019-12-23 16:06:56 +00:00
Philipp Hansch b1a5d25221
Fix two commit hashes in changelog 2019-12-23 07:08:09 +01:00
Mikhail Babenko a310cb2d0b implemented `let_underscore` lint
actually add files

update lints

change to pedantic
2019-12-22 22:10:25 +03:00
Philipp Hansch 123ecac655
Update changelog for Rust 1.39 and 1.40 2019-12-18 21:28:52 +01:00
Krishna Veera Reddy c77fc06d52 Add lint to detect transmutes from float to integer
Add lint that detects transmutation from a float to an integer
and suggests usage of `{f32, f64}.to_bits()` instead.
2019-12-07 16:33:49 -08:00
RobbieClarken f5d0a452ba Add lint for pub fns returning a `Result` without documenting errors
The Rust Book recommends that functions that return a `Result` type have
a doc comment with an `# Errors` section describing the kind of errors
that can be returned
(https://doc.rust-lang.org/book/ch14-02-publishing-to-crates-io.html#commonly-used-sections).
This change adds a lint to enforce this. The lint is allow by default;
it can be enabled with `#![warn(clippy::missing_errors_doc)]`.

Closes #4854.
2019-12-06 17:19:05 +10:30
Mikhail Babenko 9ec8888b91 implemented `as_conversions` lint
actuall add files

add better example and change pedantic to restriction
2019-11-25 18:12:52 +03:00
flip1995 9b4faf97f3
Run update_lints 2019-11-23 17:57:28 +01:00
flip1995 7db973d06f
Merge remote-tracking branch 'FlorianRohm/issue/4623' into rollup-new-lints 2019-11-23 17:56:13 +01:00
flip1995 353668ee6c
Merge remote-tracking branch 'Areredify/large_stack_arrays' into rollup-new-lints 2019-11-23 17:55:10 +01:00
flip1995 213765a1d3
Merge remote-tracking branch 'popzxc/if-same-cond-fn' into rollup-new-lints 2019-11-23 17:54:26 +01:00
Igor Aleksanov bbb8cd4fbb Implement if_same_cond_fn lint
Run ./util/dev

Revert changelog entry

Rename lint to same_functions_in_if_condition and add a doc example

Add testcases with different arg in fn invocation
2019-11-20 06:54:46 +03:00
Andre Bogus c21b198576 New lint: zst_offset 2019-11-15 22:39:27 +01:00
Florian Rohm 73806b72a9 register new lint "tabs in doc comments" and update readme 2019-11-15 16:26:30 +01: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
Michael Wright 5817a4fa06 Add `to_digit_is_some` lint 2019-11-10 15:52:59 +02:00
Heinz N. Gies 60c2fdd0b9 Update lints 2019-11-07 17:10:18 +01:00
Marcel Hellwig 5572476a36 Add lint for debug_assert_with_mut_call
This lint will complain when you put a mutable function/method call
inside a `debug_assert` macro, because it will not be executed in
release mode, therefore it will change the execution flow, which is not
wanted.
2019-10-22 10:39:55 +02:00
Heinz N. Gies 7f454d8d06 Split out tests 2019-10-18 07:40:48 +02:00
Heinz N. Gies 98dc3aabea Add todo and tests 2019-10-18 07:37:58 +02:00
HMPerson1 76b44f34b9
Add `inefficient_to_string` lint 2019-10-16 15:54:20 -04:00
James Wang 664522badd
Add a new lint for unused self 2019-10-15 09:58:11 +02:00
Andre Bogus cc622608db new lints around `#[must_use]` fns
`must_use_unit` lints unit-returning functions with a `#[must_use]`
attribute, suggesting to remove it.

`double_must_use` lints functions with a plain `#[must_use]`
attribute, but which return a type which is already `#[must_use]`,
so the attribute has no benefit.

`must_use_candidate` is a pedantic lint that lints functions and
methods that return some non-unit type that is not already
`#[must_use]` and suggests to add the annotation.
2019-10-14 12:09:04 +02:00
Nikos Filippakis 5143fe1a78 New lint: suspicious_unary_op_formatting
Lints when, on the RHS of a BinOp, there is a UnOp without a space
before the operator but with a space after (e.g. foo >- 1).

Signed-off-by: Nikos Filippakis <nikolaos.filippakis@cern.ch>
2019-10-09 16:22:00 +02:00
Ethan Lam 327c91f8c7 Addresses Issue #4001
Fixed typo

Fixes lint name and uses appropriate linting suggestion

changed lint help message

Added autofixable test

Added Autofixable Test

Removed Broken Autofixable File

updated lints

Generated Autofixable/Nonfixable Test Cases

Changed Suggestion Applicability

Updated Lint Count
2019-10-08 08:46:29 -05:00
Andre Bogus 27fa2b7944 New lint: unsound_collection_transmute 2019-10-02 21:18:00 +02:00
Andre Bogus 23a9c02120 New lint: needless_doc_main 2019-10-02 17:17:22 +02:00
James Wang 52408f5b7d
Add a new lint for comparison chains 2019-09-24 16:55:05 -05:00
bors 0fcb49ee30 Auto merge of #4566 - phansch:update_changelog2, r=flip1995
Update the changelog for Rust 1.38

[Rendered](https://github.com/phansch/rust-clippy/blob/update_changelog2/CHANGELOG.md#rust-138)

changelog: none
2019-09-23 07:11:21 +00:00
Philipp Hansch b451e43098
Update the changelog for Rust 1.38 2019-09-22 19:19:59 +02:00
Michael Wright d04bf15114 Merge branch 'master' into unneeded_wildcard_pattern 2019-09-22 08:59:23 +02:00
Andre Bogus 8d884c8a1a new lint: mem-replace-with-uninit 2019-09-20 00:25:57 +02:00
Andre Bogus 70a7dab773 New lint: Require `# Safety` section in pub unsafe fn docs 2019-09-19 09:19:55 +02:00
Michael Wright 4a3bc6b592 Add `unneeded-wildcard-pattern` lint 2019-09-12 08:25:05 +02:00
Shotaro Yamada 4960f79476 Add manual_saturating_arithmetic lint 2019-09-04 18:38:25 +09:00
Andre Bogus b01f2d1126 lint against `MaybeUninit::uninit().assume_init()` 2019-09-03 17:37:38 +02:00
bors 6d9ee9e5eb Auto merge of #4372 - phansch:changelog_update, r=flip1995
docs: Explain how to update the changelog

cc @Manishearth Is this more or less how you did it last time?

[Rendered](https://github.com/phansch/rust-clippy/blob/changelog_update/doc/changelog_update.md#changelog-update)

changelog: none
2019-08-21 08:46:10 +00:00
Lzu Tao 7065239da5 Add option_and_then_some lint 2019-08-19 03:54:40 +00:00
Jeremy Stucki f4f31a4ff4
Implement lint 'suspicious_map' 2019-08-15 22:58:32 +02:00
Philipp Hansch 171f307b65
Fix links to lints in changelog 2019-08-14 20:39:01 +02:00
Philipp Hansch 22c649a8a6
Update changelog for Rust 1.37
Also updates the rest of the changelog wrt. to the latest releases.
2019-08-14 20:20:51 +02:00
bors 06430e7af4 Auto merge of #4363 - phansch:fix_lint_deprecation, r=flip1995
Update lint deprecation for tool lints

changelog: Allow tool lints (`clippy::*`) to be deprecated

Our lint deprecation previously didn't work for tool lints, because
`register_removed` was registering lints to be removed _without_ the
`clippy` prefix.

Fixes #4349
2019-08-14 11:37:10 +00:00
Philipp Hansch b50c13c578
Fix invalid_ref deprecation 2019-08-12 19:42:23 +02:00
Jeremy Stucki b651f19eb8
Rename 'flat_map' → 'flat_map_identity' 2019-08-11 20:34:25 +02:00
Jeremy Stucki 05d9f884e1
Merge branch 'origin/master' into flat-map 2019-08-11 19:22:40 +02:00
Ralf Jung 40fea7a9e0 update_lints 2019-08-11 11:02:25 +02:00
Philipp Hansch 8d24facccb
docs: Explain how to update the changelog 2019-08-11 09:24:03 +02:00
Vincent Dal Maso 77b21b644f
Move expression check to LateLintPass
Changes:
- Move from EarlyLintPass
- Fix entrypoint check with function path def_id.
2019-08-05 13:23:30 +02:00
xd009642 925e8207fa Respond to review comments
Update README and CHANGELOG using the util scripts, refine the help message and fix the float_cmp error.
2019-07-27 21:58:29 +01:00
Darth-Revan 0513202d25
Implement lint for inherent to_string() method. 2019-07-17 08:58:32 +02:00
Jeremy Stucki c7da4c26fb
Implement flat_map lint 2019-07-08 17:11:54 +02:00
Joe Frikker 60a80849ce Adding try_err lint 2019-06-22 16:37:05 -04:00
flip1995 a3f6f842ef
Unify heading style 2019-06-19 09:18:19 +02:00
Manish Goregaokar 83e5e8fcd0 Make headings stable 2019-06-18 15:12:18 -07:00
Manish Goregaokar 2d4fc585e1 Update changelog 2019-06-18 15:09:53 -07:00
krk 55740219b0
Rename REDUNDANT_STATIC_LIFETIME to REDUNDANT_STATIC_LIFETIMES. 2019-06-14 10:45:03 +02:00
krk 637e92d44e
Rename const_static_lifetime to redundant_static_lifetime. 2019-06-14 10:45:02 +02:00
krk 16bd4796e9
Add lint for statics with explicit static lifetime. 2019-06-14 09:41:46 +02:00
Thiago Arrais b364eb7b54 Adds lint for integer division 2019-06-12 09:37:14 -03:00
Harrison McCullough f32c2fcb7e Implement get_last_with_len lint 2019-05-20 18:01:21 -06:00
bors fd56381015 Auto merge of #4088 - pJunger:check1, r=oli-obk
Added lint for TryFrom for checked integer conversion.

works towards #3947

Added lint for try_from for checked integer conversion.
Should recognize simple & straight-forward checked integer conversions.
2019-05-20 09:31:09 +00:00
Manish Goregaokar a383e48241 Update master changelog
Up to 60a609acae
2019-05-18 09:02:11 -07:00
Manish Goregaokar e2761311bb Update beta changelog 2019-05-18 08:38:29 -07:00
pJunger 47444c44ad Added lint for TryFrom for checked integer conversion rust-lang#3947. 2019-05-18 09:33:25 +02:00
Manish Goregaokar 373d270673 Rename to redundant_closure_for_method_calls 2019-05-16 09:18:50 -07:00
Michael Wright 4fcaab3d62 Split redundant_closure lint
Move the method checking into a new lint called
`redundant_closures_for_method_calls` and put it in the pedantic group.

This aspect of the lint seems more controversial than the rest.

cc #3942
2019-05-16 08:25:39 +02:00
André Luis Leal Cardoso Junior b411391f8e Add lints for find_map 2019-04-30 16:45:28 -03:00
André Luis Leal Cardoso Junior 7e9cb5b84a Add lint PathBufPushOverwrite 2019-04-18 08:05:55 -03:00
Manish Goregaokar 737e45ad2d Link to ICEs 2019-04-14 08:17:01 -07:00
Philipp Hansch 02afbb9d61 Update CHANGELOG.md
Co-Authored-By: Manishearth <manishsmail@gmail.com>
2019-04-14 08:14:48 -07:00
Manish Goregaokar 22b9366e75 Beta changelog 2019-04-13 15:05:25 -07:00
Philipp Hansch 745d6fb74b
Mention configuration option for too_many_lines lint 2019-04-13 11:04:58 +02:00
Philipp Hansch 543858d741
Update changelog for Rust 1.34.0 2019-04-13 09:55:48 +02:00
Félix Fischer 069957a8ad Add TransmutingNull Lint
* Late Lint pass, catches:
  * One liner: 0 -> null -> transmute
  * One liner: std:null() -> transmute
  * Const (which resolves to null) -> transmute
* UI Test case for Lint
* Updated test for issue 3849, because now the lint that code generated is in Clippy.
* Expanded `const.rs` miri-based Constant Folding code, to cover
  raw pointers
2019-04-02 11:39:43 -03: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
Philipp Hansch 64b400a1f4
Update changelog for Rust 1.33 2019-02-25 22:53:02 +01:00
Michael Howell cb1c0b6849 Update README and CHANGELOG 2019-02-17 22:53:08 -07:00
rhysd 4b736ff29b Merge branch 'master' into issue3721 2019-02-03 21:27:23 +09:00
Unknown 93bf74a158 Running util/dev to update README/CHANGELOG 2019-02-01 13:21:19 -05:00
rhysd 9d130a546f add dbg_macro rule to CHANGELOG.md and update count in README 2019-02-01 11:32:22 +09:00
Alex Hamilton efaed8e0c0 wildcard_match_arm: lint only enum matches. 2019-01-29 15:33:04 -06:00
Alex Hamilton c75dfeb29b wildcard_match_arm: add lint properly. 2019-01-29 15:33:04 -06:00
Philipp Hansch c3980bf0bc
Add initial version of const_fn lint 2019-01-29 08:19:05 +01:00
Philipp Hansch 59e176d4af
Remove unsafe_vector_initialization from added lints
It was deprecated before it reached a stable release,
no need to include it.
2019-01-26 12:50:40 +01:00
Philipp Hansch 1e4f44853c
Update changelog with all changes since 0.0.212 2019-01-24 20:14:33 +01:00
Abroskin Alexander 7075015f31
Merge branch 'master' into add-lints-aseert-checks 2019-01-09 13:49:40 +03:00
A.A.Abroskin 906b51637c change assert_checks to assertions_on_constants 2019-01-09 13:38:38 +03:00
Konrad Borowski 34daf09aa4 cast_ref_to_mut lint 2019-01-07 14:37:28 +01:00
A.A.Abroskin 96058616e2 run ./util/dev update_lints 2019-01-07 13:33:06 +03:00
Matthias Krüger 3389a68834 Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
This reverts commit 0a6593cd1b, reversing
changes made to 5277a1fb6c.

This hopefully fixes #3628
2019-01-05 10:19:04 +01:00
Konrad Borowski a6c4eaa93c random_state lint 2018-12-30 02:45:34 +01:00
Russell Greene d127aed737 Merge new_without_default_derive into new_without_default 2018-12-28 10:57:58 -07:00
flip1995 d74288efce
Run update_lints after renaming 2018-12-17 14:33:05 +01:00
Klaus Purer 355018d086 fix(module_name_repeat): Try to register renamed lint, not valid yet 2018-12-16 22:49:46 +01:00
Kampfkarren db00c3320f Remove references to sized for end users 2018-12-13 10:18:17 -08:00