From 5f464bb7f2d3656837a6fa4f6d2265a86e02e5b4 Mon Sep 17 00:00:00 2001 From: Hans <49440977+hnj2@users.noreply.github.com> Date: Wed, 8 Sep 2021 01:09:15 +0200 Subject: [PATCH] Don't lint about missing code examples in derived traits Fixes #81775 --- src/librustdoc/passes/doc_test_lints.rs | 1 + src/test/rustdoc-ui/lint-missing-doc-code-example.rs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/librustdoc/passes/doc_test_lints.rs b/src/librustdoc/passes/doc_test_lints.rs index 1b5ec1b08fab0..279d0dbda82ee 100644 --- a/src/librustdoc/passes/doc_test_lints.rs +++ b/src/librustdoc/passes/doc_test_lints.rs @@ -96,6 +96,7 @@ crate fn should_have_doc_example(cx: &DocContext<'_>, item: &clean::Item) -> boo if cx.tcx.hir().attrs(hir_id).lists(sym::doc).has_word(sym::hidden) || inherits_doc_hidden(cx.tcx, hir_id) + || cx.tcx.hir().span(hir_id).in_derive_expansion() { return false; } diff --git a/src/test/rustdoc-ui/lint-missing-doc-code-example.rs b/src/test/rustdoc-ui/lint-missing-doc-code-example.rs index 7dd2ebfedbbd7..fac6342cd24b9 100644 --- a/src/test/rustdoc-ui/lint-missing-doc-code-example.rs +++ b/src/test/rustdoc-ui/lint-missing-doc-code-example.rs @@ -78,6 +78,15 @@ impl Clone for Struct { } + +/// doc +/// +/// ``` +/// println!("hello"); +/// ``` +#[derive(Clone)] +pub struct NiceStruct; + #[doc(hidden)] pub mod foo { pub fn bar() {}