From 4fba57c2c90f2e7b02da9187e59f8d64deef3fb2 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sat, 30 Dec 2023 21:36:48 +0100 Subject: refactor(tvix/eval): remove code and location from struct Instead, it's passed in the evaluate/compile_only functions, which feels more naturally. It lets us set up the Evaluation struct long before we actually feed it with data to evaluate. Now that Evaluation::new() would be accepting an empty list of arguments, we can simply implement Default, making things a bit more idiomatic. Change-Id: I4369658634909a0c504fdffa18242a130daa0239 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10475 Tested-by: BuildkiteCI Reviewed-by: tazjin Autosubmit: flokli --- tvix/cli/src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tvix/cli') diff --git a/tvix/cli/src/main.rs b/tvix/cli/src/main.rs index f1c7a735d1..149b08fa8e 100644 --- a/tvix/cli/src/main.rs +++ b/tvix/cli/src/main.rs @@ -62,7 +62,7 @@ struct Args { /// and the result itself. The return value indicates whether /// evaluation succeeded. fn interpret(code: &str, path: Option, args: &Args, explain: bool) -> bool { - let mut eval = tvix_eval::Evaluation::new_impure(code, path); + let mut eval = tvix_eval::Evaluation::new_impure(); eval.strict = args.strict; @@ -101,7 +101,7 @@ fn interpret(code: &str, path: Option, args: &Args, explain: bool) -> b eval.runtime_observer = Some(&mut runtime_observer); } - eval.evaluate() + eval.evaluate(code, path) }; if args.display_ast { @@ -135,7 +135,7 @@ fn interpret(code: &str, path: Option, args: &Args, explain: bool) -> b /// Interpret the given code snippet, but only run the Tvix compiler /// on it and return errors and warnings. fn lint(code: &str, path: Option, args: &Args) -> bool { - let mut eval = tvix_eval::Evaluation::new_impure(code, path); + let mut eval = tvix_eval::Evaluation::new_impure(); eval.strict = args.strict; let source_map = eval.source_map(); @@ -150,7 +150,7 @@ fn lint(code: &str, path: Option, args: &Args) -> bool { eprintln!("warning: --trace-runtime has no effect with --compile-only!"); } - let result = eval.compile_only(); + let result = eval.compile_only(code, path); if args.display_ast { if let Some(ref expr) = result.expr { -- cgit 1.4.1