diff options
Diffstat (limited to 'components/plugins')
-rw-r--r-- | components/plugins/reflector.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/components/plugins/reflector.rs b/components/plugins/reflector.rs index 04e22fa826c..27f8054fd54 100644 --- a/components/plugins/reflector.rs +++ b/components/plugins/reflector.rs @@ -12,6 +12,11 @@ pub fn expand_reflector(cx: &mut ExtCtxt, span: Span, _: &MetaItem, annotatable: push: &mut FnMut(Annotatable)) { if let &Annotatable::Item(ref item) = annotatable { if let ItemKind::Struct(ref def, _) = item.node { + if def.fields().is_empty() { + cx.span_err(span, "#[dom_struct] should have a reflector or \ + parent dom struct as its first field"); + return; + } let struct_name = item.ident; // This path has to be hardcoded, unfortunately, since we can't resolve paths at expansion time match def.fields().iter().find( |