about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-07-01 06:05:55 +0200
committerGitHub <noreply@github.com>2022-07-01 06:05:55 +0200
commite59693a0460fa1642fe650ff298c6b9479a60f0d (patch)
tree1a930bca12528545b0727bf0cdd90c929fc5a37b /src
parent04202319896483098ded425914c75c2364affb00 (diff)
parentcd7bd8bf0a4d22ed78ab0dd8217d940b41e7d542 (diff)
downloadrust-e59693a0460fa1642fe650ff298c6b9479a60f0d.tar.gz
rust-e59693a0460fa1642fe650ff298c6b9479a60f0d.zip
Rollup merge of #98727 - notriddle:notriddle/issue-98697, r=GuillaumeGomez
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;