about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2023-11-05T18·02+0300
committerclbot <clbot@tvl.fyi>2023-11-05T20·28+0000
commit87d3fac6762b5b2f71d766eadf652d7762213d2b (patch)
treee7e8e4e7246c20e4f797cec7c31fa0f913e2ee15
parent2e1399698b366af4a1579cdcbd9363633b8bc632 (diff)
chore(tvix): add missing clippy attributes & config r/6958
For cases where clippy lints don't apply to us, or something is
misfiring, add appropriate configuration.

Relates to b/321.

Change-Id: I0af453910b4a4112bf685b2a8e9a73de10ec87ea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9965
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
-rw-r--r--tvix/clippy.toml6
-rw-r--r--tvix/eval/src/lib.rs1
-rw-r--r--tvix/eval/src/value/mod.rs1
-rw-r--r--tvix/store/src/fs/mod.rs1
4 files changed, 9 insertions, 0 deletions
diff --git a/tvix/clippy.toml b/tvix/clippy.toml
new file mode 100644
index 000000000000..be7709684c6f
--- /dev/null
+++ b/tvix/clippy.toml
@@ -0,0 +1,6 @@
+# prevents a false-positive lint on our types containing bytes::Bytes
+# https://rust-lang.github.io/rust-clippy/master/index.html#/mutable_key_type
+ignore-interior-mutability = [
+  "bytes::Bytes",
+  "tvix_castore::digests::B3Digest"
+]
diff --git a/tvix/eval/src/lib.rs b/tvix/eval/src/lib.rs
index 4227014c2255..60b1102d5df6 100644
--- a/tvix/eval/src/lib.rs
+++ b/tvix/eval/src/lib.rs
@@ -288,6 +288,7 @@ impl<'code, 'co, 'ro> Evaluation<'code, 'co, 'ro> {
 
 /// Internal helper function for common parsing & compilation logic
 /// between the public functions.
+#[allow(clippy::too_many_arguments)] // internal API, no point making an indirection type
 fn parse_compile_internal(
     result: &mut EvaluationResult,
     code: &str,
diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs
index 3a9dcf2c8da1..e4f8bf0fd824 100644
--- a/tvix/eval/src/value/mod.rs
+++ b/tvix/eval/src/value/mod.rs
@@ -469,6 +469,7 @@ impl Value {
 
                 // Special-case for derivation comparisons: If both attribute sets
                 // have `type = derivation`, compare them by `outPath`.
+                #[allow(clippy::single_match)] // might need more match arms later
                 match (a1.select("type"), a2.select("type")) {
                     (Some(v1), Some(v2)) => {
                         let s1 = generators::request_force(&co, v1.clone()).await.to_str();
diff --git a/tvix/store/src/fs/mod.rs b/tvix/store/src/fs/mod.rs
index 806db0bb2ff2..72afec5fc1ea 100644
--- a/tvix/store/src/fs/mod.rs
+++ b/tvix/store/src/fs/mod.rs
@@ -93,6 +93,7 @@ pub struct TvixStoreFs {
     inode_tracker: RwLock<InodeTracker>,
 
     /// This holds all open file handles
+    #[allow(clippy::type_complexity)]
     file_handles: RwLock<HashMap<u64, Arc<tokio::sync::Mutex<Box<dyn BlobReader>>>>>,
 
     next_file_handle: AtomicU64,