summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gen.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gen.rs b/src/gen.rs
index ce13fe7d..cf1becc8 100644
--- a/src/gen.rs
+++ b/src/gen.rs
@@ -461,7 +461,7 @@ fn ctypedef_to_rs(ctx: &mut GenCtx, name: String, ty: &Type) -> Vec<P<ast::Item>
fn cstruct_to_rs(ctx: &mut GenCtx, name: String, fields: Vec<FieldInfo>) -> P<ast::Item> {
let mut unnamed: uint = 0;
- let fs = fields.iter().map(|f| {
+ let fs: Vec<ast::StructField> = fields.iter().map(|f| {
let f_name = if f.name.is_empty() || "_" == f.name.as_slice() {
unnamed += 1;
format!("unnamed_field{}", unnamed)
@@ -482,10 +482,11 @@ fn cstruct_to_rs(ctx: &mut GenCtx, name: String, fields: Vec<FieldInfo>) -> P<as
})
}).collect();
+ let ctor_id = if fs.is_empty() { Some(ast::DUMMY_NODE_ID) } else { None };
let def = ast::ItemStruct(
P(ast::StructDef {
fields: fs,
- ctor_id: None,
+ ctor_id: ctor_id,
}),
empty_generics()
);