//! Uses specialization to provide `Some(&dyn Debug)` for all `T: Debug` and `None` for the rest.
use Debug;
/// Specialized trait used to distinguish between types that implement Debug and one's that don't.
/// ```
/// # use partialdebug::specialization::AsDebug;
/// # struct DNA;
/// # let dna = DNA;
/// assert!(42.as_debug().is_some());
/// assert!(dna.as_debug().is_none());
/// ```