Don't crash when #[dom_struct] is applied on an empty struct

This commit is contained in:
Manish Goregaokar 2016-09-26 10:59:41 +02:00
parent 2ba804e6db
commit 85b65fc0d3

View file

@ -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(