aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/from_id.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/from_id.rs')
-rw-r--r--crates/ra_hir/src/from_id.rs23
1 files changed, 20 insertions, 3 deletions
diff --git a/crates/ra_hir/src/from_id.rs b/crates/ra_hir/src/from_id.rs
index 7042422cc..e294e957b 100644
--- a/crates/ra_hir/src/from_id.rs
+++ b/crates/ra_hir/src/from_id.rs
@@ -4,12 +4,13 @@
4//! are splitting the hir. 4//! are splitting the hir.
5 5
6use hir_def::{ 6use hir_def::{
7 AdtId, AssocItemId, DefWithBodyId, EnumId, EnumVariantId, GenericDefId, ModuleDefId, StructId, 7 AdtId, AssocItemId, ConstId, DefWithBodyId, EnumId, EnumVariantId, FunctionId, GenericDefId,
8 TypeAliasId, UnionId, 8 ModuleDefId, StaticId, StructId, TypeAliasId, UnionId,
9}; 9};
10 10
11use crate::{ 11use crate::{
12 ty::TypableDef, Adt, AssocItem, DefWithBody, EnumVariant, GenericDef, ModuleDef, TypeAlias, 12 ty::TypableDef, Adt, AssocItem, Const, DefWithBody, EnumVariant, Function, GenericDef,
13 ModuleDef, Static, TypeAlias,
13}; 14};
14 15
15macro_rules! from_id { 16macro_rules! from_id {
@@ -174,6 +175,22 @@ impl From<TypeAliasId> for TypableDef {
174 } 175 }
175} 176}
176 177
178impl From<FunctionId> for TypableDef {
179 fn from(id: FunctionId) -> Self {
180 Function::from(id).into()
181 }
182}
183impl From<ConstId> for TypableDef {
184 fn from(id: ConstId) -> Self {
185 Const::from(id).into()
186 }
187}
188impl From<StaticId> for TypableDef {
189 fn from(id: StaticId) -> Self {
190 Static::from(id).into()
191 }
192}
193
177impl From<Adt> for GenericDefId { 194impl From<Adt> for GenericDefId {
178 fn from(id: Adt) -> Self { 195 fn from(id: Adt) -> Self {
179 match id { 196 match id {