From 8a671168576b9b552a22be285646fc293a80d8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Sun, 21 Mar 2021 12:38:21 +0100 Subject: use strip_prefix() instead of starts_with and slicing (clippy::manual_strip) --- crates/hir_expand/src/name.rs | 5 ++--- crates/syntax/src/ast/edit.rs | 3 +-- xtask/src/codegen/gen_assists_docs.rs | 4 ++-- xtask/src/codegen/gen_parser_tests.rs | 10 ++++------ 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/crates/hir_expand/src/name.rs b/crates/hir_expand/src/name.rs index 43de9edd6..0aeea48d5 100644 --- a/crates/hir_expand/src/name.rs +++ b/crates/hir_expand/src/name.rs @@ -48,9 +48,8 @@ impl Name { /// Resolve a name from the text of token. fn resolve(raw_text: &str) -> Name { - let raw_start = "r#"; - if raw_text.starts_with(raw_start) { - Name::new_text(SmolStr::new(&raw_text[raw_start.len()..])) + if let Some(text) = raw_text.strip_prefix("r#") { + Name::new_text(SmolStr::new(text)) } else { Name::new_text(raw_text.into()) } diff --git a/crates/syntax/src/ast/edit.rs b/crates/syntax/src/ast/edit.rs index 64fac13a7..80be8b79c 100644 --- a/crates/syntax/src/ast/edit.rs +++ b/crates/syntax/src/ast/edit.rs @@ -333,8 +333,7 @@ impl ast::Use { .and_then(ast::Whitespace::cast); if let Some(next_ws) = next_ws { let ws_text = next_ws.syntax().text(); - if ws_text.starts_with('\n') { - let rest = &ws_text[1..]; + if let Some(rest) = ws_text.strip_prefix('\n') { if rest.is_empty() { res.delete(next_ws.syntax()) } else { diff --git a/xtask/src/codegen/gen_assists_docs.rs b/xtask/src/codegen/gen_assists_docs.rs index 158680993..c91716409 100644 --- a/xtask/src/codegen/gen_assists_docs.rs +++ b/xtask/src/codegen/gen_assists_docs.rs @@ -154,8 +154,8 @@ fn hide_hash_comments(text: &str) -> String { fn reveal_hash_comments(text: &str) -> String { text.split('\n') // want final newline .map(|it| { - if it.starts_with("# ") { - &it[2..] + if let Some(stripped) = it.strip_prefix("# ") { + stripped } else if it == "#" { "" } else { diff --git a/xtask/src/codegen/gen_parser_tests.rs b/xtask/src/codegen/gen_parser_tests.rs index 096590653..2fecb9b5b 100644 --- a/xtask/src/codegen/gen_parser_tests.rs +++ b/xtask/src/codegen/gen_parser_tests.rs @@ -60,12 +60,10 @@ fn collect_tests(s: &str) -> Vec { let mut res = Vec::new(); for comment_block in extract_comment_blocks(s) { let first_line = &comment_block[0]; - let (name, ok) = if first_line.starts_with("test ") { - let name = first_line["test ".len()..].to_string(); - (name, true) - } else if first_line.starts_with("test_err ") { - let name = first_line["test_err ".len()..].to_string(); - (name, false) + let (name, ok) = if let Some(name) = first_line.strip_prefix("test ") { + (name.to_string(), true) + } else if let Some(name) = first_line.strip_prefix("test_err ") { + (name.to_string(), false) } else { continue; }; -- cgit v1.2.3