[−][src]Struct gluon_check::unify_type::State
Fields
in_alias: bool
Methods
impl<'a> State<'a>
[src]
pub fn new(
env: &'a (dyn TypeEnv<Type = RcType> + 'a),
subs: &'a Substitution<RcType>
) -> State<'a>
[src]
env: &'a (dyn TypeEnv<Type = RcType> + 'a),
subs: &'a Substitution<RcType>
) -> State<'a>
Trait Implementations
impl<'a, 'e> Unifier<State<'a>, ArcType<Symbol>> for UnifierState<'a, Subsume<'e>>
[src]
fn report_error(&mut self, error: UnifyError<TypeError<Symbol, RcType>, RcType>)
[src]
fn allow_returned_type_replacement(&self) -> bool
[src]
fn try_match_res(
&mut self,
l: &RcType,
r: &RcType
) -> Result<Option<RcType>, UnifyError<TypeError<Symbol, RcType>, RcType>>
[src]
&mut self,
l: &RcType,
r: &RcType
) -> Result<Option<RcType>, UnifyError<TypeError<Symbol, RcType>, RcType>>
fn error_type(&self) -> RcType
[src]
fn try_match(&mut self, l: &Type, r: &Type) -> Option<Type>
[src]
Attempt to unify l
and r
using the strategy of Self
.
impl<'a, 'e> Unifier<State<'a>, ArcType<Symbol>> for UnifierState<'a, Equal<'e>>
[src]
fn report_error(&mut self, error: UnifyError<TypeError<Symbol, RcType>, RcType>)
[src]
fn try_match_res(
&mut self,
l: &RcType,
r: &RcType
) -> Result<Option<RcType>, UnifyError<TypeError<Symbol, RcType>, RcType>>
[src]
&mut self,
l: &RcType,
r: &RcType
) -> Result<Option<RcType>, UnifyError<TypeError<Symbol, RcType>, RcType>>
fn error_type(&self) -> RcType
[src]
fn try_match(&mut self, l: &Type, r: &Type) -> Option<Type>
[src]
Attempt to unify l
and r
using the strategy of Self
.
fn allow_returned_type_replacement(&self) -> bool
[src]
true
if the returned type can be replaced by the caller
impl<'a, 'e> Unifier<State<'a>, ArcType<Symbol>> for UnifierState<'a, Smaller>
[src]
fn report_error(&mut self, error: UnifyError<TypeError<Symbol, RcType>, RcType>)
[src]
fn try_match_res(
&mut self,
l: &RcType,
r: &RcType
) -> Result<Option<RcType>, UnifyError<TypeError<Symbol, RcType>, RcType>>
[src]
&mut self,
l: &RcType,
r: &RcType
) -> Result<Option<RcType>, UnifyError<TypeError<Symbol, RcType>, RcType>>
fn error_type(&self) -> RcType
[src]
fn try_match(&mut self, l: &Type, r: &Type) -> Option<Type>
[src]
Attempt to unify l
and r
using the strategy of Self
.
fn allow_returned_type_replacement(&self) -> bool
[src]
true
if the returned type can be replaced by the caller
impl<'a> Unifiable<State<'a>> for RcType
[src]
type Error = TypeError<Symbol, RcType>
fn zip_match<U>(
&self,
other: &Self,
unifier: &mut UnifierState<'a, U>
) -> Result<Option<Self>, Error<Symbol, RcType>> where
UnifierState<'a, U>: Unifier<State<'a>, Self>,
[src]
&self,
other: &Self,
unifier: &mut UnifierState<'a, U>
) -> Result<Option<Self>, Error<Symbol, RcType>> where
UnifierState<'a, U>: Unifier<State<'a>, Self>,
fn error_type(state: &State<'a>) -> Self
[src]
impl<'a> Clone for State<'a>
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom 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> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,