[−][src]Struct gluon_base::resolve::AliasRemover
Fields
named_variables: FnvMap<Symbol, T>
Implementations
impl<T> AliasRemover<T>
[src]
pub fn new() -> Self
[src]
pub fn len(&self) -> usize
[src]
pub fn is_empty(&self) -> bool
[src]
pub fn reset(&mut self, to: usize)
[src]
pub fn clear(&mut self)
[src]
impl<T> AliasRemover<T> where
T: TypeExt<Id = Symbol> + Clone + Display,
T::Types: Clone + Default + Extend<T> + FromIterator<T>,
T::Generics: Clone + FromIterator<Generic<Symbol>>,
T::Fields: Clone,
[src]
T: TypeExt<Id = Symbol> + Clone + Display,
T::Types: Clone + Default + Extend<T> + FromIterator<T>,
T::Generics: Clone + FromIterator<Generic<Symbol>>,
T::Fields: Clone,
pub fn canonical_alias<'t, F>(
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &'t T,
canonical: F
) -> Result<Cow<'t, T>, Error> where
F: FnMut(&AliasRef<Symbol, T>) -> bool,
[src]
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &'t T,
canonical: F
) -> Result<Cow<'t, T>, Error> where
F: FnMut(&AliasRef<Symbol, T>) -> bool,
pub fn remove_aliases_to_concrete<'a>(
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: T
) -> Result<T, Error>
[src]
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: T
) -> Result<T, Error>
pub fn remove_aliases(
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: T
) -> Result<T, Error>
[src]
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: T
) -> Result<T, Error>
pub fn remove_aliases_predicate(
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: T,
predicate: impl FnMut(&AliasData<Symbol, T>) -> bool
) -> Result<T, Error>
[src]
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: T,
predicate: impl FnMut(&AliasData<Symbol, T>) -> bool
) -> Result<T, Error>
pub fn remove_alias(
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &T,
predicate: impl FnOnce(&AliasData<Symbol, T>) -> bool
) -> Result<Option<T>, Error>
[src]
&mut self,
env: &dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &T,
predicate: impl FnOnce(&AliasData<Symbol, T>) -> bool
) -> Result<Option<T>, Error>
pub fn remove_alias_to_concrete<'a>(
&mut self,
env: &'a dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &'a T,
predicate: impl FnOnce(&AliasData<Symbol, T>) -> bool
) -> Result<Option<(T, Cow<'a, [T]>)>, Error>
[src]
&mut self,
env: &'a dyn TypeEnv<Type = T>,
interner: &mut impl TypeContext<Symbol, T>,
typ: &'a T,
predicate: impl FnOnce(&AliasData<Symbol, T>) -> bool
) -> Result<Option<(T, Cow<'a, [T]>)>, Error>
Trait Implementations
impl<T: Debug> Debug for AliasRemover<T>
[src]
impl<T> Default for AliasRemover<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for AliasRemover<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for AliasRemover<T> where
T: Send,
T: Send,
impl<T> Sync for AliasRemover<T> where
T: Sync,
T: Sync,
impl<T> Unpin for AliasRemover<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for AliasRemover<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
[src]
T: Any,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,