Skip to content

Commit

Permalink
Don't collect return-position impl traits for documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
compiler-errors committed Apr 4, 2023
1 parent 7c96e40 commit 72ef85d
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/librustdoc/visit_ast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -421,12 +421,20 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
| hir::ItemKind::Struct(..)
| hir::ItemKind::Union(..)
| hir::ItemKind::TyAlias(..)
| hir::ItemKind::OpaqueTy(..)
| hir::ItemKind::OpaqueTy(hir::OpaqueTy {
origin: hir::OpaqueTyOrigin::TyAlias, ..
})
| hir::ItemKind::Static(..)
| hir::ItemKind::Trait(..)
| hir::ItemKind::TraitAlias(..) => {
self.add_to_current_mod(item, renamed, import_id);
}
hir::ItemKind::OpaqueTy(hir::OpaqueTy {
origin: hir::OpaqueTyOrigin::AsyncFn(_) | hir::OpaqueTyOrigin::FnReturn(_),
..
}) => {
// return-position impl traits are never nameable, and should never be documented.
}
hir::ItemKind::Const(..) => {
// Underscore constants do not correspond to a nameable item and
// so are never useful in documentation.
Expand Down
15 changes: 15 additions & 0 deletions tests/rustdoc/async-fn-opaque-item.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// compile-flags: --document-private-items --crate-type=lib
// edition: 2021

// Issue 109931 -- test against accidentally documenting the `impl Future`
// that comes from an async fn desugaring.

// Check that we don't document an unnamed opaque type
// @!has async_fn_opaque_item/opaque..html

// Checking there is only a "Functions" header and no "Opaque types".
// @has async_fn_opaque_item/index.html
// @count - '//*[@class="small-section-header"]' 1
// @has - '//*[@class="small-section-header"]' 'Functions'

pub async fn test() {}

0 comments on commit 72ef85d

Please sign in to comment.