mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-02 10:18:25 +00:00
41 lines
832 B
Rust
41 lines
832 B
Rust
//! Test the `missing_debug_implementations` lint that warns about public types without Debug.
|
|
//!
|
|
//! See https://github.com/rust-lang/rust/issues/20855
|
|
|
|
//@ 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(())
|
|
}
|
|
}
|
|
|
|
// Private types should not trigger the lint
|
|
struct PrivateStruct;
|
|
enum PrivateEnum {}
|
|
|
|
#[derive(Debug)]
|
|
pub struct GenericType<T>(T);
|