File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Expand file tree Collapse file tree 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<()> {
262262 cache. stack . push ( krate. name . clone ( ) ) ;
263263 krate = cache. fold_crate ( krate) ;
264264 {
265+ let Cache { search_index : ref mut index,
266+ orphan_methods : ref meths, paths : ref mut paths, ..} = cache;
267+
265268 // Attach all orphan methods to the type's definition if the type
266269 // has since been learned.
267- let Cache { search_index : ref mut index,
268- orphan_methods : ref meths, paths : ref paths, ..} = cache;
269270 for & ( ref pid, ref item) in meths. iter ( ) {
270271 match paths. find ( pid) {
271272 Some ( & ( ref fqp, _) ) => {
@@ -280,6 +281,18 @@ pub fn run(mut krate: clean::Crate, dst: Path) -> io::IoResult<()> {
280281 None => { }
281282 }
282283 } ;
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+ }
283296 }
284297
285298 // Publish the search index
You can’t perform that action at this time.
0 commit comments