about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2024-03-20 22:50:32 +0000
committerEsteban Küber <esteban@kuber.com.ar>2024-03-21 00:07:44 +0000
commit9022122b8b33e5a1fb9c07fcb3984005ef1a63e0 (patch)
tree2875796ba3bd04bf0ffed736f90273381048932b
parent76096efb48d79ee5d3434d31285828d15a50b9c7 (diff)
downloadrust-9022122b8b33e5a1fb9c07fcb3984005ef1a63e0.tar.gz
rust-9022122b8b33e5a1fb9c07fcb3984005ef1a63e0.zip
Replace closures with `_` when suggesting fully qualified path for method call
```
error[E0283]: type annotations needed
  --> $DIR/into-inference-needs-type.rs:12:10
   |
LL |         .into()?;
   |          ^^^^
   |
   = note: cannot satisfy `_: From<...>`
   = note: required for `FilterMap<...>` to implement `Into<_>`
help: try using a fully qualified path to specify the expected types
   |
LL ~     let list = <FilterMap<Map<std::slice::Iter<'_, &str>, _>, _> as Into<T>>::into(vec
LL |         .iter()
LL |         .map(|s| s.strip_prefix("t"))
LL ~         .filter_map(Option::Some))?;
   |
```

Fix #122569.
-rw-r--r--clippy_lints/src/box_default.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/clippy_lints/src/box_default.rs b/clippy_lints/src/box_default.rs
index 779ae03c464..66206d1a059 100644
--- a/clippy_lints/src/box_default.rs
+++ b/clippy_lints/src/box_default.rs
@@ -70,7 +70,9 @@ impl LateLintPass<'_> for BoxDefault {
                 "try",
                 if is_plain_default(cx, arg_path) || given_type(cx, expr) {
                     "Box::default()".into()
-                } else if let Some(arg_ty) = cx.typeck_results().expr_ty(arg).make_suggestable(cx.tcx, true) {
+                } else if let Some(arg_ty) =
+                    cx.typeck_results().expr_ty(arg).make_suggestable(cx.tcx, true, None)
+                {
                     // Check if we can copy from the source expression in the replacement.
                     // We need the call to have no argument (see `explicit_default_type`).
                     if inner_call_args.is_empty()