Skip to main content

WasmBuildInputSnapshot

Struct WasmBuildInputSnapshot 

Source
pub struct WasmBuildInputSnapshot<'guard> { /* private fields */ }
Expand description

Immutable prepared Cargo input resolution shared by concurrent readers.

Preparation resolves the complete declared specification set while the caller holds a genuine source write-exclusion guard. Reader batches may run concurrently through &self, but cannot introduce specifications that were not declared during preparation.

Implementations§

Source§

impl<'guard> WasmBuildInputSnapshot<'guard>

Source

pub fn prepare_assuming_sources_immutable<Guard: ?Sized>( _source_write_guard: &'guard Guard, specs: &[WasmBuildSpec], ) -> Result<Self, WasmBuildError>

Resolve and freeze the complete specification set under a source lease.

The guard must prevent mutation of every Cargo/rustc executable, manifest, configuration file, discovered source, declared additional input, and relevant environment value used by the supplied specifications. The type system cannot verify guard provenance.

§Errors

Returns specification, tool/metadata, filesystem or input-resolution errors.

Source

pub fn build_batch( &self, specs: &[LabeledWasmBuildSpec], config: WasmBuildBatchConfig, progress: Option<(WasmBuildProgressConfig, &mut dyn FnMut(WasmBuildBatchProgressEvent))>, spawn: impl FnMut(&mut Command) -> Result<OwnedChild>, ) -> Result<WasmBuildBatchReport, WasmBuildBatchContractError>

Build a collect-all batch with explicit orchestration and optional progress.

Source lease, feature isolation and retention match independent batches. spawn selects Cargo child/group custody and cleanup, independently of progress. Prepared snapshots reject specifications absent during preparation.

§Errors

Returns invalid labels, an invalidated lease or an unprepared specification error before work. Individual build failures remain in the report.

Source

pub fn metrics(&self) -> WasmBuildInputSnapshotMetrics

Current preparation, reader-reuse, and invalidation metrics.

Auto Trait Implementations§

§

impl<'guard> !Freeze for WasmBuildInputSnapshot<'guard>

§

impl<'guard> RefUnwindSafe for WasmBuildInputSnapshot<'guard>

§

impl<'guard> Send for WasmBuildInputSnapshot<'guard>

§

impl<'guard> Sync for WasmBuildInputSnapshot<'guard>

§

impl<'guard> Unpin for WasmBuildInputSnapshot<'guard>

§

impl<'guard> UnsafeUnpin for WasmBuildInputSnapshot<'guard>

§

impl<'guard> UnwindSafe for WasmBuildInputSnapshot<'guard>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.