1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-03 16:44:06 +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())); let enum_name = Lit::Str(LitStr::new(&struct_name.to_string(), struct_name.span()));
quote_spanned! {span=> quote_spanned! {span=>
#align; #align;
#[allow(clippy::unnecessary_cast)]
let discriminant:#repr = stream.read_int(#discriminant_bits as usize)?; let discriminant:#repr = stream.read_int(#discriminant_bits as usize)?;
Ok(match discriminant { Ok(match discriminant {
#(#match_arms)* #(#match_arms)*
_ => { _ => {
#[allow(clippy::unnecessary_cast)]
return Err(::bitbuffer::BitError::UnmatchedDiscriminant{discriminant: discriminant as usize, enum_name: #enum_name.to_string()}) 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) => { Lit::Str(size_field) => {
let size = parse_str::<Expr>(&size_field.value()).unwrap(); let size = parse_str::<Expr>(&size_field.value()).unwrap();
quote_spanned! {span => quote_spanned! {span => {
(#size) as usize #[allow(clippy::unnecessary_cast)]
let __size = (#size) as usize;
__size
}
} }
} }
_ => panic!("Unsupported value for size attribute"), _ => 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 { let discriminant:#repr = match &self {
#(#discriminant_value),* #(#discriminant_value),*
}; };
#[allow(clippy::unnecessary_cast)]
__target__stream.write_int(discriminant, #discriminant_bits as usize)?; __target__stream.write_int(discriminant, #discriminant_bits as usize)?;
match &self { match &self {
#(#write_inner)* #(#write_inner)*
@ -292,8 +293,11 @@ fn get_field_size(attrs: &[Attribute], span: Span) -> Option<TokenStream> {
} }
Lit::Str(size_field) => { Lit::Str(size_field) => {
let size = parse_str::<Expr>(&size_field.value()).expect("size"); let size = parse_str::<Expr>(&size_field.value()).expect("size");
quote_spanned! {span => quote_spanned! {span => {
(#size) as usize #[allow(clippy::unnecessary_cast)]
let __size = (#size) as usize;
__size
}
} }
} }
_ => panic!("Unsupported value for size attribute"), _ => panic!("Unsupported value for size attribute"),