lix/src/libutil
jade 3626738b9b libutil: tidy Sync and fix its move constructor
There was a previously-unused move constructor that just called abort,
which makes no sense since it ought to just be `= delete` if you don't
want one (commit history says it was Eelco doing an optimistic
performance optimisation in 2016, so it probably would not pass review
today).

However, a Lock has some great reasons to be moved! You might need to
unlock it early, for instance, or give it to someone else. So we change
the move constructor to instead hollow out the moved-from object and
make it unusable.

Change-Id: Iff2a4c2f7ebd0a558c4866d4dfe526bc8558bed7
2024-06-18 15:11:31 -07:00
..
args libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
abstract-setting-to-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
ansicolor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
archive.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
archive.hh util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
args.cc libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
args.hh libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
box_ptr.hh Add box_ptr: nonnull unique_ptr with value semantics 2024-03-11 01:04:52 -07:00
canon-path.cc util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
canon-path.hh Merge remote-tracking branch 'upstream/master' into source-path 2023-04-17 11:41:50 +02:00
cgroup.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
cgroup.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
chunked-vector.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
closure.hh libutil: de-callback-ify computeClosure 2024-05-07 14:35:20 +00:00
comparator.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
compression.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
compression.hh Rename and protect BufferedSink::write 2023-04-07 09:21:50 +02:00
compute-levels.cc Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
compute-levels.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
config-impl.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
config.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
config.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
current-process.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
current-process.hh util.{hh,cc}: Split out current-process.{hh,cc} 2024-05-29 11:01:34 +02:00
english.cc Unify and refactor value printing 2024-03-09 03:50:06 +01:00
english.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
environment-variables.cc util.{hh,cc}: Split out environment-variables.{hh,cc} 2024-05-28 11:29:29 +02:00
environment-variables.hh util.{hh,cc}: Split out environment-variables.{hh,cc} 2024-05-28 11:29:29 +02:00
error.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
error.hh util.{hh,cc}: Move ignoreException to error.{hh,cc} 2024-05-29 11:42:42 +02:00
escape-char.cc Move DebugChar into its own file 2024-03-28 15:54:12 -07:00
escape-char.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
escape-string.cc Add EscapeStringOptions and escapeString tests 2024-04-03 16:25:54 +00:00
escape-string.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
exit.cc :quit in the debugger should quit the whole program 2024-03-09 10:17:26 -07:00
exit.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
experimental-features-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
experimental-features.cc chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
experimental-features.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
file-descriptor.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
file-descriptor.hh util.{hh,cc}: Split out unix-domain-socket.{hh,cc} 2024-05-29 11:01:34 +02:00
file-system.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
file-system.hh Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
finally.hh libutil: guard Finally against invalid exception throws 2024-04-05 20:13:02 +00:00
fmt.hh libutil: Set boost defines for FreeBSD 2024-06-16 03:41:15 +00:00
git.cc Fix the parsing of the sourcehut refs file 2022-05-04 14:38:59 +02:00
git.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
hash.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
hash.hh util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
hilite.cc Fix incorrect comment in hiliteMatches 2022-06-05 20:30:18 +02:00
hilite.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
input-accessor.hh util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
json-impls.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-utils.cc Fix derivation load assertion errors 2023-08-05 01:34:30 +02:00
json-utils.hh fix: nlohmann::adl_serializer for std::optional (#9147) 2024-03-04 07:11:25 +01:00
lix-util.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
logging-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
logging.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
logging.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
lru-cache.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
meson.build build: expose option to enable or disable precompiled std headers 2024-06-06 12:46:26 -06:00
monitor-fd.hh util.hh: split out signals stuff 2024-03-11 00:52:09 -07:00
namespaces.cc util.{hh,cc}: Split out namespaces.{hh,cc} 2024-05-29 11:41:16 +02:00
namespaces.hh util.{hh,cc}: Split out namespaces.{hh,cc} 2024-05-29 11:41:16 +02:00
pool.hh Revert "libutil: drop Pool resources on exceptional free" 2024-04-05 20:13:02 +00:00
position.cc match line endings used by parser and error reports 2024-03-18 16:12:46 +01:00
position.hh match line endings used by parser and error reports 2024-03-18 16:12:46 +01:00
print-elided.cc Move escapeString to its own file 2024-03-29 16:26:29 -07:00
print-elided.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
processes.cc util.{hh,cc}: Split out current-process.{hh,cc} 2024-05-29 11:01:34 +02:00
processes.hh Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
ref.hh add and fix -Wdeprecated-copy 2024-05-09 13:02:45 +00:00
references.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
references.hh Don't assume the type of string::size_type 2023-06-15 21:24:14 +02:00
regex-combinators.hh util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
regex.cc gc: Find roots using libproc on Darwin 2024-04-25 23:24:21 -04:00
regex.hh gc: Find roots using libproc on Darwin 2024-04-25 23:24:21 -04:00
repair-flag.hh Merge pull request #9634 from 9999years/combine-abstract-pos-and-pos 2024-03-05 23:46:18 -07:00
serialise.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
serialise.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
shlex.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
shlex.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
signals.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
signals.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
source-path.cc Fix various clang-tidy lints 2024-03-29 20:26:38 -07:00
source-path.hh util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
split.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
strings.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
strings.hh Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
suggestions.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
suggestions.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
sync.hh libutil: tidy Sync and fix its move constructor 2024-06-18 15:11:31 -07:00
tarfile.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
tarfile.hh TarArchive: Remove a duplicate constant and increase the buffer size 2023-04-25 16:43:10 +02:00
terminal.cc util.{hh,cc}: Split out terminal.{hh,cc} 2024-05-29 09:54:47 +02:00
terminal.hh util.{hh,cc}: Split out terminal.{hh,cc} 2024-05-29 09:54:47 +02:00
thread-pool.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
thread-pool.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
topo-sort.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
types.hh util.hh: Move stuff to types.hh 2024-05-29 11:42:42 +02:00
unix-domain-socket.cc unix-domain-socket.cc: add comment explaining why bindConnectProcHelper 2024-05-29 19:50:04 -07:00
unix-domain-socket.hh util.{hh,cc}: Split out unix-domain-socket.{hh,cc} 2024-05-29 11:01:34 +02:00
url-name.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
url-name.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
url-parts.hh implement parsing human-readable names from URLs 2024-04-30 18:11:14 -06:00
url.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
url.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
users.cc util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
users.hh util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
variant-wrapper.hh Fixing #7479 2023-08-18 11:44:00 -04:00
xml-writer.cc xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00
xml-writer.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00