2c45e056e9b2681d4c340486f1431942d2c0d84c
These uses of std::move are taking data out of a repeatedly-used state object, à la Rust's std::mem::take(). But move-constructing or move-assigning from an object does not guarantee that the moved-from object is equivalent to a default-constructed one, or even that the moved-from object will continue to function like a non-moved-from object of that type (only that the object remains "valid"). Assuming there's no differing custom allocator shenanigans at play, both libstdc++ and libc++ do leave moved-from std::map objects (and probably others) in an empty, well-behaved, default-constructed state, at the time of this writing. However the correct tool here is std::exchange(). Change-Id: I7cf76762a1b05a542b53fcd74be100646a6a6964
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%