[−][src]Function gluon_base::resolve::remove_alias
pub fn remove_alias<T>(
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &T
) -> Result<Option<T>, Error> where
T: TypeExt<Id = Symbol, SpannedId = Symbol> + Clone + Display,
T::Types: Clone + Default + Extend<T> + FromIterator<T>,
T::Generics: Clone + FromIterator<Generic<Symbol>>,
T::Fields: Clone,
Expand typ
if it is an alias that can be expanded and return the expanded type.
Returns None
if the type is not an alias or the alias could not be expanded.