use crate::core::DocContext;
use crate::fold::DocFolder;
use crate::html::markdown::{find_testable_code, ErrorCodes, Ignore, LangString};
-use rustc_middle::lint::LintSource;
+use rustc_middle::lint::LintLevelSource;
use rustc_session::lint;
-pub const CHECK_PRIVATE_ITEMS_DOC_TESTS: Pass = Pass {
+crate const CHECK_PRIVATE_ITEMS_DOC_TESTS: Pass = Pass {
name: "check-private-items-doc-tests",
run: check_private_items_doc_tests,
description: "check private items doc tests",
}
}
-pub fn check_private_items_doc_tests(krate: Crate, cx: &DocContext<'_>) -> Crate {
+crate fn check_private_items_doc_tests(krate: Crate, cx: &DocContext<'_>) -> Crate {
let mut coll = PrivateItemDocTestLinter::new(cx);
coll.fold_crate(krate)
look_for_tests(&cx, &dox, &item);
- self.fold_item_recur(item)
+ Some(self.fold_item_recur(item))
}
}
}
}
-pub fn should_have_doc_example(cx: &DocContext<'_>, item: &clean::Item) -> bool {
- if matches!(item.inner,
+crate fn should_have_doc_example(cx: &DocContext<'_>, item: &clean::Item) -> bool {
+ if matches!(
+ item.kind,
clean::StructFieldItem(_)
- | clean::VariantItem(_)
- | clean::AssocConstItem(_, _)
- | clean::AssocTypeItem(_, _)
- | clean::TypedefItem(_, _)
- | clean::StaticItem(_)
- | clean::ConstantItem(_)
- | clean::ExternCrateItem(_, _)
- | clean::ImportItem(_)
- | clean::PrimitiveItem(_)
- | clean::KeywordItem(_)
+ | clean::VariantItem(_)
+ | clean::AssocConstItem(_, _)
+ | clean::AssocTypeItem(_, _)
+ | clean::TypedefItem(_, _)
+ | clean::StaticItem(_)
+ | clean::ConstantItem(_)
+ | clean::ExternCrateItem(_, _)
+ | clean::ImportItem(_)
+ | clean::PrimitiveItem(_)
+ | clean::KeywordItem(_)
) {
return false;
}
let hir_id = cx.tcx.hir().local_def_id_to_hir_id(item.def_id.expect_local());
let (level, source) =
cx.tcx.lint_level_at_node(lint::builtin::MISSING_DOC_CODE_EXAMPLES, hir_id);
- level != lint::Level::Allow || matches!(source, LintSource::Default)
+ level != lint::Level::Allow || matches!(source, LintLevelSource::Default)
}
-pub fn look_for_tests<'tcx>(cx: &DocContext<'tcx>, dox: &str, item: &Item) {
+crate fn look_for_tests<'tcx>(cx: &DocContext<'tcx>, dox: &str, item: &Item) {
let hir_id = match cx.as_local_hir_id(item.def_id) {
Some(hir_id) => hir_id,
None => {
find_testable_code(&dox, &mut tests, ErrorCodes::No, false, None);
- if tests.found_tests == 0
- && rustc_feature::UnstableFeatures::from_environment().is_nightly_build()
- {
+ if tests.found_tests == 0 && cx.tcx.sess.is_nightly_build() {
if should_have_doc_example(cx, &item) {
debug!("reporting error for {:?} (hir_id={:?})", item, hir_id);
let sp = span_of_attrs(&item.attrs).unwrap_or(item.source.span());