lix/tests/lang
pennae 00c993f48b add zipAttrsWith primop
nixpkgs can save a good bit of eval memory with this primop. zipAttrsWith is
used quite a bit around nixpkgs (eg in the form of recursiveUpdate), but the
most costly application for this primop is in the module system. it improves
the implementation of zipAttrsWith from nixpkgs by not checking an attribute
multiple times if it occurs more than once in the input list, allocates less
values and set elements, and just avoids many a temporary object in general.

nixpkgs has a more generic version of this operation, zipAttrsWithNames, but
this version is only used once so isn't suitable for being the base of a new
primop. if it were to be used more we should add a second primop instead.
2022-01-03 21:05:53 +01:00
..
dir1 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
dir2 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
dir3 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
dir4 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
readDir Add test for readDir primop 2014-10-03 22:32:11 +02:00
binary-data Add builtins.hashFile 2019-05-03 17:23:36 +02:00
data Add path primop. 2018-02-06 16:48:08 -05:00
eval-fail-abort.nix
eval-fail-assert.nix
eval-fail-bad-antiquote-1.nix Add a test for type correctness of antiquotes 2013-10-17 00:51:07 +02:00
eval-fail-bad-antiquote-2.nix Add a test for type correctness of antiquotes 2013-10-17 00:51:07 +02:00
eval-fail-bad-antiquote-3.nix Add a test for type correctness of antiquotes 2013-10-17 00:51:07 +02:00
eval-fail-blackhole.nix
eval-fail-deepseq.nix Add ‘deepSeq’ primop 2014-09-22 16:05:00 +02:00
eval-fail-hashfile-missing.nix fix hashfile test that wasn't failing due to eval laziness 2019-05-08 10:04:54 +02:00
eval-fail-missing-arg.nix
eval-fail-nonexist-path.nix path antiquotations: rename confusing test 2021-08-06 07:38:52 -04:00
eval-fail-path-slash.nix Update mailing list. 2017-07-18 08:04:01 -04:00
eval-fail-remove.nix
eval-fail-scope-5.nix
eval-fail-seq.nix Add ‘seq’ primop 2014-09-22 16:05:00 +02:00
eval-fail-substring.nix
eval-fail-to-path.nix
eval-fail-undeclared-arg.nix
eval-okay-any-all.exp Add primops all and any 2015-07-23 19:23:11 +02:00
eval-okay-any-all.nix Add primops all and any 2015-07-23 19:23:11 +02:00
eval-okay-arithmetic.exp add docs and tests 2018-05-24 12:51:34 +00:00
eval-okay-arithmetic.nix add docs and tests 2018-05-24 12:51:34 +00:00
eval-okay-attrnames.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrnames.nix Add primop ‘attrValues’ 2014-10-04 16:41:24 +02:00
eval-okay-attrs.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrs.nix
eval-okay-attrs2.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrs2.nix
eval-okay-attrs3.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrs3.nix
eval-okay-attrs4.exp * Test case. 2011-07-06 10:58:53 +00:00
eval-okay-attrs4.nix * Test case. 2011-07-06 10:58:53 +00:00
eval-okay-attrs5.exp * Allow a default value in attribute selection by writing 2011-07-13 12:19:57 +00:00
eval-okay-attrs5.nix Fix test broken by #762 2016-02-15 15:01:26 +01:00
eval-okay-attrs6.exp Add testcase for attrset using __overrides and dynamic attrs 2019-11-25 13:03:54 +00:00
eval-okay-attrs6.nix Add testcase for attrset using __overrides and dynamic attrs 2019-11-25 13:03:54 +00:00
eval-okay-autoargs.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-autoargs.flags
eval-okay-autoargs.nix Fix typos, especially those that end up in the Nix manual 2013-08-26 11:15:22 +02:00
eval-okay-backslash-newline-1.exp libexpr: Recognize newline in more places in lexer 2018-03-02 17:30:48 +02:00
eval-okay-backslash-newline-1.nix libexpr: Recognize newline in more places in lexer 2018-03-02 17:30:48 +02:00
eval-okay-backslash-newline-2.exp libexpr: Recognize newline in more places in lexer 2018-03-02 17:30:48 +02:00
eval-okay-backslash-newline-2.nix libexpr: Recognize newline in more places in lexer 2018-03-02 17:30:48 +02:00
eval-okay-builtins-add.exp Fix builtins.add test 2018-05-02 13:49:32 +02:00
eval-okay-builtins-add.nix add tests for builtins.add 2018-04-29 12:03:42 -07:00
eval-okay-builtins.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-builtins.nix
eval-okay-callable-attrs.exp Add functors (callable attribute sets). 2014-11-15 16:12:05 -05:00
eval-okay-callable-attrs.nix Add functors (callable attribute sets). 2014-11-15 16:12:05 -05:00
eval-okay-catattrs.exp Add primop ‘catAttrs’ 2014-10-04 18:15:03 +02:00
eval-okay-catattrs.nix Add primop ‘catAttrs’ 2014-10-04 18:15:03 +02:00
eval-okay-closure.exp.xml
eval-okay-closure.nix
eval-okay-comments.exp Fix comments parsing 2016-11-13 17:20:34 +01:00
eval-okay-comments.nix Fix comments parsing 2016-11-13 17:20:34 +01:00
eval-okay-concat.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-concat.nix
eval-okay-concatmap.exp lib.concatMap and lib.mapAttrs to be builtins 2018-07-05 02:54:09 +00:00
eval-okay-concatmap.nix lib.concatMap and lib.mapAttrs to be builtins 2018-07-05 02:54:09 +00:00
eval-okay-concatstringssep.exp Add concatStringsSep as a primop 2015-07-24 02:38:09 +02:00
eval-okay-concatstringssep.nix Add concatStringsSep as a primop 2015-07-24 02:38:09 +02:00
eval-okay-context-introspection.exp Add builtins.getContext. 2019-01-14 11:27:10 -05:00
eval-okay-context-introspection.nix Add builtins.appendContext. 2019-01-31 08:52:23 -05:00
eval-okay-context.exp * Check for duplicate attribute names / function arguments. `make 2010-04-22 11:02:24 +00:00
eval-okay-context.nix Fix context test 2014-10-18 20:34:48 -04:00
eval-okay-curpos.exp Add a symbol __curPos that expands to the current source location 2013-11-18 20:16:02 +01:00
eval-okay-curpos.nix Add a symbol __curPos that expands to the current source location 2013-11-18 20:16:02 +01:00
eval-okay-deepseq.exp Add ‘deepSeq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-deepseq.nix Add ‘deepSeq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-delayed-with-inherit.exp Simplify inherited attribute handling 2013-08-26 11:31:56 +02:00
eval-okay-delayed-with-inherit.nix Simplify inherited attribute handling 2013-08-26 11:31:56 +02:00
eval-okay-delayed-with.exp Test the delayed with a bit more 2013-07-31 13:12:35 +02:00
eval-okay-delayed-with.nix Test the delayed with a bit more 2013-07-31 13:12:35 +02:00
eval-okay-dynamic-attrs-2.exp Fold dynamic binds handling into addAttr 2013-12-31 17:57:10 -05:00
eval-okay-dynamic-attrs-2.nix Fold dynamic binds handling into addAttr 2013-12-31 17:57:10 -05:00
eval-okay-dynamic-attrs-bare.exp Allow "bare" dynamic attrs 2014-01-14 14:00:15 +01:00
eval-okay-dynamic-attrs-bare.nix Allow "bare" dynamic attrs 2014-01-14 14:00:15 +01:00
eval-okay-dynamic-attrs.exp Dynamic attrs 2013-12-31 20:59:49 +00:00
eval-okay-dynamic-attrs.nix Dynamic attrs 2013-12-31 20:59:49 +00:00
eval-okay-elem.exp Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-elem.nix Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-empty-args.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-empty-args.nix
eval-okay-eq-derivations.exp * Add a test case for comparing derivations. 2012-01-19 22:10:24 +00:00
eval-okay-eq-derivations.nix * Add a test case for comparing derivations. 2012-01-19 22:10:24 +00:00
eval-okay-eq.exp.disabled
eval-okay-eq.nix
eval-okay-filter.exp Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-filter.nix Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-flatten.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-flatten.nix
eval-okay-float.exp FIx floating point evaluation 2018-08-19 11:59:49 +02:00
eval-okay-float.nix FIx floating point evaluation 2018-08-19 11:59:49 +02:00
eval-okay-floor-ceil.exp Implement builtins.floor and builtins.ceil using the C library functions internally 2021-05-10 12:19:32 +02:00
eval-okay-floor-ceil.nix Implement builtins.floor and builtins.ceil using the C library functions internally 2021-05-10 12:19:32 +02:00
eval-okay-foldlStrict.exp Add test for foldl' 2020-03-04 11:43:48 +01:00
eval-okay-foldlStrict.nix Add test for foldl' 2020-03-04 11:43:48 +01:00
eval-okay-fromjson-escapes.exp Add support for \u escape in fromJSON 2020-01-07 00:09:58 +01:00
eval-okay-fromjson-escapes.nix Add support for \u escape in fromJSON 2020-01-07 00:09:58 +01:00
eval-okay-fromjson.exp Add builtin function ‘fromJSON’ 2014-07-04 13:34:15 +02:00
eval-okay-fromjson.nix Fix broken number parsing in fromJSON 2016-02-15 15:01:26 +01:00
eval-okay-fromTOML.exp Fix abort in fromTOML 2019-06-24 17:09:09 +02:00
eval-okay-fromTOML.nix Fix abort in fromTOML 2019-06-24 17:09:09 +02:00
eval-okay-functionargs.exp.xml
eval-okay-functionargs.nix
eval-okay-getattrpos-functionargs.exp Make function arguments retain position info 2020-04-02 05:52:52 +02:00
eval-okay-getattrpos-functionargs.nix Make function arguments retain position info 2020-04-02 05:52:52 +02:00
eval-okay-getattrpos-undefined.exp libexpr: Make unsafeGetAttrPos not crash on noPos 2018-04-03 15:54:42 +03:00
eval-okay-getattrpos-undefined.nix libexpr: Make unsafeGetAttrPos not crash on noPos 2018-04-03 15:54:42 +03:00
eval-okay-getattrpos.exp Add a primop unsafeGetAttrPos to return the position of an attribute 2013-11-18 22:22:35 +01:00
eval-okay-getattrpos.nix Add a primop unsafeGetAttrPos to return the position of an attribute 2013-11-18 22:22:35 +01:00
eval-okay-getenv.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-getenv.nix
eval-okay-groupBy.exp Add a test case for builtins.groupBy 2021-12-16 19:59:13 +01:00
eval-okay-groupBy.nix Add a test case for builtins.groupBy 2021-12-16 19:59:13 +01:00
eval-okay-hash.exp Add builtins.hashFile 2019-05-03 17:23:36 +02:00
eval-okay-hashfile.exp Add builtins.hashFile 2019-05-03 17:23:36 +02:00
eval-okay-hashfile.nix Add builtins.hashFile 2019-05-03 17:23:36 +02:00
eval-okay-hashstring.exp Add builtins.hashFile 2019-05-03 17:23:36 +02:00
eval-okay-hashstring.nix Add builtins.hashFile 2019-05-03 17:23:36 +02:00
eval-okay-if.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-if.nix
eval-okay-import.exp Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
eval-okay-import.nix Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
eval-okay-ind-string.exp Escape ${ in strings when printing Nix expressions 2020-09-14 17:19:25 +02:00
eval-okay-ind-string.nix Fix lexer to support $' in multiline strings. 2017-05-01 01:15:40 +02:00
eval-okay-let.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-let.nix
eval-okay-list.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-list.nix
eval-okay-listtoattrs.exp * Regression test for listToAttr's behaviour if an attribute name 2010-10-23 22:55:30 +00:00
eval-okay-listtoattrs.nix * Keep attribute sets in sorted order to speed up attribute lookups. 2010-10-24 19:52:33 +00:00
eval-okay-logic.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-logic.nix
eval-okay-map.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-map.nix
eval-okay-mapattrs.exp lib.concatMap and lib.mapAttrs to be builtins 2018-07-05 02:54:09 +00:00
eval-okay-mapattrs.nix lib.concatMap and lib.mapAttrs to be builtins 2018-07-05 02:54:09 +00:00
eval-okay-nested-with.exp Add test eval-okay-nested-with 2018-03-30 15:41:16 -04:00
eval-okay-nested-with.nix Add test eval-okay-nested-with 2018-03-30 15:41:16 -04:00
eval-okay-new-let.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-new-let.nix
eval-okay-null-dynamic-attrs.exp If a dynamic attribute name evaluates to null, remove it from the set 2014-03-10 10:14:50 +01:00
eval-okay-null-dynamic-attrs.nix If a dynamic attribute name evaluates to null, remove it from the set 2014-03-10 10:14:50 +01:00
eval-okay-overrides.exp * Regression test for __overrides. 2010-10-22 15:15:12 +00:00
eval-okay-overrides.nix * Regression test for __overrides. 2010-10-22 15:15:12 +00:00
eval-okay-partition.exp Add builtin function "partition" 2016-08-29 19:36:54 +02:00
eval-okay-partition.nix Add builtin function "partition" 2016-08-29 19:36:54 +02:00
eval-okay-path-antiquotation.nix add path antiqutations test 2021-08-06 07:06:52 -04:00
eval-okay-path.nix Add path primop. 2018-02-06 16:48:08 -05:00
eval-okay-pathexists.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-pathexists.nix
eval-okay-patterns.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-patterns.nix
eval-okay-readDir.exp Add test for readDir primop 2014-10-03 22:32:11 +02:00
eval-okay-readDir.nix Add test for readDir primop 2014-10-03 22:32:11 +02:00
eval-okay-readfile.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-readfile.nix
eval-okay-redefine-builtin.exp Add the ExprBuiltin Expr type to the AST 2013-12-31 17:45:47 +00:00
eval-okay-redefine-builtin.nix Add the ExprBuiltin Expr type to the AST 2013-12-31 17:45:47 +00:00
eval-okay-regex-match.exp Add a primop for regular expression pattern matching 2014-11-25 11:47:06 +01:00
eval-okay-regex-match.nix Document that builtins.match takes a POSIX extended RE 2017-05-17 12:18:18 +02:00
eval-okay-regex-split.exp Add missing eval-okay-regex-split.exp test file 2018-04-06 12:18:59 -06:00
eval-okay-regex-split.nix Add builtins.string function. 2017-08-15 20:04:11 +00:00
eval-okay-remove.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-remove.nix
eval-okay-replacestrings.exp libexpr: Fix prim_replaceStrings() to work on an empty source string 2018-02-26 19:49:13 +02:00
eval-okay-replacestrings.nix libexpr: Fix prim_replaceStrings() to work on an empty source string 2018-02-26 19:49:13 +02:00
eval-okay-scope-1.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-1.nix
eval-okay-scope-2.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-2.nix
eval-okay-scope-3.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-3.nix
eval-okay-scope-4.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-4.nix
eval-okay-scope-6.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-6.nix
eval-okay-scope-7.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-7.nix
eval-okay-search-path.exp Fix test 2014-05-29 19:04:27 +02:00
eval-okay-search-path.flags * Allow redirections in search path entries. E.g. if you have a 2011-08-06 17:48:57 +00:00
eval-okay-search-path.nix Move <nix/fetchurl.nix> into the nix binary 2020-12-22 14:43:20 +01:00
eval-okay-seq.exp Add ‘seq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-seq.nix Add ‘seq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-sort.exp Make lists be comparable 2021-11-24 13:40:46 +01:00
eval-okay-sort.nix Make lists be comparable 2021-11-24 13:40:46 +01:00
eval-okay-splitversion.exp Add splitVersion primop. 2018-02-14 09:55:43 -05:00
eval-okay-splitversion.nix Add splitVersion primop. 2018-02-14 09:55:43 -05:00
eval-okay-string.exp Fix the parsing of "$"'s in strings. 2015-07-03 14:09:58 +02:00
eval-okay-string.nix Fix the parsing of "$"'s in strings. 2015-07-03 14:09:58 +02:00
eval-okay-strings-as-attrs-names.exp * Allow attribute names to be strings. Based on the 2011-07-13 15:53:24 +00:00
eval-okay-strings-as-attrs-names.nix * Allow attribute names to be strings. Based on the 2011-07-13 15:53:24 +00:00
eval-okay-substring.exp * builtins.substring: if "start" is beyond the end of the string, 2011-01-14 12:47:10 +00:00
eval-okay-substring.nix * builtins.substring: if "start" is beyond the end of the string, 2011-01-14 12:47:10 +00:00
eval-okay-tail-call-1.exp-disabled Disable the tail call test 2014-01-06 11:32:22 +01:00
eval-okay-tail-call-1.nix Add a test to check that tail calls run in bounded stack space 2013-11-12 12:34:22 +01:00
eval-okay-tojson.exp builtins.toJSON: fix __toString usage 2019-10-27 10:15:51 +01:00
eval-okay-tojson.nix builtins.toJSON: fix __toString usage 2019-10-27 10:15:51 +01:00
eval-okay-toxml.exp * Sync with the trunk. 2010-05-07 14:46:47 +00:00
eval-okay-toxml.nix
eval-okay-toxml2.exp * Sync with the trunk. 2010-05-07 14:46:47 +00:00
eval-okay-toxml2.nix * Sync with the trunk. 2010-05-07 14:46:47 +00:00
eval-okay-tryeval.exp * Print attributes in sorted order. 2010-05-12 12:15:49 +00:00
eval-okay-tryeval.nix * Implemented tryEval, the last missing primop in the fast-eval 2010-05-12 11:23:44 +00:00
eval-okay-types.exp Update eval-okay-types.exp to match #1828 2019-03-27 21:07:04 +01:00
eval-okay-types.nix Add isPath primop 2019-03-24 11:36:49 +01:00
eval-okay-versions.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-versions.nix
eval-okay-with.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-with.nix
eval-okay-xml.exp.xml Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-xml.nix Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-zipAttrsWith.exp add zipAttrsWith primop 2022-01-03 21:05:53 +01:00
eval-okay-zipAttrsWith.nix add zipAttrsWith primop 2022-01-03 21:05:53 +01:00
imported.nix Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
imported2.nix Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
lib.nix Revert "Don't parse "x:x" as a URI" 2017-11-14 15:10:52 +01:00
parse-fail-dup-attrs-1.nix
parse-fail-dup-attrs-2.nix
parse-fail-dup-attrs-3.nix
parse-fail-dup-attrs-4.nix
parse-fail-dup-attrs-7.nix * Check for duplicate attribute names / function arguments. `make 2010-04-22 11:02:24 +00:00
parse-fail-dup-formals.nix
parse-fail-mixed-nested-attrs1.nix parser: Allow mixed nested and top-level attrpaths 2018-04-18 18:44:38 +02:00
parse-fail-mixed-nested-attrs2.nix parser: Allow mixed nested and top-level attrpaths 2018-04-18 18:44:38 +02:00
parse-fail-patterns-1.nix
parse-fail-regression-20060610.nix
parse-fail-uft8.nix Don't return negative numbers from the flex tokenizer 2018-05-11 12:05:12 +02:00
parse-fail-undef-var-2.nix
parse-fail-undef-var.nix
parse-okay-1.nix
parse-okay-crlf.nix
parse-okay-dup-attrs-5.nix * Check for duplicate attribute names / function arguments. `make 2010-04-22 11:02:24 +00:00
parse-okay-dup-attrs-6.nix parser: Allow mixed nested and top-level attrpaths 2018-04-18 18:44:38 +02:00
parse-okay-mixed-nested-attrs-1.nix nix-lang parser: Add mixed nested attrs tests. 2018-04-17 09:13:01 +02:00
parse-okay-mixed-nested-attrs-2.nix nix-lang parser: Add mixed nested attrs tests. 2018-04-17 09:13:01 +02:00
parse-okay-mixed-nested-attrs-3.nix nix-lang: Add deep nested mixed attrs test case. 2018-05-01 14:42:34 +02:00
parse-okay-regression-751.nix Remove tests/lexer.sh 2016-02-01 18:27:37 +01:00
parse-okay-regression-20041027.nix
parse-okay-subversion.nix
parse-okay-url.nix Add .tar.zst support for TarballInputScheme 2021-05-29 16:03:26 +07:00