mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 13:03:31 +00:00
Hygiene is an internal implementation detail of the compiler
This commit is contained in:
parent
e346a9c5e1
commit
9faf8dd69a
4 changed files with 12 additions and 7 deletions
|
@ -96,7 +96,7 @@ pub use {
|
|||
visibility::Visibility,
|
||||
},
|
||||
hir_expand::{
|
||||
name::{known, AsName, Name},
|
||||
name::{known, Name},
|
||||
ExpandResult, HirFileId, InFile, MacroCallId, MacroCallLoc, /* FIXME */ MacroDefId,
|
||||
MacroFile, Origin,
|
||||
},
|
||||
|
@ -106,7 +106,10 @@ pub use {
|
|||
// These are negative re-exports: pub using these names is forbidden, they
|
||||
// should remain private to hir internals.
|
||||
#[allow(unused)]
|
||||
use {hir_def::path::Path, hir_expand::hygiene::Hygiene};
|
||||
use {
|
||||
hir_def::path::Path,
|
||||
hir_expand::{hygiene::Hygiene, name::AsName},
|
||||
};
|
||||
|
||||
/// hir::Crate describes a single crate. It's the main interface with which
|
||||
/// a crate's dependencies interact. Mostly, it should be just a proxy for the
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use std::iter;
|
||||
|
||||
use either::Either;
|
||||
use hir::{AsName, Module, ModuleDef, Name, Variant};
|
||||
use hir::{Module, ModuleDef, Name, Variant};
|
||||
use ide_db::{
|
||||
defs::Definition,
|
||||
helpers::{
|
||||
|
@ -133,7 +133,7 @@ fn existing_definition(db: &RootDatabase, variant_name: &ast::Name, variant: &Va
|
|||
),
|
||||
_ => false,
|
||||
})
|
||||
.any(|(name, _)| name == variant_name.as_name())
|
||||
.any(|(name, _)| name.to_string() == variant_name.to_string())
|
||||
}
|
||||
|
||||
fn insert_import(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use std::iter;
|
||||
|
||||
use hir::{AsAssocItem, AsName};
|
||||
use hir::AsAssocItem;
|
||||
use ide_db::helpers::{import_assets::ImportCandidate, mod_path_to_ast};
|
||||
use ide_db::RootDatabase;
|
||||
use syntax::{
|
||||
|
@ -160,7 +160,9 @@ fn find_trait_method(
|
|||
) -> Option<hir::Function> {
|
||||
if let Some(hir::AssocItem::Function(method)) =
|
||||
trait_.items(db).into_iter().find(|item: &hir::AssocItem| {
|
||||
item.name(db).map(|name| name == trait_method_name.as_name()).unwrap_or(false)
|
||||
item.name(db)
|
||||
.map(|name| name.to_string() == trait_method_name.to_string())
|
||||
.unwrap_or(false)
|
||||
})
|
||||
{
|
||||
Some(method)
|
||||
|
|
|
@ -46,7 +46,7 @@ This is *the* entry point, but it front-loads a lot of complexity, so its fine t
|
|||
|
||||
`crates/rust-analyzer/src/handlers.rs` implements all LSP requests and is a great place to start if you are already familiar with LSP.
|
||||
|
||||
`Analysis` and `AnalysisHost` types define the main API.
|
||||
`Analysis` and `AnalysisHost` types define the main API for consumers of IDE services.
|
||||
|
||||
## Code Map
|
||||
|
||||
|
|
Loading…
Reference in a new issue