Rust では、aは脂肪参照&Tであり、実際には に対応します。Ttraitraw::TraitObject
pub struct TraitObject {
    pub data: *mut (),
    pub vtable: *mut (),
}
を使用すると、余暇に を分解TraitObjectおよび再構築できます。&T
ただし、 a を分解して を取得するvtableのは簡単ですが、そもそも を取得せず、 and だけを取得する&Tとどうなるでしょうか。基本的に、次のようなものです。&TTS
fn make_vptr<T: ?Sized, S>() -> *mut ();
どうすればそこから v-ptr を推測できますか? 私が使用できる組み込みはありますか?
S注: を作成して(または空中から呼び出して)参照を作成する単純な実装は&T機能しません。コンパイラTは、必ずしも a ではないため、traitサイズ&Tが 1 つまたは 2 つのポインターであると不平を言います。