refactor(tvix/eval): Make strict an EvalMode enum
Refactor the `strict` boolean passed into evaluation at the top-level to be a (two-variant, so far) EvalMode enum of Lazy and Strict. This is more explicit than a boolean, and if we ever add more EvalModes it's a simple extension of the enum. Change-Id: I3de50e74ec971011664f6cd0999d08b792118410 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12186 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: aspen <root@gws.fyi>
This commit is contained in:
parent
934e03c0de
commit
b7a6fc2812
8 changed files with 50 additions and 31 deletions
|
|
@ -58,12 +58,12 @@ fn nix_eval(expr: &str, strictness: Strictness) -> String {
|
|||
#[track_caller]
|
||||
#[cfg(feature = "impure")]
|
||||
fn compare_eval(expr: &str, strictness: Strictness) {
|
||||
use tvix_eval::EvalIO;
|
||||
use tvix_eval::{EvalIO, EvalMode};
|
||||
|
||||
let nix_result = nix_eval(expr, strictness);
|
||||
let mut eval_builder = tvix_eval::Evaluation::builder_pure();
|
||||
if matches!(strictness, Strictness::Strict) {
|
||||
eval_builder = eval_builder.strict();
|
||||
eval_builder = eval_builder.mode(EvalMode::Strict);
|
||||
}
|
||||
let eval = eval_builder
|
||||
.io_handle(Box::new(tvix_eval::StdIO) as Box<dyn EvalIO>)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue