File tree 2 files changed +7
-8
lines changed
compiler/rustc_mir_transform/src
2 files changed +7
-8
lines changed Original file line number Diff line number Diff line change @@ -69,20 +69,20 @@ macro_rules! declare_passes {
69
69
) *
70
70
71
71
#[ cfg( debug_assertions) ]
72
- static PASS_NAMES : LazyLock <Vec < String >> = LazyLock :: new( || vec! [
72
+ static PASS_NAMES : LazyLock <FxIndexSet < & str >> = LazyLock :: new( || [
73
73
// Fake marker pass
74
- "PreCodegen" . to_string ( ) ,
74
+ "PreCodegen" ,
75
75
$(
76
76
$(
77
- stringify!( $pass_name) . to_string ( ) ,
77
+ stringify!( $pass_name) ,
78
78
$(
79
79
$(
80
- $mod_name:: $pass_name:: $ident. name( ) . to_string ( ) ,
80
+ $mod_name:: $pass_name:: $ident. name( ) ,
81
81
) *
82
82
) ?
83
83
) +
84
84
) *
85
- ] ) ;
85
+ ] . into_iter ( ) . collect ( ) ) ;
86
86
} ;
87
87
}
88
88
Original file line number Diff line number Diff line change @@ -200,17 +200,16 @@ fn run_passes_inner<'tcx>(
200
200
201
201
let named_passes: FxIndexSet < _ > =
202
202
overridden_passes. iter ( ) . map ( |( name, _) | name. as_str ( ) ) . collect ( ) ;
203
- let known_passes: FxIndexSet < _ > = crate :: PASS_NAMES . iter ( ) . map ( |p| p. as_str ( ) ) . collect ( ) ;
204
203
205
- for & name in named_passes. difference ( & known_passes ) {
204
+ for & name in named_passes. difference ( & * crate :: PASS_NAMES ) {
206
205
tcx. dcx ( ) . emit_warn ( errors:: UnknownPassName { name } ) ;
207
206
}
208
207
209
208
// Verify that no passes are missing from the `declare_passes` invocation
210
209
#[ cfg( debug_assertions) ]
211
210
{
212
211
let used_passes: FxIndexSet < _ > = passes. iter ( ) . map ( |p| p. name ( ) ) . collect ( ) ;
213
- for & name in used_passes. difference ( & known_passes ) {
212
+ for & name in used_passes. difference ( & * crate :: PASS_NAMES ) {
214
213
tcx. dcx ( ) . bug ( format ! ( "pass `{name}` is not declared in `PASS_NAMES`" ) ) ;
215
214
}
216
215
}
You can’t perform that action at this time.
0 commit comments