diff options
Diffstat (limited to 'tests/ui/lint')
| -rw-r--r-- | tests/ui/lint/missing-debug-implementations-lint.rs | 38 | ||||
| -rw-r--r-- | tests/ui/lint/missing-debug-implementations-lint.stderr | 20 |
2 files changed, 58 insertions, 0 deletions
diff --git a/tests/ui/lint/missing-debug-implementations-lint.rs b/tests/ui/lint/missing-debug-implementations-lint.rs new file mode 100644 index 00000000000..3abc0706887 --- /dev/null +++ b/tests/ui/lint/missing-debug-implementations-lint.rs @@ -0,0 +1,38 @@ +//@ compile-flags: --crate-type lib +#![deny(missing_debug_implementations)] +#![allow(unused)] + +use std::fmt; + +pub enum A {} //~ ERROR type does not implement `Debug` + +#[derive(Debug)] +pub enum B {} + +pub enum C {} + +impl fmt::Debug for C { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + Ok(()) + } +} + +pub struct Foo; //~ ERROR type does not implement `Debug` + +#[derive(Debug)] +pub struct Bar; + +pub struct Baz; + +impl fmt::Debug for Baz { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + Ok(()) + } +} + +struct PrivateStruct; + +enum PrivateEnum {} + +#[derive(Debug)] +pub struct GenericType<T>(T); diff --git a/tests/ui/lint/missing-debug-implementations-lint.stderr b/tests/ui/lint/missing-debug-implementations-lint.stderr new file mode 100644 index 00000000000..0538f207b44 --- /dev/null +++ b/tests/ui/lint/missing-debug-implementations-lint.stderr @@ -0,0 +1,20 @@ +error: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation + --> $DIR/missing_debug_impls.rs:7:1 + | +LL | pub enum A {} + | ^^^^^^^^^^^^^ + | +note: the lint level is defined here + --> $DIR/missing_debug_impls.rs:2:9 + | +LL | #![deny(missing_debug_implementations)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation + --> $DIR/missing_debug_impls.rs:20:1 + | +LL | pub struct Foo; + | ^^^^^^^^^^^^^^^ + +error: aborting due to 2 previous errors + |
