[][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.