@@ -116,34 +116,33 @@ fn prepare_vtable_segments_inner<'tcx, T>(
116
116
loop {
117
117
// dive deeper into the stack, recording the path
118
118
' diving_in: loop {
119
- if let Some ( ( inner_most_trait_ref, _, _) ) = stack. last ( ) {
120
- let inner_most_trait_ref = * inner_most_trait_ref ;
121
- let mut direct_super_traits_iter = tcx
122
- . super_predicates_of ( inner_most_trait_ref. def_id ( ) )
123
- . predicates
124
- . into_iter ( )
125
- . filter_map ( move |( pred, _) | {
126
- pred. subst_supertrait ( tcx, & inner_most_trait_ref) . as_trait_clause ( )
127
- } ) ;
119
+ let & ( inner_most_trait_ref, _, _) = stack. last ( ) . unwrap ( ) ;
120
+
121
+ let mut direct_super_traits_iter = tcx
122
+ . super_predicates_of ( inner_most_trait_ref. def_id ( ) )
123
+ . predicates
124
+ . into_iter ( )
125
+ . filter_map ( move |( pred, _) | {
126
+ pred. subst_supertrait ( tcx, & inner_most_trait_ref) . as_trait_clause ( )
127
+ } ) ;
128
128
129
- ' diving_in_skip_visited_traits: loop {
130
- if let Some ( next_super_trait) = direct_super_traits_iter. next ( ) {
131
- if visited. insert ( next_super_trait. to_predicate ( tcx) ) {
132
- // We're throwing away potential constness of super traits here.
133
- // FIXME: handle ~const super traits
134
- let next_super_trait = next_super_trait. map_bound ( |t| t. trait_ref ) ;
135
- stack. push ( (
136
- next_super_trait,
137
- emit_vptr_on_new_entry,
138
- Some ( direct_super_traits_iter) ,
139
- ) ) ;
140
- break ' diving_in_skip_visited_traits;
141
- } else {
142
- continue ' diving_in_skip_visited_traits;
143
- }
129
+ ' diving_in_skip_visited_traits: loop {
130
+ if let Some ( next_super_trait) = direct_super_traits_iter. next ( ) {
131
+ if visited. insert ( next_super_trait. to_predicate ( tcx) ) {
132
+ // We're throwing away potential constness of super traits here.
133
+ // FIXME: handle ~const super traits
134
+ let next_super_trait = next_super_trait. map_bound ( |t| t. trait_ref ) ;
135
+ stack. push ( (
136
+ next_super_trait,
137
+ emit_vptr_on_new_entry,
138
+ Some ( direct_super_traits_iter) ,
139
+ ) ) ;
140
+ break ' diving_in_skip_visited_traits;
144
141
} else {
145
- break ' diving_in ;
142
+ continue ' diving_in_skip_visited_traits ;
146
143
}
144
+ } else {
145
+ break ' diving_in;
147
146
}
148
147
}
149
148
}
0 commit comments