From f4f71e361ee632a7a09b633934a9c0a11f4a9be7 Mon Sep 17 00:00:00 2001 From: zombiefungus Date: Sun, 2 Feb 2020 08:04:06 -0500 Subject: include requested changes --- crates/ra_hir_def/src/nameres/raw.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'crates/ra_hir_def/src/nameres/raw.rs') diff --git a/crates/ra_hir_def/src/nameres/raw.rs b/crates/ra_hir_def/src/nameres/raw.rs index f068b4d4e..650cf1f98 100644 --- a/crates/ra_hir_def/src/nameres/raw.rs +++ b/crates/ra_hir_def/src/nameres/raw.rs @@ -22,8 +22,11 @@ use ra_syntax::{ use test_utils::tested_by; use crate::{ - attr::Attrs, db::DefDatabase, path::ModPath, visibility::RawVisibility, FileAstId, HirFileId, - InFile, + attr::Attrs, + db::DefDatabase, + path::{ImportAlias, ModPath}, + visibility::RawVisibility, + FileAstId, HirFileId, InFile, }; /// `RawItems` is a set of top-level items in a file (except for impls). @@ -145,7 +148,7 @@ impl_arena_id!(Import); #[derive(Debug, Clone, PartialEq, Eq)] pub struct ImportData { pub(super) path: ModPath, - pub(super) alias: ImportAlias, + pub(super) alias: Option, pub(super) is_glob: bool, pub(super) is_prelude: bool, pub(super) is_extern_crate: bool, @@ -153,13 +156,6 @@ pub struct ImportData { pub(super) visibility: RawVisibility, } -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum ImportAlias { - NoAlias, - Unnamed, // use Foo as _; - Alias(Name), -} - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub(super) struct Def(RawId); impl_arena_id!(Def); @@ -360,10 +356,10 @@ impl RawItemsCollector { let path = ModPath::from_name_ref(&name_ref); let visibility = RawVisibility::from_ast_with_hygiene(extern_crate.visibility(), &self.hygiene); - let alias = extern_crate.alias().map_or(ImportAlias::NoAlias, |a| { + let alias = extern_crate.alias().map(|a| { a.name() .map(|it| it.as_name()) - .map_or(ImportAlias::Unnamed, |a| ImportAlias::Alias(a)) + .map_or(ImportAlias::Underscore, |a| ImportAlias::Alias(a)) }); let attrs = self.parse_attrs(&extern_crate); // FIXME: cfg_attr -- cgit v1.2.3