Expand description
This module implements the backing representation of runtime values in the Nix language.
Re-exportsΒ§
pub use attrs::NixAttrs;
pub use builtin::Builtin;
pub use builtin::BuiltinResult;
pub use function::Closure;
pub use function::Lambda;
pub use list::NixList;
pub use path::canon_path;
pub use string::NixContext;
pub use string::NixContextElement;
pub use string::NixString;
pub use thunk::Thunk;
pub use self::thunk::ThunkSet;
ModulesΒ§
- arbitrary π
- Support for configurable generation of arbitrary nix values
- attrs π
- This module implements Nix attribute sets. They have flexible backing implementations, as they are used in very versatile use-cases that are all exposed the same way in the language surface.
- builtin π
- This module implements the runtime representation of a Nix builtin.
- function π
- This module implements the runtime representation of functions.
- json π
- list π
- This module implements Nix lists.
- path π
- string π
- This module implements Nix language strings.
- thunk π
- This module implements the runtime representation of Thunks.
MacrosΒ§
- gen_
cast π - Generate an
as_*
method returning a reference to the expected type, or a type error. This only works for types that implementCopy
, as returning a reference to an inner thunk value is not possible. - gen_
cast_ πmut - Generate an
as_*_mut/to_*_mut
accessor method that returns either the expected type, or a type error. - gen_is π
- Generate an
is_*
type-checking method.
StructsΒ§
- Coercion
Kind - Describes what input types are allowed when coercing a
Value
to a string
EnumsΒ§
- Pointer
Equality - Controls what kind of by-pointer equality comparison is allowed.
- Value
StaticsΒ§
- WRITE_
FLOAT_ πOPTIONS
TraitsΒ§
- Total
Display π
FunctionsΒ§
- total_
fmt_ πfloat - Emulates the C++-Nix style formatting of floats, which diverges significantly from Rustβs native float formatting.
- type_
error π