Skip to main content

LeanBuiltCapability

Struct LeanBuiltCapability 

Source
pub struct LeanBuiltCapability { /* private fields */ }
Expand description

Runtime descriptor for a Lean capability built by a downstream build.rs.

Implementations§

Source§

impl LeanBuiltCapability

Source

pub fn path(path: impl Into<PathBuf>) -> Self

Build a descriptor from an embedded dylib path.

This remains supported for simple or compatibility cases. Prefer Self::manifest_path for shipped binaries because the manifest also carries dependency and loader-order facts:

let spec = lean_rs::LeanBuiltCapability::path(env!("LEAN_RS_CAPABILITY_MY_CAPABILITY_DYLIB"))
    .package("my_app")
    .module("MyCapability");
Source

pub fn env(env_var: impl Into<String>) -> Self

Build a descriptor that resolves the dylib path from a runtime environment variable.

Prefer Self::path with Rust’s env! macro for redistributable binaries. Runtime environment lookup is useful for tests, local overrides, and launcher-managed deployments.

Source

pub fn manifest_path(path: impl Into<PathBuf>) -> Self

Build a descriptor from an embedded artifact manifest path.

This is the canonical form for shipped binaries using CargoLeanCapability’s manifest output:

let spec = lean_rs::LeanBuiltCapability::manifest_path(
    env!("LEAN_RS_CAPABILITY_MY_CAPABILITY_MANIFEST"),
);
Source

pub fn manifest_env(env_var: impl Into<String>) -> Self

Build a descriptor that resolves the artifact manifest path from a runtime environment variable.

Prefer Self::manifest_path with Rust’s env! macro for redistributable binaries. Runtime environment lookup is useful for tests, local overrides, and launcher-managed deployments.

Source

pub fn env_var(self, env_var: impl Into<String>) -> Self

Preserve the Cargo environment variable name for diagnostics.

Source

pub fn manifest_env_var(self, env_var: impl Into<String>) -> Self

Preserve the Cargo manifest environment variable name for diagnostics.

Source

pub fn package(self, package: impl Into<String>) -> Self

Set the Lake package name used by the Lean initializer.

Source

pub fn module(self, module: impl Into<String>) -> Self

Set the root Lean module name initialized by Rust.

Source

pub fn dependency(self, dependency: LeanLibraryDependency) -> Self

Add a dependent Lean dylib that must stay alive with this capability.

This is primarily a bridge until lean-toolchain emits artifact manifests. Manifest-backed opening will feed the same dependency descriptors into the bundle loader.

Source

pub fn dependencies( self, dependencies: impl IntoIterator<Item = LeanLibraryDependency>, ) -> Self

Add multiple dependent Lean dylibs that must stay alive with this capability.

Source

pub fn package_name(&self) -> Option<&str>

Return the configured package name.

Source

pub fn module_name(&self) -> Option<&str>

Return the configured module name.

Source

pub fn dependency_descriptors(&self) -> &[LeanLibraryDependency]

Dependency dylibs that will be opened before the primary capability.

Source

pub fn dylib_path(&self) -> LeanResult<PathBuf>

Resolve the capability dylib path.

§Errors

Returns a host module-initialization error if neither a path nor a readable environment variable is configured.

Source

pub fn resolved_manifest_path(&self) -> LeanResult<PathBuf>

Resolve the build artifact manifest path.

§Errors

Returns a host module-initialization error if neither a path nor a readable manifest environment variable is configured.

Trait Implementations§

Source§

impl Clone for LeanBuiltCapability

Source§

fn clone(&self) -> LeanBuiltCapability

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LeanBuiltCapability

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&BuiltLeanCapability> for LeanBuiltCapability

Source§

fn from(value: &BuiltLeanCapability) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for LeanBuiltCapability

Source§

fn eq(&self, other: &LeanBuiltCapability) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for LeanBuiltCapability

Source§

impl StructuralPartialEq for LeanBuiltCapability

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more