Implement extern C++ shared structs
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index 9cfe3b5..c2d88ce 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -43,7 +43,8 @@
             Api::Struct(strct) => expanded.extend(expand_struct(strct)),
             Api::Enum(enm) => expanded.extend(expand_enum(enm)),
             Api::CxxType(ety) => {
-                if !types.enums.contains_key(&ety.ident) {
+                let ident = &ety.ident;
+                if !types.structs.contains_key(ident) && !types.enums.contains_key(ident) {
                     expanded.extend(expand_cxx_type(namespace, ety));
                 }
             }