From 926459ce694536432c36d8f0d3fb25b821945852 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Sat, 9 Sep 2023 00:10:06 -0700 Subject: refactor(tvix/eval): factor CatchableErrorKind out of ErrorKind This commit creates a separate enum for "catchable" errors (the kind that `builtins.tryEval` can detect). Change-Id: Ie81d1112526d852255d9842f67045f88eab192af Reviewed-on: https://cl.tvl.fyi/c/depot/+/9287 Tested-by: BuildkiteCI Reviewed-by: tazjin Autosubmit: Adam Joseph --- tvix/eval/src/vm/mod.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tvix/eval/src/vm/mod.rs') diff --git a/tvix/eval/src/vm/mod.rs b/tvix/eval/src/vm/mod.rs index d883b250001d..07d3725fd9d2 100644 --- a/tvix/eval/src/vm/mod.rs +++ b/tvix/eval/src/vm/mod.rs @@ -21,7 +21,7 @@ use crate::{ chunk::Chunk, cmp_op, compiler::GlobalsMap, - errors::{Error, ErrorKind, EvalResult}, + errors::{CatchableErrorKind, Error, ErrorKind, EvalResult}, io::EvalIO, nix_search_path::NixSearchPath, observer::RuntimeObserver, @@ -925,7 +925,10 @@ impl<'o> VM<'o> { } OpCode::OpAssertFail => { - frame.error(self, ErrorKind::AssertionFailed)?; + frame.error( + self, + ErrorKind::CatchableErrorKind(CatchableErrorKind::AssertionFailed), + )?; } // Data-carrying operands should never be executed, -- cgit 1.4.1