DioxusLabs/dioxus · error · syn::Error
Enums must have at least one variant
Error message
Enums must have at least one variant
What it means
Error "Enums must have at least one variant" thrown in DioxusLabs/dioxus.
Source
Thrown at packages/const-serialize-macro/src/lib.rs:99
}.into()
}
syn::Fields::Unit => {
let ty = &input.ident;
let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
let mut where_clause = where_clause.cloned();
add_bounds(&mut where_clause, &input.generics, &krate);
quote! {
unsafe impl #impl_generics #krate::SerializeConst for #ty #ty_generics #where_clause {
const MEMORY_LAYOUT: #krate::Layout = #krate::Layout::Struct(#krate::StructLayout::new(
std::mem::size_of::<Self>(),
&[],
));
}
}.into()
}
},
syn::Data::Enum(data) => match data.variants.len() {
0 => syn::Error::new(input.ident.span(), "Enums must have at least one variant")
.to_compile_error()
.into(),
1.. => {
let mut repr_c = false;
let mut discriminant_size = None;
for attr in &input.attrs {
if attr.path().is_ident("repr")
&& let Err(err) = attr.parse_nested_meta(|meta| {
// #[repr(C)]
if meta.path.is_ident("C") {
repr_c = true;
return Ok(());
}
// #[repr(u8)]
if meta.path.is_ident("u8") {
discriminant_size = Some(1);
return Ok(());View on GitHub (pinned to 393d190a80)
When it happens
Trigger: Thrown at packages/const-serialize-macro/src/lib.rs:99 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of DioxusLabs/dioxus@393d190a80 (2026-08-16).
Data as JSON: /api/errors/89c6a52bdd1217bd.
Report an issue: GitHub.