Module value

Source
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 implement Copy, 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Β§

CoercionKind
Describes what input types are allowed when coercing a Value to a string

EnumsΒ§

PointerEquality
Controls what kind of by-pointer equality comparison is allowed.
Value

StaticsΒ§

WRITE_FLOAT_OPTIONS πŸ”’

TraitsΒ§

TotalDisplay πŸ”’

FunctionsΒ§

total_fmt_float πŸ”’
Emulates the C++-Nix style formatting of floats, which diverges significantly from Rust’s native float formatting.
type_error πŸ”’