]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/missing-doc.rs
iterate List by value
[rust.git] / tests / ui / missing-doc.rs
index acd86f18ea3d5cb6b1b8213c6807485eda755655..a9bf7140a1e594ae61cf64f9a000ee6716b669b3 100644 (file)
-/* 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
@@ -123,18 +30,13 @@ pub fn baz() {}
     }
 }
 
-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
@@ -146,57 +48,55 @@ pub enum PubBaz2 {
     },
 }
 
-#[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! { "" }