pub struct BuildConfiguration {
pub enabled_features: BTreeSet<String>,
pub profile: ResolvedProfile,
pub toolchain: ToolchainSummary,
pub build_flags: ResolvedProfileFlags,
pub fingerprint: String,
}Expand description
Resolved, validated build configuration. Drives:
- which features are enabled;
- which profile its compile / link flags come from;
- which toolchain compiled it;
- which semantic build flags applied;
- the deterministic fingerprint that future cache logic can hash on.
Fields§
§enabled_features: BTreeSet<String>§profile: ResolvedProfileResolved profile (e.g. dev, release, or a custom
profile inheriting from a built-in). Always populated:
every build configuration is associated with exactly one
profile.
toolchain: ToolchainSummaryToolchain summary used for fingerprinting and metadata.
Recorded as the requested spec + tool source per kind so
the fingerprint is stable across machines that resolve
clang++ to different absolute paths.
build_flags: ResolvedProfileFlagsResolved per-package build flags. The metadata view reports this directly; the fingerprint includes a deterministic digest of every field.
fingerprint: StringImplementations§
Source§impl BuildConfiguration
impl BuildConfiguration
Sourcepub fn resolve(
input: BuildConfigurationInput<'_>,
) -> Result<Self, ValidationError>
pub fn resolve( input: BuildConfigurationInput<'_>, ) -> Result<Self, ValidationError>
Resolve a SelectionRequest against a set of declarations.
input.package is used only to make error messages clear.
§Errors
Returns ValidationError::UnknownFeature when the request names a
feature not declared in input.features.
Trait Implementations§
Source§impl Clone for BuildConfiguration
impl Clone for BuildConfiguration
Source§fn clone(&self) -> BuildConfiguration
fn clone(&self) -> BuildConfiguration
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 BuildConfiguration
impl Debug for BuildConfiguration
Source§impl<'de> Deserialize<'de> for BuildConfiguration
impl<'de> Deserialize<'de> for BuildConfiguration
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 BuildConfiguration
impl PartialEq for BuildConfiguration
Source§fn eq(&self, other: &BuildConfiguration) -> bool
fn eq(&self, other: &BuildConfiguration) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for BuildConfiguration
impl Serialize for BuildConfiguration
impl Eq for BuildConfiguration
impl StructuralPartialEq for BuildConfiguration
Auto Trait Implementations§
impl Freeze for BuildConfiguration
impl RefUnwindSafe for BuildConfiguration
impl Send for BuildConfiguration
impl Sync for BuildConfiguration
impl Unpin for BuildConfiguration
impl UnsafeUnpin for BuildConfiguration
impl UnwindSafe for BuildConfiguration
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.