diff --git a/rr_frontend/.cargo/config.toml b/rr_frontend/.cargo/config.toml
index 9f24d00e1470b910f9f072f1d19d5d6a046dc88e..d4db8659e98b2cca4d152754f129481262b6f06b 100644
--- a/rr_frontend/.cargo/config.toml
+++ b/rr_frontend/.cargo/config.toml
@@ -32,7 +32,6 @@ rustflags = [
     "-Aclippy::string_lit_as_bytes",
 
     # clippy::restriction
-    "-Aclippy::impl_trait_in_params",
     "-Aclippy::mod_module_files",
     "-Aclippy::non_ascii_literal",
     "-Aclippy::panic_in_result_fn",
diff --git a/rr_frontend/rrconfig/src/arg_value.rs b/rr_frontend/rrconfig/src/arg_value.rs
index 9e00e83fdf0744020539f4b05d947e251531f005..a50b6c6e9b4cb53adaa71e9c8995f11930689923 100644
--- a/rr_frontend/rrconfig/src/arg_value.rs
+++ b/rr_frontend/rrconfig/src/arg_value.rs
@@ -10,10 +10,10 @@ use std::ops::Deref;
 
 /// If a command-line option matches `find_arg`, then apply the predicate `pred` on its value. If
 /// true, then return it. The parameter is assumed to be either `--arg=value` or `--arg value`.
-pub fn arg_value<'a, T: Deref<Target = str>>(
+pub fn arg_value<'a, T: Deref<Target = str>, F: Fn(&str) -> bool>(
     args: &'a [T],
     find_arg: &str,
-    pred: impl Fn(&str) -> bool,
+    pred: F,
 ) -> Option<&'a str> {
     let mut args = args.iter().map(Deref::deref);
     while let Some(arg) = args.next() {