Skip to content

Commit e563ae6

Browse files
TiwalunKowasaki
authored andcommitted
Move check for field size outside loop
1 parent a73b187 commit e563ae6

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/codegen/mod.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -913,19 +913,20 @@ fn flush_bitfields<'a, I>(ctx: &BindgenContext,
913913
.pub_()
914914
.build_ty(field_ty.clone());
915915

916+
let field_int_ty = match field_layout.size {
917+
8 => quote_ty!(ctx.ext_cx(), u64),
918+
4 => quote_ty!(ctx.ext_cx(), u32),
919+
2 => quote_ty!(ctx.ext_cx(), u16),
920+
1 => quote_ty!(ctx.ext_cx(), u8),
921+
_ => return field
922+
};
923+
916924
for (name, offset, width, bitfield_ty, bitfield_layout) in bitfields {
917925
let prefix = ctx.trait_prefix();
918926
let getter_name = bitfield_getter_name(ctx, parent, name);
919927
let setter_name = bitfield_setter_name(ctx, parent, name);
920928
let field_ident = ctx.ext_cx().ident_of(field_name);
921929

922-
let field_int_ty = match field_layout.size {
923-
8 => quote_ty!(ctx.ext_cx(), u64),
924-
4 => quote_ty!(ctx.ext_cx(), u32),
925-
2 => quote_ty!(ctx.ext_cx(), u16),
926-
1 => quote_ty!(ctx.ext_cx(), u8),
927-
_ => return field
928-
};
929930
let bitfield_int_ty = BlobTyBuilder::new(bitfield_layout).build();
930931

931932
let mask: usize = ((1usize << width) - 1usize) << offset;

0 commit comments

Comments
 (0)