about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHans <49440977+hnj2@users.noreply.github.com>2021-09-08 01:09:15 +0200
committerHans Niklas Jacob <hnj@posteo.de>2021-09-17 00:39:15 +0200
commit5f464bb7f2d3656837a6fa4f6d2265a86e02e5b4 (patch)
treee1071cb3c40132fa358efdd6459d9b2fae373f91
parente4828d5b7f745a9e867a9b0cc7f080f287bcf55d (diff)
downloadrust-5f464bb7f2d3656837a6fa4f6d2265a86e02e5b4.tar.gz
rust-5f464bb7f2d3656837a6fa4f6d2265a86e02e5b4.zip
Don't lint about missing code examples in derived traits
Fixes #81775
-rw-r--r--src/librustdoc/passes/doc_test_lints.rs1
-rw-r--r--src/test/rustdoc-ui/lint-missing-doc-code-example.rs9
2 files changed, 10 insertions, 0 deletions
diff --git a/src/librustdoc/passes/doc_test_lints.rs b/src/librustdoc/passes/doc_test_lints.rs
index 1b5ec1b08fa..279d0dbda82 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 7dd2ebfedbb..fac6342cd24 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() {}