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§
- 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. Generate anas_*/to_*
accessor method that returns either the expected type, or a type error. - 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§
- Describes what input types are allowed when coercing a
Value
to a string
Enums§
- Controls what kind of by-pointer equality comparison is allowed.
Traits§
Functions§
- Emulates the C++-Nix style formatting of floats, which diverges significantly from Rust’s native float formatting.