Enum erg_type::free::Constraint
source · [−]pub enum Constraint {
Sandwiched {
sub: Type,
sup: Type,
cyclicity: Cyclicity,
},
TypeOf(Type),
Uninited,
}
Variants
Sandwiched
:> Sub, <: Sup
TypeOf(Type)
Uninited
Implementations
sourceimpl Constraint
impl Constraint
pub const fn new_sandwiched(sub: Type, sup: Type, cyclicity: Cyclicity) -> Self
pub fn new_type_of(t: Type) -> Self
pub const fn new_subtype_of(sup: Type, cyclicity: Cyclicity) -> Self
pub const fn new_supertype_of(sub: Type, cyclicity: Cyclicity) -> Self
pub const fn is_uninited(&self) -> bool
pub const fn cyclicicty(&self) -> Cyclicity
pub fn lift(&self)
pub fn get_type(&self) -> Option<&Type>
pub fn get_sub(&self) -> Option<&Type>
pub fn get_super(&self) -> Option<&Type>
pub fn get_sub_sup(&self) -> Option<(&Type, &Type)>
pub fn get_super_mut(&mut self) -> Option<&mut Type>
pub fn update_cyclicity(&mut self, new_cyclicity: Cyclicity)
Trait Implementations
sourceimpl Clone for Constraint
impl Clone for Constraint
sourcefn clone(&self) -> Constraint
fn clone(&self) -> Constraint
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for Constraint
impl Debug for Constraint
sourceimpl Display for Constraint
impl Display for Constraint
sourceimpl Hash for Constraint
impl Hash for Constraint
sourceimpl LimitedDisplay for Constraint
impl LimitedDisplay for Constraint
fn limited_fmt(&self, f: &mut Formatter<'_>, limit: usize) -> Result
sourceimpl PartialEq<Constraint> for Constraint
impl PartialEq<Constraint> for Constraint
sourcefn eq(&self, other: &Constraint) -> bool
fn eq(&self, other: &Constraint) -> bool
impl Eq for Constraint
impl StructuralEq for Constraint
impl StructuralPartialEq for Constraint
Auto Trait Implementations
impl !RefUnwindSafe for Constraint
impl !Send for Constraint
impl !Sync for Constraint
impl Unpin for Constraint
impl !UnwindSafe for Constraint
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more