@@ -77,31 +77,31 @@ impl<'a, 'hir> Visitor<'hir> for CheckLoopVisitor<'a, 'hir> {
77
77
}
78
78
79
79
let loop_id = match label. target_id {
80
- Ok ( loop_id) => loop_id,
81
- Err ( hir:: LoopIdError :: OutsideLoopScope ) => hir :: DUMMY_HIR_ID ,
80
+ Ok ( loop_id) => Some ( loop_id) ,
81
+ Err ( hir:: LoopIdError :: OutsideLoopScope ) => None ,
82
82
Err ( hir:: LoopIdError :: UnlabeledCfInWhileCondition ) => {
83
83
self . emit_unlabled_cf_in_while_condition ( e. span , "break" ) ;
84
- hir :: DUMMY_HIR_ID
84
+ None
85
85
}
86
- Err ( hir:: LoopIdError :: UnresolvedLabel ) => hir :: DUMMY_HIR_ID ,
86
+ Err ( hir:: LoopIdError :: UnresolvedLabel ) => None ,
87
87
} ;
88
88
89
- if loop_id != hir :: DUMMY_HIR_ID {
89
+ if let Some ( loop_id) = loop_id {
90
90
if let Node :: Block ( _) = self . hir_map . find ( loop_id) . unwrap ( ) {
91
91
return ;
92
92
}
93
93
}
94
94
95
95
if opt_expr. is_some ( ) {
96
- let loop_kind = if loop_id == hir:: DUMMY_HIR_ID {
97
- None
98
- } else {
96
+ let loop_kind = if let Some ( loop_id) = loop_id {
99
97
Some ( match self . hir_map . expect_expr ( loop_id) . kind {
100
98
hir:: ExprKind :: Loop ( _, _, source) => source,
101
99
ref r => {
102
100
span_bug ! ( e. span, "break label resolved to a non-loop: {:?}" , r)
103
101
}
104
102
} )
103
+ } else {
104
+ None
105
105
} ;
106
106
match loop_kind {
107
107
None | Some ( hir:: LoopSource :: Loop ) => ( ) ,
0 commit comments