about summary refs log tree commit diff
path: root/clippy_lints/src/methods/string_extend_chars.rs
diff options
context:
space:
mode:
Diffstat (limited to 'clippy_lints/src/methods/string_extend_chars.rs')
-rw-r--r--clippy_lints/src/methods/string_extend_chars.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/clippy_lints/src/methods/string_extend_chars.rs b/clippy_lints/src/methods/string_extend_chars.rs
index 6f4cec546e9..f35d81cee8e 100644
--- a/clippy_lints/src/methods/string_extend_chars.rs
+++ b/clippy_lints/src/methods/string_extend_chars.rs
@@ -18,7 +18,11 @@ pub(super) fn check(cx: &LateContext<'_>, expr: &hir::Expr<'_>, recv: &hir::Expr
         let target = &arglists[0].0;
         let self_ty = cx.typeck_results().expr_ty(target).peel_refs();
         let ref_str = if *self_ty.kind() == ty::Str {
-            ""
+            if matches!(target.kind, hir::ExprKind::Index(..)) {
+                "&"
+            } else {
+                ""
+            }
         } else if is_type_lang_item(cx, self_ty, hir::LangItem::String) {
             "&"
         } else {