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 <tazjin@tvl.su> Autosubmit: Adam Joseph <adam@westernsemico.com>
This commit is contained in:
parent
6015604bd8
commit
926459ce69
5 changed files with 57 additions and 29 deletions
|
|
@ -17,7 +17,7 @@ use crate::vm::generators::{self, GenCo};
|
|||
use crate::warnings::WarningKind;
|
||||
use crate::{
|
||||
self as tvix_eval,
|
||||
errors::ErrorKind,
|
||||
errors::{CatchableErrorKind, ErrorKind},
|
||||
value::{CoercionKind, NixAttrs, NixList, NixString, SharedThunkSet, Thunk, Value},
|
||||
};
|
||||
|
||||
|
|
@ -893,7 +893,9 @@ mod pure_builtins {
|
|||
|
||||
#[builtin("throw")]
|
||||
async fn builtin_throw(co: GenCo, message: Value) -> Result<Value, ErrorKind> {
|
||||
Err(ErrorKind::Throw(message.to_str()?.to_string()))
|
||||
Err(ErrorKind::CatchableErrorKind(CatchableErrorKind::Throw(
|
||||
message.to_str()?.to_string(),
|
||||
)))
|
||||
}
|
||||
|
||||
#[builtin("toString")]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue