pub struct ToolchainSummary {
pub tools: BTreeMap<String, String>,
pub sources: BTreeMap<String, String>,
pub compiler_wrapper: Option<CompilerWrapperSummary>,
}Expand description
Lightweight, non-machine-specific summary of the resolved
toolchain. Stored on every BuildConfiguration so the
fingerprint reflects “which compiler did this build use” without
pinning the local absolute path.
Fields§
§tools: BTreeMap<String, String>(kind -> "<spec>") , sorted alphabetically by tool key.
Each entry records the user-visible spelling (clang++,
/opt/llvm/bin/clang++, …); absolute resolved paths from
PATH discovery are deliberately omitted.
sources: BTreeMap<String, String>(kind -> source label) parallel to tools. Source
labels are stable strings (cli, env, manifest,
manifest-conditional, default).
compiler_wrapper: Option<CompilerWrapperSummary>Optional compiler-cache wrapper (e.g. ccache, sccache)
applied on top of the C++ compiler. None when no wrapper
is selected; otherwise the kind/spec/source/version are
folded into the configuration fingerprint so a build with a
different wrapper choice reuses neither cache layer.
Implementations§
Source§impl ToolchainSummary
impl ToolchainSummary
Sourcepub fn from_resolved(toolchain: &ResolvedToolchain) -> Self
pub fn from_resolved(toolchain: &ResolvedToolchain) -> Self
Build a summary from a ResolvedToolchain. Storage is
deterministic: tools iterate in sorted crate::ToolKind
order via ResolvedToolchain::iter.
Sourcepub fn from_resolved_parts(
toolchain: &ResolvedToolchain,
wrapper: Option<&ResolvedCompilerWrapper>,
) -> Self
pub fn from_resolved_parts( toolchain: &ResolvedToolchain, wrapper: Option<&ResolvedCompilerWrapper>, ) -> Self
Build a summary from a ResolvedToolchain plus an optional
compiler-cache wrapper. The wrapper is normalized into a
CompilerWrapperSummary so the fingerprint captures the
requested wrapper without leaking the local absolute path.
Trait Implementations§
Source§impl Clone for ToolchainSummary
impl Clone for ToolchainSummary
Source§fn clone(&self) -> ToolchainSummary
fn clone(&self) -> ToolchainSummary
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 ToolchainSummary
impl Debug for ToolchainSummary
Source§impl Default for ToolchainSummary
impl Default for ToolchainSummary
Source§fn default() -> ToolchainSummary
fn default() -> ToolchainSummary
Source§impl<'de> Deserialize<'de> for ToolchainSummary
impl<'de> Deserialize<'de> for ToolchainSummary
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ToolchainSummary
impl PartialEq for ToolchainSummary
Source§fn eq(&self, other: &ToolchainSummary) -> bool
fn eq(&self, other: &ToolchainSummary) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ToolchainSummary
impl Serialize for ToolchainSummary
impl Eq for ToolchainSummary
impl StructuralPartialEq for ToolchainSummary
Auto Trait Implementations§
impl Freeze for ToolchainSummary
impl RefUnwindSafe for ToolchainSummary
impl Send for ToolchainSummary
impl Sync for ToolchainSummary
impl Unpin for ToolchainSummary
impl UnsafeUnpin for ToolchainSummary
impl UnwindSafe for ToolchainSummary
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§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.