about summary refs log tree commit diff
path: root/tvix/eval/src/compiler
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2023-01-05T12·32+0300
committertazjin <tazjin@tvl.su>2023-01-06T12·23+0000
commit4e98730f3809e92bc527dac7c7b7928cf311b0ca (patch)
treeff62841c5afca9a74148f459893ccc5cce41b7e5 /tvix/eval/src/compiler
parente8dcdceb34585dfe82d826978f0f1cd8a673b474 (diff)
feat(tvix/eval): warn about empty `inherit`s r/5604
Change-Id: I82bec6fe2210bcb88c46fd2fdf3e26bd613d1c1f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7768
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/compiler')
-rw-r--r--tvix/eval/src/compiler/bindings.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/tvix/eval/src/compiler/bindings.rs b/tvix/eval/src/compiler/bindings.rs
index 9d4269002369..93b3dc3cc666 100644
--- a/tvix/eval/src/compiler/bindings.rs
+++ b/tvix/eval/src/compiler/bindings.rs
@@ -321,6 +321,11 @@ impl Compiler<'_> {
         let mut inherit_froms: Vec<(ast::Expr, SmolStr, Span)> = vec![];
 
         for inherit in node.inherits() {
+            if inherit.attrs().peekable().peek().is_none() {
+                self.emit_warning(&inherit, WarningKind::EmptyInherit);
+                continue;
+            }
+
             match inherit.from() {
                 // Within a `let` binding, inheriting from the outer scope is a
                 // no-op *if* there are no dynamic bindings.