From f8919dbcd6137f1d4656827e1b3cefe58cee119b Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 31 Aug 2022 04:56:02 +0300 Subject: fix(tvix/eval): address current clippy lints Note that I've allowed `needless_lifetimes` for the attribute set iterator, as I find the type easier to understand with these annotations present. Change-Id: I33abb17837ee4813076cdb9a87f54bac4a37044e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6373 Reviewed-by: sterni Tested-by: BuildkiteCI --- tvix/eval/src/compiler/scope.rs | 4 ++-- tvix/eval/src/opcode.rs | 4 ++-- tvix/eval/src/value/attrs.rs | 1 + tvix/eval/src/vm.rs | 1 - 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'tvix/eval') diff --git a/tvix/eval/src/compiler/scope.rs b/tvix/eval/src/compiler/scope.rs index b0fca3d35e..87b43ad1ca 100644 --- a/tvix/eval/src/compiler/scope.rs +++ b/tvix/eval/src/compiler/scope.rs @@ -71,7 +71,7 @@ pub enum LocalPosition { /// Represents the different ways in which upvalues can be captured in /// closures or thunks. -#[derive(Clone, Debug, PartialEq)] +#[derive(Clone, Debug, PartialEq, Eq)] pub enum Upvalue { /// This upvalue captures a local from the stack. Local(LocalIdx), @@ -95,7 +95,7 @@ pub enum Upvalue { /// is subtly different from its `StackIdx` (which excludes /// uninitialised values in between). #[repr(transparent)] -#[derive(Clone, Copy, Debug, PartialEq, PartialOrd)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd)] pub struct LocalIdx(usize); /// Represents a scope known during compilation, which can be resolved diff --git a/tvix/eval/src/opcode.rs b/tvix/eval/src/opcode.rs index 18f0fce3cb..b009686736 100644 --- a/tvix/eval/src/opcode.rs +++ b/tvix/eval/src/opcode.rs @@ -13,12 +13,12 @@ pub struct CodeIdx(pub usize); /// Index of a value in the runtime stack. #[repr(transparent)] -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct StackIdx(pub usize); /// Index of an upvalue within a closure's upvalue list. #[repr(transparent)] -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct UpvalueIdx(pub usize); /// Offset by which an instruction pointer should change in a jump. diff --git a/tvix/eval/src/value/attrs.rs b/tvix/eval/src/value/attrs.rs index d05cc177d4..2954f85220 100644 --- a/tvix/eval/src/value/attrs.rs +++ b/tvix/eval/src/value/attrs.rs @@ -215,6 +215,7 @@ impl NixAttrs { self.0.contains(key) } + #[allow(clippy::needless_lifetimes)] pub fn iter<'a>(&'a self) -> Iter> { Iter(match &self.0 { AttrsRep::Map(map) => KeyValue::Map(map.iter()), diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index 091a4ebb38..ec8c0bc506 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -527,7 +527,6 @@ impl VM { fn resolve_dynamic_upvalue(&mut self, ident_idx: ConstantIdx) -> EvalResult { let chunk = self.chunk(); let ident = chunk.constant(ident_idx).as_str()?.to_string(); - drop(chunk); // some lifetime trickery due to cell::Ref // Peek at the current instruction (note: IP has already // advanced!) to see if it is actually data indicating a -- cgit 1.4.1