pub struct PooledTargetDimensions {
pub repo_identity: String,
pub toolchain: String,
pub target_triple: String,
pub profile: String,
pub features: Vec<String>,
pub runtime: Option<String>,
}Expand description
The dimensions that must match for two builds to safely share a pooled target dir. Any field differing means a different (non-shared) pooled dir.
Fields§
§repo_identity: StringStable repo identity (e.g. the canonical project root or its hash). Prevents cross-project contamination of a shared pool.
toolchain: StringToolchain channel or pinned version (e.g. nightly-2025-11-01).
target_triple: StringTarget triple (e.g. x86_64-unknown-linux-gnu, wasm32-unknown-unknown).
profile: StringCargo profile (e.g. dev, release).
features: Vec<String>Enabled cargo features. Order- and duplicate-insensitive (canonicalized
before hashing), so ["a","b"] and ["b","a","a"] share a pool.
runtime: Option<String>Extra runtime dimension that changes artifacts (e.g. bun, node,
wasm), when relevant. None for a plain Rust build.
Implementations§
Source§impl PooledTargetDimensions
impl PooledTargetDimensions
Sourcepub fn new(
repo_identity: impl Into<String>,
toolchain: impl Into<String>,
target_triple: impl Into<String>,
profile: impl Into<String>,
) -> Self
pub fn new( repo_identity: impl Into<String>, toolchain: impl Into<String>, target_triple: impl Into<String>, profile: impl Into<String>, ) -> Self
Construct the minimal Rust build dimensions (no features/runtime).
Sourcepub fn with_features<I, S>(self, features: I) -> Self
pub fn with_features<I, S>(self, features: I) -> Self
Set the feature set (builder style); canonicalized at hash time.
Sourcepub fn with_runtime(self, runtime: impl Into<String>) -> Self
pub fn with_runtime(self, runtime: impl Into<String>) -> Self
Set the runtime dimension (builder style).
Sourcepub fn canonical_features(&self) -> Vec<String>
pub fn canonical_features(&self) -> Vec<String>
Features sorted and de-duplicated — the canonical form used for hashing and for an auditable view of what a pool key covers.
Trait Implementations§
Source§impl Clone for PooledTargetDimensions
impl Clone for PooledTargetDimensions
Source§impl Debug for PooledTargetDimensions
impl Debug for PooledTargetDimensions
impl Eq for PooledTargetDimensions
Source§impl PartialEq for PooledTargetDimensions
impl PartialEq for PooledTargetDimensions
impl StructuralPartialEq for PooledTargetDimensions
Auto Trait Implementations§
impl Freeze for PooledTargetDimensions
impl RefUnwindSafe for PooledTargetDimensions
impl Send for PooledTargetDimensions
impl Sync for PooledTargetDimensions
impl Unpin for PooledTargetDimensions
impl UnsafeUnpin for PooledTargetDimensions
impl UnwindSafe for PooledTargetDimensions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.