1 note: External requirements
2 --> $DIR/projection-one-region-closure.rs:45:29
4 LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
7 = note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
9 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
11 = note: late-bound region is '_#3r
12 = note: number of external vids: 4
13 = note: where T: '_#2r
14 = note: where '_#1r: '_#2r
16 note: No external requirements
17 --> $DIR/projection-one-region-closure.rs:41:1
19 LL | / fn no_relationships_late<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
21 LL | | T: Anything<'b>,
28 = note: defining type: no_relationships_late::<'_#1r, T>
30 error[E0309]: the parameter type `T` may not live long enough
31 --> $DIR/projection-one-region-closure.rs:45:29
33 LL | with_signature(cell, t, |cell, t| require(cell, t));
34 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
36 = help: consider adding an explicit lifetime bound `T: ReFree(DefId(0:15 ~ projection_one_region_closure[317d]::no_relationships_late[0]), BrNamed(DefId(0:16 ~ projection_one_region_closure[317d]::no_relationships_late[0]::'a[0]), 'a))`...
38 error: lifetime may not live long enough
39 --> $DIR/projection-one-region-closure.rs:45:39
41 LL | fn no_relationships_late<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
42 | -- -- lifetime `'b` defined here
44 | lifetime `'a` defined here
46 LL | with_signature(cell, t, |cell, t| require(cell, t));
47 | ^^^^^^^^^^^^^^^^ argument requires that `'b` must outlive `'a`
49 = help: consider adding the following bound: `'b: 'a`
51 note: External requirements
52 --> $DIR/projection-one-region-closure.rs:56:29
54 LL | with_signature(cell, t, |cell, t| require(cell, t));
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
57 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
59 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
61 = note: number of external vids: 4
62 = note: where T: '_#3r
63 = note: where '_#2r: '_#3r
65 note: No external requirements
66 --> $DIR/projection-one-region-closure.rs:51:1
68 LL | / fn no_relationships_early<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
70 LL | | T: Anything<'b>,
77 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>
79 error[E0309]: the parameter type `T` may not live long enough
80 --> $DIR/projection-one-region-closure.rs:56:29
82 LL | with_signature(cell, t, |cell, t| require(cell, t));
83 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
85 = help: consider adding an explicit lifetime bound `T: ReEarlyBound(0, 'a)`...
87 error: lifetime may not live long enough
88 --> $DIR/projection-one-region-closure.rs:56:39
90 LL | fn no_relationships_early<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
91 | -- -- lifetime `'b` defined here
93 | lifetime `'a` defined here
95 LL | with_signature(cell, t, |cell, t| require(cell, t));
96 | ^^^^^^^^^^^^^^^^ argument requires that `'b` must outlive `'a`
98 = help: consider adding the following bound: `'b: 'a`
100 note: External requirements
101 --> $DIR/projection-one-region-closure.rs:70:29
103 LL | with_signature(cell, t, |cell, t| require(cell, t));
104 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
106 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
108 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
110 = note: number of external vids: 4
111 = note: where <T as Anything<ReClosureBound('_#2r)>>::AssocType: '_#3r
113 note: No external requirements
114 --> $DIR/projection-one-region-closure.rs:62:1
116 LL | / fn projection_outlives<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
118 LL | | T: Anything<'b>,
119 LL | | T::AssocType: 'a,
121 LL | | with_signature(cell, t, |cell, t| require(cell, t));
125 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>
127 note: External requirements
128 --> $DIR/projection-one-region-closure.rs:80:29
130 LL | with_signature(cell, t, |cell, t| require(cell, t));
131 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
133 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
135 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
137 = note: number of external vids: 4
138 = note: where T: '_#3r
139 = note: where '_#2r: '_#3r
141 note: No external requirements
142 --> $DIR/projection-one-region-closure.rs:74:1
144 LL | / fn elements_outlive<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
146 LL | | T: Anything<'b>,
149 LL | | with_signature(cell, t, |cell, t| require(cell, t));
153 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>
155 error: aborting due to 4 previous errors
157 For more information about this error, try `rustc --explain E0309`.