diff options
author | Adam Joseph <adam@westernsemico.com> | 2023-12-12T11·33-0800 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-12-12T17·35+0000 |
commit | 1ddfed98255ad89acb51e9a4d25b4d8c3db79627 (patch) | |
tree | 74a2e05e67d1ad46a6237f4b7f8673c3becc936d /tvix/eval/src/builtins | |
parent | 25dd1458b9377fd0fbebfe04cf2ce9310973c41b (diff) |
fix(tvix/eval): builtins.filter: propagate catchables r/7201
This commit fixes builtins.filter so it propagates catchables correctly. Change-Id: Ib23a383bc5e272e42052205ffd1e94649a0ebc47 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10313 Autosubmit: Adam Joseph <adam@westernsemico.com> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
Diffstat (limited to 'tvix/eval/src/builtins')
-rw-r--r-- | tvix/eval/src/builtins/mod.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tvix/eval/src/builtins/mod.rs b/tvix/eval/src/builtins/mod.rs index 295d94b73523..4844ae8f1b53 100644 --- a/tvix/eval/src/builtins/mod.rs +++ b/tvix/eval/src/builtins/mod.rs @@ -316,8 +316,11 @@ mod pure_builtins { for value in list { let result = generators::request_call_with(&co, pred.clone(), [value.clone()]).await; - - if generators::request_force(&co, result).await.as_bool()? { + let verdict = generators::request_force(&co, result).await; + if verdict.is_catchable() { + return Ok(verdict); + } + if verdict.as_bool()? { out.push_back(value); } } |