aboutsummaryrefslogtreecommitdiffstats
path: root/components/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'components/plugins')
-rw-r--r--components/plugins/reflector.rs5
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(