@@ -1853,7 +1853,7 @@ pub(crate) fn clean_middle_ty<'tcx>(
1853
1853
ty:: Placeholder ( ..) => panic ! ( "Placeholder" ) ,
1854
1854
ty:: GeneratorWitness ( ..) => panic ! ( "GeneratorWitness" ) ,
1855
1855
ty:: Infer ( ..) => panic ! ( "Infer" ) ,
1856
- ty:: Error ( _) => panic ! ( "Error" ) ,
1856
+ ty:: Error ( _) => rustc_errors :: FatalError . raise ( ) ,
1857
1857
}
1858
1858
}
1859
1859
@@ -1949,40 +1949,52 @@ pub(crate) fn clean_field_with_def_id(
1949
1949
}
1950
1950
1951
1951
pub ( crate ) fn clean_variant_def < ' tcx > ( variant : & ty:: VariantDef , cx : & mut DocContext < ' tcx > ) -> Item {
1952
+ let discriminant = match variant. discr {
1953
+ ty:: VariantDiscr :: Explicit ( def_id) => Some ( Discriminant { expr : None , value : def_id } ) ,
1954
+ ty:: VariantDiscr :: Relative ( _) => None ,
1955
+ } ;
1956
+
1952
1957
let kind = match variant. ctor_kind ( ) {
1953
- Some ( CtorKind :: Const ) => Variant :: CLike ( match variant. discr {
1954
- ty:: VariantDiscr :: Explicit ( def_id) => Some ( Discriminant { expr : None , value : def_id } ) ,
1955
- ty:: VariantDiscr :: Relative ( _) => None ,
1956
- } ) ,
1957
- Some ( CtorKind :: Fn ) => Variant :: Tuple (
1958
+ Some ( CtorKind :: Const ) => VariantKind :: CLike ,
1959
+ Some ( CtorKind :: Fn ) => VariantKind :: Tuple (
1958
1960
variant. fields . iter ( ) . map ( |field| clean_middle_field ( field, cx) ) . collect ( ) ,
1959
1961
) ,
1960
- None => Variant :: Struct ( VariantStruct {
1962
+ None => VariantKind :: Struct ( VariantStruct {
1961
1963
ctor_kind : None ,
1962
1964
fields : variant. fields . iter ( ) . map ( |field| clean_middle_field ( field, cx) ) . collect ( ) ,
1963
1965
} ) ,
1964
1966
} ;
1965
- Item :: from_def_id_and_parts ( variant. def_id , Some ( variant. name ) , VariantItem ( kind) , cx)
1967
+
1968
+ Item :: from_def_id_and_parts (
1969
+ variant. def_id ,
1970
+ Some ( variant. name ) ,
1971
+ VariantItem ( Variant { kind, discriminant } ) ,
1972
+ cx,
1973
+ )
1966
1974
}
1967
1975
1968
1976
fn clean_variant_data < ' tcx > (
1969
1977
variant : & hir:: VariantData < ' tcx > ,
1970
1978
disr_expr : & Option < hir:: AnonConst > ,
1971
1979
cx : & mut DocContext < ' tcx > ,
1972
1980
) -> Variant {
1973
- match variant {
1974
- hir:: VariantData :: Struct ( ..) => Variant :: Struct ( VariantStruct {
1981
+ let discriminant = disr_expr. map ( |disr| Discriminant {
1982
+ expr : Some ( disr. body ) ,
1983
+ value : cx. tcx . hir ( ) . local_def_id ( disr. hir_id ) . to_def_id ( ) ,
1984
+ } ) ;
1985
+
1986
+ let kind = match variant {
1987
+ hir:: VariantData :: Struct ( ..) => VariantKind :: Struct ( VariantStruct {
1975
1988
ctor_kind : None ,
1976
1989
fields : variant. fields ( ) . iter ( ) . map ( |x| clean_field ( x, cx) ) . collect ( ) ,
1977
1990
} ) ,
1978
1991
hir:: VariantData :: Tuple ( ..) => {
1979
- Variant :: Tuple ( variant. fields ( ) . iter ( ) . map ( |x| clean_field ( x, cx) ) . collect ( ) )
1992
+ VariantKind :: Tuple ( variant. fields ( ) . iter ( ) . map ( |x| clean_field ( x, cx) ) . collect ( ) )
1980
1993
}
1981
- hir:: VariantData :: Unit ( ..) => Variant :: CLike ( disr_expr. map ( |disr| Discriminant {
1982
- expr : Some ( disr. body ) ,
1983
- value : cx. tcx . hir ( ) . local_def_id ( disr. hir_id ) . to_def_id ( ) ,
1984
- } ) ) ,
1985
- }
1994
+ hir:: VariantData :: Unit ( ..) => VariantKind :: CLike ,
1995
+ } ;
1996
+
1997
+ Variant { discriminant, kind }
1986
1998
}
1987
1999
1988
2000
fn clean_path < ' tcx > ( path : & hir:: Path < ' tcx > , cx : & mut DocContext < ' tcx > ) -> Path {
0 commit comments