mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 07:00:55 +00:00
Avoid needless_doctest_main on 'extern crate'
This commit is contained in:
parent
2730d64d77
commit
129d0cd0f4
2 changed files with 12 additions and 1 deletions
|
@ -390,8 +390,10 @@ fn check_doc<'a, Events: Iterator<Item = (pulldown_cmark::Event<'a>, Range<usize
|
||||||
headers
|
headers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LEAVE_MAIN_PATTERNS: &[&str] = &["static", "fn main() {}", "extern crate"];
|
||||||
|
|
||||||
fn check_code(cx: &LateContext<'_, '_>, text: &str, span: Span) {
|
fn check_code(cx: &LateContext<'_, '_>, text: &str, span: Span) {
|
||||||
if text.contains("fn main() {") && !(text.contains("static") || text.contains("fn main() {}")) {
|
if text.contains("fn main() {") && !LEAVE_MAIN_PATTERNS.iter().any(|p| text.contains(p)) {
|
||||||
span_lint(cx, NEEDLESS_DOCTEST_MAIN, span, "needless `fn main` in doctest");
|
span_lint(cx, NEEDLESS_DOCTEST_MAIN, span, "needless `fn main` in doctest");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,15 @@ fn bad_doctest() {}
|
||||||
/// assert_eq!(42, ANSWER);
|
/// assert_eq!(42, ANSWER);
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
///
|
||||||
|
/// Neither should this lint because of `extern crate`:
|
||||||
|
/// ```
|
||||||
|
/// #![feature(test)]
|
||||||
|
/// extern crate test;
|
||||||
|
/// fn main() {
|
||||||
|
/// assert_eq(1u8, test::black_box(1));
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
fn no_false_positives() {}
|
fn no_false_positives() {}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
Loading…
Reference in a new issue