@@ -17,7 +17,7 @@ use rustc_hir::def::{CtorOf, DefKind as HirDefKind, Res};
1717use rustc_hir:: def_id:: { DefId , LOCAL_CRATE } ;
1818use rustc_hir:: intravisit:: { self , Visitor } ;
1919use rustc_hir:: Node ;
20- use rustc_hir_pretty:: { fn_to_string, ty_to_string} ;
20+ use rustc_hir_pretty:: { enum_def_to_string , fn_to_string, ty_to_string} ;
2121use rustc_middle:: hir:: map:: Map ;
2222use rustc_middle:: middle:: cstore:: ExternCrate ;
2323use rustc_middle:: middle:: privacy:: AccessLevels ;
@@ -292,13 +292,12 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> {
292292 attributes : lower_attributes ( item. attrs . to_vec ( ) , self ) ,
293293 } ) )
294294 }
295- hir:: ItemKind :: Enum ( ref def, _ ) => {
295+ hir:: ItemKind :: Enum ( ref def, ref generics ) => {
296296 let name = item. ident . to_string ( ) ;
297297 let qualname = format ! ( "::{}" , self . tcx. def_path_str( def_id) ) ;
298298 filter ! ( self . span_utils, item. ident. span) ;
299- let variants_str =
300- def. variants . iter ( ) . map ( |v| v. ident . to_string ( ) ) . collect :: < Vec < _ > > ( ) . join ( ", " ) ;
301- let value = format ! ( "{}::{{{}}}" , name, variants_str) ;
299+ let value =
300+ enum_def_to_string ( def, generics, item. ident . name , item. span , & item. vis ) ;
302301 Some ( Data :: DefData ( Def {
303302 kind : DefKind :: Enum ,
304303 id : id_from_def_id ( def_id) ,
0 commit comments