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ĂȘ derivarHash
também gera uma implementação destd::hash
para o tipo C++ correspondente.