85a05a6f38
In the change to the backing structure of attribute sets, the requirement to manually balance the capacity of the structure went away. This is a) because Abseil's data structures manage this on their own, and b) because the new Bindings class is allocated using `new (GC)` rather than writing into a predefined memory area. As part of this change functions related to the capacity were deprecated and set to 0 values, which in turn caused the creation of new attribute sets to return the same (mutable!) default value in various cases, leading to "side effects" that caused evaluation failures. FWIW, I'm not sure if this optimisation had noticeable performance impact, but while untangling libexpr it definitely doesn't help trying to follow what it's doing - so bye, bye! |
||
---|---|---|
.. | ||
.github | ||
config | ||
contrib | ||
corepkgs | ||
doc | ||
maintainers | ||
misc | ||
scripts | ||
src | ||
subprojects | ||
tests | ||
.clang-format | ||
.dir-locals.el | ||
.gitignore | ||
.travis.yml | ||
.version | ||
clangd.nix | ||
COPYING | ||
default.nix | ||
meson.build | ||
meson_options.txt | ||
README.md |
Nix, the purely functional package manager
Nix is a new take on package management that is fairly unique. Because of its purity aspects, a lot of issues found in traditional package managers don't appear with Nix.
To find out more about the tool, usage and installation instructions, please read the manual, which is available on the Nix website at http://nixos.org/nix/manual.
Contributing
Take a look at the Hacking Section of the manual. It helps you to get started with building Nix from source.
License
Nix is released under the LGPL v2.1
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit.