about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Howell <michael@notriddle.com>2022-06-30 10:35:50 -0700
committerMichael Howell <michael@notriddle.com>2022-06-30 10:35:50 -0700
commitcd7bd8bf0a4d22ed78ab0dd8217d940b41e7d542 (patch)
treede0604b0f7e8be1068021692e752cd8770e37d89 /src
parent7425fb293f510a6f138e82a963a3bc599a5b9e1c (diff)
downloadrust-cd7bd8bf0a4d22ed78ab0dd8217d940b41e7d542.tar.gz
rust-cd7bd8bf0a4d22ed78ab0dd8217d940b41e7d542.zip
rustdoc: filter '_ lifetimes from ty::PolyTraitRef
Fixes #98697
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/clean/mod.rs2
-rw-r--r--src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs9
-rw-r--r--src/test/rustdoc/issue-98697.rs13
3 files changed, 23 insertions, 1 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs
index 12467001271..6ee725edcfc 100644
--- a/src/librustdoc/clean/mod.rs
+++ b/src/librustdoc/clean/mod.rs
@@ -167,7 +167,7 @@ fn clean_poly_trait_ref_with_bindings<'tcx>(
         .collect_referenced_late_bound_regions(&poly_trait_ref)
         .into_iter()
         .filter_map(|br| match br {
-            ty::BrNamed(_, name) => Some(GenericParamDef {
+            ty::BrNamed(_, name) if name != kw::UnderscoreLifetime => Some(GenericParamDef {
                 name,
                 kind: GenericParamDefKind::Lifetime { outlives: vec![] },
             }),
diff --git a/src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs b/src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs
new file mode 100644
index 00000000000..22cbeae7266
--- /dev/null
+++ b/src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs
@@ -0,0 +1,9 @@
+/// When reexporting this function, make sure the anonymous lifetimes are not rendered.
+///
+/// https://github.com/rust-lang/rust/issues/98697
+pub fn repro<F>()
+where
+    F: Fn(&str),
+{
+    unimplemented!()
+}
diff --git a/src/test/rustdoc/issue-98697.rs b/src/test/rustdoc/issue-98697.rs
new file mode 100644
index 00000000000..25ab55acd77
--- /dev/null
+++ b/src/test/rustdoc/issue-98697.rs
@@ -0,0 +1,13 @@
+// aux-build:issue-98697-reexport-with-anonymous-lifetime.rs
+// ignore-cross-compile
+
+// When reexporting a function with a HRTB with anonymous lifetimes,
+// make sure the anonymous lifetimes are not rendered.
+//
+// https://github.com/rust-lang/rust/issues/98697
+
+extern crate issue_98697_reexport_with_anonymous_lifetime;
+
+// @has issue_98697/fn.repro.html '//pre[@class="rust fn"]/code' 'fn repro<F>() where F: Fn(&str)'
+// @!has issue_98697/fn.repro.html '//pre[@class="rust fn"]/code' 'for<'
+pub use issue_98697_reexport_with_anonymous_lifetime::repro;