From c7bb207dd099442aa22e99537d904bc79212f36c Mon Sep 17 00:00:00 2001 From: Gino Valente Date: Fri, 5 May 2023 11:09:53 -0700 Subject: [PATCH] Account for field-less structs --- crates/bevy_derive/src/derefs.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/bevy_derive/src/derefs.rs b/crates/bevy_derive/src/derefs.rs index 3f2ed0278c3c6..9f4cd951f213e 100644 --- a/crates/bevy_derive/src/derefs.rs +++ b/crates/bevy_derive/src/derefs.rs @@ -55,6 +55,10 @@ fn get_deref_field(ast: &DeriveInput, is_mut: bool) -> syn::Result<(Member, &Typ let deref_attr_str = format!("`#[{DEREF_ATTR}]`"); match &ast.data { + Data::Struct(data_struct) if data_struct.fields.len() == 0 => Err(syn::Error::new( + Span::call_site().into(), + format!("{deref_kind} cannot be derived on field-less structs"), + )), Data::Struct(data_struct) if data_struct.fields.len() == 1 => { let field = data_struct.fields.iter().next().unwrap(); let member = to_member(field, 0);