From c6172f3f6d3fb0982ae17f48507608609d46d179 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sun, 13 Dec 2020 22:13:16 +0100 Subject: Add LifetimeParam resolving to Semantics --- crates/hir/src/from_id.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'crates/hir/src/from_id.rs') diff --git a/crates/hir/src/from_id.rs b/crates/hir/src/from_id.rs index 265ef6d1f..dd3fcfe4a 100644 --- a/crates/hir/src/from_id.rs +++ b/crates/hir/src/from_id.rs @@ -41,6 +41,7 @@ from_id![ (hir_def::FunctionId, crate::Function), (hir_def::ImplId, crate::ImplDef), (hir_def::TypeParamId, crate::TypeParam), + (hir_def::LifetimeParamId, crate::LifetimeParam), (hir_expand::MacroDefId, crate::MacroDef) ]; @@ -154,6 +155,22 @@ impl From for GenericDefId { } } +impl From for GenericDef { + fn from(def: GenericDefId) -> Self { + match def { + GenericDefId::FunctionId(it) => GenericDef::Function(it.into()), + GenericDefId::AdtId(it) => GenericDef::Adt(it.into()), + GenericDefId::TraitId(it) => GenericDef::Trait(it.into()), + GenericDefId::TypeAliasId(it) => GenericDef::TypeAlias(it.into()), + GenericDefId::ImplId(it) => GenericDef::ImplDef(it.into()), + GenericDefId::EnumVariantId(it) => { + GenericDef::EnumVariant(EnumVariant { parent: it.parent.into(), id: it.local_id }) + } + GenericDefId::ConstId(it) => GenericDef::Const(it.into()), + } + } +} + impl From for GenericDefId { fn from(id: Adt) -> Self { match id { -- cgit v1.2.3