about summary refs log tree commit diff
path: root/tvix/eval/src/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/eval/src/compiler')
-rw-r--r--tvix/eval/src/compiler/mod.rs8
-rw-r--r--tvix/eval/src/compiler/scope.rs9
2 files changed, 10 insertions, 7 deletions
diff --git a/tvix/eval/src/compiler/mod.rs b/tvix/eval/src/compiler/mod.rs
index f9a2dd32c88d..269604a859bd 100644
--- a/tvix/eval/src/compiler/mod.rs
+++ b/tvix/eval/src/compiler/mod.rs
@@ -54,6 +54,7 @@ impl LambdaCtx {
         }
     }
 
+    #[allow(clippy::let_and_return)] // due to disassembler
     fn inherit(&self) -> Self {
         let ctx = LambdaCtx {
             lambda: Lambda::new_anonymous(),
@@ -61,6 +62,7 @@ impl LambdaCtx {
         };
 
         #[cfg(feature = "disassembler")]
+        #[allow(clippy::redundant_closure_call)]
         let ctx = (|mut c: Self| {
             c.lambda.chunk.codemap = self.lambda.chunk.codemap.clone();
             c
@@ -822,7 +824,7 @@ impl Compiler<'_> {
             LocalPosition::Recursive(idx) => self.thunk(slot, &node, move |compiler, node, _| {
                 let upvalue_idx = compiler.add_upvalue(
                     compiler.contexts.len() - 1,
-                    &node,
+                    node,
                     UpvalueKind::Local(idx),
                 );
                 compiler.push_op(OpCode::OpGetUpvalue(upvalue_idx), node);
@@ -1350,10 +1352,10 @@ fn prepare_globals(additional: HashMap<&'static str, Value>) -> GlobalsMap {
     globals
 }
 
-pub fn compile<'code>(
+pub fn compile(
     expr: ast::Expr,
     location: Option<PathBuf>,
-    file: &'code codemap::File,
+    file: &codemap::File,
     globals: HashMap<&'static str, Value>,
 
     #[cfg(feature = "disassembler")] codemap: Rc<codemap::CodeMap>,
diff --git a/tvix/eval/src/compiler/scope.rs b/tvix/eval/src/compiler/scope.rs
index eb722a2c6972..874c6168c1c7 100644
--- a/tvix/eval/src/compiler/scope.rs
+++ b/tvix/eval/src/compiler/scope.rs
@@ -180,10 +180,11 @@ impl Scope {
     /// correctly nesting scopes in lambdas and thunks when special
     /// scope features like poisoning are present).
     pub fn inherit(&self) -> Self {
-        let mut scope = Self::default();
-        scope.poisoned_tokens = self.poisoned_tokens.clone();
-        scope.scope_depth = self.scope_depth;
-        scope
+        Self {
+            poisoned_tokens: self.poisoned_tokens.clone(),
+            scope_depth: self.scope_depth,
+            ..Default::default()
+        }
     }
 
     /// Check whether a given token is poisoned.