struct Hoge (pub Vec<Fuga>);
とか
struct Hage {pub a: Vec<Fuga>}

let o = Hoge(vec![いろいろ]);
let a = Hage{a: vec![いろいろ]};
があるとき
let p: *const Fuga = &o.0[0] as *const Fuga;
とか
let q: *const Fuga = &a.a[0] as *const Fuga;
は期待する値が得られるのですが
let p_00: *const Fuga = &o.0 as *const Vec<Fuga> as *const Fuga;
とか
let q_00: *const Fuga = &a.a as *const Vec<Fuga> as *const Fuga;
とか
let p_0: *const Fuga = &o as *const Hoge as *const Fuga;
とか
let q_0: *const Fuga = &a as *const Hage as *const Fuga;
とか
は一応コンパイルは通るけど期待する値(Vecの要素の先頭アドレス)にはなっていません
structやVecのインスタンスの先頭アドレスがVecの要素の先頭アドレスであることは期待出来ないのでしょうか?
一致させることは不可能?