Changelog

All notable changes to this project will be documented in this file. See Changelog Update if you want to update this document.

Unreleased / In Rust Nightly

3c7e7dbc...master

Rust 1.64

Current stable, released 2022-09-22

d7b5cbf0...3c7e7dbc

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

  • Fix ICEs related to #![feature(generic_const_exprs)] usage #9241
  • Fix ICEs related to reference lints #9093
  • question_mark: Fix ICE on zero field tuple structs #9244

Documentation Improvements

Others

  • Using --cap-lints=allow and only --force-warning some will now work with Clippy's driver #9036
  • Clippy now tries to read the rust-version from Cargo.toml to identify the minimum supported rust version #8774

Rust 1.63

Released 2022-08-11

7c21f91b...d7b5cbf0

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

  • Clippy has a Book now! #7359
  • Add a copy lint name-button to Clippy's lint list #8839
  • Display past names of renamed lints on Clippy's lint list #8843
  • Add the ability to show the lint output in the lint list #8947

Rust 1.62

Released 2022-06-30

d0cf3481...7c21f91b

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.61

Released 2022-05-19

57b3c4b...d0cf3481

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

Documentation Improvements

Rust 1.60

Released 2022-04-07

0eff589...57b3c4b

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

  • map_flatten: Add documentation for the Option type #8354
  • Document that Clippy's driver might use a different code generation than rustc #8037
  • Clippy's lint list will now automatically focus the search box #8343

Others

  • Clippy now warns if we find multiple Clippy config files exist #8326

Rust 1.59

Released 2022-02-24

e181011...0eff589

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

Others

  • Clippy's lint list now displays the version a lint was added. :tada: #7813
  • New and improved issue templates #8032
  • Dev: Add cargo dev lint command, to run your modified Clippy version on a file #7917

Rust 1.58

Released 2022-01-13

00e31fa...e181011

Rust 1.58.1

New lints

Moves or deprecations of lints

Changes that expand what code existing lints cover

False positive fixes

Suggestion fixes/improvements

ICE fixes

Documentation improvements

Others

Rust 1.57

Released 2021-12-02

7bfc26e...00e31fa

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

  • manual_map: No longer lints when the option is borrowed in the match and also consumed in the arm #7531
  • filter_next: No longer lints if filter method is not the Iterator::filter method #7562
  • manual_flatten: No longer lints if expression is used after if let #7566
  • option_if_let_else: Multiple fixes #7573
    • break and continue statements local to the would-be closure are allowed
    • Don't lint in const contexts
    • Don't lint when yield expressions are used
    • Don't lint when the captures made by the would-be closure conflict with the other branch
    • Don't lint when a field of a local is used when the type could be potentially moved from
    • In some cases, don't lint when scrutinee expression conflicts with the captures of the would-be closure
  • redundant_allocation: No longer lints on Box<Box<dyn T>> which replaces wide pointers with thin pointers #7592
  • bool_assert_comparison: No longer lints on types that do not implement the Not trait with Output = bool #7605
  • mut_range_bound: No longer lints on range bound mutations, that are immediately followed by a break; #7607
  • mutable_key_type: Improve accuracy and document remaining false positives and false negatives #7640
  • redundant_closure: Rewrite the lint to fix various false positives and false negatives #7661
  • large_enum_variant: No longer wrongly identifies the second largest variant #7677
  • needless_return: No longer lints on let-else expressions #7685
  • suspicious_else_formatting: No longer lints in proc-macros #7707
  • excessive_precision: No longer lints when in some cases the float was already written in the shortest form #7722
  • doc_markdown: No longer lints on intra-doc links #7772

Suggestion Fixes/Improvements

ICE Fixes

Others

Rust 1.56

Released 2021-10-21

74d1561...7bfc26e

New Lints

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

Documentation Improvements

  • Clippy now uses a lint to generate its lint documentation. Lints all the way down. #7502
  • Reworked Clippy's website: #7172 #7279
    • Added applicability information about lints
    • Added a link to jump into the implementation
    • Improved loading times
    • Adapted some styling
  • cargo clippy --help now also explains the --fix and --no-deps flag #7492
  • unnested_or_patterns: Removed or_patterns feature gate in the code example #7507

Rust 1.55

Released 2021-09-09

3ae8faf...74d1561

Important Changes

  • Stabilized cargo clippy --fix :tada: #7405

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.54

Released 2021-07-29

7c7683c...3ae8faf

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.53

Released 2021-06-17

6ed6f1e...7c7683c

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Others

  • Clippy's lint list now supports themes #7030
  • Lints that were uplifted to rustc now mention the new rustc name in the deprecation warning #7056

Rust 1.52

Released 2021-05-06

3e41797...6ed6f1e

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

Others

  • Running cargo clippy after cargo check now works as expected (cargo clippy and cargo check no longer shares the same build cache) #6687
  • Cargo now re-runs Clippy if arguments after -- provided to cargo clippy are changed. #6834
  • Extracted Clippy's utils module into the new clippy_utils crate #6756
  • Clippy lintcheck tool improvements #6800 #6735 #6764 #6708 #6780 #6686

Rust 1.51

Released 2021-03-25

4911ab1...3e41797

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

Others

  • Clippy now has a Roadmap for 2021. If you like to get involved in a bigger project, take a look at the Roadmap project page. All issues listed there are actively mentored #6462
  • The Clippy version number now corresponds to the Rust version number #6526
  • Fix oversight which caused Clippy to lint deps in some environments, where CLIPPY_TESTS=true was set somewhere #6575
  • Add cargo dev-lintcheck tool to the Clippy Dev Tool #6469

Rust 1.50

Released 2021-02-11

