mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-30 08:34:07 +00:00
improve OFFSET_IS_ADDR docs
This commit is contained in:
parent
1a1220c5e4
commit
c46e803aaf
@ -107,8 +107,12 @@ impl<T: HasDataLayout> PointerArithmetic for T {}
|
||||
/// pointer), but `derive` adds some unnecessary bounds.
|
||||
pub trait Provenance: Copy + fmt::Debug {
|
||||
/// Says whether the `offset` field of `Pointer`s with this provenance is the actual physical address.
|
||||
/// If `true, ptr-to-int casts work by simply discarding the provenance.
|
||||
/// If `false`, ptr-to-int casts are not supported. The offset *must* be relative in that case.
|
||||
/// - If `false`, the offset *must* be relative. This means the bytes representing a pointer are
|
||||
/// different from what the Abstract Machine prescribes, so the interpreter must prevent any
|
||||
/// operation that would inspect the underlying bytes of a pointer, such as ptr-to-int
|
||||
/// transmutation. A `ReadPointerAsBytes` error will be raised in such situations.
|
||||
/// - If `true`, the interpreter will permit operations to inspect the underlying bytes of a
|
||||
/// pointer, and implement ptr-to-int transmutation by stripping provenance.
|
||||
const OFFSET_IS_ADDR: bool;
|
||||
|
||||
/// We also use this trait to control whether to abort execution when a pointer is being partially overwritten
|
||||
|
Loading…
Reference in New Issue
Block a user