pub struct CompileKeyInputs<'a> {Show 13 fields
pub crate_name: &'a str,
pub crate_version: &'a str,
pub target: &'a str,
pub rustc_version: &'a str,
pub profile: &'a Profile,
pub crate_types: &'a [RustCrateType],
pub emit: &'a [String],
pub features_json: &'a str,
pub dependency_c_metadata_json: &'a str,
pub kind: &'a ArtifactKind,
pub embed_metadata: Option<bool>,
pub cfgs: &'a [String],
pub embed_bitcode: bool,
}Expand description
The identity inputs hashed into a compile key.
A compile key binds an artifact to one exact rustc invocation identity — crate coordinates, toolchain, profile, emit set, and dependency identities — so two invocations sharing a key produce interchangeable artifacts.
Fields§
§crate_name: &'a strcrates.io package name.
crate_version: &'a strCrate version string.
target: &'a strCompilation target triple.
rustc_version: &'a strrustc version string.
profile: &'a ProfileNormalized compile profile.
crate_types: &'a [RustCrateType]Declared crate types.
emit: &'a [String]Sorted, deduplicated --emit kinds.
features_json: &'a strCanonical JSON-encoded features list.
dependency_c_metadata_json: &'a strCanonical JSON-encoded dependency c_metadata identities.
kind: &'a ArtifactKindPrimary artifact kind.
embed_metadata: Option<bool>-Z embed-metadata value when the invocation carried the flag
(nightly cargo emits it on every unit). None hashes to the same
key invocations produced before the flag was modeled.
cfgs: &'a [String]Sorted, deduplicated --cfg values other than feature="…"
(build-script cargo:rustc-cfg output). An empty list hashes to
the same key invocations produced before cfgs were modeled.
embed_bitcode: boolWhether the object files carry LLVM bitcode (-C embed-bitcode
absent or yes). false — the value cargo passes to every unit no
LTO consumer needs bitcode from — hashes to the same key invocations
produced before the flag was modeled.