From 4da0da9281632890cb833201eb940519b388cf25 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Tue, 19 Nov 2019 23:08:50 +0700 Subject: [PATCH 1/2] use more efficient code to generate repeated string see https://rust.godbolt.org/z/z9vrFP for comparison --- clippy_lints/src/strings.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/strings.rs b/clippy_lints/src/strings.rs index fca70fe8dbde..b10991025232 100644 --- a/clippy_lints/src/strings.rs +++ b/clippy_lints/src/strings.rs @@ -154,7 +154,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for StringLitAsBytes { if let LitKind::Str(ref lit_content, style) = lit.node { let callsite = snippet(cx, args[0].span.source_callsite(), r#""foo""#); let expanded = if let StrStyle::Raw(n) = style { - let term = (0..n).map(|_| '#').collect::(); + let term = "#".repeat(n as usize); format!("r{0}\"{1}\"{0}", term, lit_content.as_str()) } else { format!("\"{}\"", lit_content.as_str()) From d229d91d88b4c6a74d504ac1e92c5e6cc084bca4 Mon Sep 17 00:00:00 2001 From: lzutao Date: Tue, 19 Nov 2019 23:47:18 +0700 Subject: [PATCH 2/2] use usize::from MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Mateusz MikuĊ‚a --- clippy_lints/src/strings.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/strings.rs b/clippy_lints/src/strings.rs index b10991025232..a3d1193052e5 100644 --- a/clippy_lints/src/strings.rs +++ b/clippy_lints/src/strings.rs @@ -154,7 +154,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for StringLitAsBytes { if let LitKind::Str(ref lit_content, style) = lit.node { let callsite = snippet(cx, args[0].span.source_callsite(), r#""foo""#); let expanded = if let StrStyle::Raw(n) = style { - let term = "#".repeat(n as usize); + let term = "#".repeat(usize::from(n)); format!("r{0}\"{1}\"{0}", term, lit_content.as_str()) } else { format!("\"{}\"", lit_content.as_str())