【发布时间】:2022-03-09 06:04:54
【问题描述】:
我有一个指针buf: *const T 指向T 的n 元素分配的开始,我定义了以下检查:
let in_alloc = buf <= ptr && ptr < unsafe { buf.add(n) };
对于位于buf 的分配中的任何ptr,是否保证in_alloc 是true,在任何其他情况下是false?我们可以假设ptr 是一个指向T 对象的有效指针(因此不会错位/空/悬空),但是它可能来自也可能不来自与buf 相同的分配。最后我们可以假设T 不是零大小的。
【问题讨论】:
标签: pointers rust language-lawyer