Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions src/doc/book/casting-between-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@ function result.

The most common case of coercion is removing mutability from a reference:

* `&mut T` to `&T`
* `&mut T` to `&T`

An analogous conversion is to remove mutability from a
[raw pointer](raw-pointers.md):

* `*mut T` to `*const T`
* `*mut T` to `*const T`

References can also be coerced to raw pointers:

* `&T` to `*const T`
* `&T` to `*const T`

* `&mut T` to `*mut T`
* `&mut T` to `*mut T`

Custom coercions may be defined using [`Deref`](deref-coercions.md).

Expand Down Expand Up @@ -59,11 +59,11 @@ A cast `e as U` is valid if `e` has type `T` and `T` *coerces* to `U`.

A cast `e as U` is also valid in any of the following cases:

* `e` has type `T` and `T` and `U` are any numeric types; *numeric-cast*
* `e` is a C-like enum (with no data attached to the variants),
and `U` is an integer type; *enum-cast*
* `e` has type `bool` or `char` and `U` is an integer type; *prim-int-cast*
* `e` has type `u8` and `U` is `char`; *u8-char-cast*
* `e` has type `T` and `T` and `U` are any numeric types; *numeric-cast*
* `e` is a C-like enum (with no data attached to the variants),
and `U` is an integer type; *enum-cast*
* `e` has type `bool` or `char` and `U` is an integer type; *prim-int-cast*
* `e` has type `u8` and `U` is `char`; *u8-char-cast*

For example

Expand Down
6 changes: 3 additions & 3 deletions src/librustc_metadata/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ An unknown "kind" was specified for a link attribute. Erroneous code example:

Please specify a valid "kind" value, from one of the following:

* static
* dylib
* framework
* static
* dylib
* framework

"##,

Expand Down
4 changes: 2 additions & 2 deletions src/librustc_typeck/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1378,8 +1378,8 @@ let x = |_| {}; // error: cannot determine a type for this expression

You have two possibilities to solve this situation:

* Give an explicit definition of the expression
* Infer the expression
* Give an explicit definition of the expression
* Infer the expression

Examples:

Expand Down