rustc_lint::builtin

Static MISSING_DEBUG_IMPLEMENTATIONS

source
static MISSING_DEBUG_IMPLEMENTATIONS: &Lint
Expand description

The missing_debug_implementations lint detects missing implementations of fmt::Debug for public types.

§Example

#![deny(missing_debug_implementations)]
pub struct Foo;

{{produces}}

§Explanation

Having a Debug implementation on all types can assist with debugging, as it provides a convenient way to format and display a value. Using the #[derive(Debug)] attribute will automatically generate a typical implementation, or a custom implementation can be added by manually implementing the Debug trait.

This lint is “allow” by default because adding Debug to all types can have a negative impact on compile time and code size. It also requires boilerplate to be added to every type, which can be an impediment.