Спільні типи
#[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-подібні (одиничні) переліки.
- Для
#[derive()]
на спільних типах підтримується обмежена кількість трейтів. Відповідна функціональність також генерується для C++ коду, наприклад, якщо ви виводитеHash
, також генерується реалізаціяstd::hash
для відповідного типу C++.