4
4
//! Whenever possible, please consider diagnostic items over hardcoded paths.
5
5
//! See <https://github.com/rust-lang/rust-clippy/issues/5393> for more information.
6
6
7
+ // Paths inside rustc
7
8
pub const APPLICABILITY : [ & str ; 2 ] = [ "rustc_lint_defs" , "Applicability" ] ;
8
9
pub const APPLICABILITY_VALUES : [ [ & str ; 3 ] ; 4 ] = [
9
10
[ "rustc_lint_defs" , "Applicability" , "Unspecified" ] ,
@@ -14,18 +15,32 @@ pub const APPLICABILITY_VALUES: [[&str; 3]; 4] = [
14
15
pub const DIAG : [ & str ; 2 ] = [ "rustc_errors" , "Diag" ] ;
15
16
pub const EARLY_CONTEXT : [ & str ; 2 ] = [ "rustc_lint" , "EarlyContext" ] ;
16
17
pub const EARLY_LINT_PASS : [ & str ; 3 ] = [ "rustc_lint" , "passes" , "EarlyLintPass" ] ;
17
- #[ expect( clippy:: invalid_paths) ] // internal lints do not know about all external crates
18
- pub const FUTURES_IO_ASYNCREADEXT : [ & str ; 3 ] = [ "futures_util" , "io" , "AsyncReadExt" ] ;
19
- #[ expect( clippy:: invalid_paths) ] // internal lints do not know about all external crates
20
- pub const FUTURES_IO_ASYNCWRITEEXT : [ & str ; 3 ] = [ "futures_util" , "io" , "AsyncWriteExt" ] ;
21
18
pub const IDENT : [ & str ; 3 ] = [ "rustc_span" , "symbol" , "Ident" ] ;
22
19
pub const IDENT_AS_STR : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Ident" , "as_str" ] ;
23
- pub const ITERTOOLS_NEXT_TUPLE : [ & str ; 3 ] = [ "itertools" , "Itertools" , "next_tuple" ] ;
24
20
pub const KW_MODULE : [ & str ; 3 ] = [ "rustc_span" , "symbol" , "kw" ] ;
25
21
pub const LATE_CONTEXT : [ & str ; 2 ] = [ "rustc_lint" , "LateContext" ] ;
26
22
pub const LATE_LINT_PASS : [ & str ; 3 ] = [ "rustc_lint" , "passes" , "LateLintPass" ] ;
27
23
pub const LINT : [ & str ; 2 ] = [ "rustc_lint_defs" , "Lint" ] ;
24
+ pub const SYMBOL : [ & str ; 3 ] = [ "rustc_span" , "symbol" , "Symbol" ] ;
25
+ pub const SYMBOL_AS_STR : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Symbol" , "as_str" ] ;
26
+ pub const SYMBOL_INTERN : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Symbol" , "intern" ] ;
27
+ pub const SYMBOL_TO_IDENT_STRING : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Symbol" , "to_ident_string" ] ;
28
+ pub const SYM_MODULE : [ & str ; 3 ] = [ "rustc_span" , "symbol" , "sym" ] ;
29
+ pub const SYNTAX_CONTEXT : [ & str ; 3 ] = [ "rustc_span" , "hygiene" , "SyntaxContext" ] ;
30
+
31
+ // Paths in `core`/`alloc`/`std`. This should be avoided and cleaned up by adding diagnostic items.
32
+ pub const STD_IO_SEEK_FROM_CURRENT : [ & str ; 4 ] = [ "std" , "io" , "SeekFrom" , "Current" ] ;
33
+ pub const STD_IO_SEEKFROM_START : [ & str ; 4 ] = [ "std" , "io" , "SeekFrom" , "Start" ] ;
34
+
35
+ // Paths in clippy itself
28
36
pub const MSRV : [ & str ; 3 ] = [ "clippy_config" , "msrvs" , "Msrv" ] ;
37
+
38
+ // Paths in external crates
39
+ #[ expect( clippy:: invalid_paths) ] // internal lints do not know about all external crates
40
+ pub const FUTURES_IO_ASYNCREADEXT : [ & str ; 3 ] = [ "futures_util" , "io" , "AsyncReadExt" ] ;
41
+ #[ expect( clippy:: invalid_paths) ] // internal lints do not know about all external crates
42
+ pub const FUTURES_IO_ASYNCWRITEEXT : [ & str ; 3 ] = [ "futures_util" , "io" , "AsyncWriteExt" ] ;
43
+ pub const ITERTOOLS_NEXT_TUPLE : [ & str ; 3 ] = [ "itertools" , "Itertools" , "next_tuple" ] ;
29
44
pub const PARKING_LOT_MUTEX_GUARD : [ & str ; 3 ] = [ "lock_api" , "mutex" , "MutexGuard" ] ;
30
45
pub const PARKING_LOT_RWLOCK_READ_GUARD : [ & str ; 3 ] = [ "lock_api" , "rwlock" , "RwLockReadGuard" ] ;
31
46
pub const PARKING_LOT_RWLOCK_WRITE_GUARD : [ & str ; 3 ] = [ "lock_api" , "rwlock" , "RwLockWriteGuard" ] ;
@@ -37,14 +52,6 @@ pub const REGEX_NEW: [&str; 3] = ["regex", "Regex", "new"];
37
52
pub const REGEX_SET_NEW : [ & str ; 3 ] = [ "regex" , "RegexSet" , "new" ] ;
38
53
pub const SERDE_DESERIALIZE : [ & str ; 3 ] = [ "serde" , "de" , "Deserialize" ] ;
39
54
pub const SERDE_DE_VISITOR : [ & str ; 3 ] = [ "serde" , "de" , "Visitor" ] ;
40
- pub const STD_IO_SEEK_FROM_CURRENT : [ & str ; 4 ] = [ "std" , "io" , "SeekFrom" , "Current" ] ;
41
- pub const STD_IO_SEEKFROM_START : [ & str ; 4 ] = [ "std" , "io" , "SeekFrom" , "Start" ] ;
42
- pub const SYMBOL : [ & str ; 3 ] = [ "rustc_span" , "symbol" , "Symbol" ] ;
43
- pub const SYMBOL_AS_STR : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Symbol" , "as_str" ] ;
44
- pub const SYMBOL_INTERN : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Symbol" , "intern" ] ;
45
- pub const SYMBOL_TO_IDENT_STRING : [ & str ; 4 ] = [ "rustc_span" , "symbol" , "Symbol" , "to_ident_string" ] ;
46
- pub const SYM_MODULE : [ & str ; 3 ] = [ "rustc_span" , "symbol" , "sym" ] ;
47
- pub const SYNTAX_CONTEXT : [ & str ; 3 ] = [ "rustc_span" , "hygiene" , "SyntaxContext" ] ;
48
55
#[ expect( clippy:: invalid_paths) ] // internal lints do not know about all external crates
49
56
pub const TOKIO_FILE_OPTIONS : [ & str ; 5 ] = [ "tokio" , "fs" , "file" , "File" , "options" ] ;
50
57
#[ expect( clippy:: invalid_paths) ] // internal lints do not know about all external crates
0 commit comments