File tree 1 file changed +15
-2
lines changed
1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -262,10 +262,11 @@ pub fn run(mut krate: clean::Crate, dst: Path) -> io::IoResult<()> {
262
262
cache. stack . push ( krate. name . clone ( ) ) ;
263
263
krate = cache. fold_crate ( krate) ;
264
264
{
265
+ let Cache { search_index : ref mut index,
266
+ orphan_methods : ref meths, paths : ref mut paths, ..} = cache;
267
+
265
268
// Attach all orphan methods to the type's definition if the type
266
269
// has since been learned.
267
- let Cache { search_index : ref mut index,
268
- orphan_methods : ref meths, paths : ref paths, ..} = cache;
269
270
for & ( ref pid, ref item) in meths. iter ( ) {
270
271
match paths. find ( pid) {
271
272
Some ( & ( ref fqp, _) ) => {
@@ -280,6 +281,18 @@ pub fn run(mut krate: clean::Crate, dst: Path) -> io::IoResult<()> {
280
281
None => { }
281
282
}
282
283
} ;
284
+
285
+ // Prune the paths that do not appear in the index.
286
+ let mut unseen: HashSet < ast:: NodeId > = paths. keys ( ) . map ( |& id| id) . collect ( ) ;
287
+ for item in index. iter ( ) {
288
+ match item. parent {
289
+ Some ( ref pid) => { unseen. remove ( pid) ; }
290
+ None => { }
291
+ }
292
+ }
293
+ for pid in unseen. iter ( ) {
294
+ paths. remove ( pid) ;
295
+ }
283
296
}
284
297
285
298
// Publish the search index
You can’t perform that action at this time.
0 commit comments