Cgraph 用の Perl6 バインディングを作成しようとしていますが、構造体の 1 つに 8 未満の値を持つ一部の属性のビット フィールドが設定されています。モジュールでそれをどのように表現すればよいですか?
トレイトを使用してカスタム型を定義しようとしましたis nativesize(x)
が、CStructs は 8 ビット幅の倍数の型しかサポートしません。
C のコード例:
struct Agtag_s {
unsigned objtype:2;
}
私が試したこと:
my native objtype is repr('P6int') is Int is nativesize(2) is export { }
class Agtag is repr('CStruct') is export {
has objtype $.object-type;
}
そのコードでモジュールを使用しようとすると、次のエラー メッセージが表示されて失敗します。
CStruct only supports native types that are a multiple of 8 bits wide (was passed: 2)