| //@aux-build:proc_macro_attr.rs |
| //@compile-flags: --test --cfg dummy_cfg |
| #![feature(custom_inner_attributes)] |
| #![warn(clippy::mixed_attributes_style)] |
| |
| #[macro_use] |
| extern crate proc_macro_attr; |
| |
| #[allow(unused)] //~ ERROR: item has both inner and outer attributes |
| fn foo1() { |
| #![allow(unused)] |
| } |
| |
| #[allow(unused)] |
| #[allow(unused)] |
| fn foo2() {} |
| |
| fn foo3() { |
| #![allow(unused)] |
| #![allow(unused)] |
| } |
| |
| /// linux |
| //~^ ERROR: item has both inner and outer attributes |
| fn foo4() { |
| //! windows |
| } |
| |
| /// linux |
| /// windows |
| fn foo5() {} |
| |
| fn foo6() { |
| //! linux |
| //! windows |
| } |
| |
| #[allow(unused)] //~ ERROR: item has both inner and outer attributes |
| mod bar { |
| #![allow(unused)] |
| } |
| |
| fn main() { |
| // test code goes here |
| } |
| |
| // issue #12435 |
| #[cfg(test)] |
| mod tests { |
| //! Module doc, don't lint |
| } |
| #[allow(unused)] |
| mod baz { |
| //! Module doc, don't lint |
| const FOO: u8 = 0; |
| } |
| /// Module doc, don't lint |
| mod quz { |
| #![allow(unused)] |
| } |
| |
| mod issue_12530 { |
| // don't lint different attributes entirely |
| #[cfg(test)] |
| mod tests { |
| #![allow(clippy::unreadable_literal)] |
| |
| #[allow(dead_code)] //~ ERROR: item has both inner and outer attributes |
| mod inner_mod { |
| #![allow(dead_code)] |
| } |
| } |
| #[cfg(dummy_cfg)] |
| mod another_mod { |
| #![allow(clippy::question_mark)] |
| } |
| /// Nested mod |
| mod nested_mod { |
| #[allow(dead_code)] //~ ERROR: item has both inner and outer attributes |
| mod inner_mod { |
| #![allow(dead_code)] |
| } |
| } |
| /// Nested mod //~ ERROR: item has both inner and outer attributes |
| #[allow(unused)] |
| mod nest_mod_2 { |
| #![allow(unused)] |
| |
| #[allow(dead_code)] //~ ERROR: item has both inner and outer attributes |
| mod inner_mod { |
| #![allow(dead_code)] |
| } |
| } |
| // Different path symbols - Known FN |
| #[dummy] |
| fn use_dummy() { |
| #![proc_macro_attr::dummy] |
| } |
| } |