diff --git a/src/gn/starlark/crates/args/src/args.rs b/src/gn/starlark/crates/args/src/args.rs
index af95fa5..98165ee 100644
--- a/src/gn/starlark/crates/args/src/args.rs
+++ b/src/gn/starlark/crates/args/src/args.rs
@@ -296,6 +296,9 @@
         Ok(this)
     }
 
+    // Clippy allow: Many arguments are required to match Starlark's Args.add_all
+    // API.
+    #[allow(clippy::too_many_arguments)]
     fn add_all<'v>(
         this: Value<'v>,
         arg_name_or_values: Value<'v>,
@@ -331,6 +334,9 @@
         Ok(this)
     }
 
+    // Clippy allow: Many arguments are required to match Starlark's Args.add_joined
+    // API.
+    #[allow(clippy::too_many_arguments)]
     fn add_joined<'v>(
         this: Value<'v>,
         arg_name_or_values: Value<'v>,
diff --git a/src/gn/starlark/crates/attr/src/value.rs b/src/gn/starlark/crates/attr/src/value.rs
index 485a6d0..af6a928 100644
--- a/src/gn/starlark/crates/attr/src/value.rs
+++ b/src/gn/starlark/crates/attr/src/value.rs
@@ -203,18 +203,15 @@
             crate::LabelOrFile::Label(lbl) => {
                 let target = session.get_target(lbl.as_ref(), *current_toolchain);
                 if let Some(matcher) = schema.file_matcher() {
-                    match matcher {
-                        crate::allow_files::AllowFiles::Some(exts) => {
-                            if !target.outputs().iter().any(|f| matcher.matches(f.as_str())) {
-                                return Err(starlark::Error::new_other(
-                                    crate::Error::NoMatchingOutputs {
-                                        target: lbl.clone(),
-                                        allowed: exts.clone(),
-                                    },
-                                ));
-                            }
-                        },
-                        _ => {},
+                    if let crate::allow_files::AllowFiles::Some(exts) = matcher {
+                        if !target.outputs().iter().any(|f| matcher.matches(f.as_str())) {
+                            return Err(starlark::Error::new_other(
+                                crate::Error::NoMatchingOutputs {
+                                    target: lbl.clone(),
+                                    allowed: exts.clone(),
+                                },
+                            ));
+                        }
                     }
                 }
                 for f in target.outputs() {
@@ -349,7 +346,7 @@
                     .items,
                 vec![&file1]
             );
-            assert_eq!(file, None)
+            assert_eq!(file, None);
         });
     }
 
diff --git a/src/gn/starlark/crates/depset/src/globals.rs b/src/gn/starlark/crates/depset/src/globals.rs
index f1830af..70c4c47 100644
--- a/src/gn/starlark/crates/depset/src/globals.rs
+++ b/src/gn/starlark/crates/depset/src/globals.rs
@@ -89,7 +89,7 @@
                 order,
                 direct: child_depset.direct.clone(),
                 transitive: child_depset.transitive.clone(),
-                kind: child_depset.kind.clone(),
+                kind: child_depset.kind,
                 phony: child_depset.phony.clone(),
             }))
         }
diff --git a/src/gn/starlark/crates/testutils/src/assert.rs b/src/gn/starlark/crates/testutils/src/assert.rs
index 143c3ab..cc6740c 100644
--- a/src/gn/starlark/crates/testutils/src/assert.rs
+++ b/src/gn/starlark/crates/testutils/src/assert.rs
@@ -7,12 +7,14 @@
 
 use crate::{register_globals, FakeEvalContext};
 
+type GlobalsConfig = Box<dyn Fn(&mut GlobalsBuilder)>;
+
 /// A simple wrapper around starlark::Assert that provides fake evaluation
 /// contexts.
 pub struct Assert {
     assert: starlark::assert::Assert<'static>,
     context: Box<FakeEvalContext>,
-    globals_configs: Vec<Box<dyn Fn(&mut GlobalsBuilder)>>,
+    globals_configs: Vec<GlobalsConfig>,
 }
 
 impl Default for Assert {
