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 @@ -68,20 +68,20 @@ macro_rules! declare_passes {
68
68
) +
69
69
) *
70
70
71
- static PASS_NAMES : LazyLock <Vec < String >> = LazyLock :: new( || vec! [
71
+ static PASS_NAMES : LazyLock <FxIndexSet < & str >> = LazyLock :: new( || [
72
72
// Fake marker pass
73
- "PreCodegen" . to_string ( ) ,
73
+ "PreCodegen" ,
74
74
$(
75
75
$(
76
- stringify!( $pass_name) . to_string ( ) ,
76
+ stringify!( $pass_name) ,
77
77
$(
78
78
$(
79
- $mod_name:: $pass_name:: $ident. name( ) . to_string ( ) ,
79
+ $mod_name:: $pass_name:: $ident. name( ) ,
80
80
) *
81
81
) ?
82
82
) +
83
83
) *
84
- ] ) ;
84
+ ] . into_iter ( ) . collect ( ) ) ;
85
85
} ;
86
86
}
87
87
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