use syn::{Result, Token, parse::ParseStream};
mod container;
mod packed_attributes;
mod packed_enum;
mod packed_field;
mod packed_structure;
mod packed_tuple;
mod packed_unit;
pub(crate) fn reject_generics(input: ParseStream) -> Result<()> {
if input.peek(Token![<]) {
Err(syn::Error::new(
input.span(),
"packtool cannot derive `Packed` for generic enums",
))
} else {
Ok(())
}
}
pub use self::{
container::{Container, Data},
packed_attributes::{AccessorType, PackedAttributes, ValueType},
packed_enum::{PackedEnum, PackedVariant},
packed_field::PackedField,
packed_structure::PackedStruct,
packed_tuple::PackedTuple,
packed_unit::{PackedUnit, PackedUnitOrigin},
};