Rollup merge of #78984 - GuillaumeGomez:rustdoc-check-option, r=jyn514

Rustdoc check option

The ultimate goal behind this option would be to have `rustdoc --check` being run when you use `cargo check` as a second step.

r? `@jyn514`
This commit is contained in:
Guillaume Gomez 2020-11-13 15:26:16 +01:00 committed by GitHub
commit 804ca1d5b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 154 additions and 0 deletions

View file

@ -0,0 +1,21 @@
// compile-flags: -Z unstable-options --check
#![deny(missing_docs)]
#![deny(rustdoc)]
//! ```rust,testharness
//~^ ERROR
//! let x = 12;
//! ```
pub fn foo() {}
//~^ ERROR
//~^^ ERROR
/// hello
//~^ ERROR
///
/// ```rust,testharness
/// let x = 12;
/// ```
pub fn bar() {}

View file

@ -0,0 +1,57 @@
error: missing documentation for a function
--> $DIR/check-fail.rs:11:1
|
LL | pub fn foo() {}
| ^^^^^^^^^^^^
|
note: the lint level is defined here
--> $DIR/check-fail.rs:3:9
|
LL | #![deny(missing_docs)]
| ^^^^^^^^^^^^
error: missing code example in this documentation
--> $DIR/check-fail.rs:11:1
|
LL | pub fn foo() {}
| ^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> $DIR/check-fail.rs:4:9
|
LL | #![deny(rustdoc)]
| ^^^^^^^
= note: `#[deny(missing_doc_code_examples)]` implied by `#[deny(rustdoc)]`
error: unknown attribute `testharness`. Did you mean `test_harness`?
--> $DIR/check-fail.rs:6:1
|
LL | / //! ```rust,testharness
LL | |
LL | | //! let x = 12;
LL | | //! ```
| |_______^
|
note: the lint level is defined here
--> $DIR/check-fail.rs:4:9
|
LL | #![deny(rustdoc)]
| ^^^^^^^
= note: `#[deny(invalid_codeblock_attributes)]` implied by `#[deny(rustdoc)]`
= help: the code block will either not be tested if not marked as a rust one or the code will be wrapped inside a main function
error: unknown attribute `testharness`. Did you mean `test_harness`?
--> $DIR/check-fail.rs:15:1
|
LL | / /// hello
LL | |
LL | | ///
LL | | /// ```rust,testharness
LL | | /// let x = 12;
LL | | /// ```
| |_______^
|
= help: the code block will either not be tested if not marked as a rust one or the code will be wrapped inside a main function
error: aborting due to 4 previous errors

View file

@ -0,0 +1,11 @@
// check-pass
// compile-flags: -Z unstable-options --check
#![warn(missing_docs)]
//~^ WARN
//~^^ WARN
#![warn(rustdoc)]
pub fn foo() {}
//~^ WARN
//~^^ WARN

View file

@ -0,0 +1,49 @@
warning: missing documentation for the crate
--> $DIR/check.rs:4:1
|
LL | / #![warn(missing_docs)]
LL | |
LL | |
LL | | #![warn(rustdoc)]
LL | |
LL | | pub fn foo() {}
| |_______________^
|
note: the lint level is defined here
--> $DIR/check.rs:4:9
|
LL | #![warn(missing_docs)]
| ^^^^^^^^^^^^
warning: missing documentation for a function
--> $DIR/check.rs:9:1
|
LL | pub fn foo() {}
| ^^^^^^^^^^^^
warning: missing code example in this documentation
--> $DIR/check.rs:4:1
|
LL | / #![warn(missing_docs)]
LL | |
LL | |
LL | | #![warn(rustdoc)]
LL | |
LL | | pub fn foo() {}
| |_______________^
|
note: the lint level is defined here
--> $DIR/check.rs:7:9
|
LL | #![warn(rustdoc)]
| ^^^^^^^
= note: `#[warn(missing_doc_code_examples)]` implied by `#[warn(rustdoc)]`
warning: missing code example in this documentation
--> $DIR/check.rs:9:1
|
LL | pub fn foo() {}
| ^^^^^^^^^^^^^^^
warning: 4 warnings emitted

View file

@ -0,0 +1,5 @@
// compile-flags: -Z unstable-options --check
// @!has check/fn.foo.html
// @!has check/index.html
pub fn foo() {}