diff --git a/crates/hir_ty/src/diagnostics/decl_check/str_helpers.rs b/crates/hir_ty/src/diagnostics/decl_check/str_helpers.rs index 8f70c5e846..c1ab1a6759 100644 --- a/crates/hir_ty/src/diagnostics/decl_check/str_helpers.rs +++ b/crates/hir_ty/src/diagnostics/decl_check/str_helpers.rs @@ -13,7 +13,7 @@ enum DetectedCase { fn detect_case(ident: &str) -> DetectedCase { let trimmed_ident = ident.trim_matches('_'); let first_lowercase = - trimmed_ident.chars().next().map(|chr| chr.is_ascii_lowercase()).unwrap_or(false); + trimmed_ident.starts_with(|chr| chr.is_ascii_lowercase()); let mut has_lowercase = first_lowercase; let mut has_uppercase = false; let mut has_underscore = false; @@ -102,7 +102,7 @@ pub fn to_camel_case(ident: &str) -> Option { } /// Converts an identifier to a lower_snake_case form. -/// Returns `None` if the string is already is lower_snake_case. +/// Returns `None` if the string is already in lower_snake_case. pub fn to_lower_snake_case(ident: &str) -> Option { // First, assume that it's UPPER_SNAKE_CASE. match detect_case(ident) { diff --git a/crates/stdx/src/lib.rs b/crates/stdx/src/lib.rs index 522a9c1abd..b55de813ec 100644 --- a/crates/stdx/src/lib.rs +++ b/crates/stdx/src/lib.rs @@ -35,7 +35,7 @@ pub fn to_lower_snake_case(s: &str) -> String { // `&& prev` is required to not insert `_` before the first symbol. if c.is_ascii_uppercase() && prev { // This check is required to not translate `Weird_Case` into `weird__case`. - if buf.chars().last() != Some('_') { + if !buf.ends_with('_') { buf.push('_') } }