pub struct ConfigSetter {
pub id: SetterId,
pub assigns_path: Vec<String>,
pub slice: Vec<Vec<String>>,
pub body_ast_root: NodeId,
pub condition_ast_root: Option<NodeId>,
pub priority: u32,
}Expand description
One config-setter fragment. The worker/wrapper-split shape is
captured in the types: body_ast is the worker (computes the
contribution); slice is the wrapper’s declared input projection
(what the worker reads from config).
Fields§
§id: SetterId§assigns_path: Vec<String>Dotted path being assigned, e.g.
["services", "atticd", "settings", "listen"].
slice: Vec<Vec<String>>Slice of config this setter reads. Each entry is a dotted
path. Empty list = “doesn’t read config at all” (leaf setter).
body_ast_root: NodeIdPointer into the source AstGraph: the AstNodeId whose
subgraph evaluates to the assignment’s RHS. The IR doesn’t
embed the AST — it references it, so the same AST blob backs
every setter that names a node in it.
condition_ast_root: Option<NodeId>mkIf condition wrapping this assignment, if any. Pointer to
the boolean expression in the AST. None = unconditional.
priority: u32mkOverride priority. Defaults to 100 (cppnix default). Lower
numbers win — mkForce = 50, mkVMOverride = 10.
Trait Implementations§
Source§impl Archive for ConfigSetter
impl Archive for ConfigSetter
Source§const COPY_OPTIMIZATION: CopyOptimization<Self>
const COPY_OPTIMIZATION: CopyOptimization<Self>
serialize. Read moreSource§type Archived = ArchivedConfigSetter
type Archived = ArchivedConfigSetter
Source§type Resolver = ConfigSetterResolver
type Resolver = ConfigSetterResolver
Source§impl Clone for ConfigSetter
impl Clone for ConfigSetter
Source§fn clone(&self) -> ConfigSetter
fn clone(&self) -> ConfigSetter
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 ConfigSetter
impl Debug for ConfigSetter
Source§impl<'de> Deserialize<'de> for ConfigSetter
impl<'de> Deserialize<'de> for ConfigSetter
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<__D: Fallible + ?Sized> Deserialize<ConfigSetter, __D> for Archived<ConfigSetter>where
SetterId: Archive,
<SetterId as Archive>::Archived: Deserialize<SetterId, __D>,
Vec<String>: Archive,
<Vec<String> as Archive>::Archived: Deserialize<Vec<String>, __D>,
Vec<Vec<String>>: Archive,
<Vec<Vec<String>> as Archive>::Archived: Deserialize<Vec<Vec<String>>, __D>,
NodeId: Archive,
<NodeId as Archive>::Archived: Deserialize<NodeId, __D>,
Option<NodeId>: Archive,
<Option<NodeId> as Archive>::Archived: Deserialize<Option<NodeId>, __D>,
u32: Archive,
<u32 as Archive>::Archived: Deserialize<u32, __D>,
impl<__D: Fallible + ?Sized> Deserialize<ConfigSetter, __D> for Archived<ConfigSetter>where
SetterId: Archive,
<SetterId as Archive>::Archived: Deserialize<SetterId, __D>,
Vec<String>: Archive,
<Vec<String> as Archive>::Archived: Deserialize<Vec<String>, __D>,
Vec<Vec<String>>: Archive,
<Vec<Vec<String>> as Archive>::Archived: Deserialize<Vec<Vec<String>>, __D>,
NodeId: Archive,
<NodeId as Archive>::Archived: Deserialize<NodeId, __D>,
Option<NodeId>: Archive,
<Option<NodeId> as Archive>::Archived: Deserialize<Option<NodeId>, __D>,
u32: Archive,
<u32 as Archive>::Archived: Deserialize<u32, __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<ConfigSetter, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<ConfigSetter, <__D as Fallible>::Error>
Source§impl PartialEq for ConfigSetter
impl PartialEq for ConfigSetter
Source§impl Serialize for ConfigSetter
impl Serialize for ConfigSetter
impl StructuralPartialEq for ConfigSetter
Auto Trait Implementations§
impl Freeze for ConfigSetter
impl RefUnwindSafe for ConfigSetter
impl Send for ConfigSetter
impl Sync for ConfigSetter
impl Unpin for ConfigSetter
impl UnsafeUnpin for ConfigSetter
impl UnwindSafe for ConfigSetter
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.