@@ -1440,23 +1440,23 @@ impl AllTypes {
14401440 }
14411441 }
14421442
1443- fn append ( & mut self , item_name : String , item_type : & str ) {
1443+ fn append ( & mut self , item_name : String , item_type : & ItemType ) {
14441444 let mut url: Vec < _ > = item_name. split ( "::" ) . skip ( 1 ) . collect ( ) ;
14451445 if let Some ( name) = url. pop ( ) {
14461446 let new_url = format ! ( "{}/{}.{}.html" , url. join( "/" ) , item_type, name) ;
14471447 url. push ( name) ;
14481448 let name = url. join ( "::" ) ;
1449- match item_type {
1450- "struct" => self . structs . insert ( ItemEntry :: new ( new_url, name) ) ,
1451- "enum" => self . enums . insert ( ItemEntry :: new ( new_url, name) ) ,
1452- "union" => self . unions . insert ( ItemEntry :: new ( new_url, name) ) ,
1453- "primitive" => self . primitives . insert ( ItemEntry :: new ( new_url, name) ) ,
1454- "trait" => self . traits . insert ( ItemEntry :: new ( new_url, name) ) ,
1455- "macro" => self . macros . insert ( ItemEntry :: new ( new_url, name) ) ,
1456- "fn" => self . functions . insert ( ItemEntry :: new ( new_url, name) ) ,
1457- "typedef" => self . typedefs . insert ( ItemEntry :: new ( new_url, name) ) ,
1458- "static" => self . statics . insert ( ItemEntry :: new ( new_url, name) ) ,
1459- "constant" => self . constants . insert ( ItemEntry :: new ( new_url, name) ) ,
1449+ match * item_type {
1450+ ItemType :: Struct => self . structs . insert ( ItemEntry :: new ( new_url, name) ) ,
1451+ ItemType :: Enum => self . enums . insert ( ItemEntry :: new ( new_url, name) ) ,
1452+ ItemType :: Union => self . unions . insert ( ItemEntry :: new ( new_url, name) ) ,
1453+ ItemType :: Primitive => self . primitives . insert ( ItemEntry :: new ( new_url, name) ) ,
1454+ ItemType :: Trait => self . traits . insert ( ItemEntry :: new ( new_url, name) ) ,
1455+ ItemType :: Macro => self . macros . insert ( ItemEntry :: new ( new_url, name) ) ,
1456+ ItemType :: Function => self . functions . insert ( ItemEntry :: new ( new_url, name) ) ,
1457+ ItemType :: Typedef => self . typedefs . insert ( ItemEntry :: new ( new_url, name) ) ,
1458+ ItemType :: Static => self . statics . insert ( ItemEntry :: new ( new_url, name) ) ,
1459+ ItemType :: Constant => self . constants . insert ( ItemEntry :: new ( new_url, name) ) ,
14601460 _ => true ,
14611461 } ;
14621462 }
@@ -1562,8 +1562,7 @@ impl Context {
15621562 }
15631563 }
15641564
1565- let mut w = BufWriter :: new ( File :: create ( & final_file)
1566- . expect ( "failed to create all.html" ) ) ;
1565+ let mut w = BufWriter :: new ( try_err ! ( File :: create( & final_file) , & final_file) ) ;
15671566 let mut root_path = self . dst . to_str ( ) . expect ( "invalid path" ) . to_owned ( ) ;
15681567 if !root_path. ends_with ( '/' ) {
15691568 root_path. push ( '/' ) ;
@@ -1586,10 +1585,11 @@ impl Context {
15861585 } else {
15871586 String :: new ( )
15881587 } ;
1589- layout:: render ( & mut w, & self . shared . layout ,
1590- & page, & sidebar, & all,
1591- self . shared . css_file_extension . is_some ( ) ,
1592- & self . shared . themes ) . expect ( "layout rendering failed" ) ;
1588+ try_err ! ( layout:: render( & mut w, & self . shared. layout,
1589+ & page, & sidebar, & all,
1590+ self . shared. css_file_extension. is_some( ) ,
1591+ & self . shared. themes) ,
1592+ & final_file) ;
15931593 Ok ( ( ) )
15941594 }
15951595
@@ -1728,7 +1728,7 @@ impl Context {
17281728 let mut dst = try_err ! ( File :: create( & joint_dst) , & joint_dst) ;
17291729 try_err ! ( dst. write_all( & buf) , & joint_dst) ;
17301730
1731- all. append ( full_path ( self , & item) , item_type. css_class ( ) ) ;
1731+ all. append ( full_path ( self , & item) , & item_type) ;
17321732 // Redirect from a sane URL using the namespace to Rustdoc's
17331733 // URL for the page.
17341734 let redir_name = format ! ( "{}.{}.html" , name, item_type. name_space( ) ) ;
@@ -3733,9 +3733,8 @@ impl<'a> fmt::Display for Sidebar<'a> {
37333733 "<div class='block version'>\
37343734 <p>Version {}</p>\
37353735 </div>
3736- <a id='all-types' href='all{} .html'><p>See all {}'s items</p></a>" ,
3736+ <a id='all-types' href='all.html'><p>See all {}'s items</p></a>" ,
37373737 version,
3738- cx. shared. resource_suffix,
37393738 it. name. as_ref( ) . unwrap( ) ) ?;
37403739 }
37413740 }
0 commit comments