pub struct BinderSurface {
pub name: String,
pub kind: BinderKind,
pub declared: Term,
pub default: Option<Term>,
pub auto: Option<String>,
}Expand description
Everything the SURFACE says about ONE parameter that the kernel’s three-field Term::Pi
cannot hold: how it is supplied, and what fills it when the caller does not.
Fields§
§name: StringThe parameter’s name. "_" for an anonymous binder – A -> B names nothing, and
TermParser::name_anonymous_binders recovers those names from the definition’s body.
kind: BinderKindHow the caller supplies it.
declared: TermThe declared type, with every marker stripped – the type the kernel sees.
default: Option<Term>(m : T := e) – the term inlined when the caller omits this argument.
auto: Option<String>(h : P := by tac) – the tactic that must prove declared AFRESH at each call site.
Distinct from default because a default is inlined once per omission and an auto-param
is a different proof term at every call site, about that call site’s own proposition.
Trait Implementations§
Source§impl Clone for BinderSurface
impl Clone for BinderSurface
Source§fn clone(&self) -> BinderSurface
fn clone(&self) -> BinderSurface
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 BinderSurface
impl Debug for BinderSurface
Source§impl PartialEq for BinderSurface
impl PartialEq for BinderSurface
impl StructuralPartialEq for BinderSurface
Auto Trait Implementations§
impl Freeze for BinderSurface
impl RefUnwindSafe for BinderSurface
impl Send for BinderSurface
impl Sync for BinderSurface
impl Unpin for BinderSurface
impl UnsafeUnpin for BinderSurface
impl UnwindSafe for BinderSurface
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