1 // Regression test for #47244: in this specific scenario, when the
2 // expected type indicated 1 argument but the closure takes two, we
3 // would (early on) create type variables for the type of `b`. If the
4 // user then attempts to invoke a method on `b`, we would get an error
5 // saying that the type of `b` must be known, which was not very
6 // helpful.
7 
8 // run-rustfix
9 
10 use std::collections::HashMap;
11 
main()12 fn main() {
13     let mut m = HashMap::new();
14     m.insert("foo", "bar");
15 
16     let _n = m.iter().map(|_, b| {
17         //~^ ERROR closure is expected to take a single 2-tuple
18         b.to_string()
19     });
20 }
21