about summary refs log tree commit diff
path: root/tests/ui/inference/issue-71732.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/inference/issue-71732.rs')
-rw-r--r--tests/ui/inference/issue-71732.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/inference/issue-71732.rs b/tests/ui/inference/issue-71732.rs
new file mode 100644
index 00000000000..8a9d2b235f0
--- /dev/null
+++ b/tests/ui/inference/issue-71732.rs
@@ -0,0 +1,24 @@
+// Regression test for #71732, it used to emit incorrect diagnostics, like:
+// error[E0283]: type annotations needed
+//  --> src/main.rs:5:10
+//   |
+// 5 |         .get(&"key".into())
+//   |          ^^^ cannot infer type for struct `String`
+//   |
+//   = note: cannot satisfy `String: Borrow<_>`
+// help: consider specifying the type argument in the method call
+//   |
+// 5 |         .get::<Q>(&"key".into())
+//   |
+
+use std::collections::hash_map::HashMap;
+
+fn foo(parameters: &HashMap<String, String>) -> bool {
+    parameters
+        .get(&"key".into())
+        //~^ ERROR type annotations needed
+        .and_then(|found: &String| Some(false))
+        .unwrap_or(false)
+}
+
+fn main() {}