pub struct ContractValuePathFacts {Show 24 fields
pub has_referenced_descendants: bool,
pub has_item_descendants: bool,
pub has_structured_item_descendants: bool,
pub used_as_fragment: bool,
pub used_as_serialized: bool,
pub used_as_yaml_serialized: bool,
pub has_string_contract: bool,
pub has_string_contract_items: bool,
pub used_as_pathless_fragment: bool,
pub accepted_values_root_fragment: bool,
pub accepted_dependency_values_root_fragment: bool,
pub is_ranged_source: bool,
pub is_direct_ranged_source: bool,
pub has_destructured_range_use: bool,
pub has_json_decoded_range_use: bool,
pub is_partial_scalar_value_path: bool,
pub has_render_use: bool,
pub has_unconditional_render_use: bool,
pub has_self_guarded_render_use: bool,
pub all_render_uses_self_guarded: bool,
pub has_merge_layered_use: bool,
pub all_render_uses_falsy_tolerant: bool,
pub has_self_range_guard_render_use: bool,
pub is_nullable: bool,
}Expand description
Schema-generation facts for one input values path.
This bundles the contract-owned path state that schema lowering needs, so generator code does not have to reconstruct semantic facts from multiple lower-level projections.
Fields§
§has_referenced_descendants: boolWhether analysis observed referenced paths below this path.
has_item_descendants: boolDescendant rows that continue through a * item segment. Item rows
describe a ranged collection’s element shape; a literal member read
(e.g. a guard probing one key of a user-populated map) does not.
has_structured_item_descendants: boolItem descendants that continue INTO element structure (p.*.field).
A bare p.* value row proves no LIST shape: range iterates maps
too, so declared-empty maps with only bare member-value rows stay
user-populated.
used_as_fragment: boolWhether the path renders as a structural YAML fragment.
used_as_serialized: boolThe path renders through a serializing or total-stringification sink
(tpl (toYaml …), quote, toString, join): any input type
renders, so the use exposes provenance but no input shape.
used_as_yaml_serialized: boolThe path is rendered through toYaml. The input kind is unrestricted,
while the resulting YAML fragment still obeys structural placement.
has_string_contract: boolA string-consuming transform (trunc, b64enc, fromYaml, a
dynamic printf format) bound a real runtime string contract on the
path: rendering fails for non-string values, so this typing survives
even when another use stringifies the path.
has_string_contract_items: boolSome path.* member row carries a runtime string contract (tpl
over each ranged member): integer iteration yields int members the
contract rejects, so the integer lane closes.
used_as_pathless_fragment: boolWhether fragment rendering lost a precise output location.
accepted_values_root_fragment: boolWhether the path may supply the chart’s complete values-root fragment.
accepted_dependency_values_root_fragment: boolWhether the path may supply a dependency values-root fragment.
is_ranged_source: boolWhether this path or one of its projections supplies a range action.
is_direct_ranged_source: boolThe chart ranges this path DIRECTLY (range .Values.x), so the
runtime iterable domain applies to the path’s own value.
has_destructured_range_use: boolSome direct range over this path uses TWO variables
(range $k, $v := …): integers iterate single-variable ranges only
(“can’t use 2 to iterate over more than one variable”).
has_json_decoded_range_use: boolSome direct range sees the path after JSON decoding, where numbers are
float64 values rather than Helm’s integer iteration counts.
is_partial_scalar_value_path: boolWhether the path contributes only part of a rendered scalar token.
has_render_use: boolWhether any rendering sink consumes the path.
has_unconditional_render_use: boolWhether a rendering sink consumes the path without a branch guard.
has_self_guarded_render_use: boolWhether any rendering sink is guarded by this path’s own truthiness.
all_render_uses_self_guarded: boolWhether every rendering sink is guarded by this path’s own truthiness.
has_merge_layered_use: boolA render consumed this path as one layer of an ordered merge: the
generator synthesizes the layer’s typing as root arms, and the
layer’s synthetic self-truthiness guard must not drive base
classification (a declared {} default stays an open map — the
merged sink renders any user-supplied members).
all_render_uses_falsy_tolerant: boolEvery render use either sits behind the path’s own truthy selection or
cannot reject a Helm-falsy value at all: a merge operand’s strict
map contract rides its fail implication (which keys on the call’s live
gate), and a checksum digest row hashes re-rendered text without
consuming the raw value. Unlike all_render_uses_self_guarded, this
bit feeds ONLY the base falsy escape — never overlay-branch routing or
declared-default placement.
has_self_range_guard_render_use: boolWhether a direct range guard protects a rendering sink for this path.
is_nullable: boolWhether observed semantics explicitly admit null.
Implementations§
Source§impl ContractValuePathFacts
impl ContractValuePathFacts
Sourcepub fn record_render_use(
&mut self,
range_guarded: bool,
self_guarded: Option<bool>,
falsy_tolerant: Option<bool>,
)
pub fn record_render_use( &mut self, range_guarded: bool, self_guarded: Option<bool>, falsy_tolerant: Option<bool>, )
Incorporates one rendering use into the aggregate path facts.
Sourcepub fn merge_render_use_facts(&mut self, other: ContractValuePathFacts)
pub fn merge_render_use_facts(&mut self, other: ContractValuePathFacts)
Merges rendering facts collected by another analysis branch.
Trait Implementations§
Source§impl Clone for ContractValuePathFacts
impl Clone for ContractValuePathFacts
Source§fn clone(&self) -> ContractValuePathFacts
fn clone(&self) -> ContractValuePathFacts
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ContractValuePathFacts
Source§impl Debug for ContractValuePathFacts
impl Debug for ContractValuePathFacts
Source§impl Default for ContractValuePathFacts
impl Default for ContractValuePathFacts
Source§fn default() -> ContractValuePathFacts
fn default() -> ContractValuePathFacts
impl Eq for ContractValuePathFacts
Source§impl Hash for ContractValuePathFacts
impl Hash for ContractValuePathFacts
Source§impl Ord for ContractValuePathFacts
impl Ord for ContractValuePathFacts
Source§fn cmp(&self, other: &ContractValuePathFacts) -> Ordering
fn cmp(&self, other: &ContractValuePathFacts) -> 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 PartialEq for ContractValuePathFacts
impl PartialEq for ContractValuePathFacts
Source§impl PartialOrd for ContractValuePathFacts
impl PartialOrd for ContractValuePathFacts
impl StructuralPartialEq for ContractValuePathFacts
Auto Trait Implementations§
impl Freeze for ContractValuePathFacts
impl RefUnwindSafe for ContractValuePathFacts
impl Send for ContractValuePathFacts
impl Sync for ContractValuePathFacts
impl Unpin for ContractValuePathFacts
impl UnsafeUnpin for ContractValuePathFacts
impl UnwindSafe for ContractValuePathFacts
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.