Fixes https://github.com/nixops4/nixops4/issues/65,
possible undefined behavior.
This doesn't make the code nice wrt *const/*mut distinction, but
since we're not mutating it, this should be fine.
(cherry picked from commit 75d448aad923a5f835f0562400e223df43103ea4)
Fixes tests hanging. Before this commit:
nix build .#packages.x86_64-linux.nixops4-eval-release
See https://github.com/NixOS/nix/issues/11979
(cherry picked from commit 03af71f92488f2ee683565318f24afd3e3c001df)
Closes#31
A guard object is more capable, as it can be used in various
control flow and ownership schemes, including async code, but not
that it is not Send.
(cherry picked from commit f9aa5eab2561834c64ef9fe01979a91aee35848f)
They're somewhat safe to use on a different thread, but we don't need
to for now. By removing this, we'll be made aware as needed.
(cherry picked from commit 2e953d0a1268e2f19671fdbc9e721fc630ac346b)
A step toward handling the arrival of new data (stdin) with priority
over commands, avoiding roundtrips and re-evaluations.
(cherry picked from commit 8a2a5197886025caf35653001f76a4b209d8c9e4)
This allows cargo metadata to operate on it without adding the
source files to the build. (A choice which will save a few rebuilds
of the manual)
(cherry picked from commit 1779295f3e13cc15f8422d52a3753bb927ac8fa7)
It provides not so great values for some of the parameters, and we
don't really need its convenience.
(cherry picked from commit 52b7b58eb7fa96a265883cbf92e3a635735fe360)
This spreads out transitively to many places and requires that
we use `check_call!` instead of `check_one_call` in a number of
places.
(cherry picked from commit 6bc31dcf206518a7be7f0ac6e773d5dfe25531ea)
> I couldn't figure out a way to use () for the function call, but I didn't try that hard.
I (Robert) have also given it a shot, briefly, unsuccessfully.
While I was critical of over-engineering this, it turns out that
when we start to use `mut`, a macro is much more practical, because
it doesn't create a new scope where we need a copy of a mutable
reference, which of course is not allowed.
(cherry picked from commit a2acc93d13991da4b14a99065acd589477334d07)
The mutation-based methods had some pitfalls, and we don't really
need them.
We could re-add them if we need to.
(cherry picked from commit ca92b8491d87cebf54dd2468599168fc7a16c07f)
This makes it easier to stick to a regular pattern and not forget
to check the context afterwards.
(cherry picked from commit 966ef3769a23075f5d660a48cf5a7307df925dbf)
This loses the custom name for "thunk", but checking thunkness is
a niche use case that I don't think we should spend much code on.
(cherry picked from commit 7bdff525c13234ce6a32ea9346292d948b0840c1)