From 92fd430dab8cd0c7a476ccc5db87607f3f0f00a2 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Mon, 16 Mar 2020 12:03:43 +0200 Subject: Use Display instead of a custom method --- crates/ra_db/src/input.rs | 7 +++++-- crates/ra_hir_def/src/nameres.rs | 2 +- crates/ra_ide/src/hover.rs | 27 +++++++++++---------------- 3 files changed, 17 insertions(+), 19 deletions(-) (limited to 'crates') diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs index a6a831afa..bde843001 100644 --- a/crates/ra_db/src/input.rs +++ b/crates/ra_db/src/input.rs @@ -14,6 +14,7 @@ use rustc_hash::FxHashMap; use rustc_hash::FxHashSet; use crate::{RelativePath, RelativePathBuf}; +use fmt::Display; /// `FileId` is an integer which uniquely identifies a file. File paths are /// messy and system-dependent, so most of the code should work directly with @@ -102,9 +103,11 @@ impl CrateName { pub fn normalize_dashes(name: &str) -> CrateName { Self(SmolStr::new(name.replace('-', "_"))) } +} - pub fn get_name(&self) -> String { - self.0.to_string() +impl Display for CrateName { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.0) } } diff --git a/crates/ra_hir_def/src/nameres.rs b/crates/ra_hir_def/src/nameres.rs index 87992854a..03515309e 100644 --- a/crates/ra_hir_def/src/nameres.rs +++ b/crates/ra_hir_def/src/nameres.rs @@ -181,7 +181,7 @@ impl CrateDefMap { db.crate_graph()[krate] .display_name .as_ref() - .map(|name| name.get_name()) + .map(ToString::to_string) .unwrap_or_default() }); let def_map = { diff --git a/crates/ra_ide/src/hover.rs b/crates/ra_ide/src/hover.rs index d1deca96b..5b3760c18 100644 --- a/crates/ra_ide/src/hover.rs +++ b/crates/ra_ide/src/hover.rs @@ -94,22 +94,17 @@ fn definition_owner_name(db: &RootDatabase, def: &Definition) -> Option fn determine_mod_path(db: &RootDatabase, def: &Definition) -> Option { let mod_path = def.module(db).map(|module| { - once( - db.crate_graph()[module.krate().into()] - .display_name - .as_ref() - .map(|name| name.get_name()), - ) - .chain( - module - .path_to_root(db) - .into_iter() - .rev() - .map(|it| it.name(db).map(|name| name.to_string())), - ) - .chain(once(definition_owner_name(db, def))) - .flatten() - .join("::") + once(db.crate_graph()[module.krate().into()].display_name.as_ref().map(ToString::to_string)) + .chain( + module + .path_to_root(db) + .into_iter() + .rev() + .map(|it| it.name(db).map(|name| name.to_string())), + ) + .chain(once(definition_owner_name(db, def))) + .flatten() + .join("::") }); mod_path // FIXME: replace dashes with underscores in crate display name } -- cgit v1.2.3