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