@@ -59,7 +59,6 @@ use proc_macro2::{Ident, Span};
59
59
use quote:: { ToTokens , TokenStreamExt } ;
60
60
61
61
use crate :: { Entry , HashMap , HashSet } ;
62
- use itertools:: izip;
63
62
use std:: borrow:: Cow ;
64
63
use std:: cell:: Cell ;
65
64
use std:: collections:: VecDeque ;
@@ -3286,7 +3285,7 @@ enum EnumBuilderKind {
3286
3285
NewType {
3287
3286
is_bitfield : bool ,
3288
3287
is_global : bool ,
3289
- // if the enum is named or not.
3288
+ /// if the enum is named or not.
3290
3289
is_anonymous : bool ,
3291
3290
} ,
3292
3291
Consts {
@@ -3479,25 +3478,18 @@ impl EnumBuilder {
3479
3478
rust_ty : & syn:: Type ,
3480
3479
enum_variants : & [ EnumVariantInfo ] ,
3481
3480
) -> proc_macro2:: TokenStream {
3482
- let mut variant_idents = vec ! [ ] ;
3483
- let mut variant_values = vec ! [ ] ;
3484
- let mut variant_docs = vec ! [ ] ;
3485
- for v in enum_variants {
3486
- variant_idents. push ( v. variant_name . clone ( ) ) ;
3487
- variant_values. push ( v. value . clone ( ) ) ;
3488
- variant_docs. push ( v. variant_doc . clone ( ) ) ;
3489
- }
3490
-
3491
3481
let enum_ident = self . enum_type ;
3492
3482
3493
3483
// 1. Construct a list of the enum variants
3494
3484
let variants = match self . kind {
3495
3485
EnumBuilderKind :: Rust { .. } => {
3496
3486
let mut variants = vec ! [ ] ;
3497
3487
3498
- for ( variant_ident, variant_doc, variant_value) in
3499
- izip ! ( & variant_idents, & variant_docs, & variant_values)
3500
- {
3488
+ for v in enum_variants {
3489
+ let variant_doc = & v. variant_doc ;
3490
+ let variant_ident = & v. variant_name ;
3491
+ let variant_value = & v. value ;
3492
+
3501
3493
variants. push ( quote ! {
3502
3494
#variant_doc
3503
3495
#variant_ident = #variant_value,
@@ -3507,16 +3499,18 @@ impl EnumBuilder {
3507
3499
if variants. is_empty ( ) {
3508
3500
variants. push (
3509
3501
quote ! { __bindgen_cannot_repr_c_on_empty_enum = 0 , } ,
3510
- )
3502
+ ) ;
3511
3503
}
3512
3504
variants
3513
3505
}
3514
3506
EnumBuilderKind :: NewType { .. } => {
3515
3507
let mut variants = vec ! [ ] ;
3516
3508
3517
- for ( variant_ident, variant_doc, variant_value) in
3518
- izip ! ( & variant_idents, & variant_docs, & variant_values)
3519
- {
3509
+ for v in enum_variants {
3510
+ let variant_doc = & v. variant_doc ;
3511
+ let variant_ident = & v. variant_name ;
3512
+ let variant_value = & v. value ;
3513
+
3520
3514
variants. push ( quote ! {
3521
3515
#variant_doc
3522
3516
pub const #variant_ident: #enum_ident = #variant_value;
@@ -3528,9 +3522,11 @@ impl EnumBuilder {
3528
3522
EnumBuilderKind :: ModuleConsts { .. } => {
3529
3523
let mut variants = vec ! [ ] ;
3530
3524
3531
- for ( variant_ident, variant_doc, variant_value) in
3532
- izip ! ( & variant_idents, & variant_docs, & variant_values)
3533
- {
3525
+ for v in enum_variants {
3526
+ let variant_doc = & v. variant_doc ;
3527
+ let variant_ident = & v. variant_name ;
3528
+ let variant_value = & v. value ;
3529
+
3534
3530
variants. push ( quote ! {
3535
3531
#variant_doc
3536
3532
pub const #variant_ident: #enum_ident = #variant_value;
0 commit comments