From 05f42519b53575ad3235b5e0a0cd7d71f04076a5 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Sat, 9 Sep 2023 22:02:56 -0700 Subject: fix(tvix/eval): fix b/281 by adding Value::Catchable This commit makes catchable errors a variant of Value. The main downside of this approach is that we lose the ability to use Rust's `?` syntax for propagating catchable errors. Change-Id: Ibe89438d8a70dcec29e016df692b5bf88a5cad13 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9289 Reviewed-by: tazjin Autosubmit: Adam Joseph Tested-by: BuildkiteCI --- tvix/serde/src/de.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'tvix/serde/src/de.rs') diff --git a/tvix/serde/src/de.rs b/tvix/serde/src/de.rs index 59a72b7417f9..2e8a9618e637 100644 --- a/tvix/serde/src/de.rs +++ b/tvix/serde/src/de.rs @@ -109,6 +109,7 @@ impl<'de> de::Deserializer<'de> for NixDeserializer { | Value::DeferredUpvalue(_) | Value::UnresolvedPath(_) | Value::Json(_) + | Value::Catchable(_) | Value::FinaliseRequest(_) => Err(Error::Unserializable { value_type: self.value.type_of(), }), -- cgit 1.4.1