diff options
author | Vincent Ambo <mail@tazj.in> | 2022-09-11T20·12+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-09-11T21·13+0000 |
commit | 1844c788f557ff0f80943c127b727498676f04e4 (patch) | |
tree | e554092daf31095454a59acce8b6bfa47ccf596e /tvix/eval/src/compiler/attrs.rs | |
parent | 0dc2b19ebeb9e0045328bc48fa369ae9de1a829b (diff) |
refactor(tvix/eval): remove `todo!()` calls in compiler r/4823
It is impossible for tvixbolt to recover from panics, so the user experience of typing an expression using an unsupported feature was that it would get sad and stop responding to input. Instead, raise a normal value-level error of a new variant and continue where possible. Change-Id: Ibe016c92cacb87b85095c0f83758eddc6468053e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6528 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'tvix/eval/src/compiler/attrs.rs')
-rw-r--r-- | tvix/eval/src/compiler/attrs.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tvix/eval/src/compiler/attrs.rs b/tvix/eval/src/compiler/attrs.rs index d6bcfa5109b4..864cc2cb3da0 100644 --- a/tvix/eval/src/compiler/attrs.rs +++ b/tvix/eval/src/compiler/attrs.rs @@ -30,7 +30,11 @@ impl Compiler<'_, '_> { /// 3. Attribute sets can (optionally) be recursive. pub(super) fn compile_attr_set(&mut self, slot: LocalIdx, node: ast::AttrSet) { if node.rec_token().is_some() { - todo!("recursive attribute sets are not yet implemented") + let span = self.span_for(&node); + self.emit_warning( + span, + WarningKind::NotImplemented("recursive attribute sets are not yet implemented"), + ); } // Open a scope to track the positions of the temporaries used |