about summary refs log tree commit diff
path: root/tests/ui/lint
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/lint')
-rw-r--r--tests/ui/lint/missing-debug-implementations-lint.rs38
-rw-r--r--tests/ui/lint/missing-debug-implementations-lint.stderr20
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
+