diff options
| author | Ralf Jung <post@ralfj.de> | 2023-10-12 08:25:22 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2023-10-13 07:42:07 +0200 |
| commit | 1ee055f0ecbadd9e6c51182a7179d8f8acfd4720 (patch) | |
| tree | fbd02b787a19781ab0aba0b0e28345792199d647 /compiler/rustc_const_eval/src | |
| parent | 3c23df49352264938a726f6a586d6019e602c5cf (diff) | |
| download | rust-1ee055f0ecbadd9e6c51182a7179d8f8acfd4720.tar.gz rust-1ee055f0ecbadd9e6c51182a7179d8f8acfd4720.zip | |
add some comments and some cleanup around Miri intptrcast
Diffstat (limited to 'compiler/rustc_const_eval/src')
| -rw-r--r-- | compiler/rustc_const_eval/src/interpret/memory.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/memory.rs b/compiler/rustc_const_eval/src/interpret/memory.rs index ce666e6af3b..a646f09dee0 100644 --- a/compiler/rustc_const_eval/src/interpret/memory.rs +++ b/compiler/rustc_const_eval/src/interpret/memory.rs @@ -1249,6 +1249,11 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { /// Turning a "maybe pointer" into a proper pointer (and some information /// about where it points), or an absolute address. + /// + /// The result must be used immediately; it is not allowed to convert + /// the returned data back into a `Pointer` and store that in machine state. + /// (In fact that's not even possible since `M::ProvenanceExtra` is generic and + /// we don't have an operation to turn it back into `M::Provenance`.) pub fn ptr_try_get_alloc_id( &self, ptr: Pointer<Option<M::Provenance>>, @@ -1267,6 +1272,11 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { } /// Turning a "maybe pointer" into a proper pointer (and some information about where it points). + /// + /// The result must be used immediately; it is not allowed to convert + /// the returned data back into a `Pointer` and store that in machine state. + /// (In fact that's not even possible since `M::ProvenanceExtra` is generic and + /// we don't have an operation to turn it back into `M::Provenance`.) #[inline(always)] pub fn ptr_get_alloc_id( &self, |
