//@ compile-flags:-Z unstable-options --show-coverage -o -
//@ check-pass

//! Make sure to have some docs on your crate root

#[allow(missing_docs)]
pub mod mod_foo {
    pub struct Bar;
}

/// This is a struct with an `#[allow(missing_docs)]`
pub struct AllowTheMissingDocs {
    #[allow(missing_docs)]
    pub empty_str: String,

    /// This has
    #[allow(missing_docs)]
    /// but also has documentation comments
    pub hello: usize,

    /// The doc id just to create a boilerplate comment
    pub doc_id: Vec<u8>,
}

/// A function that has a documentation
pub fn this_is_func() {}

#[allow(missing_docs)]
pub struct DemoStruct {
    something: usize,
}

#[allow(missing_docs)]
pub mod bar {
    #[warn(missing_docs)]
    pub struct Bar { //~ WARN
        pub f: u32, //~ WARN
    }

    pub struct NeedsNoDocs;
}
