構造体のメモリレイアウト
- Rustのstructは、2019/04/14現在のデフォルトであれば、アライメントの大きな変数が先になるように並べ替える
- “struct field reordering”という
- 詳しい経緯はhttp://camlorn.net/posts/April%202017/rust-struct-field-reordering.htmlを参照
- なので、Rustに管理されている要素はC言語のように低レベル表現を想定しない方が良い
- ちなみに、C言語互換のレイアウトを取りたい場合は
#[repr(C)]を頭に付ける
panicが曖昧エラー
- テストビルドを作るためにno_stdを外したい
panicが曖昧であるとしてエラーになるstd::panicはcore::panicのエイリアスではないcore::panicがuseされて、std::panicと競合していた