diff options
| author | Oliver Middleton <olliemail27@gmail.com> | 2016-06-23 23:17:35 +0100 |
|---|---|---|
| committer | Oliver Middleton <olliemail27@gmail.com> | 2016-06-23 23:25:03 +0100 |
| commit | 1efcde5de01880b5d0cd45bdaca699c0727f5976 (patch) | |
| tree | 767dfcd137806828f0f607a588afee891367f172 /src/librustdoc/html/render.rs | |
| parent | 6dcc2c1dee3b58afd44665d1df4a248bdd04cce5 (diff) | |
| download | rust-1efcde5de01880b5d0cd45bdaca699c0727f5976.tar.gz rust-1efcde5de01880b5d0cd45bdaca699c0727f5976.zip | |
rustdoc: Fix panic caused by doc(hidden) trait methods
Diffstat (limited to 'src/librustdoc/html/render.rs')
| -rw-r--r-- | src/librustdoc/html/render.rs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 0d390a87d20..f63d37b3403 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -2652,16 +2652,19 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi if !is_static || render_static { if !is_default_item { if let Some(t) = trait_ { - let it = t.items.iter().find(|i| i.name == item.name).unwrap(); - // We need the stability of the item from the trait because - // impls can't have a stability. - document_stability(w, cx, it)?; - if item.doc_value().is_some() { - document_full(w, item)?; - } else { - // In case the item isn't documented, - // provide short documentation from the trait. - document_short(w, it, link)?; + // The trait item may have been stripped so we might not + // find any documentation or stability for it. + if let Some(it) = t.items.iter().find(|i| i.name == item.name) { + // We need the stability of the item from the trait + // because impls can't have a stability. + document_stability(w, cx, it)?; + if item.doc_value().is_some() { + document_full(w, item)?; + } else { + // In case the item isn't documented, + // provide short documentation from the trait. + document_short(w, it, link)?; + } } } else { document(w, cx, item)?; |
