pub enum GraphKind {
Lockfile,
Ast,
Module,
EvalCacheEntry,
Derivation,
}Expand description
The kind of graph held under a blob. Drives the kind-subtree in the on-disk layout. Adding a kind = appending a variant + one new subdirectory; never breaks the existing layout.
Variants§
Lockfile
A flake.lock parsed + follows-resolved into a typed graph.
Canonical L1 substrate for every flake operation.
Ast
A parsed .nix file: rnix CST → typed AST → drop the green tree.
Identifies a single Nix expression by its source-hash + import set.
Module
A compiled NixOS / nix-darwin / home-manager module graph: typed IR with worker/wrapper-split setters and topo order. Keyed by (module-ast-hashes ⊕ resolved-import-set).
EvalCacheEntry
A serialized eval-cache entry: (ast-hash, env-hash) → value. Replicates across the fleet via the substituter protocol.
Derivation
A derivation’s typed graph form (pre-realisation), keyed by drv-hash. Substituters speak this directly.
Implementations§
Trait Implementations§
impl Copy for GraphKind
impl Eq for GraphKind
Source§impl Ord for GraphKind
impl Ord for GraphKind
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 GraphKind
impl PartialOrd for GraphKind
impl StructuralPartialEq for GraphKind
Auto Trait Implementations§
impl Freeze for GraphKind
impl RefUnwindSafe for GraphKind
impl Send for GraphKind
impl Sync for GraphKind
impl Unpin for GraphKind
impl UnsafeUnpin for GraphKind
impl UnwindSafe for GraphKind
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> 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> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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.