File tree Expand file tree Collapse file tree 2 files changed +16
-5
lines changed Expand file tree Collapse file tree 2 files changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: f78af18127e2bc0075479e8495bfa63807e938fc
8
+ refs/heads/try2: 0189ef360092dbebfef5bdfd7a2ebe0c0ccc0f3c
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
Original file line number Diff line number Diff line change @@ -1173,10 +1173,7 @@ For a more in-depth explanation of borrowed pointers, read the
1173
1173
## Freezing
1174
1174
1175
1175
Borrowing an immutable pointer to an object freezes it and prevents mutation.
1176
- `Owned` objects have freezing enforced statically at compile-time. Mutable
1177
- managed boxes handle freezing dynamically when any of their contents are
1178
- borrowed, and the task will fail if an attempt to modify them is made while
1179
- they are frozen.
1176
+ `Owned` objects have freezing enforced statically at compile-time.
1180
1177
1181
1178
~~~~
1182
1179
let mut x = 5;
@@ -1186,6 +1183,20 @@ let mut x = 5;
1186
1183
// x is now unfrozen again
1187
1184
~~~~
1188
1185
1186
+ Mutable managed boxes handle freezing dynamically when any of their contents
1187
+ are borrowed, and the task will fail if an attempt to modify them is made while
1188
+ they are frozen:
1189
+
1190
+ ~~~~
1191
+ let x = @mut 5;
1192
+ let y = x;
1193
+ {
1194
+ let y = &*y; // the managed box is now frozen
1195
+ // modifying it through x or y will cause a task failure
1196
+ }
1197
+ // the box is now unfrozen again
1198
+ ~~~~
1199
+
1189
1200
# Dereferencing pointers
1190
1201
1191
1202
Rust uses the unary star operator (`*`) to access the contents of a
You can’t perform that action at this time.
0 commit comments