diff --git a/tests/ui/eta.fixed b/tests/ui/eta.fixed
index 6c2272f4dff..f8d559bf226 100644
--- a/tests/ui/eta.fixed
+++ b/tests/ui/eta.fixed
@@ -291,3 +291,15 @@ fn coerced_closure() {
     fn slice_fn(_: impl FnOnce() -> &'static [u8]) {}
     slice_fn(|| arr());
 }
+
+// https://github.com/rust-lang/rust-clippy/issues/7861
+fn box_dyn() {
+    fn f(_: impl Fn(usize) -> Box<dyn std::any::Any>) {}
+    f(|x| Box::new(x));
+}
+
+// https://github.com/rust-lang/rust-clippy/issues/5939
+fn not_general_enough() {
+    fn f(_: impl FnMut(&Path) -> std::io::Result<()>) {}
+    f(|path| std::fs::remove_file(path));
+}
diff --git a/tests/ui/eta.rs b/tests/ui/eta.rs
index a1a9c0dfbf3..f0fb55a1e5f 100644
--- a/tests/ui/eta.rs
+++ b/tests/ui/eta.rs
@@ -291,3 +291,15 @@ fn coerced_closure() {
     fn slice_fn(_: impl FnOnce() -> &'static [u8]) {}
     slice_fn(|| arr());
 }
+
+// https://github.com/rust-lang/rust-clippy/issues/7861
+fn box_dyn() {
+    fn f(_: impl Fn(usize) -> Box<dyn std::any::Any>) {}
+    f(|x| Box::new(x));
+}
+
+// https://github.com/rust-lang/rust-clippy/issues/5939
+fn not_general_enough() {
+    fn f(_: impl FnMut(&Path) -> std::io::Result<()>) {}
+    f(|path| std::fs::remove_file(path));
+}