pub enum SimpleType {
Base(String),
Arrow(Box<SimpleType>, Box<SimpleType>),
Product(Box<SimpleType>, Box<SimpleType>),
Forall(String, Box<SimpleType>),
}Expand description
A simple type in the two-level logical relation model.
Variants§
Base(String)
Base type (e.g., Bool, Nat)
Arrow(Box<SimpleType>, Box<SimpleType>)
Arrow type A → B
Product(Box<SimpleType>, Box<SimpleType>)
Product type A × B
Forall(String, Box<SimpleType>)
Universal type ∀ α. T
Trait Implementations§
Source§impl Clone for SimpleType
impl Clone for SimpleType
Source§fn clone(&self) -> SimpleType
fn clone(&self) -> SimpleType
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SimpleType
impl Debug for SimpleType
Source§impl PartialEq for SimpleType
impl PartialEq for SimpleType
impl Eq for SimpleType
impl StructuralPartialEq for SimpleType
Auto Trait Implementations§
impl Freeze for SimpleType
impl RefUnwindSafe for SimpleType
impl Send for SimpleType
impl Sync for SimpleType
impl Unpin for SimpleType
impl UnsafeUnpin for SimpleType
impl UnwindSafe for SimpleType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more