diff --git a/compiler/rustc_session/src/lint/builtin.rs b/compiler/rustc_session/src/lint/builtin.rs
index ce2a14b4481..164df22c5c3 100644
--- a/compiler/rustc_session/src/lint/builtin.rs
+++ b/compiler/rustc_session/src/lint/builtin.rs
@@ -1887,7 +1887,7 @@ declare_lint! {
///
/// [rustdoc book]: ../../../rustdoc/lints.html#invalid_html_tags
pub INVALID_HTML_TAGS,
- Warn,
+ Allow,
"detects invalid HTML tags in doc comments"
}
diff --git a/src/doc/rustdoc/src/lints.md b/src/doc/rustdoc/src/lints.md
index d6ae665ba05..d8c0bab2259 100644
--- a/src/doc/rustdoc/src/lints.md
+++ b/src/doc/rustdoc/src/lints.md
@@ -253,10 +253,12 @@ typo mistakes for some common attributes.
## invalid_html_tags
-This lint **warns by default**. It detects unclosed or invalid HTML tags.
-For example:
+This lint is **allowed by default** and is **nightly-only**. It detects unclosed
+or invalid HTML tags. For example:
```rust
+#![warn(invalid_html_tags)]
+
///
///
pub fn foo() {}
diff --git a/src/librustdoc/passes/html_tags.rs b/src/librustdoc/passes/html_tags.rs
index 0cffaee1c4e..1b48ce622b1 100644
--- a/src/librustdoc/passes/html_tags.rs
+++ b/src/librustdoc/passes/html_tags.rs
@@ -5,9 +5,8 @@ use crate::fold::DocFolder;
use crate::html::markdown::opts;
use core::ops::Range;
use pulldown_cmark::{Event, Parser};
-// use rustc_hir::hir_id::HirId;
+use rustc_feature::UnstableFeatures;
use rustc_session::lint;
-// use rustc_span::Span;
pub const CHECK_INVALID_HTML_TAGS: Pass = Pass {
name: "check-invalid-html-tags",
@@ -26,9 +25,13 @@ impl<'a, 'tcx> InvalidHtmlTagsLinter<'a, 'tcx> {
}
pub fn check_invalid_html_tags(krate: Crate, cx: &DocContext<'_>) -> Crate {
- let mut coll = InvalidHtmlTagsLinter::new(cx);
+ if !UnstableFeatures::from_environment().is_nightly_build() {
+ krate
+ } else {
+ let mut coll = InvalidHtmlTagsLinter::new(cx);
- coll.fold_crate(krate)
+ coll.fold_crate(krate)
+ }
}
const ALLOWED_UNCLOSED: &[&str] = &[