-/* This file incorporates work covered by the following copyright and
- * permission notice:
- * Copyright 2013 The Rust Project Developers. See the COPYRIGHT
- * file at the top-level directory of this distribution and at
- * http://rust-lang.org/COPYRIGHT.
- *
- * Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
- * http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
- * <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
- * option. This file may not be copied, modified, or distributed
- * except according to those terms.
- */
-
-#![feature(plugin)]
-#![plugin(clippy)]
-#![deny(missing_docs_in_private_items)]
-
+#![warn(clippy::missing_docs_in_private_items)]
// When denying at the crate level, be sure to not get random warnings from the
// injected intrinsics by the compiler.
#![allow(dead_code)]
-#![feature(associated_type_defaults)]
+#![feature(global_asm)]
//! Some garbage docs for the crate here
-#![doc="More garbage"]
-
-type Typedef = String; //~ ERROR: missing documentation for a type alias
-pub type PubTypedef = String; //~ ERROR: missing documentation for a type alias
+#![doc = "More garbage"]
-struct Foo { //~ ERROR: missing documentation for a struct
- a: isize, //~ ERROR: missing documentation for a struct field
- b: isize, //~ ERROR: missing documentation for a struct field
-}
+type Typedef = String;
+pub type PubTypedef = String;
-pub struct PubFoo { //~ ERROR: missing documentation for a struct
- pub a: isize, //~ ERROR: missing documentation for a struct field
- b: isize, //~ ERROR: missing documentation for a struct field
-}
-
-#[allow(missing_docs_in_private_items)]
-pub struct PubFoo2 {
- pub a: isize,
- pub c: isize,
-}
-
-mod module_no_dox {} //~ ERROR: missing documentation for a module
-pub mod pub_module_no_dox {} //~ ERROR: missing documentation for a module
+mod module_no_dox {}
+pub mod pub_module_no_dox {}
/// dox
pub fn foo() {}
-pub fn foo2() {} //~ ERROR: missing documentation for a function
-fn foo3() {} //~ ERROR: missing documentation for a function
-#[allow(missing_docs_in_private_items)] pub fn foo4() {}
-
-/// dox
-pub trait A {
- /// dox
- fn foo(&self);
- /// dox
- fn foo_with_impl(&self) {}
-}
-
-#[allow(missing_docs_in_private_items)]
-trait B {
- fn foo(&self);
- fn foo_with_impl(&self) {}
-}
-
-pub trait C { //~ ERROR: missing documentation for a trait
- fn foo(&self); //~ ERROR: missing documentation for a trait method
- fn foo_with_impl(&self) {} //~ ERROR: missing documentation for a trait method
-}
-
-#[allow(missing_docs_in_private_items)]
-pub trait D {
- fn dummy(&self) { }
-}
-
-/// dox
-pub trait E {
- type AssociatedType; //~ ERROR: missing documentation for an associated type
- type AssociatedTypeDef = Self; //~ ERROR: missing documentation for an associated type
-
- /// dox
- type DocumentedType;
- /// dox
- type DocumentedTypeDef = Self;
- /// dox
- fn dummy(&self) {}
-}
-
-impl Foo {
- pub fn foo() {} //~ ERROR: missing documentation for a method
- fn bar() {} //~ ERROR: missing documentation for a method
-}
-
-impl PubFoo {
- pub fn foo() {} //~ ERROR: missing documentation for a method
- /// dox
- pub fn foo1() {}
- fn foo2() {} //~ ERROR: missing documentation for a method
- #[allow(missing_docs_in_private_items)] pub fn foo3() {}
-}
-
-#[allow(missing_docs_in_private_items)]
-trait F {
- fn a();
- fn b(&self);
-}
-
-// should need to redefine documentation for implementations of traits
-impl F for Foo {
- fn a() {}
- fn b(&self) {}
-}
+pub fn foo2() {}
+fn foo3() {}
+#[allow(clippy::missing_docs_in_private_items)]
+pub fn foo4() {}
// It sure is nice if doc(hidden) implies allow(missing_docs), and that it
// applies recursively
}
}
-enum Baz { //~ ERROR: missing documentation for an enum
- BazA { //~ ERROR: missing documentation for a variant
- a: isize, //~ ERROR: missing documentation for a struct field
- b: isize //~ ERROR: missing documentation for a struct field
- },
- BarB //~ ERROR: missing documentation for a variant
+enum Baz {
+ BazA { a: isize, b: isize },
+ BarB,
}
-pub enum PubBaz { //~ ERROR: missing documentation for an enum
- PubBazA { //~ ERROR: missing documentation for a variant
- a: isize, //~ ERROR: missing documentation for a struct field
- },
+pub enum PubBaz {
+ PubBazA { a: isize },
}
/// dox
},
}
-#[allow(missing_docs_in_private_items)]
+#[allow(clippy::missing_docs_in_private_items)]
pub enum PubBaz3 {
- PubBaz3A {
- b: isize
- },
+ PubBaz3A { b: isize },
}
#[doc(hidden)]
pub fn baz() {}
-
-const FOO: u32 = 0; //~ ERROR: missing documentation for a const
+const FOO: u32 = 0;
/// dox
pub const FOO1: u32 = 0;
-#[allow(missing_docs_in_private_items)]
+#[allow(clippy::missing_docs_in_private_items)]
pub const FOO2: u32 = 0;
#[doc(hidden)]
pub const FOO3: u32 = 0;
-pub const FOO4: u32 = 0; //~ ERROR: missing documentation for a const
+pub const FOO4: u32 = 0;
-
-static BAR: u32 = 0; //~ ERROR: missing documentation for a static
+static BAR: u32 = 0;
/// dox
pub static BAR1: u32 = 0;
-#[allow(missing_docs_in_private_items)]
+#[allow(clippy::missing_docs_in_private_items)]
pub static BAR2: u32 = 0;
#[doc(hidden)]
pub static BAR3: u32 = 0;
-pub static BAR4: u32 = 0; //~ ERROR: missing documentation for a static
-
+pub static BAR4: u32 = 0;
-mod internal_impl { //~ ERROR: missing documentation for a module
+mod internal_impl {
/// dox
pub fn documented() {}
- pub fn undocumented1() {} //~ ERROR: missing documentation for a function
- pub fn undocumented2() {} //~ ERROR: missing documentation for a function
- fn undocumented3() {} //~ ERROR: missing documentation for a function
+ pub fn undocumented1() {}
+ pub fn undocumented2() {}
+ fn undocumented3() {}
/// dox
pub mod globbed {
/// dox
pub fn also_documented() {}
- pub fn also_undocumented1() {} //~ ERROR: missing documentation for a function
- fn also_undocumented2() {} //~ ERROR: missing documentation for a function
+ pub fn also_undocumented1() {}
+ fn also_undocumented2() {}
}
}
/// dox
pub mod public_interface {
pub use internal_impl::documented as foo;
+ pub use internal_impl::globbed::*;
pub use internal_impl::undocumented1 as bar;
pub use internal_impl::{documented, undocumented2};
- pub use internal_impl::globbed::*;
}
-fn main() {} //~ ERROR: missing documentation for a function
+fn main() {}
+
+// Ensure global asm doesn't require documentation.
+global_asm! { "" }