@@ -29,7 +29,10 @@ impl From<clean::Item> for Item {
29
29
id : def_id. into ( ) ,
30
30
crate_id : def_id. krate . as_u32 ( ) ,
31
31
name,
32
- stripped : inner == clean:: StrippedItem ( _) ,
32
+ stripped : match inner {
33
+ clean:: StrippedItem ( _) => true ,
34
+ _ => false ,
35
+ } ,
33
36
source : source. into ( ) ,
34
37
visibility : visibility. into ( ) ,
35
38
docs : attrs. collapsed_doc_value ( ) . unwrap_or_default ( ) ,
@@ -179,27 +182,18 @@ impl From<clean::ItemEnum> for ItemEnum {
179
182
bounds : g. into_iter ( ) . map ( Into :: into) . collect ( ) ,
180
183
default : t. map ( Into :: into) ,
181
184
} ,
182
- StrippedItem ( inner) => ItemEnum :: StrippedItem ( Box :: new ( ( * inner) . into ( ) ) ) ,
185
+ StrippedItem ( inner) => ( * inner) . into ( ) ,
183
186
_ => panic ! ( "{:?} is not supported for JSON output" , item) ,
184
187
}
185
188
}
186
189
}
187
190
188
- fn remove_stripped ( items : & [ clean:: Item ] ) -> Vec < Id > {
189
- items
190
- . into_iter ( )
191
- . filter_map ( |i| {
192
- if let clean:: StrippedItem ( _) = i. inner {
193
- return None ;
194
- }
195
- Some ( i. def_id . into ( ) )
196
- } )
197
- . collect ( )
198
- }
199
-
200
191
impl From < clean:: Module > for Module {
201
192
fn from ( module : clean:: Module ) -> Self {
202
- Module { is_crate : module. is_crate , items : remove_stripped ( & module. items ) }
193
+ Module {
194
+ is_crate : module. is_crate ,
195
+ items : module. items . into_iter ( ) . map ( |i| i. def_id . into ( ) ) . collect ( ) ,
196
+ }
203
197
}
204
198
}
205
199
@@ -210,7 +204,7 @@ impl From<clean::Struct> for Struct {
210
204
struct_type : struct_type. into ( ) ,
211
205
generics : generics. into ( ) ,
212
206
fields_stripped,
213
- fields : remove_stripped ( & fields) ,
207
+ fields : fields. into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ,
214
208
impls : Vec :: new ( ) , // Added in JsonRenderer::item
215
209
}
216
210
}
@@ -223,7 +217,7 @@ impl From<clean::Union> for Struct {
223
217
struct_type : struct_type. into ( ) ,
224
218
generics : generics. into ( ) ,
225
219
fields_stripped,
226
- fields : remove_stripped ( & fields) ,
220
+ fields : fields. into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ,
227
221
impls : Vec :: new ( ) , // Added in JsonRenderer::item
228
222
}
229
223
}
@@ -410,7 +404,7 @@ impl From<clean::Trait> for Trait {
410
404
Trait {
411
405
is_auto : auto,
412
406
is_unsafe : unsafety == rustc_hir:: Unsafety :: Unsafe ,
413
- items : remove_stripped ( & items) ,
407
+ items : items. into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ,
414
408
generics : generics. into ( ) ,
415
409
bounds : bounds. into_iter ( ) . map ( Into :: into) . collect ( ) ,
416
410
implementors : Vec :: new ( ) , // Added in JsonRenderer::item
@@ -437,7 +431,7 @@ impl From<clean::Impl> for Impl {
437
431
provided_trait_methods : provided_trait_methods. into_iter ( ) . collect ( ) ,
438
432
trait_ : trait_. map ( Into :: into) ,
439
433
for_ : for_. into ( ) ,
440
- items : remove_stripped ( & items) ,
434
+ items : items. into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ,
441
435
negative : polarity == Some ( clean:: ImplPolarity :: Negative ) ,
442
436
synthetic,
443
437
blanket_impl : blanket_impl. map ( Into :: into) ,
@@ -476,7 +470,7 @@ impl From<clean::Enum> for Enum {
476
470
Enum {
477
471
generics : generics. into ( ) ,
478
472
variants_stripped,
479
- variants : remove_stripped ( & variants. into_iter ( ) . collect :: < Vec < _ > > ( ) ) ,
473
+ variants : variants. into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ,
480
474
impls : Vec :: new ( ) , // Added in JsonRenderer::item
481
475
}
482
476
}
@@ -489,7 +483,7 @@ impl From<clean::VariantStruct> for Struct {
489
483
struct_type : struct_type. into ( ) ,
490
484
generics : Default :: default ( ) ,
491
485
fields_stripped,
492
- fields : remove_stripped ( & fields) ,
486
+ fields : fields. into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ,
493
487
impls : Vec :: new ( ) ,
494
488
}
495
489
}
@@ -501,7 +495,7 @@ impl From<clean::Variant> for Variant {
501
495
match variant. kind {
502
496
CLike => Variant :: Plain ,
503
497
Tuple ( t) => Variant :: Tuple ( t. into_iter ( ) . map ( Into :: into) . collect ( ) ) ,
504
- Struct ( s) => Variant :: Struct ( remove_stripped ( & s. fields ) ) ,
498
+ Struct ( s) => Variant :: Struct ( s. fields . into_iter ( ) . map ( |i| i . def_id . into ( ) ) . collect ( ) ) ,
505
499
}
506
500
}
507
501
}
0 commit comments