]>
Commit | Line | Data |
---|---|---|
476ff2be | 1 | // aux-build:lint_stability_fields.rs |
b7449926 | 2 | |
476ff2be SL |
3 | #![deny(deprecated)] |
4 | #![allow(dead_code)] | |
b7449926 | 5 | #![feature(staged_api, unstable_test_feature)] |
476ff2be SL |
6 | |
7 | #![stable(feature = "rust1", since = "1.0.0")] | |
8 | ||
9 | mod cross_crate { | |
10 | extern crate lint_stability_fields; | |
11 | ||
12 | use self::lint_stability_fields::*; | |
13 | ||
14 | pub fn foo() { | |
15 | let x = Stable { | |
16 | inherit: 1, | |
17 | override1: 2, | |
18 | override2: 3, | |
19 | //~^ ERROR use of deprecated item | |
20 | }; | |
21 | ||
22 | let _ = x.inherit; | |
23 | let _ = x.override1; | |
24 | let _ = x.override2; | |
25 | //~^ ERROR use of deprecated item | |
26 | ||
27 | let Stable { | |
28 | inherit: _, | |
29 | override1: _, | |
30 | override2: _ | |
31 | //~^ ERROR use of deprecated item | |
32 | } = x; | |
33 | // all fine | |
34 | let Stable { .. } = x; | |
35 | ||
36 | let x = Stable2(1, 2, 3); | |
37 | ||
38 | let _ = x.0; | |
39 | let _ = x.1; | |
40 | let _ = x.2; | |
41 | //~^ ERROR use of deprecated item | |
42 | ||
43 | let Stable2(_, | |
44 | _, | |
45 | _) | |
46 | //~^ ERROR use of deprecated item | |
47 | = x; | |
48 | // all fine | |
49 | let Stable2(..) = x; | |
50 | ||
51 | ||
52 | let x = Unstable { | |
53 | inherit: 1, | |
54 | override1: 2, | |
55 | override2: 3, | |
56 | //~^ ERROR use of deprecated item | |
57 | }; | |
58 | ||
59 | let _ = x.inherit; | |
60 | let _ = x.override1; | |
61 | let _ = x.override2; | |
62 | //~^ ERROR use of deprecated item | |
63 | ||
64 | let Unstable { | |
65 | inherit: _, | |
66 | override1: _, | |
67 | override2: _ | |
68 | //~^ ERROR use of deprecated item | |
69 | } = x; | |
70 | ||
71 | let Unstable | |
72 | // the patterns are all fine: | |
73 | { .. } = x; | |
74 | ||
75 | ||
76 | let x = Unstable2(1, 2, 3); | |
77 | ||
78 | let _ = x.0; | |
79 | let _ = x.1; | |
80 | let _ = x.2; | |
81 | //~^ ERROR use of deprecated item | |
82 | ||
83 | let Unstable2 | |
84 | (_, | |
85 | _, | |
86 | _) | |
87 | //~^ ERROR use of deprecated item | |
88 | = x; | |
89 | let Unstable2 | |
90 | // the patterns are all fine: | |
91 | (..) = x; | |
92 | ||
93 | ||
94 | let x = Deprecated { | |
95 | //~^ ERROR use of deprecated item | |
96 | inherit: 1, | |
97 | //~^ ERROR use of deprecated item | |
98 | override1: 2, | |
99 | //~^ ERROR use of deprecated item | |
100 | override2: 3, | |
101 | //~^ ERROR use of deprecated item | |
102 | }; | |
103 | ||
104 | let _ = x.inherit; | |
105 | //~^ ERROR use of deprecated item | |
106 | let _ = x.override1; | |
107 | //~^ ERROR use of deprecated item | |
108 | let _ = x.override2; | |
109 | //~^ ERROR use of deprecated item | |
110 | ||
111 | let Deprecated { | |
112 | //~^ ERROR use of deprecated item | |
113 | inherit: _, | |
114 | //~^ ERROR use of deprecated item | |
115 | override1: _, | |
116 | //~^ ERROR use of deprecated item | |
117 | override2: _ | |
118 | //~^ ERROR use of deprecated item | |
119 | } = x; | |
120 | ||
121 | let Deprecated | |
122 | //~^ ERROR use of deprecated item | |
123 | // the patterns are all fine: | |
124 | { .. } = x; | |
125 | ||
126 | let x = Deprecated2(1, 2, 3); | |
127 | //~^ ERROR use of deprecated item | |
128 | ||
129 | let _ = x.0; | |
130 | //~^ ERROR use of deprecated item | |
131 | let _ = x.1; | |
132 | //~^ ERROR use of deprecated item | |
133 | let _ = x.2; | |
134 | //~^ ERROR use of deprecated item | |
135 | ||
136 | let Deprecated2 | |
137 | //~^ ERROR use of deprecated item | |
138 | (_, | |
139 | //~^ ERROR use of deprecated item | |
140 | _, | |
141 | //~^ ERROR use of deprecated item | |
142 | _) | |
143 | //~^ ERROR use of deprecated item | |
144 | = x; | |
145 | let Deprecated2 | |
146 | //~^ ERROR use of deprecated item | |
147 | // the patterns are all fine: | |
148 | (..) = x; | |
149 | } | |
150 | } | |
151 | ||
152 | mod this_crate { | |
153 | #[stable(feature = "rust1", since = "1.0.0")] | |
154 | struct Stable { | |
155 | inherit: u8, | |
dfeec247 | 156 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
157 | override1: u8, |
158 | #[rustc_deprecated(since = "1.0.0", reason = "text")] | |
dfeec247 | 159 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
160 | override2: u8, |
161 | } | |
162 | ||
163 | #[stable(feature = "rust1", since = "1.0.0")] | |
164 | struct Stable2(u8, | |
165 | #[stable(feature = "rust1", since = "1.0.0")] u8, | |
dfeec247 | 166 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
167 | #[rustc_deprecated(since = "1.0.0", reason = "text")] u8); |
168 | ||
dfeec247 | 169 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
170 | struct Unstable { |
171 | inherit: u8, | |
172 | #[stable(feature = "rust1", since = "1.0.0")] | |
173 | override1: u8, | |
174 | #[rustc_deprecated(since = "1.0.0", reason = "text")] | |
dfeec247 | 175 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
176 | override2: u8, |
177 | } | |
178 | ||
dfeec247 | 179 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
180 | struct Unstable2(u8, |
181 | #[stable(feature = "rust1", since = "1.0.0")] u8, | |
dfeec247 | 182 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
183 | #[rustc_deprecated(since = "1.0.0", reason = "text")] u8); |
184 | ||
dfeec247 | 185 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
186 | #[rustc_deprecated(since = "1.0.0", reason = "text")] |
187 | struct Deprecated { | |
188 | inherit: u8, | |
189 | #[stable(feature = "rust1", since = "1.0.0")] | |
190 | override1: u8, | |
dfeec247 | 191 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
192 | override2: u8, |
193 | } | |
194 | ||
dfeec247 | 195 | #[unstable(feature = "unstable_test_feature", issue = "none")] |
476ff2be SL |
196 | #[rustc_deprecated(since = "1.0.0", reason = "text")] |
197 | struct Deprecated2(u8, | |
198 | #[stable(feature = "rust1", since = "1.0.0")] u8, | |
dfeec247 | 199 | #[unstable(feature = "unstable_test_feature", issue = "none")] u8); |
476ff2be SL |
200 | |
201 | pub fn foo() { | |
202 | let x = Stable { | |
203 | inherit: 1, | |
204 | override1: 2, | |
205 | override2: 3, | |
206 | //~^ ERROR use of deprecated item | |
207 | }; | |
208 | ||
209 | let _ = x.inherit; | |
210 | let _ = x.override1; | |
211 | let _ = x.override2; | |
212 | //~^ ERROR use of deprecated item | |
213 | ||
214 | let Stable { | |
215 | inherit: _, | |
216 | override1: _, | |
217 | override2: _ | |
218 | //~^ ERROR use of deprecated item | |
219 | } = x; | |
220 | // all fine | |
221 | let Stable { .. } = x; | |
222 | ||
223 | let x = Stable2(1, 2, 3); | |
224 | ||
225 | let _ = x.0; | |
226 | let _ = x.1; | |
227 | let _ = x.2; | |
228 | //~^ ERROR use of deprecated item | |
229 | ||
230 | let Stable2(_, | |
231 | _, | |
232 | _) | |
233 | //~^ ERROR use of deprecated item | |
234 | = x; | |
235 | // all fine | |
236 | let Stable2(..) = x; | |
237 | ||
238 | ||
239 | let x = Unstable { | |
240 | inherit: 1, | |
241 | override1: 2, | |
242 | override2: 3, | |
243 | //~^ ERROR use of deprecated item | |
244 | }; | |
245 | ||
246 | let _ = x.inherit; | |
247 | let _ = x.override1; | |
248 | let _ = x.override2; | |
249 | //~^ ERROR use of deprecated item | |
250 | ||
251 | let Unstable { | |
252 | inherit: _, | |
253 | override1: _, | |
254 | override2: _ | |
255 | //~^ ERROR use of deprecated item | |
256 | } = x; | |
257 | ||
258 | let Unstable | |
259 | // the patterns are all fine: | |
260 | { .. } = x; | |
261 | ||
262 | ||
263 | let x = Unstable2(1, 2, 3); | |
264 | ||
265 | let _ = x.0; | |
266 | let _ = x.1; | |
267 | let _ = x.2; | |
268 | //~^ ERROR use of deprecated item | |
269 | ||
270 | let Unstable2 | |
271 | (_, | |
272 | _, | |
273 | _) | |
274 | //~^ ERROR use of deprecated item | |
275 | = x; | |
276 | let Unstable2 | |
277 | // the patterns are all fine: | |
278 | (..) = x; | |
279 | ||
280 | ||
281 | let x = Deprecated { | |
282 | //~^ ERROR use of deprecated item | |
283 | inherit: 1, | |
284 | //~^ ERROR use of deprecated item | |
285 | override1: 2, | |
286 | //~^ ERROR use of deprecated item | |
287 | override2: 3, | |
288 | //~^ ERROR use of deprecated item | |
289 | }; | |
290 | ||
291 | let _ = x.inherit; | |
292 | //~^ ERROR use of deprecated item | |
293 | let _ = x.override1; | |
294 | //~^ ERROR use of deprecated item | |
295 | let _ = x.override2; | |
296 | //~^ ERROR use of deprecated item | |
297 | ||
298 | let Deprecated { | |
299 | //~^ ERROR use of deprecated item | |
300 | inherit: _, | |
301 | //~^ ERROR use of deprecated item | |
302 | override1: _, | |
303 | //~^ ERROR use of deprecated item | |
304 | override2: _ | |
305 | //~^ ERROR use of deprecated item | |
306 | } = x; | |
307 | ||
308 | let Deprecated | |
309 | //~^ ERROR use of deprecated item | |
310 | // the patterns are all fine: | |
311 | { .. } = x; | |
312 | ||
313 | let x = Deprecated2(1, 2, 3); | |
314 | //~^ ERROR use of deprecated item | |
315 | ||
316 | let _ = x.0; | |
317 | //~^ ERROR use of deprecated item | |
318 | let _ = x.1; | |
319 | //~^ ERROR use of deprecated item | |
320 | let _ = x.2; | |
321 | //~^ ERROR use of deprecated item | |
322 | ||
323 | let Deprecated2 | |
324 | //~^ ERROR use of deprecated item | |
325 | (_, | |
326 | //~^ ERROR use of deprecated item | |
327 | _, | |
328 | //~^ ERROR use of deprecated item | |
329 | _) | |
330 | //~^ ERROR use of deprecated item | |
331 | = x; | |
332 | let Deprecated2 | |
333 | //~^ ERROR use of deprecated item | |
334 | // the patterns are all fine: | |
335 | (..) = x; | |
336 | } | |
337 | } | |
338 | ||
339 | fn main() {} |