> `*` [_Expression_]
The `*` (dereference) operator is also a unary prefix operator. When applied to
-a [pointer](types/pointer.html) it denotes the pointed-to location. If
+a [pointer](../types/pointer.md) it denotes the pointed-to location. If
the expression is of type `&mut T` and `*mut T`, and is either a local
variable, a (nested) field of a local variable or is a mutable [place
expression], then the resulting memory location can be assigned to.
Dereferencing a raw pointer requires `unsafe`.
On non-pointer types `*x` is equivalent to `*std::ops::Deref::deref(&x)` in an
-[immutable place expression context](expressions.html#mutability) and
+[immutable place expression context](../expressions.md#mutability) and
`*std::ops::DerefMut::deref_mut(&mut x)` in a mutable place expression context.
```rust
}
```
-`as` can be used to explicitly perform [coercions](type-coercions.html), as
+`as` can be used to explicitly perform [coercions](../type-coercions.md), as
well as the following additional casts. Here `*T` means either `*const T` or
`*mut T`.
| `*T` where `T: Sized` | Numeric type | Pointer to address cast |
| Integer type | `*V` where `V: Sized` | Address to pointer cast |
| `&[T; n]` | `*const T` | Array to pointer cast |
-| [Function pointer](types/function-pointer.html) | `*V` where `V: Sized` | Function pointer to pointer cast |
+| [Function pointer](../types/function-pointer.md) | `*V` where `V: Sized` | Function pointer to pointer cast |
| Function pointer | Integer | Function pointer to address cast |
| Closure \*\* | Function pointer | Closure to function pointer cast |
equals sign (`=`) and a [value expression]. Such an expression always has
the [`unit` type].
-Evaluating an assignment expression [drops](destructors.html) the left-hand
+Evaluating an assignment expression [drops](../destructors.md) the left-hand
operand, unless it's an uninitialized local variable or field of a local variable,
-and [either copies or moves](expressions.html#moved-and-copied-types) its
+and [either copies or moves](../expressions.md#moved-and-copied-types) its
right-hand operand to its left-hand operand. The left-hand operand must be a
place expression: using a value expression results in a compiler error, rather
than promoting it to a temporary.
assert_eq!(x, 14);
```
-[place expression]: expressions.html#place-expressions-and-value-expressions
-[value expression]: expressions.html#place-expressions-and-value-expressions
-[temporary value]: expressions.html#temporary-lifetimes
+[place expression]: ../expressions.md#place-expressions-and-value-expressions
+[value expression]: ../expressions.md#place-expressions-and-value-expressions
+[temporary value]: ../expressions.md#temporary-lifetimes
[float-int]: https://github.com/rust-lang/rust/issues/10184
[float-float]: https://github.com/rust-lang/rust/issues/15536
-[`unit` type]: types/tuple.html
+[`unit` type]: ../types/tuple.md
[_BorrowExpression_]: #borrow-operators
[_DereferenceExpression_]: #the-dereference-operator
[_AssignmentExpression_]: #assignment-expressions
[_CompoundAssignmentExpression_]: #compound-assignment-expressions
-[_Expression_]: expressions.html
-[_TypeNoBounds_]: types.html#type-expressions
+[_Expression_]: ../expressions.md
+[_TypeNoBounds_]: ../types.md#type-expressions