pub struct Nested<S> { /* private fields */ }Expand description
Backs an crate::types::object::ObjectSchema field slot with any schema
whose composed representation is an crate::types::object::ObjectSchema
(e.g. a derive companion from the separate formars-derive crate).
Pure delegation (NE-2): joined paths, inherited fail-fast and introspection
come from the wrapped schema’s own crate::types::object::ObjectSchema::validate_at kernel —
never reimplemented. The only contract is AsRef<ObjectSchema>, so the
adapter stays narrow while ObjectChild remains sealed.
Implementations§
Trait Implementations§
Source§impl<S> ObjectChild for Nested<S>
impl<S> ObjectChild for Nested<S>
Source§fn validate_at(
&self,
v: &Value,
path: &FieldPath,
fail_fast: bool,
) -> Result<Value, Vec<FormaIssue>>
fn validate_at( &self, v: &Value, path: &FieldPath, fail_fast: bool, ) -> Result<Value, Vec<FormaIssue>>
Validates
v addressed at path (already joined by the caller);
on full success returns the validated output converted to Value.Source§fn shape_node(&self) -> ShapeNode
fn shape_node(&self) -> ShapeNode
Introspection projection (delegates to the child’s own
shape()).Source§fn meta(&self) -> &FieldMeta
fn meta(&self) -> &FieldMeta
UI-facing metadata slots of the child (serves
ObjectSchema::field_meta).Source§fn clone_boxed(&self) -> Box<dyn ObjectChild>
fn clone_boxed(&self) -> Box<dyn ObjectChild>
Crate-internal deep-clone seam powering
ObjectSchema: Clone
(Field.child is Box<dyn ObjectChild>, which cannot be duplicated
without dispatch). Sealed: exactly six impls, all below.impl<S> Sealed for Nested<S>
Auto Trait Implementations§
impl<S> Freeze for Nested<S>where
S: Freeze,
impl<S> RefUnwindSafe for Nested<S>where
S: RefUnwindSafe,
impl<S> Send for Nested<S>where
S: Send,
impl<S> Sync for Nested<S>where
S: Sync,
impl<S> Unpin for Nested<S>where
S: Unpin,
impl<S> UnsafeUnpin for Nested<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for Nested<S>where
S: UnwindSafe,
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
Mutably borrows from an owned value. Read more