File tree Expand file tree Collapse file tree 3 files changed +1
-55
lines changed 
compiler/rustc_passes/src Expand file tree Collapse file tree 3 files changed +1
-55
lines changed Original file line number Diff line number Diff line change @@ -1011,22 +1011,6 @@ impl<'tcx> DeadVisitor<'tcx> {
10111011        parent_item :  Option < LocalDefId > , 
10121012        report_on :  ReportOn , 
10131013    )  { 
1014-         fn  get_parent_if_enum_variant < ' tcx > ( 
1015-             tcx :  TyCtxt < ' tcx > , 
1016-             may_variant :  LocalDefId , 
1017-         )  -> LocalDefId  { 
1018-             if  let  Node :: Variant ( _)  = tcx. hir_node_by_def_id ( may_variant) 
1019-                 && let  Some ( enum_did)  = tcx. opt_parent ( may_variant. to_def_id ( ) ) 
1020-                 && let  Some ( enum_local_id)  = enum_did. as_local ( ) 
1021-                 && let  Node :: Item ( item)  = tcx. hir_node_by_def_id ( enum_local_id) 
1022-                 && let  ItemKind :: Enum ( _,  _)  = item. kind 
1023-             { 
1024-                 enum_local_id
1025-             }  else  { 
1026-                 may_variant
1027-             } 
1028-         } 
1029- 
10301014        let  Some ( & first_item)  = dead_codes. first ( )  else  { 
10311015            return ; 
10321016        } ; 
@@ -1070,9 +1054,6 @@ impl<'tcx> DeadVisitor<'tcx> {
10701054        } ; 
10711055
10721056        let  encl_def_id = parent_item. unwrap_or ( first_item. def_id ) ; 
1073-         // If parent of encl_def_id is an enum, use the parent ID intead. 
1074-         let  encl_def_id = get_parent_if_enum_variant ( tcx,  encl_def_id) ; 
1075- 
10761057        let  ignored_derived_impls =
10771058            if  let  Some ( ign_traits)  = self . ignored_derived_traits . get ( & encl_def_id)  { 
10781059                let  trait_list = ign_traits
Original file line number Diff line number Diff line change @@ -6,22 +6,7 @@ enum Enum {
66    Variant2 , 
77} 
88
9- #[ derive( Debug ) ]  
10- enum  TupleVariant  { 
11-     Variant1 ( i32 ) ,  //~ ERROR: variant `Variant1` is never constructed 
12-     Variant2 , 
13- } 
14- 
15- #[ derive( Debug ) ]  
16- enum  StructVariant  { 
17-     Variant1  {  id :  i32  } ,  //~ ERROR: variant `Variant1` is never constructed 
18-     Variant2 , 
19- } 
20- 
219fn  main ( )  { 
2210    let  e = Enum :: Variant2 ; 
2311    e. clone ( ) ; 
24- 
25-     let  _ = TupleVariant :: Variant2 ; 
26-     let  _ = StructVariant :: Variant2 ; 
2712} 
Original file line number Diff line number Diff line change @@ -13,25 +13,5 @@ note: the lint level is defined here
1313LL | #![deny(dead_code)]
1414   |         ^^^^^^^^^
1515
16- error: variant `Variant1` is never constructed
17-   --> $DIR/unused-variant.rs:11:5
18-    |
19- LL | enum TupleVariant {
20-    |      ------------ variant in this enum
21- LL |     Variant1(i32),
22-    |     ^^^^^^^^
23-    |
24-    = note: `TupleVariant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
25- 
26- error: variant `Variant1` is never constructed
27-   --> $DIR/unused-variant.rs:17:5
28-    |
29- LL | enum StructVariant {
30-    |      ------------- variant in this enum
31- LL |     Variant1 { id: i32 },
32-    |     ^^^^^^^^
33-    |
34-    = note: `StructVariant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
35- 
36- error: aborting due to 3 previous errors
16+ error: aborting due to 1 previous error
3717
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments