feat(tvix/eval): implement 'throw' and 'abort' builtins
These do essentially the same, but return different error variants as upstream Nix considers `throw` to be (sometimes) catchable. Change-Id: I1a9ea84567d46fb37287dbf3f3f67052f9382cca Reviewed-on: https://cl.tvl.fyi/c/depot/+/6259 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
parent
3d0280ec03
commit
bd0fc69f07
2 changed files with 18 additions and 1 deletions
|
|
@ -38,6 +38,10 @@ pub enum ErrorKind {
|
|||
ParseErrors(Vec<rnix::parser::ParseError>),
|
||||
|
||||
AssertionFailed,
|
||||
|
||||
// These are user-generated errors through builtins.
|
||||
Throw(String),
|
||||
Abort(String),
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue