pub struct ArtifactBlobConfig {Show 19 fields
pub compile_key: String,
pub crate_name: CrateName,
pub crate_version: CrateVersion,
pub c_metadata: CMetadata,
pub extra_filename: String,
pub target: TargetTriple,
pub rustc_version: WireRustcVersion,
pub features_json: FeaturesJson,
pub dependency_c_metadata_json: DependencyCMetadataJson,
pub dependency_compile_keys_json: String,
pub profile: Profile,
pub emit: Vec<String>,
pub artifact_size: u64,
pub compile_millis: u64,
pub kind: ArtifactKind,
pub crate_types: Vec<RustCrateType>,
pub outputs: Vec<ArtifactBundleFile>,
pub native: Option<NativeArtifacts>,
pub native_archive: Option<ArtifactBundleFile>,
}Expand description
Embedded JSON config describing one artifact bundle’s identity.
Fields§
§compile_key: StringStable hash of the trusted build’s exact rustc invocation identity.
crate_name: CrateNameCrate name.
crate_version: CrateVersionCrate version.
c_metadata: CMetadataCargo -C metadata value.
extra_filename: StringCargo -C extra-filename suffix.
target: TargetTripleCompilation target triple.
rustc_version: WireRustcVersionStable rustc version.
features_json: FeaturesJsonCanonical features list.
dependency_c_metadata_json: DependencyCMetadataJsonSorted dependency identities driving the cache key.
dependency_compile_keys_json: StringJSON-encoded compile keys of dependencies.
profile: ProfileCargo profile.
emit: Vec<String>Sorted, deduplicated emit modes.
artifact_size: u64Bundle size in bytes.
compile_millis: u64Wall-clock milliseconds the captured rustc invocation took. Bundles published before the field existed carry no timing and count as zero CPU time saved.
kind: ArtifactKindArtifact kind.
crate_types: Vec<RustCrateType>Declared crate types.
outputs: Vec<ArtifactBundleFile>Files in this bundle.
native: Option<NativeArtifacts>Optional native artifacts.
native_archive: Option<ArtifactBundleFile>The bundle file carrying native’s OUT_DIR tree, when there is one.
Kept out of outputs because those are rustc products with a
materialization path in the target directory; this is replay input for
a build script. It rides as a normal zstd-compressed OCI layer, so the
cosign signature covers it exactly as it covers every other layer.
Trait Implementations§
Source§impl Clone for ArtifactBlobConfig
impl Clone for ArtifactBlobConfig
Source§impl Debug for ArtifactBlobConfig
impl Debug for ArtifactBlobConfig
Source§impl<'de> Deserialize<'de> for ArtifactBlobConfig
impl<'de> Deserialize<'de> for ArtifactBlobConfig
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>,
impl Eq for ArtifactBlobConfig
Source§impl PartialEq for ArtifactBlobConfig
impl PartialEq for ArtifactBlobConfig
Source§impl Serialize for ArtifactBlobConfig
impl Serialize for ArtifactBlobConfig
impl StructuralPartialEq for ArtifactBlobConfig
Auto Trait Implementations§
impl Freeze for ArtifactBlobConfig
impl RefUnwindSafe for ArtifactBlobConfig
impl Send for ArtifactBlobConfig
impl Sync for ArtifactBlobConfig
impl Unpin for ArtifactBlobConfig
impl UnsafeUnpin for ArtifactBlobConfig
impl UnwindSafe for ArtifactBlobConfig
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.