diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/codegen/mod.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index a5df8945..39b115fa 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -1047,13 +1047,16 @@ impl CodeGenerator for CompInfo { // generate tuple struct if struct or union is a forward declaration, // skip for now if template parameters are needed. + // + // NB: We generate a proper struct to avoid struct/function name + // collisions. if self.is_forward_declaration() && used_template_params.is_none() { let struct_name = item.canonical_name(ctx); let struct_name = ctx.rust_ident_raw(&struct_name); let tuple_struct = quote_item!(ctx.ext_cx(), #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct $struct_name([u8; 0]); + pub struct $struct_name { _unused: [u8; 0] }; ) .unwrap(); result.push(tuple_struct); |