はじめに この記事では、Cの構造体におけるいわゆるZero-length Array / Flexible Array Member(このイディオム自体知らなかったわけですが)をRustのFFIから扱う際にstd::mem::transmuteを使って強引にキャストしていました。その後いろいろ試したところ、特にtransmuteが必須というわけでもなかった、ということが分かりましたので、現時点で妥当と思うやり方を書いておきます。 (もっといいやり方がありましたらお教えください) Zero-length Array / Flexible Array Member この記事で扱うのは、以下のようなCの構造体をRustのFFIでどう扱うか、です。