共有の型

#[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, } }

Speaker Notes

  • C のような(単位)列挙型のみがサポートされています。
  • 共有型の #[derive()] では、サポートされるトレイトの数が限られています。対応する機能は C++ コードでも生成されます。たとえば、Hash を導出すると、対応する C++ 型の std::hash の実装も生成されます。