Struct fungi_lang::bitype::Der
source · pub struct Der<Rule: HasClas + DerRule> {
pub ctx: Ctx,
pub dir: Dir<Rule>,
pub term: Rc<Rule::Term>,
pub clas: Result<Rule::Clas, TypeError>,
pub rule: Rc<Rule>,
pub vis: DerVis,
}
Expand description
Typing derivation: A context (ctx
), a direction (dir
), a classifier (type, sort, etc) and a rule (rule
).
Fields
ctx: Ctx
dir: Dir<Rule>
term: Rc<Rule::Term>
clas: Result<Rule::Clas, TypeError>
rule: Rc<Rule>
vis: DerVis
Implementations
Trait Implementations
sourceimpl<Rule: Clone + HasClas + DerRule> Clone for Der<Rule>where
Rule::Term: Clone,
Rule::Clas: Clone,
impl<Rule: Clone + HasClas + DerRule> Clone for Der<Rule>where
Rule::Term: Clone,
Rule::Clas: Clone,
sourceimpl<Rule: Debug + HasClas + DerRule> Debug for Der<Rule>where
Rule::Term: Debug,
Rule::Clas: Debug,
impl<Rule: Debug + HasClas + DerRule> Debug for Der<Rule>where
Rule::Term: Debug,
Rule::Clas: Debug,
sourceimpl<Rule: Hash + HasClas + DerRule> Hash for Der<Rule>where
Rule::Term: Hash,
Rule::Clas: Hash,
impl<Rule: Hash + HasClas + DerRule> Hash for Der<Rule>where
Rule::Term: Hash,
Rule::Clas: Hash,
sourceimpl<Rule: HasClas + DerRule> PartialEq<Der<Rule>> for Der<Rule>where
Rule: PartialEq,
Rule::Clas: PartialEq,
impl<Rule: HasClas + DerRule> PartialEq<Der<Rule>> for Der<Rule>where
Rule: PartialEq,
Rule::Clas: PartialEq,
impl<Rule: Eq + HasClas + DerRule> Eq for Der<Rule>where
Rule::Term: Eq,
Rule::Clas: Eq,
impl<Rule: HasClas + DerRule> StructuralEq for Der<Rule>
Auto Trait Implementations
impl<Rule> !RefUnwindSafe for Der<Rule>
impl<Rule> !Send for Der<Rule>
impl<Rule> !Sync for Der<Rule>
impl<Rule> Unpin for Der<Rule>where
<Rule as HasClas>::Clas: Unpin,
impl<Rule> !UnwindSafe for Der<Rule>
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