tvix loses its mind when an assertion asserts

#340
Opened by amjoseph at 2023-12-09T10·05+00

more catchable hygiene issues; this actually happens in nixpkgs rocmPackages:

tvix --expr '(builtins.tryEval (assert (assert false; true); true)).success' note: while evaluating this Nix code --> [code]:1:1 | 1 | (builtins.tryEval (assert (assert false; true); true)).success | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> [code]:1:1 | 1 | (builtins.tryEval (assert (assert false; true); true)).success | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (tryEval) --> [code]:1:2 | 1 | (builtins.tryEval (assert (assert false; true); true)).success | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E006]: expected value of type 'bool', but found a 'internal[catchable]' --> [code]:1:20 | 1 | (builtins.tryEval (assert (assert false; true); true)).success | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

nix eval --expr '(builtins.tryEval (assert (assert false; true); true)).success' false