@@ -44,6 +44,7 @@ use std::fs::{self, File};
44
44
use std:: io:: prelude:: * ;
45
45
use std:: io:: { self , BufWriter , BufReader } ;
46
46
use std:: iter:: repeat;
47
+ use std:: mem;
47
48
use std:: path:: { PathBuf , Path } ;
48
49
use std:: str;
49
50
use std:: sync:: Arc ;
@@ -383,9 +384,7 @@ pub fn run(mut krate: clean::Crate,
383
384
privmod : false ,
384
385
public_items : public_items,
385
386
orphan_methods : Vec :: new ( ) ,
386
- traits : analysis. as_ref ( ) . map ( |a| {
387
- a. external_traits . borrow_mut ( ) . take ( ) . unwrap ( )
388
- } ) . unwrap_or ( HashMap :: new ( ) ) ,
387
+ traits : mem:: replace ( & mut krate. external_traits , HashMap :: new ( ) ) ,
389
388
typarams : analysis. as_ref ( ) . map ( |a| {
390
389
a. external_typarams . borrow_mut ( ) . take ( ) . unwrap ( )
391
390
} ) . unwrap_or ( HashMap :: new ( ) ) ,
@@ -2239,7 +2238,7 @@ fn render_impl(w: &mut fmt::Formatter, i: &Impl) -> fmt::Result {
2239
2238
}
2240
2239
2241
2240
try!( write ! ( w, "<div class='impl-items'>" ) ) ;
2242
- for trait_item in & i. impl_ . items {
2241
+ for trait_item in i. impl_ . items . iter ( ) {
2243
2242
try!( doctraititem ( w, trait_item, true ) ) ;
2244
2243
}
2245
2244
@@ -2262,17 +2261,10 @@ fn render_impl(w: &mut fmt::Formatter, i: &Impl) -> fmt::Result {
2262
2261
// default methods which weren't overridden in the implementation block.
2263
2262
// FIXME: this also needs to be done for associated types, whenever defaults
2264
2263
// for them work.
2265
- match i. impl_ . trait_ {
2266
- Some ( clean:: ResolvedPath { did, .. } ) => {
2267
- try!( {
2268
- match cache ( ) . traits . get ( & did) {
2269
- Some ( t) => try!( render_default_methods ( w, t, & i. impl_ ) ) ,
2270
- None => { }
2271
- }
2272
- Ok ( ( ) )
2273
- } )
2264
+ if let Some ( clean:: ResolvedPath { did, .. } ) = i. impl_ . trait_ {
2265
+ if let Some ( t) = cache ( ) . traits . get ( & did) {
2266
+ try!( render_default_methods ( w, t, & i. impl_ ) ) ;
2274
2267
}
2275
- Some ( ..) | None => { }
2276
2268
}
2277
2269
try!( write ! ( w, "</div>" ) ) ;
2278
2270
Ok ( ( ) )
0 commit comments