fix(tvix/eval): catchable in type field of nix_eq()

Change-Id: I165ff77764e272cc94d18cb03ad6cbc9a8ebefde
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10348
Autosubmit: Adam Joseph <adam@westernsemico.com>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
This commit is contained in:
Adam Joseph 2023-12-12 21:18:09 -08:00 committed by tazjin
parent 2af8174e2e
commit 7ddea7340f
5 changed files with 26 additions and 8 deletions

View file

@ -631,12 +631,13 @@ pub(crate) async fn check_equality(
a: Value,
b: Value,
ptr_eq: PointerEquality,
) -> Result<bool, ErrorKind> {
) -> Result<Result<bool, CatchableErrorKind>, ErrorKind> {
match co
.yield_(VMRequest::NixEquality(Box::new((a, b)), ptr_eq))
.await
{
VMResponse::Value(value) => value.as_bool(),
VMResponse::Value(Value::Bool(b)) => Ok(Ok(b)),
VMResponse::Value(Value::Catchable(cek)) => Ok(Err(cek)),
msg => panic!(
"Tvix bug: VM responded with incorrect generator message: {}",
msg