rust/CHANGELOG.md
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

354 KiB

Changelog

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

Unreleased / Beta / In Rust Nightly

0f8eabd6...master

Rust 1.82

Current stable, released 2024-10-17

View all 108 merged pull requests

New Lints

Enhancements

ICE Fixes

Rust 1.81

Released 2024-09-05

New Lints

Moves and Deprecations

Enhancements

ICE Fixes

Rust 1.80

Current stable, released 2024-07-25

View all 68 merged pull requests

New Lints

Moves and Deprecations

Enhancements

Suggestion Fixes/Improvements

Rust 1.79

Released 2024-06-13

View all 102 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

ICE Fixes

Rust 1.78

Released 2024-05-02

View all 112 merged pull requests

New Lints

Enhancements

ICE Fixes

  • ptr_as_ptr: No longer ICEs when the cast source is a function call to a local variable #12617
  • cast_sign_loss: Avoids an infinite loop when casting two chained .unwrap() calls #12508

Rust 1.77

Released 2024-03-18

View all 93 merged pull requests

New Lints

Enhancements

ICE Fixes

Others

  • Warnings about invalid fields inside clippy.toml files now include suggestions for existing fields #12180

Rust 1.76

Released 2024-02-08

View all 85 merged pull requests

New Lints

Moves and Deprecations

Enhancements

ICE Fixes

Others

  • Clippy now respects the CARGO environment value #11944

Rust 1.75

Released 2023-12-28

View all 69 merged pull requests

New Lints

Moves and Deprecations

Enhancements

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

  • cargo clippy --help now uses colors for readability 🎉

Rust 1.74

Released 2023-11-16

View all 94 merged pull requests

New Lints

Moves and Deprecations

Enhancements

ICE Fixes

Rust 1.73

Released 2023-10-05

View all 103 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.72

Released 2023-08-24

View all 131 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

Documentation Improvements

Rust 1.71

Released 2023-07-13

Note: Clippy will use a shorter changelog format from now on, if you want a detailed list of all changes, please check out the list of merged pull requests.

View all 78 merged pull requests

New Lints

Moves and Deprecations

Enhancements

Documentation Improvements

  • cargo clippy --explain LINT now shows possible configuration options for the explained lint #10751
  • New config values mentioned in this changelog will now be linked. #10889
  • Several sections of Clippy's book have been reworked #10652 #10622

Rust 1.70

Released 2023-06-01

View all 91 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Others

  • clippy-driver now searches parent directories for clippy.toml files #10592
  • Fixed a deserialization error for the array-size-threshold config value #10423

Rust 1.69

Released 2023-04-20

View all 72 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

  • All configurations are now documented in the Clippy Book #10199

Rust 1.68

Released 2023-03-09

View all 76 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Others

  • SYSROOT and --sysroot can now be set at the same time #10149
  • Fix error when providing an array-size-threshold in clippy.toml #10423

Rust 1.67

Released 2023-01-26

View all 104 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.66

Released 2022-12-15

View all 116 merged pull requests

New Lints

Moves and Deprecations

  • positional_named_format_parameters was uplifted to rustc under the new name named_arguments_used_positionally #8518
  • Moved implicit_saturating_sub to style (Now warn-by-default) #9584
  • Moved derive_partial_eq_without_eq to nursery (now allow-by-default) #9536

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Others

  • Released rustc_tools_util for version information on Crates.io. (Further adjustments will not be published as part of this changelog)

Rust 1.65

Released 2022-11-03

View all 86 merged pull requests

Important Changes

  • Clippy now has an --explain <LINT> command to show the lint description in the console #8952

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.64

Released 2022-09-22

View all 110 merged pull requests

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

View all 91 merged pull requests

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

View all 90 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.61

Released 2022-05-19

View all 60 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

Documentation Improvements

Rust 1.60

Released 2022-04-07

View all 73 merged pull requests

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

View all 94 merged pull requests

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. 🎉 #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

View all 68 merged pull requests

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

View all 148 merged pull requests

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

View all 38 merged pull requests

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

View all 83 merged pull requests

Important Changes

  • Stabilized cargo clippy --fix 🎉 #7405

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.54

Released 2021-07-29

View all 74 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Rust 1.53

Released 2021-06-17

View all 126 merged pull requests

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

View all 102 merged pull requests

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

View all 78 merged pull requests

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

View all 119 merged pull requests

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

View all 107 merged pull requests

New Lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

Documentation Improvements

Rust 1.48

Released 2020-11-19

View all 99 merged pull requests

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Fixes/Improvements

ICE Fixes

Documentation Improvements

Rust 1.47

Released 2020-10-08

View all 76 merged pull requests

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

View all 48 merged pull requests

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

View all 81 merged pull requests

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

View all 124 merged pull requests

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

View all 91 merged pull requests

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Improvements

  • Improve suggestion when blocks of code are suggested #5134

ICE Fixes

Documentation

  • Improve documentation of iter_nth_zero
  • Add documentation pages for stable releases #5171

Others

  • Clippy now completely runs on GitHub Actions #5190

Rust 1.42

Released 2020-03-12

View all 101 merged pull requests

New lints

Moves and Deprecations

Enhancements

False Positive Fixes

Suggestion Improvements

ICE fixes

Documentation

Rust 1.41

Released 2020-01-30

View all 74 merged pull requests

Rust 1.40

Released 2019-12-19

View all 76 merged pull requests

Rust 1.39

Released 2019-11-07

View all 100 merged pull requests

  • 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

View all 76 merged pull requests

Rust 1.37

Released 2019-08-15

View all 72 merged pull requests

Rust 1.36

Released 2019-07-04

View all 81 merged pull requests

Rust 1.35

Released 2019-05-20

1fac380..37f5c1e

Rust 1.34

Released 2019-04-10

View all 61 merged pull requests

  • 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

View all 120 merged pull requests

  • 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

View all 71 merged pull requests

  • 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

View all 88 merged pull requests

  • 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

  • 🎉 🎉 Rust 1.29 is the first stable Rust that includes a bundled Clippy 🎉 🎉 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

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

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

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

0.0.164

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

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

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

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

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

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 😄)
  • 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

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

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

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

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