Skip to main content

## MISSING_DEBUG_IMPLEMENTATIONS

# 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.