[−][src]Trait gluon_base::types::TypeExt
Associated Types
type Id
Required methods
Loading content...Provided methods
ⓘImportant traits for TypeFieldIterator<'a, T>fn type_field_iter(&self) -> TypeFieldIterator<Self>
ⓘImportant traits for TypeFieldIterator<'a, T>
Returns an iterator over all type fields in a record.
{ Test, Test2, x, y } => [Test, Test2]
ⓘImportant traits for RowIterator<'a, T>fn row_iter(&self) -> RowIterator<Self>
ⓘImportant traits for RowIterator<'a, T>
Returns an iterator over all fields in a record.
{ Test, Test2, x, y } => [x, y]
fn remove_implicit_args<'a>(&'a self) -> &'a Self
fn remove_forall<'a>(&'a self) -> &'a Self
fn remove_forall_and_implicit_args<'a>(&'a self) -> &'a Self
fn replace_generics(
&self,
interner: &mut impl TypeContext<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
Self: Clone,
&self,
interner: &mut impl TypeContext<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
Self: Clone,
ⓘImportant traits for ForallScopeIter<'a, T>fn forall_scope_iter(&self) -> ForallScopeIter<Self>
ⓘImportant traits for ForallScopeIter<'a, T>
fn pretty<'a, A>(
&'a self,
arena: &'a Arena<'a, A>
) -> DocBuilder<'a, Arena<'a, A>, A> where
Self::Id: AsRef<str> + 'a,
A: Clone,
Self: Commented + HasSpan,
&'a self,
arena: &'a Arena<'a, A>
) -> DocBuilder<'a, Arena<'a, A>, A> where
Self::Id: AsRef<str> + 'a,
A: Clone,
Self: Commented + HasSpan,
fn display<A>(&self, width: usize) -> TypeFormatter<Self::Id, Self, A>
fn apply_args(
&self,
params: &[Generic<Self::Id>],
args: &[Self],
interner: &mut impl TypeContext<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
&self,
params: &[Generic<Self::Id>],
args: &[Self],
interner: &mut impl TypeContext<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
Applies a list of arguments to a parameterised type, returning Some
if the substitution was successful.
Example:
self = forall e t . | Err e | Ok t
args = [Error, Option a]
result = | Err Error | Ok (Option a)
fn flags(&self) -> Flags
fn instantiate_generics(
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
fn skolemize(
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
fn skolemize_in(
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>,
f: impl FnOnce(Self) -> Self
) -> Self where
Self::Id: Clone + Eq + Hash,
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>,
f: impl FnOnce(Self) -> Self
) -> Self where
Self::Id: Clone + Eq + Hash,
Implementors
impl<Id> TypeExt for ArcType<Id>
[src]
type Id = Id
fn new(typ: Type<Id, ArcType<Id>>) -> ArcType<Id>
[src]
fn strong_count(typ: &ArcType<Id>) -> usize
[src]
fn flags(&self) -> Flags
[src]
ⓘImportant traits for TypeFieldIterator<'a, T>fn type_field_iter(&self) -> TypeFieldIterator<Self>
[src]
ⓘImportant traits for TypeFieldIterator<'a, T>
ⓘImportant traits for RowIterator<'a, T>fn row_iter(&self) -> RowIterator<Self>
[src]
ⓘImportant traits for RowIterator<'a, T>
fn remove_implicit_args<'a>(&'a self) -> &'a Self
[src]
fn remove_forall<'a>(&'a self) -> &'a Self
[src]
fn remove_forall_and_implicit_args<'a>(&'a self) -> &'a Self
[src]
fn replace_generics(
&self,
interner: &mut impl TypeContext<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
Self: Clone,
[src]
&self,
interner: &mut impl TypeContext<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
Self: Clone,
ⓘImportant traits for ForallScopeIter<'a, T>fn forall_scope_iter(&self) -> ForallScopeIter<Self>
[src]
ⓘImportant traits for ForallScopeIter<'a, T>
fn pretty<'a, A>(
&'a self,
arena: &'a Arena<'a, A>
) -> DocBuilder<'a, Arena<'a, A>, A> where
Self::Id: AsRef<str> + 'a,
A: Clone,
Self: Commented + HasSpan,
[src]
&'a self,
arena: &'a Arena<'a, A>
) -> DocBuilder<'a, Arena<'a, A>, A> where
Self::Id: AsRef<str> + 'a,
A: Clone,
Self: Commented + HasSpan,
fn display<A>(&self, width: usize) -> TypeFormatter<Self::Id, Self, A>
[src]
fn apply_args(
&self,
params: &[Generic<Self::Id>],
args: &[Self],
interner: &mut impl TypeContext<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
[src]
&self,
params: &[Generic<Self::Id>],
args: &[Self],
interner: &mut impl TypeContext<Self::Id, Self>
) -> Option<Self> where
Self::Id: Clone + Eq + Hash,
fn instantiate_generics(
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
[src]
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
fn skolemize(
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
[src]
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>
) -> Self where
Self::Id: Clone + Eq + Hash,
fn skolemize_in(
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>,
f: impl FnOnce(Self) -> Self
) -> Self where
Self::Id: Clone + Eq + Hash,
[src]
&self,
interner: &mut impl Substitution<Self::Id, Self>,
named_variables: &mut FnvMap<Self::Id, Self>,
f: impl FnOnce(Self) -> Self
) -> Self where
Self::Id: Clone + Eq + Hash,