fix(tvix/eval): preserve catchables in nix_cmp_ordering(), fix b/338
This commit fixes b/338 by properly propagating catchables through comparison operations. Change-Id: I6b0283a40f228ecf9a6398d24c060bdacb1077cf Reviewed-on: https://cl.tvl.fyi/c/depot/+/10221 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: Adam Joseph <adam@westernsemico.com>
This commit is contained in:
parent
ae28dc3ca6
commit
ad566999ca
5 changed files with 15 additions and 9 deletions
|
|
@ -44,7 +44,10 @@ macro_rules! cmp_op {
|
|||
let b = generators::request_force(&co, b).await;
|
||||
let span = generators::request_span(&co).await;
|
||||
let ordering = a.nix_cmp_ordering(b, co, span).await?;
|
||||
Ok(Value::Bool(cmp_op!(@order $op ordering)))
|
||||
match ordering {
|
||||
Err(cek) => Ok(Value::Catchable(cek)),
|
||||
Ok(ordering) => Ok(Value::Bool(cmp_op!(@order $op ordering))),
|
||||
}
|
||||
}
|
||||
|
||||
let gen_span = $frame.current_light_span();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue