diff options
author | Vincent Ambo <mail@tazj.in> | 2022-10-05T14·01+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-10-07T14·24+0000 |
commit | 07e03498f26afbf647102d656c90d447f8586820 (patch) | |
tree | 0f891cb5f2601e12bbbe89d10961f4f9b2d16fc1 /tvix/eval/src/builtins | |
parent | 4b9178fa2ae4cab718225f6136791df1d11814ee (diff) |
feat(tvix/eval): add method for emitting runtime warnings r/5049
This lets the VM emit warnings when it encounters situations that should only be warned about at runtime. For starters, this is used to pass through compilation warnings that come up when `import` is used. Change-Id: I0c4bc8c534d699999887c430d93629fadfa662c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6868 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/builtins')
-rw-r--r-- | tvix/eval/src/builtins/impure.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tvix/eval/src/builtins/impure.rs b/tvix/eval/src/builtins/impure.rs index 7c98fcb4e192..d73e5ccfa8f2 100644 --- a/tvix/eval/src/builtins/impure.rs +++ b/tvix/eval/src/builtins/impure.rs @@ -51,7 +51,7 @@ pub fn builtins_import( Builtin::new( "import", &[true], - move |mut args: Vec<Value>, _: &mut VM| { + move |mut args: Vec<Value>, vm: &mut VM| { let path = match args.pop().unwrap() { Value::Path(path) => path, Value::String(_) => { @@ -102,9 +102,9 @@ pub fn builtins_import( }); } - // TODO: deal with runtime *warnings* (most likely through an - // emit_warning function on the VM that might return it together with - // the result) + for warning in result.warnings { + vm.push_warning(warning); + } // Compilation succeeded, we can construct a thunk from whatever it spat // out and return that. |