]> git.proxmox.com Git - rustc.git/blob - src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr
New upstream version 1.41.1+dfsg1
[rustc.git] / src / test / ui / nll / ty-outlives / projection-two-region-trait-bound-closure.stderr
1 note: External requirements
2 --> $DIR/projection-two-region-trait-bound-closure.rs:38:29
3 |
4 LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
6 |
7 = note: defining type: no_relationships_late::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
8 i32,
9 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
10 ]
11 = note: late-bound region is '_#4r
12 = note: number of external vids: 5
13 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#2r)>>::AssocType: '_#3r
14
15 note: No external requirements
16 --> $DIR/projection-two-region-trait-bound-closure.rs:34:1
17 |
18 LL | / fn no_relationships_late<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
19 LL | | where
20 LL | | T: Anything<'b, 'c>,
21 LL | | {
22 LL | | with_signature(cell, t, |cell, t| require(cell, t));
23 LL | |
24 LL | | }
25 | |_^
26 |
27 = note: defining type: no_relationships_late::<'_#1r, '_#2r, T>
28
29 error[E0309]: the associated type `<T as Anything<'_#5r, '_#6r>>::AssocType` may not live long enough
30 --> $DIR/projection-two-region-trait-bound-closure.rs:38:29
31 |
32 LL | with_signature(cell, t, |cell, t| require(cell, t));
33 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
34 |
35 = help: consider adding an explicit lifetime bound `<T as Anything<'_#5r, '_#6r>>::AssocType: ReFree(DefId(0:17 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]), BrNamed(DefId(0:18 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]::'a[0]), 'a))`...
36
37 note: External requirements
38 --> $DIR/projection-two-region-trait-bound-closure.rs:48:29
39 |
40 LL | with_signature(cell, t, |cell, t| require(cell, t));
41 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
42 |
43 = note: defining type: no_relationships_early::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
44 i32,
45 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
46 ]
47 = note: number of external vids: 5
48 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
49
50 note: No external requirements
51 --> $DIR/projection-two-region-trait-bound-closure.rs:43:1
52 |
53 LL | / fn no_relationships_early<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
54 LL | | where
55 LL | | T: Anything<'b, 'c>,
56 LL | | 'a: 'a,
57 ... |
58 LL | |
59 LL | | }
60 | |_^
61 |
62 = note: defining type: no_relationships_early::<'_#1r, '_#2r, '_#3r, T>
63
64 error[E0309]: the associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
65 --> $DIR/projection-two-region-trait-bound-closure.rs:48:29
66 |
67 LL | with_signature(cell, t, |cell, t| require(cell, t));
68 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
69 |
70 = help: consider adding an explicit lifetime bound `<T as Anything<'_#6r, '_#7r>>::AssocType: ReEarlyBound(0, 'a)`...
71
72 note: External requirements
73 --> $DIR/projection-two-region-trait-bound-closure.rs:61:29
74 |
75 LL | with_signature(cell, t, |cell, t| require(cell, t));
76 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
77 |
78 = note: defining type: projection_outlives::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
79 i32,
80 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
81 ]
82 = note: number of external vids: 5
83 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
84
85 note: No external requirements
86 --> $DIR/projection-two-region-trait-bound-closure.rs:53:1
87 |
88 LL | / fn projection_outlives<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
89 LL | | where
90 LL | | T: Anything<'b, 'c>,
91 LL | | T::AssocType: 'a,
92 ... |
93 LL | | with_signature(cell, t, |cell, t| require(cell, t));
94 LL | | }
95 | |_^
96 |
97 = note: defining type: projection_outlives::<'_#1r, '_#2r, '_#3r, T>
98
99 note: External requirements
100 --> $DIR/projection-two-region-trait-bound-closure.rs:70:29
101 |
102 LL | with_signature(cell, t, |cell, t| require(cell, t));
103 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
104 |
105 = note: defining type: elements_outlive1::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
106 i32,
107 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
108 ]
109 = note: number of external vids: 5
110 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
111
112 note: No external requirements
113 --> $DIR/projection-two-region-trait-bound-closure.rs:65:1
114 |
115 LL | / fn elements_outlive1<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
116 LL | | where
117 LL | | T: Anything<'b, 'c>,
118 LL | | 'b: 'a,
119 LL | | {
120 LL | | with_signature(cell, t, |cell, t| require(cell, t));
121 LL | | }
122 | |_^
123 |
124 = note: defining type: elements_outlive1::<'_#1r, '_#2r, '_#3r, T>
125
126 note: External requirements
127 --> $DIR/projection-two-region-trait-bound-closure.rs:79:29
128 |
129 LL | with_signature(cell, t, |cell, t| require(cell, t));
130 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
131 |
132 = note: defining type: elements_outlive2::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
133 i32,
134 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
135 ]
136 = note: number of external vids: 5
137 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
138
139 note: No external requirements
140 --> $DIR/projection-two-region-trait-bound-closure.rs:74:1
141 |
142 LL | / fn elements_outlive2<'a, 'b, 'c, T>(cell: Cell<&'a ()>, t: T)
143 LL | | where
144 LL | | T: Anything<'b, 'c>,
145 LL | | 'c: 'a,
146 LL | | {
147 LL | | with_signature(cell, t, |cell, t| require(cell, t));
148 LL | | }
149 | |_^
150 |
151 = note: defining type: elements_outlive2::<'_#1r, '_#2r, '_#3r, T>
152
153 note: External requirements
154 --> $DIR/projection-two-region-trait-bound-closure.rs:87:29
155 |
156 LL | with_signature(cell, t, |cell, t| require(cell, t));
157 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
158 |
159 = note: defining type: two_regions::<'_#1r, T>::{{closure}}#0 with closure substs [
160 i32,
161 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
162 ]
163 = note: late-bound region is '_#3r
164 = note: number of external vids: 4
165 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#1r)>>::AssocType: '_#2r
166
167 note: No external requirements
168 --> $DIR/projection-two-region-trait-bound-closure.rs:83:1
169 |
170 LL | / fn two_regions<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
171 LL | | where
172 LL | | T: Anything<'b, 'b>,
173 LL | | {
174 LL | | with_signature(cell, t, |cell, t| require(cell, t));
175 LL | |
176 LL | | }
177 | |_^
178 |
179 = note: defining type: two_regions::<'_#1r, T>
180
181 error: lifetime may not live long enough
182 --> $DIR/projection-two-region-trait-bound-closure.rs:87:29
183 |
184 LL | fn two_regions<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
185 | -- -- lifetime `'b` defined here
186 | |
187 | lifetime `'a` defined here
188 ...
189 LL | with_signature(cell, t, |cell, t| require(cell, t));
190 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ closure body requires that `'b` must outlive `'a`
191 |
192 = help: consider adding the following bound: `'b: 'a`
193
194 note: External requirements
195 --> $DIR/projection-two-region-trait-bound-closure.rs:97:29
196 |
197 LL | with_signature(cell, t, |cell, t| require(cell, t));
198 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
199 |
200 = note: defining type: two_regions_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
201 i32,
202 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
203 ]
204 = note: number of external vids: 4
205 = note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#2r)>>::AssocType: '_#3r
206
207 note: No external requirements
208 --> $DIR/projection-two-region-trait-bound-closure.rs:92:1
209 |
210 LL | / fn two_regions_outlive<'a, 'b, T>(cell: Cell<&'a ()>, t: T)
211 LL | | where
212 LL | | T: Anything<'b, 'b>,
213 LL | | 'b: 'a,
214 LL | | {
215 LL | | with_signature(cell, t, |cell, t| require(cell, t));
216 LL | | }
217 | |_^
218 |
219 = note: defining type: two_regions_outlive::<'_#1r, '_#2r, T>
220
221 note: External requirements
222 --> $DIR/projection-two-region-trait-bound-closure.rs:109:29
223 |
224 LL | with_signature(cell, t, |cell, t| require(cell, t));
225 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
226 |
227 = note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
228 i32,
229 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
230 ]
231 = note: number of external vids: 3
232 = note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#1r)>>::AssocType: '_#2r
233
234 note: No external requirements
235 --> $DIR/projection-two-region-trait-bound-closure.rs:101:1
236 |
237 LL | / fn one_region<'a, T>(cell: Cell<&'a ()>, t: T)
238 LL | | where
239 LL | | T: Anything<'a, 'a>,
240 LL | | {
241 ... |
242 LL | | with_signature(cell, t, |cell, t| require(cell, t));
243 LL | | }
244 | |_^
245 |
246 = note: defining type: one_region::<'_#1r, T>
247
248 error: aborting due to 3 previous errors
249
250 For more information about this error, try `rustc --explain E0309`.