Add regression test for #112308

This commit is contained in:
Guillaume Gomez 2023-06-06 11:50:24 +02:00
parent 4711c3078a
commit 550fe634bf
3 changed files with 31 additions and 26 deletions

View File

@ -0,0 +1 @@
pub struct Foo;

View File

@ -1,5 +1,6 @@
// When denying at the crate level, be sure to not get random warnings from the // When denying at the crate level, be sure to not get random warnings from the
// injected intrinsics by the compiler. // injected intrinsics by the compiler.
// aux-build:missing_docs.rs
#![deny(missing_docs)] #![deny(missing_docs)]
#![allow(dead_code)] #![allow(dead_code)]
#![feature(associated_type_defaults, extern_types)] #![feature(associated_type_defaults, extern_types)]
@ -8,6 +9,9 @@
//! Some garbage docs for the crate here //! Some garbage docs for the crate here
#![doc="More garbage"] #![doc="More garbage"]
// There should be not "missing_docs" warning on "pub extern crate".
pub extern crate missing_docs;
type Typedef = String; type Typedef = String;
pub type PubTypedef = String; //~ ERROR: missing documentation for a type alias pub type PubTypedef = String; //~ ERROR: missing documentation for a type alias

View File

@ -1,155 +1,155 @@
error: missing documentation for a type alias error: missing documentation for a type alias
--> $DIR/lint-missing-doc.rs:12:1 --> $DIR/lint-missing-doc.rs:16:1
| |
LL | pub type PubTypedef = String; LL | pub type PubTypedef = String;
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/lint-missing-doc.rs:3:9 --> $DIR/lint-missing-doc.rs:4:9
| |
LL | #![deny(missing_docs)] LL | #![deny(missing_docs)]
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
error: missing documentation for a struct error: missing documentation for a struct
--> $DIR/lint-missing-doc.rs:19:1 --> $DIR/lint-missing-doc.rs:23:1
| |
LL | pub struct PubFoo { LL | pub struct PubFoo {
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
error: missing documentation for a struct field error: missing documentation for a struct field
--> $DIR/lint-missing-doc.rs:20:5 --> $DIR/lint-missing-doc.rs:24:5
| |
LL | pub a: isize, LL | pub a: isize,
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
error: missing documentation for a module error: missing documentation for a module
--> $DIR/lint-missing-doc.rs:31:1 --> $DIR/lint-missing-doc.rs:35:1
| |
LL | pub mod pub_module_no_dox {} LL | pub mod pub_module_no_dox {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a function error: missing documentation for a function
--> $DIR/lint-missing-doc.rs:35:1 --> $DIR/lint-missing-doc.rs:39:1
| |
LL | pub fn foo2() {} LL | pub fn foo2() {}
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
error: missing documentation for a trait error: missing documentation for a trait
--> $DIR/lint-missing-doc.rs:53:1 --> $DIR/lint-missing-doc.rs:57:1
| |
LL | pub trait C { LL | pub trait C {
| ^^^^^^^^^^^ | ^^^^^^^^^^^
error: missing documentation for a method error: missing documentation for a method
--> $DIR/lint-missing-doc.rs:54:5 --> $DIR/lint-missing-doc.rs:58:5
| |
LL | fn foo(&self); LL | fn foo(&self);
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
error: missing documentation for a method error: missing documentation for a method
--> $DIR/lint-missing-doc.rs:55:5 --> $DIR/lint-missing-doc.rs:59:5
| |
LL | fn foo_with_impl(&self) {} LL | fn foo_with_impl(&self) {}
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for an associated function error: missing documentation for an associated function
--> $DIR/lint-missing-doc.rs:56:5 --> $DIR/lint-missing-doc.rs:60:5
| |
LL | fn foo_no_self(); LL | fn foo_no_self();
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
error: missing documentation for an associated function error: missing documentation for an associated function
--> $DIR/lint-missing-doc.rs:57:5 --> $DIR/lint-missing-doc.rs:61:5
| |
LL | fn foo_no_self_with_impl() {} LL | fn foo_no_self_with_impl() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for an associated type error: missing documentation for an associated type
--> $DIR/lint-missing-doc.rs:67:5 --> $DIR/lint-missing-doc.rs:71:5
| |
LL | type AssociatedType; LL | type AssociatedType;
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
error: missing documentation for an associated type error: missing documentation for an associated type
--> $DIR/lint-missing-doc.rs:68:5 --> $DIR/lint-missing-doc.rs:72:5
| |
LL | type AssociatedTypeDef = Self; LL | type AssociatedTypeDef = Self;
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for an associated function error: missing documentation for an associated function
--> $DIR/lint-missing-doc.rs:84:5 --> $DIR/lint-missing-doc.rs:88:5
| |
LL | pub fn foo() {} LL | pub fn foo() {}
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
error: missing documentation for an enum error: missing documentation for an enum
--> $DIR/lint-missing-doc.rs:121:1 --> $DIR/lint-missing-doc.rs:125:1
| |
LL | pub enum PubBaz { LL | pub enum PubBaz {
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
error: missing documentation for a variant error: missing documentation for a variant
--> $DIR/lint-missing-doc.rs:122:5 --> $DIR/lint-missing-doc.rs:126:5
| |
LL | PubBazA { LL | PubBazA {
| ^^^^^^^ | ^^^^^^^
error: missing documentation for a struct field error: missing documentation for a struct field
--> $DIR/lint-missing-doc.rs:123:9 --> $DIR/lint-missing-doc.rs:127:9
| |
LL | a: isize, LL | a: isize,
| ^^^^^^^^ | ^^^^^^^^
error: missing documentation for a constant error: missing documentation for a constant
--> $DIR/lint-missing-doc.rs:154:1 --> $DIR/lint-missing-doc.rs:158:1
| |
LL | pub const FOO4: u32 = 0; LL | pub const FOO4: u32 = 0;
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
error: missing documentation for a static error: missing documentation for a static
--> $DIR/lint-missing-doc.rs:164:1 --> $DIR/lint-missing-doc.rs:168:1
| |
LL | pub static BAR4: u32 = 0; LL | pub static BAR4: u32 = 0;
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a function error: missing documentation for a function
--> $DIR/lint-missing-doc.rs:170:5 --> $DIR/lint-missing-doc.rs:174:5
| |
LL | pub fn undocumented1() {} LL | pub fn undocumented1() {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a function error: missing documentation for a function
--> $DIR/lint-missing-doc.rs:171:5 --> $DIR/lint-missing-doc.rs:175:5
| |
LL | pub fn undocumented2() {} LL | pub fn undocumented2() {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a function error: missing documentation for a function
--> $DIR/lint-missing-doc.rs:177:9 --> $DIR/lint-missing-doc.rs:181:9
| |
LL | pub fn also_undocumented1() {} LL | pub fn also_undocumented1() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a function error: missing documentation for a function
--> $DIR/lint-missing-doc.rs:192:5 --> $DIR/lint-missing-doc.rs:196:5
| |
LL | pub fn extern_fn_undocumented(f: f32) -> f32; LL | pub fn extern_fn_undocumented(f: f32) -> f32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a static error: missing documentation for a static
--> $DIR/lint-missing-doc.rs:197:5 --> $DIR/lint-missing-doc.rs:201:5
| |
LL | pub static EXTERN_STATIC_UNDOCUMENTED: u8; LL | pub static EXTERN_STATIC_UNDOCUMENTED: u8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a foreign type error: missing documentation for a foreign type
--> $DIR/lint-missing-doc.rs:202:5 --> $DIR/lint-missing-doc.rs:206:5
| |
LL | pub type ExternTyUndocumented; LL | pub type ExternTyUndocumented;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: missing documentation for a trait alias error: missing documentation for a trait alias
--> $DIR/lint-missing-doc.rs:206:1 --> $DIR/lint-missing-doc.rs:210:1
| |
LL | pub trait T = Sync; LL | pub trait T = Sync;
| ^^^^^^^^^^^ | ^^^^^^^^^^^