1 error[E0631]: type mismatch in closure arguments
2 --> $DIR/anonymous-higher-ranked-lifetime.rs:12:5
4 LL | f1(|_: (), _: ()| {}); //~ ERROR type mismatch
5 | ^^ -------------- found signature of `fn((), ()) -> _`
7 | expected signature of `for<'r, 's> fn(&'r (), &'s ()) -> _`
10 --> $DIR/anonymous-higher-ranked-lifetime.rs:26:1
12 LL | fn f1<F>(_: F) where F: Fn(&(), &()) {}
13 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15 error[E0631]: type mismatch in closure arguments
16 --> $DIR/anonymous-higher-ranked-lifetime.rs:13:5
18 LL | f2(|_: (), _: ()| {}); //~ ERROR type mismatch
19 | ^^ -------------- found signature of `fn((), ()) -> _`
21 | expected signature of `for<'a, 'r> fn(&'a (), &'r ()) -> _`
23 note: required by `f2`
24 --> $DIR/anonymous-higher-ranked-lifetime.rs:27:1
26 LL | fn f2<F>(_: F) where F: for<'a> Fn(&'a (), &()) {}
27 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
29 error[E0631]: type mismatch in closure arguments
30 --> $DIR/anonymous-higher-ranked-lifetime.rs:14:5
32 LL | f3(|_: (), _: ()| {}); //~ ERROR type mismatch
33 | ^^ -------------- found signature of `fn((), ()) -> _`
35 | expected signature of `for<'r> fn(&(), &'r ()) -> _`
37 note: required by `f3`
38 --> $DIR/anonymous-higher-ranked-lifetime.rs:28:1
40 LL | fn f3<'a, F>(_: F) where F: Fn(&'a (), &()) {}
41 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43 error[E0631]: type mismatch in closure arguments
44 --> $DIR/anonymous-higher-ranked-lifetime.rs:15:5
46 LL | f4(|_: (), _: ()| {}); //~ ERROR type mismatch
47 | ^^ -------------- found signature of `fn((), ()) -> _`
49 | expected signature of `for<'s, 'r> fn(&'s (), &'r ()) -> _`
51 note: required by `f4`
52 --> $DIR/anonymous-higher-ranked-lifetime.rs:29:1
54 LL | fn f4<F>(_: F) where F: for<'r> Fn(&(), &'r ()) {}
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57 error[E0631]: type mismatch in closure arguments
58 --> $DIR/anonymous-higher-ranked-lifetime.rs:16:5
60 LL | f5(|_: (), _: ()| {}); //~ ERROR type mismatch
61 | ^^ -------------- found signature of `fn((), ()) -> _`
63 | expected signature of `for<'r> fn(&'r (), &'r ()) -> _`
65 note: required by `f5`
66 --> $DIR/anonymous-higher-ranked-lifetime.rs:30:1
68 LL | fn f5<F>(_: F) where F: for<'r> Fn(&'r (), &'r ()) {}
69 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
71 error[E0631]: type mismatch in closure arguments
72 --> $DIR/anonymous-higher-ranked-lifetime.rs:17:5
74 LL | g1(|_: (), _: ()| {}); //~ ERROR type mismatch
75 | ^^ -------------- found signature of `fn((), ()) -> _`
77 | expected signature of `for<'r> fn(&'r (), std::boxed::Box<for<'s> std::ops::Fn(&'s ()) + 'static>) -> _`
79 note: required by `g1`
80 --> $DIR/anonymous-higher-ranked-lifetime.rs:33:1
82 LL | fn g1<F>(_: F) where F: Fn(&(), Box<Fn(&())>) {}
83 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85 error[E0631]: type mismatch in closure arguments
86 --> $DIR/anonymous-higher-ranked-lifetime.rs:18:5
88 LL | g2(|_: (), _: ()| {}); //~ ERROR type mismatch
89 | ^^ -------------- found signature of `fn((), ()) -> _`
91 | expected signature of `for<'r> fn(&'r (), for<'s> fn(&'s ())) -> _`
93 note: required by `g2`
94 --> $DIR/anonymous-higher-ranked-lifetime.rs:34:1
96 LL | fn g2<F>(_: F) where F: Fn(&(), fn(&())) {}
97 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99 error[E0631]: type mismatch in closure arguments
100 --> $DIR/anonymous-higher-ranked-lifetime.rs:19:5
102 LL | g3(|_: (), _: ()| {}); //~ ERROR type mismatch
103 | ^^ -------------- found signature of `fn((), ()) -> _`
105 | expected signature of `for<'s> fn(&'s (), std::boxed::Box<for<'r> std::ops::Fn(&'r ()) + 'static>) -> _`
107 note: required by `g3`
108 --> $DIR/anonymous-higher-ranked-lifetime.rs:35:1
110 LL | fn g3<F>(_: F) where F: for<'s> Fn(&'s (), Box<Fn(&())>) {}
111 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
113 error[E0631]: type mismatch in closure arguments
114 --> $DIR/anonymous-higher-ranked-lifetime.rs:20:5
116 LL | g4(|_: (), _: ()| {}); //~ ERROR type mismatch
117 | ^^ -------------- found signature of `fn((), ()) -> _`
119 | expected signature of `for<'s> fn(&'s (), for<'r> fn(&'r ())) -> _`
121 note: required by `g4`
122 --> $DIR/anonymous-higher-ranked-lifetime.rs:36:1
124 LL | fn g4<F>(_: F) where F: Fn(&(), for<'r> fn(&'r ())) {}
125 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
127 error[E0631]: type mismatch in closure arguments
128 --> $DIR/anonymous-higher-ranked-lifetime.rs:21:5
130 LL | h1(|_: (), _: (), _: (), _: ()| {}); //~ ERROR type mismatch
131 | ^^ ---------------------------- found signature of `fn((), (), (), ()) -> _`
133 | expected signature of `for<'r, 's> fn(&'r (), std::boxed::Box<for<'t0> std::ops::Fn(&'t0 ()) + 'static>, &'s (), for<'t0, 't1> fn(&'t0 (), &'t1 ())) -> _`
135 note: required by `h1`
136 --> $DIR/anonymous-higher-ranked-lifetime.rs:39:1
138 LL | fn h1<F>(_: F) where F: Fn(&(), Box<Fn(&())>, &(), fn(&(), &())) {}
139 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
141 error[E0631]: type mismatch in closure arguments
142 --> $DIR/anonymous-higher-ranked-lifetime.rs:22:5
144 LL | h2(|_: (), _: (), _: (), _: ()| {}); //~ ERROR type mismatch
145 | ^^ ---------------------------- found signature of `fn((), (), (), ()) -> _`
147 | expected signature of `for<'r, 't0> fn(&'r (), std::boxed::Box<for<'s> std::ops::Fn(&'s ()) + 'static>, &'t0 (), for<'s, 't1> fn(&'s (), &'t1 ())) -> _`
149 note: required by `h2`
150 --> $DIR/anonymous-higher-ranked-lifetime.rs:40:1
152 LL | fn h2<F>(_: F) where F: for<'t0> Fn(&(), Box<Fn(&())>, &'t0 (), fn(&(), &())) {}
153 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
155 error: aborting due to 11 previous errors
157 For more information about this error, try `rustc --explain E0631`.