2023-08-24 19:32:12 +00:00
|
|
|
//@aux-build:proc_macro_attr.rs
|
2018-07-28 15:34:52 +00:00
|
|
|
#![warn(clippy::empty_line_after_outer_attr)]
|
2024-03-21 21:20:40 +00:00
|
|
|
#![allow(clippy::assertions_on_constants, clippy::duplicated_attributes)]
|
2019-02-27 05:41:07 +00:00
|
|
|
#![feature(custom_inner_attributes)]
|
|
|
|
#![rustfmt::skip]
|
|
|
|
|
2020-05-28 13:45:24 +00:00
|
|
|
#[macro_use]
|
|
|
|
extern crate proc_macro_attr;
|
|
|
|
|
2018-01-19 07:18:29 +00:00
|
|
|
// This should 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) }
|
|
|
|
|
|
|
|
|
2018-01-08 23:22:42 +00:00
|
|
|
// This should produce a warning
|
|
|
|
#[crate_type = "lib"]
|
|
|
|
|
|
|
|
fn with_one_newline() { assert!(true) }
|
|
|
|
|
|
|
|
// This should produce a warning, too
|
|
|
|
#[crate_type = "lib"]
|
|
|
|
|
|
|
|
|
|
|
|
fn with_two_newlines() { assert!(true) }
|
|
|
|
|
2018-01-23 20:32:06 +00:00
|
|
|
|
|
|
|
// This should produce a warning
|
|
|
|
#[crate_type = "lib"]
|
|
|
|
|
|
|
|
enum Baz {
|
|
|
|
One,
|
|
|
|
Two
|
|
|
|
}
|
|
|
|
|
|
|
|
// This should produce a warning
|
|
|
|
#[crate_type = "lib"]
|
|
|
|
|
|
|
|
struct Foo {
|
|
|
|
one: isize,
|
|
|
|
two: isize
|
|
|
|
}
|
|
|
|
|
|
|
|
// This should produce a warning
|
|
|
|
#[crate_type = "lib"]
|
|
|
|
|
|
|
|
mod foo {
|
|
|
|
}
|
|
|
|
|
2018-02-01 06:43:03 +00:00
|
|
|
/// This doc comment should not produce a warning
|
|
|
|
|
|
|
|
/** This is also a doc comment and should not produce a warning
|
|
|
|
*/
|
|
|
|
|
2018-01-08 23:22:42 +00:00
|
|
|
// This should not produce a warning
|
|
|
|
#[allow(non_camel_case_types)]
|
|
|
|
#[allow(missing_docs)]
|
|
|
|
#[allow(missing_docs)]
|
|
|
|
fn three_attributes() { assert!(true) }
|
|
|
|
|
2018-02-21 20:11:38 +00:00
|
|
|
// This should not produce a warning
|
|
|
|
#[doc = "
|
|
|
|
Returns the escaped value of the textual representation of
|
|
|
|
|
|
|
|
"]
|
|
|
|
pub fn function() -> bool {
|
|
|
|
true
|
|
|
|
}
|
|
|
|
|
2018-03-26 19:57:42 +00:00
|
|
|
// This should not produce a warning
|
|
|
|
#[derive(Clone, Copy)]
|
|
|
|
pub enum FooFighter {
|
|
|
|
Bar1,
|
|
|
|
|
|
|
|
Bar2,
|
|
|
|
|
|
|
|
Bar3,
|
|
|
|
|
|
|
|
Bar4
|
|
|
|
}
|
|
|
|
|
2018-03-30 10:36:30 +00:00
|
|
|
// This should not produce a warning because the empty line is inside a block comment
|
2018-03-29 19:14:53 +00:00
|
|
|
#[crate_type = "lib"]
|
|
|
|
/*
|
|
|
|
|
|
|
|
*/
|
|
|
|
pub struct S;
|
|
|
|
|
2018-03-30 10:36:30 +00:00
|
|
|
// This should not produce a warning
|
|
|
|
#[crate_type = "lib"]
|
|
|
|
/* test */
|
|
|
|
pub struct T;
|
|
|
|
|
2020-05-28 13:45:24 +00:00
|
|
|
// 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![]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-04 12:04:35 +00:00
|
|
|
#[derive(Clone, Copy)]
|
|
|
|
#[dummy(string = "first line
|
2022-06-04 11:34:07 +00:00
|
|
|
|
2022-06-04 12:04:35 +00:00
|
|
|
second line
|
2022-06-04 11:34:07 +00:00
|
|
|
")]
|
|
|
|
pub struct Args;
|
|
|
|
|
2020-05-28 13:45:24 +00:00
|
|
|
fn main() {}
|