aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/lower.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-11-27 13:39:58 +0000
committerAleksey Kladov <[email protected]>2019-11-27 13:39:58 +0000
commit12501fcdd02fec9d43dfd810d65e927ddebb1b56 (patch)
tree55f1a6eddc328b20e3a4f71036d59a9573bfaa9c /crates/ra_hir/src/ty/lower.rs
parentd6e8f27488f8bf4ae7024b9b7a9c4797c2b52b12 (diff)
Remove TypableDef
Diffstat (limited to 'crates/ra_hir/src/ty/lower.rs')
-rw-r--r--crates/ra_hir/src/ty/lower.rs39
1 files changed, 1 insertions, 38 deletions
diff --git a/crates/ra_hir/src/ty/lower.rs b/crates/ra_hir/src/ty/lower.rs
index d776b6cd0..5dce2f342 100644
--- a/crates/ra_hir/src/ty/lower.rs
+++ b/crates/ra_hir/src/ty/lower.rs
@@ -31,8 +31,7 @@ use crate::{
31 utils::{all_super_traits, associated_type_by_name_including_super_traits, variant_data}, 31 utils::{all_super_traits, associated_type_by_name_including_super_traits, variant_data},
32 }, 32 },
33 util::make_mut_slice, 33 util::make_mut_slice,
34 Adt, Const, Enum, EnumVariant, Function, ImplBlock, ModuleDef, Static, Struct, Trait, 34 ImplBlock, Trait,
35 TypeAlias, Union,
36}; 35};
37 36
38impl Ty { 37impl Ty {
@@ -694,42 +693,6 @@ fn type_for_type_alias(db: &impl HirDatabase, t: TypeAliasId) -> Ty {
694} 693}
695 694
696#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] 695#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
697pub enum TypableDef {
698 Function(Function),
699 Adt(Adt),
700 EnumVariant(EnumVariant),
701 TypeAlias(TypeAlias),
702 Const(Const),
703 Static(Static),
704 BuiltinType(BuiltinType),
705}
706impl_froms!(
707 TypableDef: Function,
708 Adt(Struct, Enum, Union),
709 EnumVariant,
710 TypeAlias,
711 Const,
712 Static,
713 BuiltinType
714);
715
716impl From<ModuleDef> for Option<TypableDef> {
717 fn from(def: ModuleDef) -> Option<TypableDef> {
718 let res = match def {
719 ModuleDef::Function(f) => f.into(),
720 ModuleDef::Adt(adt) => adt.into(),
721 ModuleDef::EnumVariant(v) => v.into(),
722 ModuleDef::TypeAlias(t) => t.into(),
723 ModuleDef::Const(v) => v.into(),
724 ModuleDef::Static(v) => v.into(),
725 ModuleDef::BuiltinType(t) => t.into(),
726 ModuleDef::Module(_) | ModuleDef::Trait(_) => return None,
727 };
728 Some(res)
729 }
730}
731
732#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
733pub enum CallableDef { 696pub enum CallableDef {
734 FunctionId(FunctionId), 697 FunctionId(FunctionId),
735 StructId(StructId), 698 StructId(StructId),