Note that type aliases cannot be recursive

This commit is contained in:
Noah Lev
2021-08-19 20:30:33 -07:00
parent 2f48bfa88c
commit cd0fc444fb
7 changed files with 84 additions and 2 deletions

View File

@@ -0,0 +1,18 @@
use rustc_hir::def::DefKind;
use rustc_query_system::query::SimpleDefKind;
/// Convert a [`DefKind`] to a [`SimpleDefKind`].
///
/// *See [`SimpleDefKind`]'s docs for more information.*
pub(crate) fn def_kind_to_simple_def_kind(def_kind: DefKind) -> SimpleDefKind {
match def_kind {
DefKind::Struct => SimpleDefKind::Struct,
DefKind::Enum => SimpleDefKind::Enum,
DefKind::Union => SimpleDefKind::Union,
DefKind::Trait => SimpleDefKind::Trait,
DefKind::TyAlias => SimpleDefKind::TyAlias,
DefKind::TraitAlias => SimpleDefKind::TraitAlias,
_ => SimpleDefKind::Other,
}
}