1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-03 08:34:07 +02:00

supress clippy conversion warnings in derived code

This commit is contained in:
Robin Appelman 2023-06-03 18:12:26 +02:00
commit 1310ec3673
2 changed files with 13 additions and 4 deletions

View file

@ -501,10 +501,12 @@ fn parse(data: Data, struct_name: &Ident, attrs: &[Attribute], unchecked: bool)
let enum_name = Lit::Str(LitStr::new(&struct_name.to_string(), struct_name.span()));
quote_spanned! {span=>
#align;
#[allow(clippy::unnecessary_cast)]
let discriminant:#repr = stream.read_int(#discriminant_bits as usize)?;
Ok(match discriminant {
#(#match_arms)*
_ => {
#[allow(clippy::unnecessary_cast)]
return Err(::bitbuffer::BitError::UnmatchedDiscriminant{discriminant: discriminant as usize, enum_name: #enum_name.to_string()})
}
})
@ -619,8 +621,11 @@ fn get_field_size(attrs: &[Attribute], span: Span) -> Option<TokenStream> {
}
Lit::Str(size_field) => {
let size = parse_str::<Expr>(&size_field.value()).unwrap();
quote_spanned! {span =>
(#size) as usize
quote_spanned! {span => {
#[allow(clippy::unnecessary_cast)]
let __size = (#size) as usize;
__size
}
}
}
_ => panic!("Unsupported value for size attribute"),

View file

@ -271,6 +271,7 @@ fn write(data: Data, struct_name: &Ident, attrs: &[Attribute]) -> TokenStream {
let discriminant:#repr = match &self {
#(#discriminant_value),*
};
#[allow(clippy::unnecessary_cast)]
__target__stream.write_int(discriminant, #discriminant_bits as usize)?;
match &self {
#(#write_inner)*
@ -292,8 +293,11 @@ fn get_field_size(attrs: &[Attribute], span: Span) -> Option<TokenStream> {
}
Lit::Str(size_field) => {
let size = parse_str::<Expr>(&size_field.value()).expect("size");
quote_spanned! {span =>
(#size) as usize
quote_spanned! {span => {
#[allow(clippy::unnecessary_cast)]
let __size = (#size) as usize;
__size
}
}
}
_ => panic!("Unsupported value for size attribute"),