nixpkgs/lib
sternenseemann 48965506a1 lib/asserts: use throw to display message for assertMsg
`assert` has the annoying property that it dumps a lot of code at the
user without the built in capability to display a nicer message. We have
worked around this using `assertMsg` which would *additionally* display
a nice message. We can do even better: By using `throw` we can make
evaluation fail before assert draws its conclusions and prevent it from
displaying the code making up the assert condition, so we get the nicer
message of `throw` and the syntactical convenience of `assert`.

Before:

    nix-repl> python.override { reproducibleBuild = true; stripBytecode = false; }
    trace: Deterministic builds require stripping bytecode.
    error: assertion (((lib).assertMsg  (reproducibleBuild -> stripBytecode))  "Deterministic builds require stripping bytecode.") failed at /home/lukas/src/nix/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix:45:1

After:

    nix-repl> python.override { reproducibleBuild = true; stripBytecode = false; }
    error: Deterministic builds require stripping bytecode.
2022-01-19 00:50:06 +01:00
..
systems lib.systems.supported: remove aarch64-darwin from Tier 3 list 2021-12-16 17:51:21 +01:00
tests lib: fix flake check 2021-12-13 12:03:40 +01:00
asserts.nix lib/asserts: use throw to display message for assertMsg 2022-01-19 00:50:06 +01:00
attrsets.nix Merge pull request #152392 from polykernel/attrset-optimizations-patch-1 2022-01-11 16:01:52 +00:00
cli.nix lib/cli: mkKey -> mkOptionName, use generators.mkValueStringDefault 2020-01-23 14:47:38 +01:00
customisation.nix lib: make extendDerivation lighter on eval 2021-10-15 16:39:10 +02:00
debug.nix lib/debug: add traceFnSeqN 2021-01-25 19:25:50 +01:00
default.nix lib.checkListOfEnum: init 2022-01-09 19:21:08 -03:00
deprecated.nix treewide: fold -> foldr 2021-01-26 10:57:07 +07:00
fetchers.nix
filesystem.nix lib: Add readTree function to filesystem 2020-10-19 16:42:21 -07:00
fixed-points.nix lib.compose{Many,}Extensions: Make compatible with nix flake check 2021-08-26 09:12:17 -04:00
flake.nix Fix import path. 2021-08-14 14:46:00 -05:00
generators.nix Merge pull request #131205 from Ma27/showdefs-overflow 2021-09-29 11:03:31 +02:00
kernel.nix Merge pull request #84032 from teto/fix_kernel_merge 2020-05-22 13:32:22 +02:00
licenses.nix licenses: add CAPEC 2021-10-15 23:10:34 +02:00
lists.nix lib/lists: mutuallyExclusive function optimization 2021-11-01 16:29:01 -04:00
meta.nix lib/meta: add getLicenseFromSpdxId function 2021-12-02 18:33:48 +08:00
minver.nix Bump minver.nix to 2.2 2020-06-04 13:43:10 +02:00
modules.nix lib/modules: extract multiply-used value in byName 2021-12-28 16:53:50 +01:00
options.nix nixos/documentation: split options doc build 2022-01-02 19:46:13 +01:00
sources.nix lib.cleanSource: ignore sockets 2021-09-17 10:03:00 +00:00
strings-with-deps.nix lib: Use Nix's static scope checking, fix error message, optimize 2020-10-22 13:46:47 +02:00
strings.nix lib: fix escapeXML example in documentation 2021-11-02 22:43:25 +01:00
trivial.nix lib.checkListOfEnum: init 2022-01-09 19:21:08 -03:00
types.nix lib.evalModules: Add extendModules and type to result 2021-11-01 09:34:07 +01:00
versions.nix
zip-int-bits.nix