pub struct ContractPathSchemaEvidence {
pub value_path: String,
pub is_referenced_value_path: bool,
pub facts: ContractValuePathFacts,
pub guard_predicates: Vec<ConditionalGuard>,
pub metadata_field_kinds: BTreeSet<MetadataFieldKind>,
pub type_hints: BTreeSet<String>,
pub guarded_type_hints: BTreeSet<String>,
pub fallback_type_hints: BTreeSet<String>,
pub provider_schema_uses: Vec<ProviderSchemaUse>,
pub requiredness: ContractRequirednessEvidence,
pub conditional_overlays: Vec<ConditionalPathOverlay>,
pub fail_implications: Vec<ContractFailImplication>,
}Expand description
All schema-lowering evidence for one values path.
The contract layer owns this view so downstream generation can consume one path-local static-analysis fact instead of reassembling meaning from several parallel maps.
Fields§
§value_path: StringCanonical dot-separated values path described by this evidence.
is_referenced_value_path: boolWhether template analysis directly referenced this path.
facts: ContractValuePathFactsAggregate behavioral facts observed for the path.
guard_predicates: Vec<ConditionalGuard>Unconditional guard facts attached to the path.
metadata_field_kinds: BTreeSet<MetadataFieldKind>Kubernetes metadata field roles reached from the path.
type_hints: BTreeSet<String>Unconditional JSON Schema type hints.
guarded_type_hints: BTreeSet<String>Hints observed only under branch predicates. At the path level these
may only WIDEN (add accepted alternatives to an otherwise-typed
base): allOf branches can narrow but never re-widen a base, so a
branch-scoped domain alternative must surface here.
fallback_type_hints: BTreeSet<String>Hints from literal default/coalesce fallbacks. The selection call
never consumes the raw value — every Helm-empty input takes the
fallback — so these type only the truthy arm and base lowering must
keep the whole Helm-falsy set open beside them.
provider_schema_uses: Vec<ProviderSchemaUse>Resource-schema sinks that consume the path.
requiredness: ContractRequirednessEvidenceFacts used by optional required-property inference.
conditional_overlays: Vec<ConditionalPathOverlay>Branch-local evidence keyed by values-decidable guards.
fail_implications: Vec<ContractFailImplication>Requirements implied by explicit fail branches: the failing test’s
negation must hold wherever the outer guards do. Runtime-hard
evidence — rendering genuinely aborts — so lowering must not let
weaker streams suppress it.
Implementations§
Source§impl ContractPathSchemaEvidence
impl ContractPathSchemaEvidence
Sourcepub fn is_required_inference_candidate(&self) -> bool
pub fn is_required_inference_candidate(&self) -> bool
Reports whether positive, unconditional evidence can make the path required.
Trait Implementations§
Source§impl Clone for ContractPathSchemaEvidence
impl Clone for ContractPathSchemaEvidence
Source§fn clone(&self) -> ContractPathSchemaEvidence
fn clone(&self) -> ContractPathSchemaEvidence
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 ContractPathSchemaEvidence
impl Debug for ContractPathSchemaEvidence
Source§impl Default for ContractPathSchemaEvidence
impl Default for ContractPathSchemaEvidence
Source§fn default() -> ContractPathSchemaEvidence
fn default() -> ContractPathSchemaEvidence
impl Eq for ContractPathSchemaEvidence
Source§impl Hash for ContractPathSchemaEvidence
impl Hash for ContractPathSchemaEvidence
Source§impl Ord for ContractPathSchemaEvidence
impl Ord for ContractPathSchemaEvidence
Source§fn cmp(&self, other: &ContractPathSchemaEvidence) -> Ordering
fn cmp(&self, other: &ContractPathSchemaEvidence) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for ContractPathSchemaEvidence
impl PartialOrd for ContractPathSchemaEvidence
impl StructuralPartialEq for ContractPathSchemaEvidence
Auto Trait Implementations§
impl Freeze for ContractPathSchemaEvidence
impl RefUnwindSafe for ContractPathSchemaEvidence
impl Send for ContractPathSchemaEvidence
impl Sync for ContractPathSchemaEvidence
impl Unpin for ContractPathSchemaEvidence
impl UnsafeUnpin for ContractPathSchemaEvidence
impl UnwindSafe for ContractPathSchemaEvidence
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> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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.