mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Auto merge of #14184 - lowr:feat/trait-alias-def, r=Veykril
Handle trait alias definitions Part of #2773 This PR adds a bunch of structs and enum variants for trait aliases. Trait aliases should be handled as an independent item because they are semantically distinct from traits. I basically started by adding `TraitAlias{Id, Loc}` to `hir_def::item_tree` and iterated adding necessary stuffs until compiler stopped complaining what's missing. Let me know if there's still anything I need to add. I'm opening up this PR for early review and stuff. I'm planning to add tests for IDE functionalities in this PR, but not type-related support, for which I put FIXME notes.
This commit is contained in:
commit
6756294aa0
63 changed files with 623 additions and 206 deletions
|
@ -416,6 +416,7 @@ impl<'a> CompletionContext<'a> {
|
|||
hir::ModuleDef::Const(it) => self.is_visible(it),
|
||||
hir::ModuleDef::Static(it) => self.is_visible(it),
|
||||
hir::ModuleDef::Trait(it) => self.is_visible(it),
|
||||
hir::ModuleDef::TraitAlias(it) => self.is_visible(it),
|
||||
hir::ModuleDef::TypeAlias(it) => self.is_visible(it),
|
||||
hir::ModuleDef::Macro(it) => self.is_visible(it),
|
||||
hir::ModuleDef::BuiltinType(_) => Visible::Yes,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue