diff options
| author | bors <bors@rust-lang.org> | 2022-04-14 14:29:22 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-04-14 14:29:22 +0000 |
| commit | aade96f9028ad3031d92de1c8a127f1e1d24a9fc (patch) | |
| tree | 37b6af955695aeaba9dacb8e80b26854f3a76b88 /clippy_utils/src | |
| parent | ecb3c3fc7edd43d6848f57f559bbddca1fae2e86 (diff) | |
| parent | 67badbeef6ce5452cc47f2463d7146048ce64625 (diff) | |
| download | rust-aade96f9028ad3031d92de1c8a127f1e1d24a9fc.tar.gz rust-aade96f9028ad3031d92de1c8a127f1e1d24a9fc.zip | |
Auto merge of #8626 - pitaj:format_add_string, r=llogiq
New lint `format_add_strings` Closes #6261 changelog: Added [`format_add_string`]: recommend using `write!` instead of appending the result of `format!`
Diffstat (limited to 'clippy_utils/src')
| -rw-r--r-- | clippy_utils/src/sugg.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/clippy_utils/src/sugg.rs b/clippy_utils/src/sugg.rs index 1fc9979f3dd..ffd2b5aabcf 100644 --- a/clippy_utils/src/sugg.rs +++ b/clippy_utils/src/sugg.rs @@ -18,7 +18,7 @@ use rustc_span::source_map::{BytePos, CharPos, Pos, Span, SyntaxContext}; use rustc_typeck::expr_use_visitor::{Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId}; use std::borrow::Cow; use std::convert::TryInto; -use std::fmt::Display; +use std::fmt::{Display, Write as _}; use std::iter; use std::ops::{Add, Neg, Not, Sub}; @@ -901,7 +901,7 @@ impl<'tcx> Delegate<'tcx> for DerefDelegate<'_, 'tcx> { if cmt.place.projections.is_empty() { // handle item without any projection, that needs an explicit borrowing // i.e.: suggest `&x` instead of `x` - self.suggestion_start.push_str(&format!("{}&{}", start_snip, ident_str)); + let _ = write!(self.suggestion_start, "{}&{}", start_snip, ident_str); } else { // cases where a parent `Call` or `MethodCall` is using the item // i.e.: suggest `.contains(&x)` for `.find(|x| [1, 2, 3].contains(x)).is_none()` @@ -916,8 +916,7 @@ impl<'tcx> Delegate<'tcx> for DerefDelegate<'_, 'tcx> { // given expression is the self argument and will be handled completely by the compiler // i.e.: `|x| x.is_something()` ExprKind::MethodCall(_, [self_expr, ..], _) if self_expr.hir_id == cmt.hir_id => { - self.suggestion_start - .push_str(&format!("{}{}", start_snip, ident_str_with_proj)); + let _ = write!(self.suggestion_start, "{}{}", start_snip, ident_str_with_proj); self.next_pos = span.hi(); return; }, @@ -1025,8 +1024,7 @@ impl<'tcx> Delegate<'tcx> for DerefDelegate<'_, 'tcx> { } } - self.suggestion_start - .push_str(&format!("{}{}", start_snip, replacement_str)); + let _ = write!(self.suggestion_start, "{}{}", start_snip, replacement_str); } self.next_pos = span.hi(); } |
