#[non_exhaustive]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. #[non_exhaustive] so toolchain refinements can extend the
taxonomy (e.g., a hypothetical None) without breaking exhaustive
matches downstream.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
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
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LeanMetaTransparency
impl Debug for LeanMetaTransparency
Source§impl Default for LeanMetaTransparency
impl Default for LeanMetaTransparency
Source§fn default() -> LeanMetaTransparency
fn default() -> 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>
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
self and other values to be equal, and is used by ==.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>
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 more