@@ -2211,12 +2211,9 @@ dereferences (`*expr`), [indexing expressions](#index-expressions)
2211
2211
(` expr[expr] ` ), and [ field references] ( #field-expressions ) (` expr.f ` ).
2212
2212
All other expressions are rvalues.
2213
2213
2214
- The left operand of an [ assignment] ( #assignment-expressions ) ,
2215
- [ binary move] ( #binary-move-expressions ) or
2214
+ The left operand of an [ assignment] ( #assignment-expressions ) or
2216
2215
[ compound-assignment] ( #compound-assignment-expressions ) expression is an lvalue context,
2217
- as is the single operand of a unary [ borrow] ( #unary-operator-expressions ) ,
2218
- or [ move] ( #unary-move-expressions ) expression,
2219
- and _ both_ operands of a [ swap] ( #swap-expressions ) expression.
2216
+ as is the single operand of a unary [ borrow] ( #unary-operator-expressions ) .
2220
2217
All other expression contexts are rvalue contexts.
2221
2218
2222
2219
When an lvalue is evaluated in an _ lvalue context_ , it denotes a memory location;
@@ -2229,9 +2226,8 @@ A temporary's lifetime equals the largest lifetime of any reference that points
2229
2226
2230
2227
When a [ local variable] ( #memory-slots ) is used
2231
2228
as an [ rvalue] ( #lvalues-rvalues-and-temporaries )
2232
- the variable will either be [ moved] ( #move-expressions ) or copied,
2233
- depending on its type.
2234
- For types that contain [ owning pointers] ( #owning-pointers )
2229
+ the variable will either be moved or copied, depending on its type.
2230
+ For types that contain [ owning pointers] ( #pointer-types )
2235
2231
or values that implement the special trait ` Drop ` ,
2236
2232
the variable is moved.
2237
2233
All other types are copied.
@@ -3144,19 +3140,20 @@ A `struct` *type* is a heterogeneous product of other types, called the *fields*
3144
3140
the * record* types of the ML family,
3145
3141
or the * structure* types of the Lisp family.]
3146
3142
3147
- New instances of a ` struct ` can be constructed with a [ struct expression] ( #struct -expressions ) .
3143
+ New instances of a ` struct ` can be constructed with a [ struct expression] ( #structure -expressions ) .
3148
3144
3149
3145
The memory order of fields in a ` struct ` is given by the item defining it.
3150
3146
Fields may be given in any order in a corresponding struct * expression* ;
3151
3147
the resulting ` struct ` value will always be laid out in memory in the order specified by the corresponding * item* .
3152
3148
3153
- The fields of a ` struct ` may be qualified by [ visibility modifiers] ( #visibility-modifiers ) ,
3149
+ The fields of a ` struct ` may be qualified by [ visibility modifiers] ( #re-exporting-and-visibility ) ,
3154
3150
to restrict access to implementation-private data in a structure.
3155
3151
3156
3152
A _ tuple struct_ type is just like a structure type, except that the fields are anonymous.
3157
3153
3158
3154
A _ unit-like struct_ type is like a structure type, except that it has no fields.
3159
- The one value constructed by the associated [ structure expression] ( #structure-expression ) is the only value that inhabits such a type.
3155
+ The one value constructed by the associated [ structure expression] ( #structure-expressions )
3156
+ is the only value that inhabits such a type.
3160
3157
3161
3158
### Enumerated types
3162
3159
@@ -3827,7 +3824,7 @@ over the output format of a Rust crate.
3827
3824
### Logging system
3828
3825
3829
3826
The runtime contains a system for directing [ logging
3830
- expressions] ( #log -expressions ) to a logging console and/or internal logging
3827
+ expressions] ( #logging -expressions ) to a logging console and/or internal logging
3831
3828
buffers. Logging can be enabled per module.
3832
3829
3833
3830
Logging output is enabled by setting the ` RUST_LOG ` environment
0 commit comments