summaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2019-02-04 12:34:00 +0100
committerGitHub <noreply@github.com>2019-02-04 12:34:00 +0100
commita5ccffbcf4b289f80bf5533cdf94175d78bedec5 (patch)
treef0e272474bddc4c9822b136bcf21b5c15efad50b /src/codegen
parent49b74244f7db8618b9a1b135ce2659751636c59c (diff)
parent4f17e693d9cd9074b355ac84d18d866f95a166a9 (diff)
Merge pull request #1515 from emilio/implicit-base
codegen: Append implicit template parameters to base members.
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/mod.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index d3395edf..4dfd12ce 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -1504,14 +1504,15 @@ impl CodeGenerator for CompInfo {
continue;
}
- let inner = base.ty.to_rust_ty_or_opaque(ctx, &());
+ let inner_item = ctx.resolve_item(base.ty);
+ let mut inner = inner_item.to_rust_ty_or_opaque(ctx, &());
+ inner.append_implicit_template_params(ctx, &inner_item);
let field_name = ctx.rust_ident(&base.field_name);
- let base_ty = ctx.resolve_type(base.ty);
- struct_layout.saw_base(base_ty);
+ struct_layout.saw_base(inner_item.expect_type());
fields.push(quote! {
- pub #field_name : #inner ,
+ pub #field_name: #inner,
});
}
}