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
|
|
@ -3,7 +3,7 @@
|
|||
use bstr::ByteSlice;
|
||||
use serde::de::value::{MapDeserializer, SeqDeserializer};
|
||||
use serde::de::{self, EnumAccess, VariantAccess};
|
||||
use tvix_eval::{EvalIO, EvaluationBuilder, Value};
|
||||
use tvix_eval::{EvalIO, EvalMode, EvaluationBuilder, Value};
|
||||
|
||||
use crate::error::Error;
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ where
|
|||
) -> EvaluationBuilder<'co, 'ro, 'env, Box<dyn EvalIO>>,
|
||||
{
|
||||
// First step is to evaluate the Nix code ...
|
||||
let eval = config(EvaluationBuilder::new_pure().strict()).build();
|
||||
let eval = config(EvaluationBuilder::new_pure().mode(EvalMode::Strict)).build();
|
||||
let result = eval.evaluate(src, None);
|
||||
|
||||
if !result.errors.is_empty() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue