1 warning: not reporting region error due to nll
2 --> $DIR/projection-two-region-trait-bound-closure.rs:48: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:59: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:80: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:108: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:48: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: 6
39 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#2r)>>::AssocType: '_#3r
41 note: No external requirements
42 --> $DIR/projection-two-region-trait-bound-closure.rs:44:1
44 LL | / fn no_relationships_late<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
46 LL | | T: Anything<'b, 'c>,
49 LL | | //~| ERROR associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
53 = note: defining type: DefId(0/0:8 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]) with substs [
59 error[E0309]: the associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
60 --> $DIR/projection-two-region-trait-bound-closure.rs:48:29
62 LL | with_signature(cell, t, |cell, t| require(cell, t));
63 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
65 = help: consider adding an explicit lifetime bound `<T as Anything<'_#6r, '_#7r>>::AssocType: ReFree(DefId(0/0:8 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]), BrNamed(crate0:DefIndex(1:18), 'a))`...
67 note: External requirements
68 --> $DIR/projection-two-region-trait-bound-closure.rs:59: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: 6
82 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
84 note: No external requirements
85 --> $DIR/projection-two-region-trait-bound-closure.rs:54:1
87 LL | / fn no_relationships_early<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
89 LL | | T: Anything<'b, 'c>,
92 LL | | //~| ERROR associated type `<T as Anything<'_#7r, '_#8r>>::AssocType` may not live long enough
96 = note: defining type: DefId(0/0:9 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_early[0]) with substs [
103 error[E0309]: the associated type `<T as Anything<'_#7r, '_#8r>>::AssocType` may not live long enough
104 --> $DIR/projection-two-region-trait-bound-closure.rs:59:29
106 LL | with_signature(cell, t, |cell, t| require(cell, t));
107 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
109 = help: consider adding an explicit lifetime bound `<T as Anything<'_#7r, '_#8r>>::AssocType: ReEarlyBound(0, 'a)`...
111 note: External requirements
112 --> $DIR/projection-two-region-trait-bound-closure.rs:80: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: 6
126 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
128 note: No external requirements
129 --> $DIR/projection-two-region-trait-bound-closure.rs:65:1
131 LL | / fn projection_outlives<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
133 LL | | T: Anything<'b, 'c>,
134 LL | | T::AssocType: 'a,
136 LL | | //~| ERROR associated type `<T as Anything<'_#7r, '_#8r>>::AssocType` may not live long enough
140 = note: defining type: DefId(0/0:10 ~ projection_two_region_trait_bound_closure[317d]::projection_outlives[0]) with substs [
147 error[E0309]: the associated type `<T as Anything<'_#7r, '_#8r>>::AssocType` may not live long enough
148 --> $DIR/projection-two-region-trait-bound-closure.rs:80:29
150 LL | with_signature(cell, t, |cell, t| require(cell, t));
151 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
153 = help: consider adding an explicit lifetime bound `<T as Anything<'_#7r, '_#8r>>::AssocType: ReEarlyBound(0, 'a)`...
155 note: External requirements
156 --> $DIR/projection-two-region-trait-bound-closure.rs:91: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: 6
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:86: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:100: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: 6
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:95: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:108: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: 5
240 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#1r)>>::AssocType: '_#2r
242 note: No external requirements
243 --> $DIR/projection-two-region-trait-bound-closure.rs:104:1
245 LL | / fn two_regions<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
247 LL | | T: Anything<'b, 'b>,
254 = note: defining type: DefId(0/0:13 ~ projection_two_region_trait_bound_closure[317d]::two_regions[0]) with substs [
259 error: unsatisfied lifetime constraints
260 --> $DIR/projection-two-region-trait-bound-closure.rs:108:5
262 LL | with_signature(cell, t, |cell, t| require(cell, t));
263 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'b` must outlive `'a`
265 note: External requirements
266 --> $DIR/projection-two-region-trait-bound-closure.rs:119: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: 5
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:114: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:131: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: 4
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:123: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`.