@@ -60,7 +60,7 @@ fn span_hash(source: &str, tag: &str, bad: &mut bool) -> Result<String, ()> {
60
60
Ok ( format ! ( "{:x}" , hasher. finalize( ) ) )
61
61
}
62
62
63
- fn check_entry ( entry : & ListEntry < ' _ > , bad : & mut bool , root_path : & Path ) {
63
+ fn check_entry ( entry : & ListEntry < ' _ > , group_idx : usize , bad : & mut bool , root_path : & Path ) {
64
64
let file = fs:: read_to_string ( root_path. join ( Path :: new ( entry. 0 ) ) )
65
65
. unwrap_or_else ( |e| panic ! ( "{:?}, path: {}" , e, entry. 0 ) ) ;
66
66
let actual_hash = span_hash ( & file, entry. 2 , bad) . unwrap ( ) ;
@@ -77,75 +77,117 @@ fn check_entry(entry: &ListEntry<'_>, bad: &mut bool, root_path: &Path) {
77
77
}
78
78
tidy_error ! (
79
79
bad,
80
- "hash for tag `{}` in path `{}` mismatch:\n actual: `{}`, expected: `{}`\n " ,
80
+ "hash for tag `{}` in path `{}` mismatch:\n actual: `{}`, expected: `{}`\n \
81
+ Verify that tags `{:?}` in sync.",
81
82
entry. 2 ,
82
83
entry. 0 ,
83
84
actual_hash,
84
- entry. 1
85
+ entry. 1 ,
86
+ TIDY_WATCH_LIST [ group_idx] . iter( ) . map( |e| e. 2 ) . collect:: <Vec <& str >>( )
85
87
) ;
86
88
}
87
89
}
88
90
91
+ macro_rules! add_group {
92
+ ( $( $entry: expr) ,* ) => {
93
+ & [ $( $entry) ,* ]
94
+ } ;
95
+ }
96
+
89
97
/// (path, hash, tag)
90
98
type ListEntry < ' a > = ( & ' a str , & ' a str , & ' a str ) ;
91
99
92
100
/// List of tags to watch, along with paths and hashes
93
101
#[ rustfmt:: skip]
94
- const TIDY_WATCH_LIST : & [ ListEntry < ' _ > ] = & [
102
+ const TIDY_WATCH_LIST : & [ & [ ListEntry < ' _ > ] ] = & [
95
103
// sync perf commit across dockerfile and opt-dist
96
- ( "src/tools/opt-dist/src/main.rs" , "728c2783154a52a30bdb1d66f8ea1f2a" , "tidy-ticket-perf-commit" ) ,
97
- ( "src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile" , "76c8d9783e38e25a461355f82fcd7955" , "tidy-ticket-perf-commit" ) ,
98
-
99
- ( "compiler/rustc_ast/src/token.rs" , "70666de80ab0194a67524deeda3c01b8" , "tidy-ticket-ast-from_token" ) ,
100
- ( "compiler/rustc_ast/src/token.rs" , "9a78008a2377486eadf19d67ee4fdce2" , "tidy-ticket-ast-can_begin_literal_maybe_minus" ) ,
101
- ( "compiler/rustc_parse/src/parser/expr.rs" , "500240cdc80690209060fdce10ce065a" , "tidy-ticket-rustc_parse-can_begin_literal_maybe_minus" ) ,
102
-
103
- ( "compiler/rustc_builtin_macros/src/assert/context.rs" , "81bd6f37797c22fce5c85a4b590b3856" , "tidy-ticket-all-expr-kinds" ) ,
104
- ( "tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs" , "78ce54cc25baeac3ae07c876db25180c" , "tidy-ticket-all-expr-kinds" ) ,
105
-
106
- ( "compiler/rustc_const_eval/src/interpret/validity.rs" , "91c69e391741f64b7624e1bda4b31bc3" , "tidy-ticket-try_visit_primitive" ) ,
107
- ( "compiler/rustc_const_eval/src/interpret/validity.rs" , "05e496c9ca019273c49ba9de48b5da23" , "tidy-ticket-visit_value" ) ,
104
+ add_group ! (
105
+ ( "src/tools/opt-dist/src/main.rs" , "728c2783154a52a30bdb1d66f8ea1f2a" , "tidy-ticket-perf-commit" ) ,
106
+ ( "src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile" , "76c8d9783e38e25a461355f82fcd7955" , "tidy-ticket-perf-commit" )
107
+ ) ,
108
+
109
+ add_group ! (
110
+ ( "compiler/rustc_ast/src/token.rs" , "70666de80ab0194a67524deeda3c01b8" , "tidy-ticket-ast-from_token" ) ,
111
+ ( "compiler/rustc_ast/src/token.rs" , "9a78008a2377486eadf19d67ee4fdce2" , "tidy-ticket-ast-can_begin_literal_maybe_minus" ) ,
112
+ ( "compiler/rustc_parse/src/parser/expr.rs" , "500240cdc80690209060fdce10ce065a" , "tidy-ticket-rustc_parse-can_begin_literal_maybe_minus" )
113
+ ) ,
114
+
115
+ add_group ! (
116
+ ( "compiler/rustc_builtin_macros/src/assert/context.rs" , "81bd6f37797c22fce5c85a4b590b3856" , "tidy-ticket-all-expr-kinds" ) ,
117
+ ( "tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs" , "78ce54cc25baeac3ae07c876db25180c" , "tidy-ticket-all-expr-kinds" )
118
+ ) ,
119
+
120
+ add_group ! (
121
+ ( "compiler/rustc_const_eval/src/interpret/validity.rs" , "91c69e391741f64b7624e1bda4b31bc3" , "tidy-ticket-try_visit_primitive" ) ,
122
+ ( "compiler/rustc_const_eval/src/interpret/validity.rs" , "05e496c9ca019273c49ba9de48b5da23" , "tidy-ticket-visit_value" )
123
+ ) ,
108
124
109
125
// sync self-profile-events help mesage with actual list of events
110
- ( "compiler/rustc_data_structures/src/profiling.rs" , "881e7899c7d6904af1bc000594ee0418" , "tidy-ticket-self-profile-events" ) ,
111
- ( "compiler/rustc_session/src/options.rs" , "012ee5a3b61ee1377744e5c6913fa00a" , "tidy-ticket-self-profile-events" ) ,
112
-
113
- ( "compiler/rustc_errors/src/json.rs" , "5907da5c0476785fe2aae4d0d62f7171" , "tidy-ticket-UnusedExterns" ) ,
114
- ( "src/librustdoc/doctest.rs" , "b5bb5128abb4a2dbb47bb1a1a083ba9b" , "tidy-ticket-UnusedExterns" ) ,
115
-
116
- ( "compiler/rustc_middle/src/ty/util.rs" , "cae64b1bc854e7ee81894212facb5bfa" , "tidy-ticket-static_ptr_ty" ) ,
117
- ( "compiler/rustc_middle/src/ty/util.rs" , "6f5ead08474b4d3e358db5d3c7aef970" , "tidy-ticket-thread_local_ptr_ty" ) ,
118
-
119
- ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "8ac64f1266a60bb7b11d80ac764e5154" , "tidy-ticket-arity" ) ,
120
- ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "2bab79a2441e8ffae79b7dc3befe91cf" , "tidy-ticket-wildcards" ) ,
121
-
122
- ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "3844ca4b7b45be1c721c17808ee5b2e2" , "tidy-ticket-is_covered_by" ) ,
123
- ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "4d296b7b1f48a9dd92e8bb8cd3344718" , "tidy-ticket-is_covered_by_any" ) ,
124
-
125
- ( "compiler/rustc_monomorphize/src/partitioning.rs" , "f4f33e9c14f4e0c3a20b5240ae36a7c8" , "tidy-ticket-short_description" ) ,
126
- ( "compiler/rustc_codegen_ssa/src/back/write.rs" , "5286f7f76fcf564c98d7a8eaeec39b18" , "tidy-ticket-short_description" ) ,
127
-
128
- ( "compiler/rustc_session/src/config/sigpipe.rs" , "8d765a5c613d931852c0f59ed1997dcd" , "tidy-ticket-sigpipe" ) ,
129
- ( "library/std/src/sys/unix/mod.rs" , "2cdc37081831cdcf44f3331efbe440af" , "tidy-ticket-sigpipe" ) ,
130
-
131
- ( "compiler/rustc_trait_selection/src/solve/assembly/structural_traits.rs" , "b205939890472130649d5fd4fc86a992" , "tidy-ticket-extract_tupled_inputs_and_output_from_callable" ) ,
132
- ( "compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs" , "e9a77bba86a02702af65b2713af47394" , "tidy-ticket-assemble_fn_pointer_candidates" ) ,
133
-
134
- ( "compiler/rustc_trait_selection/src/solve/eval_ctxt/select.rs" , "d0c807d90501f3f63dffc3e7ec046c20" , "tidy-ticket-rematch_unsize" ) ,
135
- ( "compiler/rustc_trait_selection/src/solve/trait_goals.rs" , "f1b0ce28128b5d5a5b545af3f3cf55f4" , "tidy-ticket-consider_builtin_unsize_candidate" ) ,
136
-
137
- ( "compiler/rustc_trait_selection/src/traits/project.rs" , "66585f93352fe56a5be6cc5a63bcc756" , "tidy-ticket-assemble_candidates_from_impls-UserDefined" ) ,
138
- ( "compiler/rustc_ty_utils/src/instance.rs" , "e8b404fd4160512708f922140a8bb187" , "tidy-ticket-resolve_associated_item-UserDefined" ) ,
139
-
140
- ( "compiler/rustc_hir_analysis/src/lib.rs" , "842e23fb65caf3a96681686131093316" , "tidy-ticket-sess-time-item_types_checking" ) ,
141
- ( "src/librustdoc/core.rs" , "d11d64105aa952bbf3c0c2f211135c43" , "tidy-ticket-sess-time-item_types_checking" ) ,
142
-
143
- ( "library/core/src/ptr/metadata.rs" , "57fc0e05c177c042c9766cc1134ae240" , "tidy-ticket-static_assert_expected_bounds_for_metadata" ) ,
144
- ( "library/core/tests/ptr.rs" , "13ecb32e2a0db0998ff94f33a30f5cfd" , "tidy-ticket-static_assert_expected_bounds_for_metadata" ) ,
126
+ add_group ! (
127
+ ( "compiler/rustc_data_structures/src/profiling.rs" , "881e7899c7d6904af1bc000594ee0418" , "tidy-ticket-self-profile-events" ) ,
128
+ ( "compiler/rustc_session/src/options.rs" , "012ee5a3b61ee1377744e5c6913fa00a" , "tidy-ticket-self-profile-events" )
129
+ ) ,
130
+
131
+ add_group ! (
132
+ ( "compiler/rustc_errors/src/json.rs" , "5907da5c0476785fe2aae4d0d62f7171" , "tidy-ticket-UnusedExterns" ) ,
133
+ ( "src/librustdoc/doctest.rs" , "b5bb5128abb4a2dbb47bb1a1a083ba9b" , "tidy-ticket-UnusedExterns" )
134
+ ) ,
135
+
136
+ add_group ! (
137
+ ( "compiler/rustc_middle/src/ty/util.rs" , "cae64b1bc854e7ee81894212facb5bfa" , "tidy-ticket-static_ptr_ty" ) ,
138
+ ( "compiler/rustc_middle/src/ty/util.rs" , "6f5ead08474b4d3e358db5d3c7aef970" , "tidy-ticket-thread_local_ptr_ty" )
139
+ ) ,
140
+
141
+ add_group ! (
142
+ ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "8ac64f1266a60bb7b11d80ac764e5154" , "tidy-ticket-arity" ) ,
143
+ ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "2bab79a2441e8ffae79b7dc3befe91cf" , "tidy-ticket-wildcards" )
144
+ ) ,
145
+
146
+ add_group ! (
147
+ ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "3844ca4b7b45be1c721c17808ee5b2e2" , "tidy-ticket-is_covered_by" ) ,
148
+ ( "compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs" , "4d296b7b1f48a9dd92e8bb8cd3344718" , "tidy-ticket-is_covered_by_any" )
149
+ ) ,
150
+
151
+ add_group ! (
152
+ ( "compiler/rustc_monomorphize/src/partitioning.rs" , "f4f33e9c14f4e0c3a20b5240ae36a7c8" , "tidy-ticket-short_description" ) ,
153
+ ( "compiler/rustc_codegen_ssa/src/back/write.rs" , "5286f7f76fcf564c98d7a8eaeec39b18" , "tidy-ticket-short_description" )
154
+ ) ,
155
+
156
+ add_group ! (
157
+ ( "compiler/rustc_session/src/config/sigpipe.rs" , "8d765a5c613d931852c0f59ed1997dcd" , "tidy-ticket-sigpipe" ) ,
158
+ ( "library/std/src/sys/unix/mod.rs" , "2cdc37081831cdcf44f3331efbe440af" , "tidy-ticket-sigpipe" )
159
+ ) ,
160
+
161
+ add_group ! (
162
+ ( "compiler/rustc_trait_selection/src/solve/assembly/structural_traits.rs" , "b205939890472130649d5fd4fc86a992" , "tidy-ticket-extract_tupled_inputs_and_output_from_callable" ) ,
163
+ ( "compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs" , "e9a77bba86a02702af65b2713af47394" , "tidy-ticket-assemble_fn_pointer_candidates" )
164
+ ) ,
165
+
166
+ add_group ! (
167
+ ( "compiler/rustc_trait_selection/src/solve/eval_ctxt/select.rs" , "d0c807d90501f3f63dffc3e7ec046c20" , "tidy-ticket-rematch_unsize" ) ,
168
+ ( "compiler/rustc_trait_selection/src/solve/trait_goals.rs" , "f1b0ce28128b5d5a5b545af3f3cf55f4" , "tidy-ticket-consider_builtin_unsize_candidate" )
169
+ ) ,
170
+
171
+ add_group ! (
172
+ ( "compiler/rustc_trait_selection/src/traits/project.rs" , "66585f93352fe56a5be6cc5a63bcc756" , "tidy-ticket-assemble_candidates_from_impls-UserDefined" ) ,
173
+ ( "compiler/rustc_ty_utils/src/instance.rs" , "e8b404fd4160512708f922140a8bb187" , "tidy-ticket-resolve_associated_item-UserDefined" )
174
+ ) ,
175
+
176
+ add_group ! (
177
+ ( "compiler/rustc_hir_analysis/src/lib.rs" , "842e23fb65caf3a96681686131093316" , "tidy-ticket-sess-time-item_types_checking" ) ,
178
+ ( "src/librustdoc/core.rs" , "d11d64105aa952bbf3c0c2f211135c43" , "tidy-ticket-sess-time-item_types_checking" )
179
+ ) ,
180
+
181
+ add_group ! (
182
+ ( "library/core/src/ptr/metadata.rs" , "57fc0e05c177c042c9766cc1134ae240" , "tidy-ticket-static_assert_expected_bounds_for_metadata" ) ,
183
+ ( "library/core/tests/ptr.rs" , "13ecb32e2a0db0998ff94f33a30f5cfd" , "tidy-ticket-static_assert_expected_bounds_for_metadata" )
184
+ ) ,
145
185
] ;
146
186
147
187
pub fn check ( root_path : & Path , bad : & mut bool ) {
148
- for entry in TIDY_WATCH_LIST {
149
- check_entry ( entry, bad, root_path) ;
188
+ for ( group_idx, group) in TIDY_WATCH_LIST . iter ( ) . enumerate ( ) {
189
+ for entry in group. iter ( ) {
190
+ check_entry ( entry, group_idx, bad, root_path) ;
191
+ }
150
192
}
151
193
}
0 commit comments