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[E0631]: type mismatch in function arguments
26 --> $DIR/closure-arg-type-mismatch.rs:10:9
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)) {
34 | expected signature of `for<'r> fn(*mut &'r u32) -> _`
35 | found signature of `fn(*mut &'a u32) -> _`
37 error[E0271]: type mismatch resolving `for<'r> <fn(*mut &'a u32) as std::ops::FnOnce<(*mut &'r u32,)>>::Output == ()`
38 --> $DIR/closure-arg-type-mismatch.rs:10:5
40 LL | fn baz<F: Fn(*mut &u32)>(_: F) {}
41 | --- ------------- required by this bound in `baz`
42 LL | fn _test<'a>(f: fn(*mut &'a u32)) {
44 | ^^^ expected bound lifetime parameter, found concrete lifetime
46 error: aborting due to 5 previous errors
48 Some errors have detailed explanations: E0271, E0631.
49 For more information about an error, try `rustc --explain E0271`.