Skip to main content

WasmBuildSession

Struct WasmBuildSession 

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

Explicit cross-call input snapshot scoped to a caller-held source lease.

The session contains no global state. It may reuse successful Cargo/rustc identity, metadata, input-discovery, and content-digest work while the caller keeps the supplied write-exclusion guard alive and unchanged.

Implementations§

Source§

impl<'guard> WasmBuildSession<'guard>

Source

pub fn assume_sources_immutable<Guard: ?Sized>( _source_write_guard: &'guard Guard, ) -> Self

Assert source immutability and bind reuse to the supplied guard’s lifetime.

The guard must prevent mutation of every Cargo/rustc executable, manifest, configuration file, discovered source, declared additional input, and relevant environment value used by every specification sent through this session. The guard must remain held until the session is dropped. This method cannot verify the guard’s provenance; supplying an unrelated value can permit stale cache reuse.

Source

pub fn build_batch( &mut self, specs: &[LabeledWasmBuildSpec], config: WasmBuildBatchConfig, ) -> Result<WasmBuildBatchReport, WasmBuildBatchContractError>

Build one sequential collect-all batch using retained immutable inputs.

Source

pub fn build_batch_with_progress<F>( &mut self, specs: &[LabeledWasmBuildSpec], batch_config: WasmBuildBatchConfig, progress_config: WasmBuildProgressConfig, observer: F, ) -> Result<WasmBuildBatchReport, WasmBuildBatchContractError>

Build one observed sequential batch using retained immutable inputs.

Source

pub const fn metrics(&self) -> WasmBuildSessionMetrics

Current retained snapshot, reuse, and invalidation counters.

Auto Trait Implementations§

§

impl<'guard> Freeze for WasmBuildSession<'guard>

§

impl<'guard> RefUnwindSafe for WasmBuildSession<'guard>

§

impl<'guard> Send for WasmBuildSession<'guard>

§

impl<'guard> Sync for WasmBuildSession<'guard>

§

impl<'guard> Unpin for WasmBuildSession<'guard>

§

impl<'guard> UnsafeUnpin for WasmBuildSession<'guard>

§

impl<'guard> UnwindSafe for WasmBuildSession<'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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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