| //@aux-build:proc_macro_attr.rs |
| #![warn(clippy::empty_line_after_doc_comments)] |
| #![allow(clippy::assertions_on_constants, clippy::duplicated_attributes)] |
| #![feature(custom_inner_attributes)] |
| #![rustfmt::skip] |
| |
| #[macro_use] |
| extern crate proc_macro_attr; |
| |
| mod some_mod { |
| //! This doc comment should *NOT* produce a warning |
| |
| mod some_inner_mod { |
| fn some_noop() {} |
| } |
| } |
| |
| /// This should produce a warning |
| |
| fn with_doc_and_newline() { assert!(true)} |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| |
| /// some comment |
| fn with_one_newline_and_comment() { assert!(true) } |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| /// some comment |
| fn with_no_newline_and_comment() { assert!(true) } |
| |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| |
| fn with_one_newline() { assert!(true) } |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| |
| |
| fn with_two_newlines() { assert!(true) } |
| |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| |
| enum Baz { |
| One, |
| Two |
| } |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| |
| struct Foo { |
| one: isize, |
| two: isize |
| } |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| |
| mod foo { |
| } |
| |
| /// This doc comment should produce a warning |
| |
| /** This is also a doc comment and should produce a warning |
| */ |
| |
| // This should *NOT* produce a warning |
| #[allow(non_camel_case_types)] |
| #[allow(missing_docs)] |
| #[allow(missing_docs)] |
| fn three_attributes() { assert!(true) } |
| |
| // This should *NOT* produce a warning |
| #[doc = " |
| Returns the escaped value of the textual representation of |
| |
| "] |
| pub fn function() -> bool { |
| true |
| } |
| |
| // This should *NOT* produce a warning |
| #[derive(Clone, Copy)] |
| pub enum FooFighter { |
| Bar1, |
| |
| Bar2, |
| |
| Bar3, |
| |
| Bar4 |
| } |
| |
| // This should *NOT* produce a warning because the empty line is inside a block comment |
| #[crate_type = "lib"] |
| /* |
| |
| */ |
| pub struct S; |
| |
| // This should *NOT* produce a warning |
| #[crate_type = "lib"] |
| /* test */ |
| pub struct T; |
| |
| // This should *NOT* produce a warning |
| // See https://github.com/rust-lang/rust-clippy/issues/5567 |
| #[fake_async_trait] |
| pub trait Bazz { |
| fn foo() -> Vec<u8> { |
| let _i = ""; |
| |
| |
| |
| vec![] |
| } |
| } |
| |
| #[derive(Clone, Copy)] |
| #[dummy(string = "first line |
| |
| second line |
| ")] |
| pub struct Args; |
| |
| fn main() {} |