]> git.lizzy.rs Git - rust.git/blobdiff - crates/ide/src/display/navigation_target.rs
Replace more Name::to_string usages with Name::to_smol_str
[rust.git] / crates / ide / src / display / navigation_target.rs
index 65c29f680532b11a55bd5bdcd43085a19a1fe1bf..b21998e0d2293f1762c2c0fa814ad4b1b3dcb27c 100644 (file)
@@ -90,7 +90,7 @@ pub fn focus_or_full_range(&self) -> TextRange {
     }
 
     pub(crate) fn from_module_to_decl(db: &RootDatabase, module: hir::Module) -> NavigationTarget {
-        let name = module.name(db).map(|it| it.to_string().into()).unwrap_or_default();
+        let name = module.name(db).map(|it| it.to_smol_str()).unwrap_or_default();
         if let Some(src) = module.declaration_source(db) {
             let node = src.syntax();
             let full_range = node.original_file_range(db);
@@ -275,7 +275,7 @@ fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
 impl ToNav for hir::Module {
     fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
         let src = self.definition_source(db);
-        let name = self.name(db).map(|it| it.to_string().into()).unwrap_or_default();
+        let name = self.name(db).map(|it| it.to_smol_str()).unwrap_or_default();
         let (syntax, focus) = match &src.value {
             ModuleSource::SourceFile(node) => (node.syntax(), None),
             ModuleSource::Module(node) => {
@@ -292,10 +292,9 @@ impl TryToNav for hir::Impl {
     fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
         let src = self.source(db)?;
         let derive_attr = self.is_builtin_derive(db);
-        let frange = if let Some(item) = &derive_attr {
-            item.syntax().original_file_range(db)
-        } else {
-            src.syntax().original_file_range(db)
+        let frange = match &derive_attr {
+            Some(item) => item.syntax().original_file_range(db),
+            None => src.syntax().original_file_range(db),
         };
         let focus_range = if derive_attr.is_some() {
             None
@@ -400,7 +399,7 @@ fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
 
         let full_range = src.with_value(&node).original_file_range(db);
         let name = match self.name(db) {
-            Some(it) => it.to_string().into(),
+            Some(it) => it.to_smol_str(),
             None => "".into(),
         };
         let kind = if self.is_self(db) {
@@ -430,7 +429,7 @@ fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
         let FileRange { file_id, range } = src.with_value(node).original_file_range(db);
         let focus_range =
             src.value.lifetime().and_then(|lt| lt.lifetime_ident_token()).map(|lt| lt.text_range());
-        let name = self.name(db).to_string().into();
+        let name = self.name(db).to_smol_str();
         NavigationTarget {
             file_id,
             name,
@@ -460,7 +459,7 @@ fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
         .map(|it| it.syntax().text_range());
         Some(NavigationTarget {
             file_id: src.file_id.original_file(db),
-            name: self.name(db).to_string().into(),
+            name: self.name(db).to_smol_str(),
             kind: Some(SymbolKind::TypeParam),
             full_range,
             focus_range,
@@ -477,7 +476,7 @@ fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
         let full_range = src.value.syntax().text_range();
         Some(NavigationTarget {
             file_id: src.file_id.original_file(db),
-            name: self.name(db).to_string().into(),
+            name: self.name(db).to_smol_str(),
             kind: Some(SymbolKind::LifetimeParam),
             full_range,
             focus_range: Some(full_range),
@@ -494,7 +493,7 @@ fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
         let full_range = src.value.syntax().text_range();
         Some(NavigationTarget {
             file_id: src.file_id.original_file(db),
-            name: self.name(db).to_string().into(),
+            name: self.name(db).to_smol_str(),
             kind: Some(SymbolKind::ConstParam),
             full_range,
             focus_range: src.value.name().map(|n| n.syntax().text_range()),