@@ -20,6 +20,7 @@ mod map_collect_result_unit;
20
20
mod ok_expect;
21
21
mod option_as_ref_deref;
22
22
mod option_map_unwrap_or;
23
+ mod single_char_insert_string;
23
24
mod skip_while_next;
24
25
mod string_extend_chars;
25
26
mod suspicious_map;
@@ -1779,7 +1780,7 @@ impl<'tcx> LateLintPass<'tcx> for Methods {
1779
1780
if match_def_path ( cx, fn_def_id, & paths:: PUSH_STR ) {
1780
1781
lint_single_char_push_string ( cx, expr, args) ;
1781
1782
} else if match_def_path ( cx, fn_def_id, & paths:: INSERT_STR ) {
1782
- lint_single_char_insert_string ( cx, expr, args) ;
1783
+ single_char_insert_string :: check ( cx, expr, args) ;
1783
1784
}
1784
1785
}
1785
1786
@@ -3235,26 +3236,6 @@ fn lint_single_char_push_string(cx: &LateContext<'_>, expr: &hir::Expr<'_>, args
3235
3236
}
3236
3237
}
3237
3238
3238
- /// lint for length-1 `str`s as argument for `insert_str`
3239
- fn lint_single_char_insert_string ( cx : & LateContext < ' _ > , expr : & hir:: Expr < ' _ > , args : & [ hir:: Expr < ' _ > ] ) {
3240
- let mut applicability = Applicability :: MachineApplicable ;
3241
- if let Some ( extension_string) = get_hint_if_single_char_arg ( cx, & args[ 2 ] , & mut applicability) {
3242
- let base_string_snippet =
3243
- snippet_with_applicability ( cx, args[ 0 ] . span . source_callsite ( ) , "_" , & mut applicability) ;
3244
- let pos_arg = snippet_with_applicability ( cx, args[ 1 ] . span , ".." , & mut applicability) ;
3245
- let sugg = format ! ( "{}.insert({}, {})" , base_string_snippet, pos_arg, extension_string) ;
3246
- span_lint_and_sugg (
3247
- cx,
3248
- SINGLE_CHAR_ADD_STR ,
3249
- expr. span ,
3250
- "calling `insert_str()` using a single-character string literal" ,
3251
- "consider using `insert` with a character literal" ,
3252
- sugg,
3253
- applicability,
3254
- ) ;
3255
- }
3256
- }
3257
-
3258
3239
/// Checks for the `USELESS_ASREF` lint.
3259
3240
fn lint_asref ( cx : & LateContext < ' _ > , expr : & hir:: Expr < ' _ > , call_name : & str , as_ref_args : & [ hir:: Expr < ' _ > ] ) {
3260
3241
// when we get here, we've already checked that the call name is "as_ref" or "as_mut"
0 commit comments