1 note: External requirements
2 --> $DIR/projection-one-region-closure.rs:55:29
4 LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
7 = note: defining type: DefId(0/1:19 ~ projection_one_region_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [
11 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T))
13 = note: late-bound region is '_#3r
14 = note: number of external vids: 4
15 = note: where T: '_#2r
16 = note: where '_#1r: '_#2r
18 note: No external requirements
19 --> $DIR/projection-one-region-closure.rs:51:1
21 LL | / fn no_relationships_late<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
23 LL | | T: Anything<'b>,
30 = note: defining type: DefId(0/0:8 ~ projection_one_region_closure[317d]::no_relationships_late[0]) with substs [
35 error[E0309]: the parameter type `T` may not live long enough
36 --> $DIR/projection-one-region-closure.rs:55:29
38 LL | with_signature(cell, t, |cell, t| require(cell, t));
39 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
41 = help: consider adding an explicit lifetime bound `T: ReFree(DefId(0/0:8 ~ projection_one_region_closure[317d]::no_relationships_late[0]), BrNamed(crate0:DefIndex(1:16), 'a))`...
43 error: unsatisfied lifetime constraints
44 --> $DIR/projection-one-region-closure.rs:55:39
46 LL | fn no_relationships_late<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
47 | -- -- lifetime `'b` defined here
49 | lifetime `'a` defined here
51 LL | with_signature(cell, t, |cell, t| require(cell, t));
52 | ^^^^^^^^^^^^^^^^ argument requires that `'b` must outlive `'a`
54 note: External requirements
55 --> $DIR/projection-one-region-closure.rs:66:29
57 LL | with_signature(cell, t, |cell, t| require(cell, t));
58 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
60 = note: defining type: DefId(0/1:23 ~ projection_one_region_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [
65 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T))
67 = note: number of external vids: 4
68 = note: where T: '_#3r
69 = note: where '_#2r: '_#3r
71 note: No external requirements
72 --> $DIR/projection-one-region-closure.rs:61:1
74 LL | / fn no_relationships_early<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
76 LL | | T: Anything<'b>,
83 = note: defining type: DefId(0/0:9 ~ projection_one_region_closure[317d]::no_relationships_early[0]) with substs [
89 error[E0309]: the parameter type `T` may not live long enough
90 --> $DIR/projection-one-region-closure.rs:66:29
92 LL | with_signature(cell, t, |cell, t| require(cell, t));
93 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
95 = help: consider adding an explicit lifetime bound `T: ReEarlyBound(0, 'a)`...
97 error: unsatisfied lifetime constraints
98 --> $DIR/projection-one-region-closure.rs:66:39
100 LL | fn no_relationships_early<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
101 | -- -- lifetime `'b` defined here
103 | lifetime `'a` defined here
105 LL | with_signature(cell, t, |cell, t| require(cell, t));
106 | ^^^^^^^^^^^^^^^^ argument requires that `'b` must outlive `'a`
108 note: External requirements
109 --> $DIR/projection-one-region-closure.rs:80:29
111 LL | with_signature(cell, t, |cell, t| require(cell, t));
112 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
114 = note: defining type: DefId(0/1:27 ~ projection_one_region_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [
119 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T))
121 = note: number of external vids: 4
122 = note: where <T as Anything<ReClosureBound('_#2r)>>::AssocType: '_#3r
124 note: No external requirements
125 --> $DIR/projection-one-region-closure.rs:72:1
127 LL | / fn projection_outlives<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
129 LL | | T: Anything<'b>,
130 LL | | T::AssocType: 'a,
132 LL | | with_signature(cell, t, |cell, t| require(cell, t));
136 = note: defining type: DefId(0/0:10 ~ projection_one_region_closure[317d]::projection_outlives[0]) with substs [
142 note: External requirements
143 --> $DIR/projection-one-region-closure.rs:90:29
145 LL | with_signature(cell, t, |cell, t| require(cell, t));
146 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
148 = note: defining type: DefId(0/1:31 ~ projection_one_region_closure[317d]::elements_outlive[0]::{{closure}}[0]) with closure substs [
153 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T))
155 = note: number of external vids: 4
156 = note: where T: '_#3r
157 = note: where '_#2r: '_#3r
159 note: No external requirements
160 --> $DIR/projection-one-region-closure.rs:84:1
162 LL | / fn elements_outlive<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
164 LL | | T: Anything<'b>,
167 LL | | with_signature(cell, t, |cell, t| require(cell, t));
171 = note: defining type: DefId(0/0:11 ~ projection_one_region_closure[317d]::elements_outlive[0]) with substs [
177 error: aborting due to 4 previous errors
179 For more information about this error, try `rustc --explain E0309`.