انواع مشترک

#[cxx::bridge]
mod ffi {
    #[derive(Clone, Debug, Hash)]
    struct PlayingCard {
        suit: Suit,
        value: u8,  // A=1, J=11, Q=12, K=13
    }

    enum Suit {
        Clubs,
        Diamonds,
        Hearts,
        Spades,
    }
}
  • فقط C-like (unit) enums پشتیبانی می‌شود.
  • تعداد محدودی از ویژگی‌ها برای #[derive()]در انواع مشترک پشتیبانی می‌شوند. عملکرد مربوطه نیز برای کد ++C ایجاد می شود، به عنوان مثال. اگر Hash را استخراج کنید، پیاده‌سازی std::hash برای نوع ++C مربوطه نیز ایجاد می‌کند.