diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-09-27 10:45:09 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-09-27 10:45:09 -0700 |
| commit | a925762c3b1c1f7b3a272b7294c0ec9b4eb4fb6d (patch) | |
| tree | 3a21813dd7d6b8d1a9007498278ce8f2a872326b | |
| parent | c5e03bec4d1e7655fc0fd13922fbebb3001f6bac (diff) | |
| download | rust-a925762c3b1c1f7b3a272b7294c0ec9b4eb4fb6d.tar.gz rust-a925762c3b1c1f7b3a272b7294c0ec9b4eb4fb6d.zip | |
rustdoc: Fix searching for default methods
Closes #9566
| -rw-r--r-- | src/librustdoc/html/render.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 717aeaa1fd3..24437c3a97f 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -259,8 +259,12 @@ impl<'self> DocFolder for Cache { if self.parent_stack.len() == 0 { None } else { - Some((Some(*self.parent_stack.last()), - self.stack.as_slice())) + let last = self.parent_stack.last(); + let amt = match self.paths.find(last) { + Some(&(_, "trait")) => self.stack.len() - 1, + Some(*) | None => self.stack.len(), + }; + Some((Some(*last), self.stack.slice_to(amt))) } } _ => Some((None, self.stack.as_slice())) |
