File tree Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -251,17 +251,17 @@ impl Attrs {
251
251
let enum_ = & item_tree[ loc. id . value ] ;
252
252
253
253
let cfg_options = & crate_graph[ krate] . cfg_options ;
254
- let variant = ' tri: loop {
255
- let mut idx = 0 ;
256
- for variant in enum_. variants . clone ( ) {
257
- let attrs = item_tree. attrs ( db, krate, variant. into ( ) ) ;
258
- if attrs. is_cfg_enabled ( cfg_options) {
259
- if it. local_id == Idx :: from_raw ( RawIdx :: from ( idx) ) {
260
- break ' tri variant;
261
- }
262
- idx += 1 ;
254
+ let mut idx = 0 ;
255
+ let Some ( variant) = enum_. variants . clone ( ) . find ( |variant| {
256
+ let attrs = item_tree. attrs ( db, krate, ( * variant) . into ( ) ) ;
257
+ if attrs. is_cfg_enabled ( cfg_options) {
258
+ if it. local_id == Idx :: from_raw ( RawIdx :: from ( idx) ) {
259
+ return true
263
260
}
261
+ idx += 1 ;
264
262
}
263
+ false
264
+ } ) else {
265
265
return Arc :: new ( res) ;
266
266
} ;
267
267
( item_tree[ variant] . fields . clone ( ) , item_tree, krate)
You can’t perform that action at this time.
0 commit comments