2 use crate::core
::DocContext
;
3 use crate::fold
::DocFolder
;
4 use crate::passes
::{look_for_tests, Pass}
;
6 pub const CHECK_PRIVATE_ITEMS_DOC_TESTS
: Pass
= Pass
{
7 name
: "check-private-items-doc-tests",
8 run
: check_private_items_doc_tests
,
9 description
: "check private items doc tests",
12 struct PrivateItemDocTestLinter
<'a
, 'tcx
> {
13 cx
: &'a DocContext
<'tcx
>,
16 impl<'a
, 'tcx
> PrivateItemDocTestLinter
<'a
, 'tcx
> {
17 fn new(cx
: &'a DocContext
<'tcx
>) -> Self {
18 PrivateItemDocTestLinter { cx }
22 pub fn check_private_items_doc_tests(krate
: Crate
, cx
: &DocContext
<'_
>) -> Crate
{
23 let mut coll
= PrivateItemDocTestLinter
::new(cx
);
25 coll
.fold_crate(krate
)
28 impl<'a
, 'tcx
> DocFolder
for PrivateItemDocTestLinter
<'a
, 'tcx
> {
29 fn fold_item(&mut self, item
: Item
) -> Option
<Item
> {
31 let dox
= item
.attrs
.collapsed_doc_value().unwrap_or_else(String
::new
);
33 look_for_tests(&cx
, &dox
, &item
, false);
35 self.fold_item_recur(item
)