1 error[E0631]: type mismatch in closure arguments
2 --> $DIR/closure-arg-type-mismatch.rs:3:14
4 LL | a.iter().map(|_: (u32, u32)| 45);
5 | ^^^ ------------------ found signature of `fn((u32, u32)) -> _`
7 | expected signature of `fn(&(u32, u32)) -> _`
9 error[E0631]: type mismatch in closure arguments
10 --> $DIR/closure-arg-type-mismatch.rs:4:14
12 LL | a.iter().map(|_: &(u16, u16)| 45);
13 | ^^^ ------------------- found signature of `for<'r> fn(&'r (u16, u16)) -> _`
15 | expected signature of `fn(&(u32, u32)) -> _`
17 error[E0631]: type mismatch in closure arguments
18 --> $DIR/closure-arg-type-mismatch.rs:5:14
20 LL | a.iter().map(|_: (u16, u16)| 45);
21 | ^^^ ------------------ found signature of `fn((u16, u16)) -> _`
23 | expected signature of `fn(&(u32, u32)) -> _`
25 error[E0271]: type mismatch resolving `for<'r> <fn(*mut &'a u32) as std::ops::FnOnce<(*mut &'r u32,)>>::Output == ()`
26 --> $DIR/closure-arg-type-mismatch.rs:10:5
28 LL | fn baz<F: Fn(*mut &u32)>(_: F) {}
29 | ------------- required by this bound in `baz`
30 LL | fn _test<'a>(f: fn(*mut &'a u32)) {
32 | ^^^ expected bound lifetime parameter, found concrete lifetime
34 error: aborting due to 4 previous errors
36 Some errors have detailed explanations: E0271, E0631.
37 For more information about an error, try `rustc --explain E0271`.