diff --git a/src/librustdoc/html/render/span_map.rs b/src/librustdoc/html/render/span_map.rs
index b5502309560..02a52b2f98b 100644
--- a/src/librustdoc/html/render/span_map.rs
+++ b/src/librustdoc/html/render/span_map.rs
@@ -5,7 +5,7 @@
use rustc_hir::def::{DefKind, Res};
use rustc_hir::def_id::DefId;
use rustc_hir::intravisit::{self, Visitor};
-use rustc_hir::{ExprKind, GenericParam, HirId, Mod, Node};
+use rustc_hir::{ExprKind, Generics, HirId, Mod, Node, WherePredicate};
use rustc_middle::hir::nested_filter;
use rustc_middle::ty::TyCtxt;
use rustc_span::Span;
@@ -100,7 +100,17 @@ fn nested_visit_map(&mut self) -> Self::Map {
self.tcx.hir()
}
- fn visit_generic_param(&mut self, _: &'tcx GenericParam<'tcx>) {}
+ fn visit_generics(&mut self, g: &'tcx Generics<'tcx>) {
+ for predicate in g.predicates {
+ if let WherePredicate::BoundPredicate(w) = predicate {
+ for bound in w.bounds {
+ if let Some(trait_ref) = bound.trait_ref() {
+ self.handle_path(trait_ref.path, None);
+ }
+ }
+ }
+ }
+ }
fn visit_path(&mut self, path: &'tcx rustc_hir::Path<'tcx>, _id: HirId) {
self.handle_path(path, None);