]> git.lizzy.rs Git - rust.git/blob - tests/ui-internal/check_clippy_version_attribute.rs
Auto merge of #8266 - camsteffen:test-tweaks, r=flip1995
[rust.git] / tests / ui-internal / check_clippy_version_attribute.rs
1 #![deny(clippy::internal)]
2 #![feature(rustc_private)]
3
4 #[macro_use]
5 extern crate rustc_middle;
6 #[macro_use]
7 extern crate rustc_session;
8 extern crate rustc_lint;
9
10 ///////////////////////
11 // Valid descriptions
12 ///////////////////////
13 declare_tool_lint! {
14     #[clippy::version = "pre 1.29.0"]
15     pub clippy::VALID_ONE,
16     Warn,
17     "One",
18     report_in_external_macro: true
19 }
20
21 declare_tool_lint! {
22     #[clippy::version = "1.29.0"]
23     pub clippy::VALID_TWO,
24     Warn,
25     "Two",
26     report_in_external_macro: true
27 }
28
29 declare_tool_lint! {
30     #[clippy::version = "1.59.0"]
31     pub clippy::VALID_THREE,
32     Warn,
33     "Three",
34     report_in_external_macro: true
35 }
36
37 ///////////////////////
38 // Invalid attributes
39 ///////////////////////
40 declare_tool_lint! {
41     #[clippy::version = "1.2.3.4.5.6"]
42     pub clippy::INVALID_ONE,
43     Warn,
44     "One",
45     report_in_external_macro: true
46 }
47
48 declare_tool_lint! {
49     #[clippy::version = "I'm a string"]
50     pub clippy::INVALID_TWO,
51     Warn,
52     "Two",
53     report_in_external_macro: true
54 }
55
56 ///////////////////////
57 // Missing attribute test
58 ///////////////////////
59 declare_tool_lint! {
60     #[clippy::version]
61     pub clippy::MISSING_ATTRIBUTE_ONE,
62     Warn,
63     "Two",
64     report_in_external_macro: true
65 }
66
67 declare_tool_lint! {
68     pub clippy::MISSING_ATTRIBUTE_TWO,
69     Warn,
70     "Two",
71     report_in_external_macro: true
72 }
73
74 #[allow(clippy::missing_clippy_version_attribute)]
75 mod internal_clippy_lints {
76     declare_tool_lint! {
77         pub clippy::ALLOW_MISSING_ATTRIBUTE_ONE,
78         Warn,
79         "Two",
80         report_in_external_macro: true
81     }
82 }
83
84 use crate::internal_clippy_lints::ALLOW_MISSING_ATTRIBUTE_ONE;
85 declare_lint_pass!(Pass2 => [VALID_ONE, VALID_TWO, VALID_THREE, INVALID_ONE, INVALID_TWO, MISSING_ATTRIBUTE_ONE, MISSING_ATTRIBUTE_TWO, ALLOW_MISSING_ATTRIBUTE_ONE]);
86
87 fn main() {}