pub struct Output(/* private fields */);Expand description
A write destination: an Expr<Path>, folded when literal.
The engine records every destination it writes through, in each
Change’s path, so a config’s visit reports an Output as recorded
whether or not its field says records.
Implementations§
Trait Implementations§
Source§impl ConfigField for Output
impl ConfigField for Output
Source§fn visit(&self, v: &mut Visit<'_>)
fn visit(&self, v: &mut Visit<'_>)
Visited as recorded, wherever it sits: a destination lands in every
Change written through it, so it may not read a secret.
Source§fn resolve(&self, r: &mut dyn Resolver) -> Result<Option<OwnedDataValue>>
fn resolve(&self, r: &mut dyn Resolver) -> Result<Option<OwnedDataValue>>
The destination’s dotted text, computed for this call when it is not literal.
Source§const IS_OUTPUT: bool = true
const IS_OUTPUT: bool = true
Whether the field is an output: a destination its call writes to.
false unless the type is Output or an
Option of one. The derive reads a field typed Output or marked
#[output] as an output and asserts that this is true, so a type
that merely shares the name is refused at compile time.Source§fn compile(raw: &Value, cx: &mut CompileCx<'_>) -> Option<Self>
fn compile(raw: &Value, cx: &mut CompileCx<'_>) -> Option<Self>
Compiles
raw; None after recording at least one issue.Source§const NULL_IS_VALUE: bool = false
const NULL_IS_VALUE: bool = false
Whether
null is one of the type’s values. When it is not, an explicit
null in an Option<Self> field means None.Auto Trait Implementations§
impl !Freeze for Output
impl RefUnwindSafe for Output
impl Send for Output
impl Sync for Output
impl Unpin for Output
impl UnsafeUnpin for Output
impl UnwindSafe for Output
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