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 2323</div >
2424
2525* 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 ] .
2931* Breaking the [ pointer aliasing rules] . ` Box<T> ` , ` &mut T ` and ` &T ` follow
3032 LLVM’s scoped [ noalias] model, except if the ` &T ` contains an
3133 [ ` UnsafeCell<U> ` ] . References and boxes must not be [ dangling] while they are
@@ -129,3 +131,7 @@ must never exceed `isize::MAX`.
129131[ rules ] : inline-assembly.md#rules-for-inline-assembly
130132[ points to ] : #pointed-to-bytes
131133[ 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