1 warning: not reporting region error due to nll
2 --> $DIR/projection-two-region-trait-bound-closure.rs:49:39
4 LL | with_signature(cell, t, |cell, t| require(cell, t));
7 warning: not reporting region error due to nll
8 --> $DIR/projection-two-region-trait-bound-closure.rs:60:39
10 LL | with_signature(cell, t, |cell, t| require(cell, t));
13 warning: not reporting region error due to nll
14 --> $DIR/projection-two-region-trait-bound-closure.rs:81:39
16 LL | with_signature(cell, t, |cell, t| require(cell, t));
19 warning: not reporting region error due to nll
20 --> $DIR/projection-two-region-trait-bound-closure.rs:109:39
22 LL | with_signature(cell, t, |cell, t| require(cell, t));
25 note: External requirements
26 --> $DIR/projection-two-region-trait-bound-closure.rs:49:29
28 LL | with_signature(cell, t, |cell, t| require(cell, t));
29 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
31 = note: defining type: DefId(0/1:22 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [
36 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T))
38 = note: number of external vids: 4
39 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#2r)>>::AssocType: '_#3r
41 error[E0309]: the associated type `<T as Anything<'_#5r, '_#6r>>::AssocType` may not live long enough
42 --> $DIR/projection-two-region-trait-bound-closure.rs:49:29
44 LL | with_signature(cell, t, |cell, t| require(cell, t));
45 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
47 = help: consider adding an explicit lifetime bound `<T as Anything<'_#5r, '_#6r>>::AssocType: ReFree(DefId(0/0:8 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]), BrNamed(crate0:DefIndex(1:18), 'a))`...
49 note: No external requirements
50 --> $DIR/projection-two-region-trait-bound-closure.rs:45:1
52 LL | / fn no_relationships_late<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
54 LL | | T: Anything<'b, 'c>,
57 LL | | //~| ERROR associated type `<T as Anything<'_#5r, '_#6r>>::AssocType` may not live long enough
61 = note: defining type: DefId(0/0:8 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]) with substs [
67 note: External requirements
68 --> $DIR/projection-two-region-trait-bound-closure.rs:60:29
70 LL | with_signature(cell, t, |cell, t| require(cell, t));
71 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
73 = note: defining type: DefId(0/1:27 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [
79 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T))
81 = note: number of external vids: 5
82 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
84 error[E0309]: the associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
85 --> $DIR/projection-two-region-trait-bound-closure.rs:60:29
87 LL | with_signature(cell, t, |cell, t| require(cell, t));
88 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
90 = help: consider adding an explicit lifetime bound `<T as Anything<'_#6r, '_#7r>>::AssocType: ReEarlyBound(0, 'a)`...
92 note: No external requirements
93 --> $DIR/projection-two-region-trait-bound-closure.rs:55:1
95 LL | / fn no_relationships_early<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
97 LL | | T: Anything<'b, 'c>,
100 LL | | //~| ERROR associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
104 = note: defining type: DefId(0/0:9 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_early[0]) with substs [
111 note: External requirements
112 --> $DIR/projection-two-region-trait-bound-closure.rs:81:29
114 LL | with_signature(cell, t, |cell, t| require(cell, t));
115 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
117 = note: defining type: DefId(0/1:32 ~ projection_two_region_trait_bound_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [
123 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T))
125 = note: number of external vids: 5
126 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
128 error[E0309]: the associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
129 --> $DIR/projection-two-region-trait-bound-closure.rs:81:29
131 LL | with_signature(cell, t, |cell, t| require(cell, t));
132 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
134 = help: consider adding an explicit lifetime bound `<T as Anything<'_#6r, '_#7r>>::AssocType: ReEarlyBound(0, 'a)`...
136 note: No external requirements
137 --> $DIR/projection-two-region-trait-bound-closure.rs:66:1
139 LL | / fn projection_outlives<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
141 LL | | T: Anything<'b, 'c>,
142 LL | | T::AssocType: 'a,
144 LL | | //~| ERROR associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
148 = note: defining type: DefId(0/0:10 ~ projection_two_region_trait_bound_closure[317d]::projection_outlives[0]) with substs [
155 note: External requirements
156 --> $DIR/projection-two-region-trait-bound-closure.rs:92:29
158 LL | with_signature(cell, t, |cell, t| require(cell, t));
159 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
161 = note: defining type: DefId(0/1:37 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive1[0]::{{closure}}[0]) with closure substs [
167 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T))
169 = note: number of external vids: 5
170 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
172 note: No external requirements
173 --> $DIR/projection-two-region-trait-bound-closure.rs:87:1
175 LL | / fn elements_outlive1<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
177 LL | | T: Anything<'b, 'c>,
180 LL | | with_signature(cell, t, |cell, t| require(cell, t));
184 = note: defining type: DefId(0/0:11 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive1[0]) with substs [
191 note: External requirements
192 --> $DIR/projection-two-region-trait-bound-closure.rs:101:29
194 LL | with_signature(cell, t, |cell, t| require(cell, t));
195 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
197 = note: defining type: DefId(0/1:42 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive2[0]::{{closure}}[0]) with closure substs [
203 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T))
205 = note: number of external vids: 5
206 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
208 note: No external requirements
209 --> $DIR/projection-two-region-trait-bound-closure.rs:96:1
211 LL | / fn elements_outlive2<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
213 LL | | T: Anything<'b, 'c>,
216 LL | | with_signature(cell, t, |cell, t| require(cell, t));
220 = note: defining type: DefId(0/0:12 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive2[0]) with substs [
227 note: External requirements
228 --> $DIR/projection-two-region-trait-bound-closure.rs:109:29
230 LL | with_signature(cell, t, |cell, t| require(cell, t));
231 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
233 = note: defining type: DefId(0/1:46 ~ projection_two_region_trait_bound_closure[317d]::two_regions[0]::{{closure}}[0]) with closure substs [
237 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T))
239 = note: number of external vids: 3
240 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#1r)>>::AssocType: '_#2r
242 error: free region `ReEarlyBound(0, 'b)` does not outlive free region `ReFree(DefId(0/0:13 ~ projection_two_region_trait_bound_closure[317d]::two_regions[0]), BrNamed(crate0:DefIndex(1:43), 'a))`
243 --> $DIR/projection-two-region-trait-bound-closure.rs:109:20
245 LL | with_signature(cell, t, |cell, t| require(cell, t));
248 note: No external requirements
249 --> $DIR/projection-two-region-trait-bound-closure.rs:105:1
251 LL | / fn two_regions<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
253 LL | | T: Anything<'b, 'b>,
256 LL | | //~| ERROR does not outlive free region
260 = note: defining type: DefId(0/0:13 ~ projection_two_region_trait_bound_closure[317d]::two_regions[0]) with substs [
265 note: External requirements
266 --> $DIR/projection-two-region-trait-bound-closure.rs:120:29
268 LL | with_signature(cell, t, |cell, t| require(cell, t));
269 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
271 = note: defining type: DefId(0/1:50 ~ projection_two_region_trait_bound_closure[317d]::two_regions_outlive[0]::{{closure}}[0]) with closure substs [
276 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T))
278 = note: number of external vids: 4
279 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#2r)>>::AssocType: '_#3r
281 note: No external requirements
282 --> $DIR/projection-two-region-trait-bound-closure.rs:115:1
284 LL | / fn two_regions_outlive<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
286 LL | | T: Anything<'b, 'b>,
289 LL | | with_signature(cell, t, |cell, t| require(cell, t));
293 = note: defining type: DefId(0/0:14 ~ projection_two_region_trait_bound_closure[317d]::two_regions_outlive[0]) with substs [
299 note: External requirements
300 --> $DIR/projection-two-region-trait-bound-closure.rs:132:29
302 LL | with_signature(cell, t, |cell, t| require(cell, t));
303 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
305 = note: defining type: DefId(0/1:53 ~ projection_two_region_trait_bound_closure[317d]::one_region[0]::{{closure}}[0]) with closure substs [
309 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T))
311 = note: number of external vids: 3
312 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#1r)>>::AssocType: '_#2r
314 note: No external requirements
315 --> $DIR/projection-two-region-trait-bound-closure.rs:124:1
317 LL | / fn one_region<'a, T>(cell: Cell<&'a ()>, t: T)
319 LL | | T: Anything<'a, 'a>,
322 LL | | with_signature(cell, t, |cell, t| require(cell, t));
326 = note: defining type: DefId(0/0:15 ~ projection_two_region_trait_bound_closure[317d]::one_region[0]) with substs [
331 error: aborting due to 4 previous errors
333 For more information about this error, try `rustc --explain E0309`.