pub enum LeanMetaTransparency {
Default,
Reducible,
Instances,
All,
}Expand description
Reducibility setting threaded into the bounded MetaM runner.
Maps 1-1 onto Lean’s Meta.TransparencyMode at 4.29.1. Declaration
order doubles as the on-wire byte the Lean shim reads; the
Self::as_byte accessor exposes that contract for the dispatch
site.
Variants§
Default
Lean’s standard reducibility—non-reducible / non-irreducible definitions unfold on demand.
Reducible
Only @[reducible] definitions unfold. Useful when you want
crate::host::meta::whnf to expose the surface structure of a
term without diving into expensive bodies.
Instances
Default plus the bodies of instance bindings.
All
Every definition unfolds. Most aggressive setting—also the most likely to blow the heartbeat budget on non-trivial terms.
Implementations§
Trait Implementations§
Source§impl Clone for LeanMetaTransparency
impl Clone for LeanMetaTransparency
Source§fn clone(&self) -> LeanMetaTransparency
fn clone(&self) -> LeanMetaTransparency
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for LeanMetaTransparency
Source§impl Debug for LeanMetaTransparency
impl Debug for LeanMetaTransparency
Source§impl Default for LeanMetaTransparency
impl Default for LeanMetaTransparency
Source§fn default() -> LeanMetaTransparency
fn default() -> LeanMetaTransparency
Returns the “default value” for a type. Read more
impl Eq for LeanMetaTransparency
Source§impl<'lean> IntoLean<'lean> for LeanMetaTransparency
impl<'lean> IntoLean<'lean> for LeanMetaTransparency
Source§fn into_lean(self, runtime: &'lean LeanRuntime) -> Obj<'lean>
fn into_lean(self, runtime: &'lean LeanRuntime) -> Obj<'lean>
Allocate (or scalar-box) a Lean representation of
self and return
the owned handle.Source§impl PartialEq for LeanMetaTransparency
impl PartialEq for LeanMetaTransparency
Source§fn eq(&self, other: &LeanMetaTransparency) -> bool
fn eq(&self, other: &LeanMetaTransparency) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for LeanMetaTransparency
Source§impl<'lean> TryFromLean<'lean> for LeanMetaTransparency
impl<'lean> TryFromLean<'lean> for LeanMetaTransparency
Source§fn try_from_lean(obj: Obj<'lean>) -> LeanResult<Self>
fn try_from_lean(obj: Obj<'lean>) -> LeanResult<Self>
Decode
obj into Self, returning a
LeanError::Host with stage
[HostStage::Conversion] if the object’s kind or payload is
outside the type’s representable range. Read moreAuto Trait Implementations§
impl Freeze for LeanMetaTransparency
impl RefUnwindSafe for LeanMetaTransparency
impl Send for LeanMetaTransparency
impl Sync for LeanMetaTransparency
impl Unpin for LeanMetaTransparency
impl UnsafeUnpin for LeanMetaTransparency
impl UnwindSafe for LeanMetaTransparency
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