lix/src/libexpr
piegames ec7552ff74 libexpr/parser: Test experimental features
Currently, the parser relies on the global experimental feature flags.
In order to properly test conditional language features, we instead need
to pass it around in the parser::State.

This means that the parser cannot cache the result of isEnabled anymore,
which wouldn't necessarily hurt performance if the function didn't
perform a linear search on the list of enabled features on every single
call. While we could simply evaluate once at the start of parsing and
cache the result in the parser state, the more sustainable solution
would be to fix `isEnabled` such that all callers may profit from the
performance improvement.

Change-Id: Ic9b9c5d882b6270e1114988b63e6064d36c25cf2
2024-08-07 13:07:50 +00:00
..
flake tree-wide: fix various lint warnings 2024-08-04 20:55:45 -07:00
parser libexpr/parser: Test experimental features 2024-08-07 13:07:50 +00:00
primops language: cleanly ban integer overflows 2024-07-13 00:59:33 +02:00
value util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
attr-path.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
attr-path.hh
attr-set.cc libexpr: refactor gc-agnostic helpers into one place 2024-07-20 20:20:01 +00:00
attr-set.hh
eval-cache.cc language: cleanly ban integer overflows 2024-07-13 00:59:33 +02:00
eval-cache.hh always re-eval cached failures 2024-04-06 04:35:25 +00:00
eval-error.cc always re-eval cached failures 2024-04-06 04:35:25 +00:00
eval-error.hh Add a clearer error message for InvalidPathError during evaluation 2024-06-16 03:53:00 +00:00
eval-inline.hh libexpr: refactor gc-agnostic helpers into one place 2024-07-20 20:20:01 +00:00
eval-settings.cc libexpr: fix accessing uninitialized values and fix pure-eval docs 2024-06-18 19:25:35 -07:00
eval-settings.hh libexpr: fix accessing uninitialized values and fix pure-eval docs 2024-06-18 19:25:35 -07:00
eval.cc libexpr/parser: Test experimental features 2024-08-07 13:07:50 +00:00
eval.hh libexpr/parser: Test experimental features 2024-08-07 13:07:50 +00:00
fetchurl.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
function-trace.cc
function-trace.hh
gc-alloc.cc libexpr: rename confusing makeImmutableString -> gcCopyStringIfNeeded 2024-07-20 20:20:01 +00:00
gc-alloc.hh libexpr/gc-alloc: fix compilation with !HAVE_BOEHMGC 2024-07-23 00:50:09 +02:00
gc-small-vector.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
get-drvs.cc libexpr: include the type of the non-derivation value in the type error 2024-08-01 00:37:03 +00:00
get-drvs.hh libexpr: DrvInfo: remove unused bad-citizen constructor 2024-08-01 00:36:41 +00:00
imported-drv-to-derivation.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
json-to-value.cc enable -Werror=suggest-override 2024-07-22 16:26:55 +00:00
json-to-value.hh libexpr: Support structured error classes 2024-03-09 04:47:05 -07:00
lix-expr.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
meson.build libexpr: rename confusing makeImmutableString -> gcCopyStringIfNeeded 2024-07-20 20:20:01 +00:00
nixexpr.cc add an impl of Expr::show for ExprInheritFrom that doesn't crash 2024-07-04 15:55:38 -06:00
nixexpr.hh language: cleanly ban integer overflows 2024-07-13 00:59:33 +02:00
paths.cc Merge pull request #9172 from tfc/bad-moves 2024-03-04 04:41:52 +01:00
pos-idx.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
pos-table.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
primops.cc fix: warn and document when advanced attributes will have no impact due to __structuredAttrs 2024-08-03 13:32:51 +02:00
primops.hh use byte indexed locations for PosIdx 2024-03-18 16:12:46 +01:00
print-ambiguous.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
print-ambiguous.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
print-options.hh Print top-level errors normally in nix repl 2024-04-09 08:34:40 -07:00
print.cc libexpr/print: do not show elided nested items when there are none 2024-07-18 18:41:34 +02:00
print.hh add an ExprPrinter class, like ValuePrinter 2024-07-04 15:55:38 -06:00
repl-exit-status.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
search-path.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
search-path.hh
symbol-table.hh
value-to-json.cc language: cleanly ban integer overflows 2024-07-13 00:59:33 +02:00
value-to-json.hh
value-to-xml.cc libexpr: add expr memory management 2024-06-17 19:46:44 +00:00
value-to-xml.hh
value.hh libexpr: implement actual constructors for nix::Value 2024-07-31 15:38:37 +02:00