pub enum FreeKind<T> {
Linked(T),
UndoableLinked {
t: T,
previous: Box<FreeKind<T>>,
},
Unbound {
id: Id,
lev: Level,
constraint: Constraint,
},
NamedUnbound {
name: Str,
lev: Level,
constraint: Constraint,
},
}
Variants
Linked(T)
UndoableLinked
Unbound
NamedUnbound
Implementations
sourceimpl<T> FreeKind<T>
impl<T> FreeKind<T>
pub const fn unbound(id: Id, lev: Level, constraint: Constraint) -> Self
pub const fn named_unbound(name: Str, lev: Level, constraint: Constraint) -> Self
pub const fn constraint(&self) -> Option<&Constraint>
pub const fn linked(&self) -> Option<&T>
pub fn linked_mut(&mut self) -> Option<&mut T>
Trait Implementations
sourceimpl<T: LimitedDisplay> Display for FreeKind<T>
impl<T: LimitedDisplay> Display for FreeKind<T>
sourceimpl<T: LimitedDisplay> LimitedDisplay for FreeKind<T>
impl<T: LimitedDisplay> LimitedDisplay for FreeKind<T>
fn limited_fmt(&self, f: &mut Formatter<'_>, limit: usize) -> Result
sourceimpl<T: PartialEq> PartialEq<FreeKind<T>> for FreeKind<T>
impl<T: PartialEq> PartialEq<FreeKind<T>> for FreeKind<T>
impl<T: Eq> Eq for FreeKind<T>
impl<T> StructuralEq for FreeKind<T>
impl<T> StructuralPartialEq for FreeKind<T>
Auto Trait Implementations
impl<T> !RefUnwindSafe for FreeKind<T>
impl<T> !Send for FreeKind<T>
impl<T> !Sync for FreeKind<T>
impl<T> Unpin for FreeKind<T>where
T: Unpin,
impl<T> !UnwindSafe for FreeKind<T>
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