mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-31 05:26:23 +03:00
Use Display instead of a custom method
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
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 @@ pub fn new(name: &str) -> Result<CrateName, &str> {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ pub(crate) fn crate_def_map_query(db: &impl DefDatabase, krate: CrateId) -> Arc<
|
||||
db.crate_graph()[krate]
|
||||
.display_name
|
||||
.as_ref()
|
||||
.map(|name| name.get_name())
|
||||
.map(ToString::to_string)
|
||||
.unwrap_or_default()
|
||||
});
|
||||
let def_map = {
|
||||
|
||||
+11
-16
@@ -94,22 +94,17 @@ fn definition_owner_name(db: &RootDatabase, def: &Definition) -> Option<String>
|
||||
|
||||
fn determine_mod_path(db: &RootDatabase, def: &Definition) -> Option<String> {
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user