pub enum RefusalReason {
Show 17 variants
EngineKilled,
EngineTimeout,
OutputBounded,
MalformedEncoding,
MissingCompletionRecord,
IncoherentInventory,
OccurrenceCapabilityMismatch,
OccurrenceCompilationUnknown,
OccurrenceCompilationUnsupported,
ProducerMismatch,
EngineRevisionMismatch,
ContractVersionMismatch,
ProfileMismatch,
DependencyFingerprintMismatch,
ContextEnvelopeVersionUnrecognised,
ContextFingerprintMismatch,
SourceSnapshotMismatch,
}Expand description
Why a candidate compiler-facts artifact was refused.
Display writes the exact token named in each variant’s doc comment;
nothing here is reworded once shipped, since callers match on it.
Variants§
EngineKilled
engine-killed: the local engine process exited with a non-zero or
signalled status, or could not be started at all.
EngineTimeout
engine-timeout: the local engine process did not finish inside the
configured wall-clock budget and was killed.
OutputBounded
output-bounded: the local engine process wrote more than the
configured output cap and was killed before finishing.
MalformedEncoding
malformed-encoding: the candidate bytes do not parse as the
documented JSON envelope shape (invalid JSON, a non-object root, an
unrecognised format, or a header field of the wrong type).
MissingCompletionRecord
missing-completion-record: the candidate has no explicit terminal
completion record, so a killed or truncated run cannot be told apart
from a genuinely finished one by parse success alone.
IncoherentInventory
incoherent-inventory: the candidate’s own declared per-unit
inventory contradicts itself (a unit id claimed both processed and
missing).
OccurrenceCapabilityMismatch
occurrence-capability-mismatch: the candidate’s declared
capabilities.provided and its own occurrence payload disagree about
whether occurrence facts are present (key presence only – an empty
sites array with the capability provided is fine).
OccurrenceCompilationUnknown
occurrence-compilation-unknown: an occurrence names a compilation
identity absent from the candidate’s own embedded context envelope.
OccurrenceCompilationUnsupported
occurrence-compilation-unsupported: an occurrence names a
compilation whose matched envelope entry carries a null
fingerprint (the envelope’s own “unsupported compilation” case).
ProducerMismatch
producer-mismatch: the candidate’s declared producer name does not
match the producer this admission path accepts. Keeps the contract
additive and producer-tagged: a future producer format change (or
substitution) is refused here on its own token rather than falling
through to a less specific identity check.
EngineRevisionMismatch
engine-revision-mismatch: the candidate’s producer engine revision
does not match the revision this checkout’s admission path expects.
ContractVersionMismatch
contract-version-mismatch: the candidate’s wire-contract version
does not match the version this admission path was built for.
ProfileMismatch
profile-mismatch: the candidate’s requested compilation profile
(target, configuration, platform) does not match the profile that
was requested of it.
DependencyFingerprintMismatch
dependency-fingerprint-mismatch: the candidate’s engine-dependency
fingerprint does not match the fingerprint this admission path
expects of the shipped engine build.
ContextEnvelopeVersionUnrecognised
context-envelope-version-unrecognised: the candidate embeds a
compilation-context envelope version this admission path does not
recognise.
ContextFingerprintMismatch
context-fingerprint-mismatch: the candidate’s header-level context
fingerprint summary does not match the fingerprint carried inside
its own embedded context envelope – a self-consistency check,
distinct from DependencyFingerprintMismatch, which is about the
engine’s own build rather than the compilation it analysed. Fails
closed: a candidate missing either fingerprint (the header summary,
the envelope’s own, or both) is refused on this same token rather
than silently skipping the check, so a future context-envelope
producer that omits one side cannot disable this identity class by
omission.
SourceSnapshotMismatch
source-snapshot-mismatch: the candidate’s declared source-snapshot
identity (headSha) does not match this checkout’s own HEAD.
Implementations§
Trait Implementations§
Source§impl Clone for RefusalReason
impl Clone for RefusalReason
impl Copy for RefusalReason
Source§impl Debug for RefusalReason
impl Debug for RefusalReason
Source§impl Display for RefusalReason
impl Display for RefusalReason
impl Eq for RefusalReason
Source§impl From<RefusalReason> for PublishError
impl From<RefusalReason> for PublishError
Source§fn from(reason: RefusalReason) -> Self
fn from(reason: RefusalReason) -> Self
Source§impl PartialEq for RefusalReason
impl PartialEq for RefusalReason
impl StructuralPartialEq for RefusalReason
Auto Trait Implementations§
impl Freeze for RefusalReason
impl RefUnwindSafe for RefusalReason
impl Send for RefusalReason
impl Sync for RefusalReason
impl Unpin for RefusalReason
impl UnsafeUnpin for RefusalReason
impl UnwindSafe for RefusalReason
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more