summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/codegen/mod.rs5
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);