File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change 23
23
</div >
24
24
25
25
* Data races.
26
- * Evaluating a [ dereference expression] (` *expr ` ) on a raw pointer that is
27
- [ dangling] or unaligned, even in [ place expression context]
28
- (e.g. ` addr_of!(*expr) ` ).
26
+ * Accessing (loading from or storing to) a place that is [ dangling] or unaligned.
27
+ * Performing a place projection that violates the requirements of [ in-bounds
28
+ pointer arithmetic] [ offset ] . A place projection is a [ field
29
+ expression] [ project-field ] , a [ tuple index expression] [ project-tuple ] , or an
30
+ [ array/slice index expression] [ project-slice ] .
29
31
* Breaking the [ pointer aliasing rules] . ` Box<T> ` , ` &mut T ` and ` &T ` follow
30
32
LLVM’s scoped [ noalias] model, except if the ` &T ` contains an
31
33
[ ` UnsafeCell<U> ` ] . References and boxes must not be [ dangling] while they are
@@ -129,3 +131,7 @@ must never exceed `isize::MAX`.
129
131
[ rules ] : inline-assembly.md#rules-for-inline-assembly
130
132
[ points to ] : #pointed-to-bytes
131
133
[ pointed to ] : #pointed-to-bytes
134
+ [ offset ] : ../std/primitive.pointer.html#method.offset
135
+ [ project-field ] : expressions/field-expr.md
136
+ [ project-tuple ] : expressions/tuple-expr.md#tuple-indexing-expressions
137
+ [ project-slice ] : expressions/array-expr.md#array-and-slice-indexing-expressions
You can’t perform that action at this time.
0 commit comments