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