@@ -303,58 +303,79 @@ where
303
303
} => chain. insert (
304
304
version. inner ,
305
305
ItemStatus :: NoChange {
306
+ previously_deprecated : false ,
306
307
ident : from_ident. clone ( ) ,
307
308
ty : from_type. clone ( ) ,
308
309
} ,
309
310
) ,
310
311
ItemStatus :: Deprecation { previous_ident, .. } => chain. insert (
311
312
version. inner ,
312
313
ItemStatus :: NoChange {
314
+ previously_deprecated : false ,
313
315
ident : previous_ident. clone ( ) ,
314
316
ty : self . inner . ty ( ) ,
315
317
} ,
316
318
) ,
317
- ItemStatus :: NoChange { ident, ty } => chain. insert (
319
+ ItemStatus :: NoChange {
320
+ previously_deprecated,
321
+ ident,
322
+ ty,
323
+ } => chain. insert (
318
324
version. inner ,
319
325
ItemStatus :: NoChange {
326
+ previously_deprecated : * previously_deprecated,
320
327
ident : ident. clone ( ) ,
321
328
ty : ty. clone ( ) ,
322
329
} ,
323
330
) ,
324
331
ItemStatus :: NotPresent => unreachable ! ( ) ,
325
332
} ,
326
333
( Some ( status) , None ) => {
327
- let ( ident, ty) = match status {
328
- ItemStatus :: Addition { ident, ty, .. } => ( ident, ty) ,
334
+ let ( ident, ty, previously_deprecated ) = match status {
335
+ ItemStatus :: Addition { ident, ty, .. } => ( ident, ty, false ) ,
329
336
ItemStatus :: Change {
330
337
to_ident, to_type, ..
331
- } => ( to_ident, to_type) ,
332
- ItemStatus :: Deprecation { ident, .. } => ( ident, & self . inner . ty ( ) ) ,
333
- ItemStatus :: NoChange { ident, ty } => ( ident, ty) ,
338
+ } => ( to_ident, to_type, false ) ,
339
+ ItemStatus :: Deprecation { ident, .. } => {
340
+ ( ident, & self . inner . ty ( ) , true )
341
+ }
342
+ ItemStatus :: NoChange {
343
+ previously_deprecated,
344
+ ident,
345
+ ty,
346
+ ..
347
+ } => ( ident, ty, * previously_deprecated) ,
334
348
ItemStatus :: NotPresent => unreachable ! ( ) ,
335
349
} ;
336
350
337
351
chain. insert (
338
352
version. inner ,
339
353
ItemStatus :: NoChange {
354
+ previously_deprecated,
340
355
ident : ident. clone ( ) ,
341
356
ty : ty. clone ( ) ,
342
357
} ,
343
358
)
344
359
}
345
360
( Some ( status) , Some ( _) ) => {
346
- let ( ident, ty) = match status {
347
- ItemStatus :: Addition { ident, ty, .. } => ( ident, ty) ,
361
+ let ( ident, ty, previously_deprecated ) = match status {
362
+ ItemStatus :: Addition { ident, ty, .. } => ( ident, ty, false ) ,
348
363
ItemStatus :: Change {
349
364
to_ident, to_type, ..
350
- } => ( to_ident, to_type) ,
351
- ItemStatus :: NoChange { ident, ty, .. } => ( ident, ty) ,
365
+ } => ( to_ident, to_type, false ) ,
366
+ ItemStatus :: NoChange {
367
+ previously_deprecated,
368
+ ident,
369
+ ty,
370
+ ..
371
+ } => ( ident, ty, * previously_deprecated) ,
352
372
_ => unreachable ! ( ) ,
353
373
} ;
354
374
355
375
chain. insert (
356
376
version. inner ,
357
377
ItemStatus :: NoChange {
378
+ previously_deprecated,
358
379
ident : ident. clone ( ) ,
359
380
ty : ty. clone ( ) ,
360
381
} ,
@@ -398,6 +419,7 @@ pub(crate) enum ItemStatus {
398
419
ident : Ident ,
399
420
} ,
400
421
NoChange {
422
+ previously_deprecated : bool ,
401
423
ident : Ident ,
402
424
ty : Type ,
403
425
} ,
0 commit comments