Tipos Compartilhados

#[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,
    }
}
  • Apenas enums C-like (unit) sĂŁo suportados.
  • Um nĂșmero limitado de traits sĂŁo suportados para #[derive()] em tipos compartilhados. A funcionalidade correspondente tambĂ©m Ă© gerada para o cĂłdigo C++, por exemplo, se vocĂȘ derivar Hash tambĂ©m gera uma implementação de std::hash para o tipo C++ correspondente.