関数 without_provenance

Since 1.84.0 (const: 1.84.0) · Source
pub const fn without_provenance<T>(addr: usize) -> *const T

与えられたアドレスから起源なしでポインタを作成する。

これは ptr::null().with_addr(addr) と等価である。

起源がないため、このポインタは実際の割り当てと関連付けられていない。そのような起源のないポインタは (適切にアラインされていれば) ゼロサイズのメモリアクセスに使えるが、起源のないポインタでの非ゼロサイズのメモリアクセスは UB である。起源のないポインタは usize アドレスの変装にすぎない。

これは addr as *const T と異なる。後者は以前に公開した起源を拾ってポインタを作成する。その操作のさらなる詳細は with_exposed_provenance を見よ。

これは厳密な起源の API である。