diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-02-04 12:34:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-04 12:34:00 +0100 |
commit | a5ccffbcf4b289f80bf5533cdf94175d78bedec5 (patch) | |
tree | f0e272474bddc4c9822b136bcf21b5c15efad50b /src/codegen | |
parent | 49b74244f7db8618b9a1b135ce2659751636c59c (diff) | |
parent | 4f17e693d9cd9074b355ac84d18d866f95a166a9 (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.rs | 9 |
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, }); } } |