blob: 520ddbe16b8293b6f4a0be3b1eccba8ac04638c1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
//@aux-build: proc_macros.rs
#![warn(clippy::missing_docs_in_private_items)]
#![allow(dead_code)]
#![feature(associated_type_defaults)]
//! Some garbage docs for the crate here
#![doc = "More garbage"]
extern crate proc_macros;
use proc_macros::with_span;
struct Foo {
a: isize,
b: isize,
}
pub struct PubFoo {
pub a: isize,
b: isize,
}
#[allow(clippy::missing_docs_in_private_items)]
pub struct PubFoo2 {
pub a: isize,
pub c: isize,
}
/// dox
pub trait A {
/// dox
fn foo(&self);
/// dox
fn foo_with_impl(&self) {}
}
#[allow(clippy::missing_docs_in_private_items)]
trait B {
fn foo(&self);
fn foo_with_impl(&self) {}
}
pub trait C {
fn foo(&self);
fn foo_with_impl(&self) {}
}
#[allow(clippy::missing_docs_in_private_items)]
pub trait D {
fn dummy(&self) {}
}
/// dox
pub trait E: Sized {
type AssociatedType;
type AssociatedTypeDef = Self;
/// dox
type DocumentedType;
/// dox
type DocumentedTypeDef = Self;
/// dox
fn dummy(&self) {}
}
impl Foo {
pub fn new() -> Self {
Foo { a: 0, b: 0 }
}
fn bar() {}
}
impl PubFoo {
pub fn foo() {}
/// dox
pub fn foo1() {}
#[must_use = "yep"]
fn foo2() -> u32 {
1
}
#[allow(clippy::missing_docs_in_private_items)]
pub fn foo3() {}
}
#[allow(clippy::missing_docs_in_private_items)]
trait F {
fn a();
fn b(&self);
}
// should need to redefine documentation for implementations of traits
impl F for Foo {
fn a() {}
fn b(&self) {}
}
fn main() {}
// don't lint proc macro output
with_span!(span
pub struct FooPm;
impl FooPm {
pub fn foo() {}
pub const fn bar() {}
pub const X: u32 = 0;
}
);
|