[−][src]Struct gluon_check::kindcheck::KindCheck
Struct containing methods for kindchecking types
Implementations
impl<'a> KindCheck<'a>
[src]
pub fn new(
info: &'a (dyn TypeEnv<Type = RcType> + 'a),
idents: &'a mut (dyn IdentEnv<Ident = Symbol> + 'a),
kind_cache: KindCache
) -> KindCheck<'a>
[src]
info: &'a (dyn TypeEnv<Type = RcType> + 'a),
idents: &'a mut (dyn IdentEnv<Ident = Symbol> + 'a),
kind_cache: KindCache
) -> KindCheck<'a>
pub fn add_local(&mut self, name: Symbol, kind: ArcKind)
[src]
pub fn enter_scope_with(
&mut self,
variables: impl IntoIterator<Item = (Symbol, ArcKind)>
)
[src]
&mut self,
variables: impl IntoIterator<Item = (Symbol, ArcKind)>
)
pub fn exit_scope(&mut self)
[src]
pub fn type_kind(&self) -> ArcKind
[src]
pub fn function1_kind(&self) -> ArcKind
[src]
pub fn effect_field_kind(&self) -> ArcKind
[src]
pub fn function2_kind(&self) -> ArcKind
[src]
pub fn row_kind(&self) -> ArcKind
[src]
pub fn instantiate_kinds(&mut self, kind: &mut ArcKind)
[src]
pub fn kindcheck_type(
&mut self,
typ: &mut AstType<'_, Symbol>
) -> StdResult<ArcKind, Errors<SpannedError<Symbol, RcType<Symbol>>>>
[src]
&mut self,
typ: &mut AstType<'_, Symbol>
) -> StdResult<ArcKind, Errors<SpannedError<Symbol, RcType<Symbol>>>>
pub fn kindcheck_expected(
&mut self,
typ: &mut AstType<'_, Symbol>,
expected: &ArcKind
) -> StdResult<ArcKind, Errors<SpannedError<Symbol, RcType<Symbol>>>>
[src]
&mut self,
typ: &mut AstType<'_, Symbol>,
expected: &ArcKind
) -> StdResult<ArcKind, Errors<SpannedError<Symbol, RcType<Symbol>>>>
pub fn finalize_type(&mut self, typ: &mut AstType<'_, Symbol>)
[src]
pub fn finalize_generic(&self, var: &Generic<Symbol>) -> Generic<Symbol>
[src]
Auto Trait Implementations
impl<'a> !RefUnwindSafe for KindCheck<'a>
impl<'a> !Send for KindCheck<'a>
impl<'a> !Sync for KindCheck<'a>
impl<'a> Unpin for KindCheck<'a>
impl<'a> !UnwindSafe for KindCheck<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Id> AsId<Id> for Id where
Id: ?Sized,
[src]
Id: ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub 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.
pub 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>,