b20d4c1...4bd77a1

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

  • The lint website search has been improved (#6477):
    • Searching for lints with dashes and spaces is possible now. For example missing-errors-doc and missing errors doc are now valid aliases for lint names
    • Improved fuzzy search in lint descriptions
  • Various README improvements #6287
  • Add known problems to comparison_chain documentation #6390
  • Fix example used in cargo_common_metadata #6293
  • Improve map_clone documentation #6340

Others

  • You can now tell Clippy about the MSRV your project supports. Please refer to the specific README section to learn more about MSRV support here #6201
  • Add --no-deps option to avoid running on path dependencies in workspaces #6188

Rust 1.49

Released 2020-12-31

e636b88...b20d4c1

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

Documentation Improvements

Rust 1.48

Released 2020-11-19

09bd400...e636b88

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

Rust 1.47

Released 2020-10-08

c2c07fa...09bd400

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

Others

  • Make lints adhere to the rustc dev guide #5888

Rust 1.46

Released 2020-08-27

7ea7cd1...c2c07fa

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

  • Fix ICE in the consts module of Clippy #5709

Documentation Improvements

  • Improve code examples across multiple lints #5664

Others

  • Introduce a --rustc flag to clippy-driver, which turns clippy-driver into rustc and passes all the given arguments to rustc. This is especially useful for tools that need the rustc version Clippy was compiled with, instead of the Clippy version. E.g. clippy-driver --rustc --version will print the output of rustc --version. #5178
  • New issue templates now make it easier to complain if Clippy is too annoying or not annoying enough! #5735

Rust 1.45

Released 2020-07-16

891e1a8...7ea7cd1

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Improvements

ICE Fixes

  • Fix ICE caused in unwrap module. #5590
  • Fix ICE on rustc test issue-69020-assoc-const-arith-overflow.rs #5499

Documentation

Rust 1.44

Released 2020-06-04

204bb9b...891e1a8

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Improvements

ICE Fixes

  • Handle the unstable trivial_bounds feature #5296
  • shadow_* lints #5297

Documentation

Rust 1.43

Released 2020-04-23

4ee1206...204bb9b

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Improvements

  • Improve suggestion when blocks of code are suggested #5134

ICE Fixes

Documentation

Others

  • Clippy now completely runs on GitHub Actions #5190

Rust 1.42

Released 2020-03-12

69f99e7...4ee1206

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Improvements

ICE fixes

Documentation

Rust 1.41

Released 2020-01-30

c8e3cfb...69f99e7

Rust 1.40

Released 2019-12-19

4e7e71b...c8e3cfb

Rust 1.39

Released 2019-11-07

3aea860...4e7e71b

  • New Lints:
  • Deprecate unused_collect lint. This is fully covered by rustc's #[must_use] on collect #4348
  • Move type_repetition_in_bounds to pedantic group #4403
  • Move cast_lossless to pedantic group #4539
  • temporary_cstring_as_ptr now catches more cases #4425
  • use_self now works in constructors, too #4525
  • cargo_common_metadata now checks for license files #4518
  • cognitive_complexity now includes the measured complexity in the warning message #4469
  • Fix false positives in block_in_if_* lints #4458
  • Fix false positive in cast_lossless #4473
  • Fix false positive in clone_on_copy #4411
  • Fix false positive in deref_addrof #4487
  • Fix false positive in too_many_lines #4490
  • Fix false positive in new_ret_no_self #4365
  • Fix false positive in manual_swap #4478
  • Fix false positive in missing_const_for_fn #4450
  • Fix false positive in extra_unused_lifetimes #4477
  • Fix false positive in inherent_to_string #4460
  • Fix false positive in map_entry #4495
  • Fix false positive in unused_unit #4445
  • Fix false positive in redundant_pattern #4489
  • Fix false positive in wrong_self_convention #4369
  • Improve various suggestions and tests in preparation for the unstable cargo fix --clippy #4558
  • Improve suggestions for redundant_pattern_matching #4352
  • Improve suggestions for explicit_write #4544
  • Improve suggestion for or_fun_call #4522
  • Improve suggestion for match_as_ref #4446
  • Improve suggestion for unnecessary_fold_span #4382
  • Add suggestions for unseparated_literal_suffix #4401
  • Add suggestions for char_lit_as_u8 #4418

Rust 1.38

Released 2019-09-26

e3cb40e...3aea860

Rust 1.37

Released 2019-08-15

082cfa7...e3cb40e

Rust 1.36

Released 2019-07-04

eb9f9b1...082cfa7

Rust 1.35

Released 2019-05-20

1fac380..37f5c1e

Rust 1.34

Released 2019-04-10

1b89724...1fac380

  • New lint: assertions_on_constants to detect for example assert!(true)
  • New lint: dbg_macro to detect uses of the dbg! macro
  • New lint: missing_const_for_fn that can suggest functions to be made const
  • New lint: too_many_lines to detect functions with excessive LOC. It can be configured using the too-many-lines-threshold configuration.
  • New lint: wildcard_enum_match_arm to check for wildcard enum matches using _
  • Expand redundant_closure to also work for methods (not only functions)
  • Fix ICEs in vec_box, needless_pass_by_value and implicit_hasher
  • Fix false positive in cast_sign_loss
  • Fix false positive in integer_arithmetic
  • Fix false positive in unit_arg
  • Fix false positives in implicit_return
  • Add suggestion to explicit_write
  • Improve suggestions for question_mark lint
  • Fix incorrect suggestion for cast_lossless
  • Fix incorrect suggestion for expect_fun_call
  • Fix incorrect suggestion for needless_bool
  • Fix incorrect suggestion for needless_range_loop
  • Fix incorrect suggestion for use_self
  • Fix incorrect suggestion for while_let_on_iterator
  • Clippy is now slightly easier to invoke in non-cargo contexts. See #3665 for more details.
  • We now have improved documentation on how to add new lints

Rust 1.33

Released 2019-02-26

b2601be...1b89724

  • New lints: implicit_return, vec_box, cast_ref_to_mut
  • The rust-clippy repository is now part of the rust-lang org.
  • Rename stutter to module_name_repetitions
  • Merge new_without_default_derive into new_without_default lint
  • Move large_digit_groups from style group to pedantic
  • Expand bool_comparison to check for <, <=, >, >=, and != comparisons against booleans
  • Expand no_effect to detect writes to constants such as A_CONST.field = 2
  • Expand redundant_clone to work on struct fields
  • Expand suspicious_else_formatting to detect if .. {..} {..}
  • Expand use_self to work on tuple structs and also in local macros
  • Fix ICE in result_map_unit_fn and option_map_unit_fn
  • Fix false positives in implicit_return
  • Fix false positives in use_self
  • Fix false negative in clone_on_copy
  • Fix false positive in doc_markdown
  • Fix false positive in empty_loop
  • Fix false positive in if_same_then_else
  • Fix false positive in infinite_iter
  • Fix false positive in question_mark
  • Fix false positive in useless_asref
  • Fix false positive in wildcard_dependencies
  • Fix false positive in write_with_newline
  • Add suggestion to explicit_write
  • Improve suggestions for question_mark lint
  • Fix incorrect suggestion for get_unwrap

Rust 1.32

Released 2019-01-17

2e26fdc2...b2601be

  • New lints: slow_vector_initialization, mem_discriminant_non_enum, redundant_clone, wildcard_dependencies, into_iter_on_ref, into_iter_on_array, deprecated_cfg_attr, cargo_common_metadata
  • Add support for u128 and i128 to integer related lints
  • Add float support to mistyped_literal_suffixes
  • Fix false positives in use_self
  • Fix false positives in missing_comma
  • Fix false positives in new_ret_no_self
  • Fix false positives in possible_missing_comma
  • Fix false positive in integer_arithmetic in constant items
  • Fix false positive in needless_borrow
  • Fix false positive in out_of_bounds_indexing
  • Fix false positive in new_without_default_derive
  • Fix false positive in string_lit_as_bytes
  • Fix false negative in out_of_bounds_indexing
  • Fix false negative in use_self. It will now also check existential types
  • Fix incorrect suggestion for redundant_closure_call
  • Fix various suggestions that contained expanded macros
  • Fix bool_comparison triggering 3 times on on on the same code
  • Expand trivially_copy_pass_by_ref to work on trait methods
  • Improve suggestion for needless_range_loop
  • Move needless_pass_by_value from pedantic group to style

Rust 1.31

Released 2018-12-06

125907ad..2e26fdc2

  • Clippy has been relicensed under a dual MIT / Apache license. See #3093 for more information.
  • With Rust 1.31, Clippy is no longer available via crates.io. The recommended installation method is via rustup component add clippy.
  • New lints: redundant_pattern_matching, unnecessary_filter_map, unused_unit, map_flatten, mem_replace_option_with_none
  • Fix ICE in if_let_redundant_pattern_matching
  • Fix ICE in needless_pass_by_value when encountering a generic function argument with a lifetime parameter
  • Fix ICE in needless_range_loop
  • Fix ICE in single_char_pattern when encountering a constant value
  • Fix false positive in assign_op_pattern
  • Fix false positive in boxed_local on trait implementations
  • Fix false positive in cmp_owned
  • Fix false positive in collapsible_if when conditionals have comments
  • Fix false positive in double_parens
  • Fix false positive in excessive_precision
  • Fix false positive in explicit_counter_loop
  • Fix false positive in fn_to_numeric_cast_with_truncation
  • Fix false positive in map_clone
  • Fix false positive in new_ret_no_self
  • Fix false positive in new_without_default when new is unsafe
  • Fix false positive in type_complexity when using extern types
  • Fix false positive in useless_format
  • Fix false positive in wrong_self_convention
  • Fix incorrect suggestion for excessive_precision
  • Fix incorrect suggestion for expect_fun_call
  • Fix incorrect suggestion for get_unwrap
  • Fix incorrect suggestion for useless_format
  • fn_to_numeric_cast_with_truncation lint can be disabled again
  • Improve suggestions for manual_memcpy
  • Improve help message for needless_lifetimes

Rust 1.30

Released 2018-10-25

14207503...125907ad

  • Deprecate assign_ops lint
  • New lints: mistyped_literal_suffixes, ptr_offset_with_cast, needless_collect, copy_iterator
  • cargo clippy -V now includes the Clippy commit hash of the Rust Clippy component
  • Fix ICE in implicit_hasher
  • Fix ICE when encountering println!("{}" a);
  • Fix ICE when encountering a macro call in match statements
  • Fix false positive in default_trait_access
  • Fix false positive in trivially_copy_pass_by_ref
  • Fix false positive in similar_names
  • Fix false positive in redundant_field_name
  • Fix false positive in expect_fun_call
  • Fix false negative in identity_conversion
  • Fix false negative in explicit_counter_loop
  • Fix range_plus_one suggestion and false negative
  • print_with_newline / write_with_newline: don't warn about string with several \ns in them
  • Fix useless_attribute to also whitelist unused_extern_crates
  • Fix incorrect suggestion for single_char_pattern
  • Improve suggestion for identity_conversion lint
  • Move explicit_iter_loop and explicit_into_iter_loop from style group to pedantic
  • Move range_plus_one and range_minus_one from nursery group to complexity
  • Move shadow_unrelated from restriction group to pedantic
  • Move indexing_slicing from pedantic group to restriction

Rust 1.29

Released 2018-09-13

v0.0.212...14207503

  • :tada: :tada: Rust 1.29 is the first stable Rust that includes a bundled Clippy :tada: :tada: You can now run rustup component add clippy-preview and then cargo clippy to run Clippy. This should put an end to the continuous nightly upgrades for Clippy users.
  • Clippy now follows the Rust versioning scheme instead of its own
  • Fix ICE when encountering a while let (..) = x.iter() construct
  • Fix false positives in use_self
  • Fix false positive in trivially_copy_pass_by_ref
  • Fix false positive in useless_attribute lint
  • Fix false positive in print_literal
  • Fix use_self regressions
  • Improve lint message for neg_cmp_op_on_partial_ord
  • Improve suggestion highlight for single_char_pattern
  • Improve suggestions for various print/write macro lints
  • Improve website header

0.0.212 (2018-07-10)

  • Rustup to rustc 1.29.0-nightly (e06c87544 2018-07-06)

0.0.211

  • Rustup to rustc 1.28.0-nightly (e3bf634e0 2018-06-28)

0.0.210

  • Rustup to rustc 1.28.0-nightly (01cc982e9 2018-06-24)

0.0.209

  • Rustup to rustc 1.28.0-nightly (523097979 2018-06-18)

0.0.208

  • Rustup to rustc 1.28.0-nightly (86a8f1a63 2018-06-17)

0.0.207

  • Rustup to rustc 1.28.0-nightly (2a0062974 2018-06-09)

0.0.206

  • Rustup to rustc 1.28.0-nightly (5bf68db6e 2018-05-28)

0.0.205

  • Rustup to rustc 1.28.0-nightly (990d8aa74 2018-05-25)
  • Rename unused_lifetimes to extra_unused_lifetimes because of naming conflict with new rustc lint

0.0.204

  • Rustup to rustc 1.28.0-nightly (71e87be38 2018-05-22)

0.0.203

  • Rustup to rustc 1.28.0-nightly (a3085756e 2018-05-19)
  • Clippy attributes are now of the form clippy::cyclomatic_complexity instead of clippy(cyclomatic_complexity)

0.0.202

  • Rustup to rustc 1.28.0-nightly (952f344cd 2018-05-18)

0.0.201

  • Rustup to rustc 1.27.0-nightly (2f2a11dfc 2018-05-16)

0.0.200

  • Rustup to rustc 1.27.0-nightly (9fae15374 2018-05-13)

0.0.199

  • Rustup to rustc 1.27.0-nightly (ff2ac35db 2018-05-12)

0.0.198

  • Rustup to rustc 1.27.0-nightly (acd3871ba 2018-05-10)

0.0.197

  • Rustup to rustc 1.27.0-nightly (428ea5f6b 2018-05-06)

0.0.196

  • Rustup to rustc 1.27.0-nightly (e82261dfb 2018-05-03)

0.0.195

  • Rustup to rustc 1.27.0-nightly (ac3c2288f 2018-04-18)

0.0.194

0.0.193

  • Rustup to rustc 1.27.0-nightly (eeea94c11 2018-04-06)

0.0.192

  • Rustup to rustc 1.27.0-nightly (fb44b4c0e 2018-04-04)
  • New lint: print_literal

0.0.191

  • Rustup to rustc 1.26.0-nightly (ae544ee1c 2018-03-29)
  • Lint audit; categorize lints as style, correctness, complexity, pedantic, nursery, restriction.

0.0.190

  • Fix a bunch of intermittent cargo bugs

0.0.189

  • Rustup to rustc 1.26.0-nightly (5508b2714 2018-03-18)

0.0.188

0.0.187

0.0.186

  • Rustup to rustc 1.25.0-nightly (0c6091fbd 2018-02-04)
  • Various false positive fixes

0.0.185

  • Rustup to rustc 1.25.0-nightly (56733bc9f 2018-02-01)
  • New lint: question_mark

0.0.184

0.0.183

0.0.182

0.0.181

0.0.180

  • Rustup to rustc 1.25.0-nightly (3f92e8d89 2018-01-14)

0.0.179

  • Rustup to rustc 1.25.0-nightly (61452e506 2018-01-09)

0.0.178

  • Rustup to rustc 1.25.0-nightly (ee220daca 2018-01-07)

0.0.177

  • Rustup to rustc 1.24.0-nightly (250b49205 2017-12-21)
  • New lint: match_as_ref

0.0.176

  • Rustup to rustc 1.24.0-nightly (0077d128d 2017-12-14)

0.0.175

  • Rustup to rustc 1.24.0-nightly (bb42071f6 2017-12-01)

0.0.174

  • Rustup to rustc 1.23.0-nightly (63739ab7b 2017-11-21)

0.0.173

  • Rustup to rustc 1.23.0-nightly (33374fa9d 2017-11-20)

0.0.172

  • Rustup to rustc 1.23.0-nightly (d0f8e2913 2017-11-16)

0.0.171

  • Rustup to rustc 1.23.0-nightly (ff0f5de3b 2017-11-14)

0.0.170

  • Rustup to rustc 1.23.0-nightly (d6b06c63a 2017-11-09)

0.0.169

0.0.168

  • Rustup to rustc 1.23.0-nightly (f0fe716db 2017-10-30)

0.0.167

0.0.166

0.0.165

  • Rust upgrade to rustc 1.22.0-nightly (0e6f4cf51 2017-09-27)
  • New lint: mut_range_bound

0.0.164

  • Update to rustc 1.22.0-nightly (6c476ce46 2017-09-25)
  • New lint: int_plus_one

0.0.163

  • Update to rustc 1.22.0-nightly (14039a42a 2017-09-22)

0.0.162

0.0.161

  • Update to rustc 1.22.0-nightly (539f2083d 2017-09-13)

0.0.160

  • Update to rustc 1.22.0-nightly (dd08c3070 2017-09-12)

0.0.159

0.0.158

  • New lint: manual_memcpy
  • cast_lossless no longer has redundant parentheses in its suggestions
  • Update to rustc 1.22.0-nightly (dead08cb3 2017-09-08)

0.0.157 - 2017-09-04

  • Update to rustc 1.22.0-nightly (981ce7d8d 2017-09-03)
  • New lint: unit_expr

0.0.156 - 2017-09-03

  • Update to rustc 1.22.0-nightly (744dd6c1d 2017-09-02)

0.0.155

0.0.154

  • Update to rustc 1.21.0-nightly (2c0558f63 2017-08-24)
  • Fix use_self triggering inside derives
  • Add support for linting an entire workspace with cargo clippy --all
  • New lint: naive_bytecount

0.0.153

  • Update to rustc 1.21.0-nightly (8c303ed87 2017-08-20)
  • New lint: use_self

0.0.152

  • Update to rustc 1.21.0-nightly (df511d554 2017-08-14)

0.0.151

  • Update to rustc 1.21.0-nightly (13d94d5fa 2017-08-10)

0.0.150

  • Update to rustc 1.21.0-nightly (215e0b10e 2017-08-08)

0.0.148

0.0.147

  • Update to rustc 1.21.0-nightly (aac223f4f 2017-07-30)

0.0.146

  • Update to rustc 1.21.0-nightly (52a330969 2017-07-27)
  • Fixes false positives in inline_always
  • Fixes false negatives in panic_params

0.0.145

  • Update to rustc 1.20.0-nightly (afe145d22 2017-07-23)

0.0.144

  • Update to rustc 1.20.0-nightly (086eaa78e 2017-07-15)

0.0.143

  • Update to rustc 1.20.0-nightly (d84693b93 2017-07-09)
  • Fix cargo clippy crashing on dylib projects
  • Fix false positives around nested_while_let and never_loop

0.0.142

  • Update to rustc 1.20.0-nightly (067971139 2017-07-02)

0.0.141

0.0.140 - 2017-06-16

  • Update to rustc 1.19.0-nightly (258ae6dd9 2017-06-15)

0.0.139 — 2017-06-10

0.0.138 — 2017-06-05

  • Update to rustc 1.19.0-nightly (0418fa9d3 2017-06-04)

0.0.137 — 2017-06-05

  • Update to rustc 1.19.0-nightly (6684d176c 2017-06-03)

0.0.136 — 2017—05—26

  • Update to rustc 1.19.0-nightly (557967766 2017-05-26)

0.0.135 — 2017—05—24

  • Update to rustc 1.19.0-nightly (5b13bff52 2017-05-23)

0.0.134 — 2017—05—19

  • Update to rustc 1.19.0-nightly (0ed1ec9f9 2017-05-18)

0.0.133 — 2017—05—14

  • Update to rustc 1.19.0-nightly (826d8f385 2017-05-13)

0.0.132 — 2017—05—05

  • Fix various bugs and some ices

0.0.131 — 2017—05—04

  • Update to rustc 1.19.0-nightly (2d4ed8e0c 2017-05-03)

0.0.130 — 2017—05—03

  • Update to rustc 1.19.0-nightly (6a5fc9eec 2017-05-02)

0.0.129 — 2017-05-01

  • Update to rustc 1.19.0-nightly (06fb4d256 2017-04-30)

0.0.128 — 2017-04-28

  • Update to rustc 1.18.0-nightly (94e884b63 2017-04-27)

0.0.127 — 2017-04-27

0.0.126 — 2017-04-24

  • Update to rustc 1.18.0-nightly (2bd4b5c6d 2017-04-23)

0.0.125 — 2017-04-19

  • Update to rustc 1.18.0-nightly (9f2abadca 2017-04-18)

0.0.124 — 2017-04-16

  • Update to rustc 1.18.0-nightly (d5cf1cb64 2017-04-15)

0.0.123 — 2017-04-07

  • Fix various false positives

0.0.122 — 2017-04-07

  • Rustup to rustc 1.18.0-nightly (91ae22a01 2017-04-05)
  • New lint: op_ref

0.0.121 — 2017-03-21

  • Rustup to rustc 1.17.0-nightly (134c4a0f0 2017-03-20)

0.0.120 — 2017-03-17

  • Rustup to rustc 1.17.0-nightly (0aeb9c129 2017-03-15)

0.0.119 — 2017-03-13

  • Rustup to rustc 1.17.0-nightly (824c9ebbd 2017-03-12)

0.0.118 — 2017-03-05

  • Rustup to rustc 1.17.0-nightly (b1e31766d 2017-03-03)

0.0.117 — 2017-03-01

  • Rustup to rustc 1.17.0-nightly (be760566c 2017-02-28)

0.0.116 — 2017-02-28

  • Fix cargo clippy on 64 bit windows systems

0.0.115 — 2017-02-27

0.0.114 — 2017-02-08

  • Rustup to rustc 1.17.0-nightly (c49d10207 2017-02-07)
  • Tests are now ui tests (testing the exact output of rustc)

0.0.113 — 2017-02-04

  • Rustup to rustc 1.16.0-nightly (eedaa94e3 2017-02-02)
  • New lint: large_enum_variant
  • explicit_into_iter_loop provides suggestions

0.0.112 — 2017-01-27

  • Rustup to rustc 1.16.0-nightly (df8debf6d 2017-01-25)

0.0.111 — 2017-01-21

  • Rustup to rustc 1.16.0-nightly (a52da95ce 2017-01-20)

0.0.110 — 2017-01-20

  • Add badges and categories to Cargo.toml

0.0.109 — 2017-01-19

  • Update to rustc 1.16.0-nightly (c07a6ae77 2017-01-17)

0.0.108 — 2017-01-12

  • Update to rustc 1.16.0-nightly (2782e8f8f 2017-01-12)

0.0.107 — 2017-01-11

0.0.106 — 2017-01-04

0.0.105 — 2017-01-04

0.0.104 — 2016-12-15

  • Update to rustc 1.15.0-nightly (8f02c429a 2016-12-15)

0.0.103 — 2016-11-25

  • Update to rustc 1.15.0-nightly (d5814b03e 2016-11-23)

0.0.102 — 2016-11-24

  • Update to rustc 1.15.0-nightly (3bf2be9ce 2016-11-22)

0.0.101 — 2016-11-23

0.0.100 — 2016-11-20

  • Update to rustc 1.15.0-nightly (ac635aa95 2016-11-18)

0.0.99 — 2016-11-18

  • Update to rustc 1.15.0-nightly (0ed951993 2016-11-14)
  • New lint: get_unwrap

0.0.98 — 2016-11-08

  • Fixes an issue due to a change in how cargo handles --sysroot, which broke cargo clippy

0.0.97 — 2016-11-03

  • For convenience, cargo clippy defines a cargo-clippy feature. This was previously added for a short time under the name clippy but removed for compatibility.
  • cargo clippy --help is more helping (and less helpful :smile:)
  • Rustup to rustc 1.14.0-nightly (5665bdf3e 2016-11-02)
  • New lints: if_let_redundant_pattern_matching, partialeq_ne_impl

0.0.96 — 2016-10-22

  • Rustup to rustc 1.14.0-nightly (f09420685 2016-10-20)
  • New lint: iter_skip_next

0.0.95 — 2016-10-06

  • Rustup to rustc 1.14.0-nightly (3210fd5c2 2016-10-05)

0.0.94 — 2016-10-04

  • Fixes bustage on Windows due to forbidden directory name

0.0.93 — 2016-10-03

  • Rustup to rustc 1.14.0-nightly (144af3e97 2016-10-02)
  • option_map_unwrap_or and option_map_unwrap_or_else are now allowed by default.
  • New lint: explicit_into_iter_loop

0.0.92 — 2016-09-30

  • Rustup to rustc 1.14.0-nightly (289f3a4ca 2016-09-29)

0.0.91 — 2016-09-28

  • Rustup to rustc 1.13.0-nightly (d0623cf7b 2016-09-26)

0.0.90 — 2016-09-09

  • Rustup to rustc 1.13.0-nightly (f1f40f850 2016-09-09)

0.0.89 — 2016-09-06

  • Rustup to rustc 1.13.0-nightly (cbe4de78e 2016-09-05)

0.0.88 — 2016-09-04

  • Rustup to rustc 1.13.0-nightly (70598e04f 2016-09-03)
  • The following lints are not new but were only usable through the clippy lint groups: filter_next, for_loop_over_option, for_loop_over_result and match_overlapping_arm. You should now be able to #[allow/deny] them individually and they are available directly through cargo clippy.

0.0.87 — 2016-08-31

0.0.86 — 2016-08-28

0.0.85 — 2016-08-19

0.0.84 — 2016-08-18

  • Rustup to rustc 1.13.0-nightly (aef6971ca 2016-08-17)

0.0.83 — 2016-08-17

0.0.82 — 2016-08-17

0.0.81 — 2016-08-14

0.0.80 — 2016-07-31

0.0.79 — 2016-07-10

  • Rustup to rustc 1.12.0-nightly (f93aaf84c 2016-07-09)
  • Major suggestions refactoring

0.0.78 — 2016-07-02

0.0.77 — 2016-06-21

  • Rustup to rustc 1.11.0-nightly (5522e678b 2016-06-20)
  • New lints: stutter and iter_nth

0.0.76 — 2016-06-10

  • Rustup to rustc 1.11.0-nightly (7d2f75a95 2016-06-09)
  • cargo clippy now automatically defines the clippy feature
  • New lint: not_unsafe_ptr_arg_deref

0.0.75 — 2016-06-08

  • Rustup to rustc 1.11.0-nightly (763f9234b 2016-06-06)

0.0.74 — 2016-06-07

  • Fix bug with cargo-clippy JSON parsing
  • Add the CLIPPY_DISABLE_DOCS_LINKS environment variable to deactivate the “for further information visit lint-link” message.

0.0.73 — 2016-06-05

0.0.72 — 2016-06-04

0.0.71 — 2016-05-31

0.0.70 — 2016-05-28

  • Rustup to rustc 1.10.0-nightly (7bddce693 2016-05-27)
  • invalid_regex and trivial_regex can now warn on RegexSet::new, RegexBuilder::new and byte regexes

0.0.69 — 2016-05-20

0.0.68 — 2016-05-17

0.0.67 — 2016-05-12

  • Rustup to rustc 1.10.0-nightly (22ac88f1a 2016-05-11)

0.0.66 — 2016-05-11

0.0.65 — 2016-05-08

0.0.64 — 2016-04-26

0.0.63 — 2016-04-08

  • Rustup to rustc 1.9.0-nightly (7979dd608 2016-04-07)

0.0.62 — 2016-04-07

  • Rustup to rustc 1.9.0-nightly (bf5da36f1 2016-04-06)

0.0.61 — 2016-04-03

0.0.60 — 2016-04-01

  • Rustup to rustc 1.9.0-nightly (e1195c24b 2016-03-31)

0.0.59 — 2016-03-31

0.0.58 — 2016-03-27

  • Rustup to rustc 1.9.0-nightly (d5a91e695 2016-03-26)
  • New lint: doc_markdown

0.0.57 — 2016-03-27

0.0.56 — 2016-03-23

0.0.55 — 2016-03-21

  • Update to rustc 1.9.0-nightly (02310fd31 2016-03-19)

0.0.54 — 2016-03-16

  • Update to rustc 1.9.0-nightly (c66d2380a 2016-03-15)

0.0.53 — 2016-03-15

0.0.52

0.0.51 — 2016-03-13

0.0.50 — 2016-03-11

  • Update to rustc 1.9.0-nightly (c9629d61c 2016-03-10)

0.0.49 — 2016-03-09

0.0.48 — 2016-03-07

0.0.47 — 2016-03-07