@@ -6,7 +6,132 @@ document.
66
77## Unreleased / Beta / In Rust Nightly
88
9- [ 149392b0...master] ( https://github.com/rust-lang/rust-clippy/compare/149392b0...master )
9+ [ 83e42a23...master] ( https://github.com/rust-lang/rust-clippy/compare/83e42a23...master )
10+
11+ ## Rust 1.70
12+
13+ Current beta, released 2023-06-01
14+
15+ [ 149392b0...83e42a23] ( https://github.com/rust-lang/rust-clippy/compare/149392b0...83e42a23 )
16+
17+ ### New Lints
18+
19+ * [ ` large_futures ` ]
20+ [ #10414 ] ( https://github.com/rust-lang/rust-clippy/pull/10414 )
21+ * [ ` missing_assert_message ` ]
22+ [ #10362 ] ( https://github.com/rust-lang/rust-clippy/pull/10362 )
23+ * [ ` clear_with_drain ` ]
24+ [ #10528 ] ( https://github.com/rust-lang/rust-clippy/pull/10528 )
25+ * [ ` redundant_async_block ` ]
26+ [ #10448 ] ( https://github.com/rust-lang/rust-clippy/pull/10448 )
27+ * [ ` collection_is_never_read ` ]
28+ [ #10415 ] ( https://github.com/rust-lang/rust-clippy/pull/10415 )
29+ * [ ` let_with_type_underscore ` ]
30+ [ #10467 ] ( https://github.com/rust-lang/rust-clippy/pull/10467 )
31+ * [ ` tests_outside_test_module ` ]
32+ [ #10543 ] ( https://github.com/rust-lang/rust-clippy/pull/10543 )
33+ * [ ` allow_attributes ` ]
34+ [ #10481 ] ( https://github.com/rust-lang/rust-clippy/pull/10481 )
35+ * [ ` suspicious_doc_comments ` ]
36+ [ #10497 ] ( https://github.com/rust-lang/rust-clippy/pull/10497 )
37+ * [ ` unnecessary_box_returns ` ]
38+ [ #9102 ] ( https://github.com/rust-lang/rust-clippy/pull/9102 )
39+ * [ ` manual_main_separator_str ` ]
40+ [ #10483 ] ( https://github.com/rust-lang/rust-clippy/pull/10483 )
41+ * [ ` unnecessary_struct_initialization ` ]
42+ [ #10489 ] ( https://github.com/rust-lang/rust-clippy/pull/10489 )
43+ * [ ` manual_slice_size_calculation ` ]
44+ [ #10601 ] ( https://github.com/rust-lang/rust-clippy/pull/10601 )
45+ * [ ` lines_filter_map_ok ` ]
46+ [ #10534 ] ( https://github.com/rust-lang/rust-clippy/pull/10534 )
47+
48+ ### Moves and Deprecations
49+
50+ * Moved [ ` let_underscore_untyped ` ] to ` restriction `
51+ [ #10442 ] ( https://github.com/rust-lang/rust-clippy/pull/10442 )
52+
53+ ### Enhancements
54+
55+ * [ ` extra_unused_type_parameters ` ] : No longer lints on public items if ` avoid-breaking-exported-api ` is set
56+ [ #10536 ] ( https://github.com/rust-lang/rust-clippy/pull/10536 )
57+ * [ ` len_without_is_empty ` ] : Now also detects ` async ` functions
58+ [ #10359 ] ( https://github.com/rust-lang/rust-clippy/pull/10359 )
59+ * [ ` arithmetic_side_effects ` ] : Now correctly handles divisions and modulo expressions if the right-hand-side
60+ is unknown
61+ [ #10585 ] ( https://github.com/rust-lang/rust-clippy/pull/10585 )
62+ * [ ` nonminimal_bool ` ] : No longer ignores ` #[allow] ` attributes
63+ [ #10588 ] ( https://github.com/rust-lang/rust-clippy/pull/10588 )
64+ * [ ` uninit_vec ` ] , [ ` uninit_assumed_init ` ] : Now uses a better heuristic
65+ [ #10520 ] ( https://github.com/rust-lang/rust-clippy/pull/10520 )
66+ * [ ` ifs_same_cond ` ] : Now also detects immutable method calls.
67+ [ #10350 ] ( https://github.com/rust-lang/rust-clippy/pull/10350 )
68+ * [ ` arithmetic_side_effects ` ] : No longer lints on right or left shifts with constant integers, as the
69+ compiler warns about them
70+ [ #10309 ] ( https://github.com/rust-lang/rust-clippy/pull/10309 )
71+ * [ ` items_after_statements ` ] : ` #[allow(items_after_statements)] ` now works on items
72+ [ #10542 ] ( https://github.com/rust-lang/rust-clippy/pull/10542 )
73+ * [ ` significant_drop_tightening ` ] : Was optimized
74+ [ #10533 ] ( https://github.com/rust-lang/rust-clippy/pull/10533 )
75+
76+ ### False Positive Fixes
77+
78+ * [ ` single_component_path_imports ` ] : No longer lints if the import is used relative to ` self `
79+ [ #10566 ] ( https://github.com/rust-lang/rust-clippy/pull/10566 )
80+ * [ ` derivable_impls ` ] : No longer suggests deriving ` Default ` on generics with implicit arguments
81+ [ #10399 ] ( https://github.com/rust-lang/rust-clippy/pull/10399 )
82+ * [ ` let_unit_value ` ] : No longer lints if the expression contains an ` await `
83+ [ #10439 ] ( https://github.com/rust-lang/rust-clippy/pull/10439 )
84+ * [ ` double_must_use ` ] : Now ignores ` async ` functions
85+ [ #10589 ] ( https://github.com/rust-lang/rust-clippy/pull/10589 )
86+ * [ ` manual_clamp ` ] : No longer lints in constant context
87+ [ #10479 ] ( https://github.com/rust-lang/rust-clippy/pull/10479 )
88+ * [ ` almost_swapped ` ] : Now ignores external macros
89+ [ #10502 ] ( https://github.com/rust-lang/rust-clippy/pull/10502 )
90+ * [ ` nonminimal_bool ` ] : Now ignores macros
91+ [ #10527 ] ( https://github.com/rust-lang/rust-clippy/pull/10527 )
92+ * [ ` needless_return ` ] : No longer lints match statements with incompatible branches
93+ [ #10593 ] ( https://github.com/rust-lang/rust-clippy/pull/10593 )
94+ * [ ` use_self ` ] : Do not suggest using ` Self ` in const generic parameters
95+ [ #10375 ] ( https://github.com/rust-lang/rust-clippy/pull/10375 )
96+ * [ ` mem_replace_option_with_none ` ] : No longer lints on field expressions
97+ [ #10594 ] ( https://github.com/rust-lang/rust-clippy/pull/10594 )
98+ * [ ` items_after_statements ` ] : No longer lints on times from macros
99+ [ #10542 ] ( https://github.com/rust-lang/rust-clippy/pull/10542 )
100+ * [ ` print_literal ` ] , [ ` write_literal ` ] : No longer lint strings coming from the ` file!() ` macro
101+ [ #10573 ] ( https://github.com/rust-lang/rust-clippy/pull/10573 )
102+ * [ ` uninit_vec ` ] , [ ` uninit_assumed_init ` ] : Now check the types inside arrays and tuples
103+ [ #10553 ] ( https://github.com/rust-lang/rust-clippy/pull/10553 )
104+ * [ ` almost_swapped ` ] : No longer lints if a variable is assigned to itself
105+ [ #10499 ] ( https://github.com/rust-lang/rust-clippy/pull/10499 )
106+ * [ ` missing_docs_in_private_items ` ] : No longer lints on public items
107+ [ #10324 ] ( https://github.com/rust-lang/rust-clippy/pull/10324 )
108+
109+ ### Suggestion Fixes/Improvements
110+
111+ * [ ` extra_unused_type_parameters ` ] : The suggestion is now machine applicable
112+ [ #10536 ] ( https://github.com/rust-lang/rust-clippy/pull/10536 )
113+ * [ ` match_single_binding ` ] : Now adds a semicolon after the suggestion
114+ [ #10470 ] ( https://github.com/rust-lang/rust-clippy/pull/10470 )
115+ * [ ` missing_const_for_fn ` ] : Now includes a note if the change could break compatibility
116+ [ #10618 ] ( https://github.com/rust-lang/rust-clippy/pull/10618 )
117+ * [ ` cast_possible_truncation ` ] : Corrected suggestion for float and wildcard casts
118+ [ #10496 ] ( https://github.com/rust-lang/rust-clippy/pull/10496 )
119+ * [ ` transmutes_expressible_as_ptr_casts ` ] : The suggestion now includes parentheses when they are required
120+ [ #10454 ] ( https://github.com/rust-lang/rust-clippy/pull/10454 )
121+
122+ ### ICE Fixes
123+
124+ * [ ` needless_borrow ` ] : No longer panics on ambiguous projections
125+ [ #10403 ] ( https://github.com/rust-lang/rust-clippy/pull/10403 )
126+ * [ ` multiple_unsafe_ops_per_block ` ] : Fix ICE when calling a function-like object in an unsafe block
127+ [ #10405 ] ( https://github.com/rust-lang/rust-clippy/pull/10405 )
128+
129+ ### Others
130+
131+ * ` clippy-driver ` now searches parent directories for ` clippy.toml ` files
132+ [ #10592 ] ( https://github.com/rust-lang/rust-clippy/pull/10592 )
133+ * Fixed a deserialization error for the ` array-size-threshold ` config value
134+ [ #10423 ] ( https://github.com/rust-lang/rust-clippy/pull/10423 )
10135
11136## Rust 1.69
12137
@@ -4838,6 +4963,7 @@ Released 2018-09-13
48384963[ `missing_docs_in_private_items` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_docs_in_private_items
48394964[ `missing_enforced_import_renames` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_enforced_import_renames
48404965[ `missing_errors_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
4966+ [ `missing_fields_in_debug` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_fields_in_debug
48414967[ `missing_inline_in_public_items` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_inline_in_public_items
48424968[ `missing_panics_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
48434969[ `missing_safety_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
@@ -4874,6 +5000,7 @@ Released 2018-09-13
48745000[ `needless_collect` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_collect
48755001[ `needless_continue` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_continue
48765002[ `needless_doctest_main` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_doctest_main
5003+ [ `needless_else` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_else
48775004[ `needless_for_each` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_for_each
48785005[ `needless_late_init` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init
48795006[ `needless_lifetimes` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
@@ -4949,6 +5076,7 @@ Released 2018-09-13
49495076[ `println_empty_string` ] : https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string
49505077[ `ptr_arg` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
49515078[ `ptr_as_ptr` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ptr_as_ptr
5079+ [ `ptr_cast_constness` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ptr_cast_constness
49525080[ `ptr_eq` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ptr_eq
49535081[ `ptr_offset_with_cast` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast
49545082[ `pub_enum_variant_names` ] : https://rust-lang.github.io/rust-clippy/master/index.html#pub_enum_variant_names
0 commit comments