mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-26 07:25:48 +00:00
clarfiy reference with regards to the value of block expressions
Fixes #14849
This commit is contained in:
parent
cf636c233d
commit
148d90be99
@ -2701,9 +2701,19 @@ items can bring new names into scopes and declared items are in scope for only
|
||||
the block itself.
|
||||
|
||||
A block will execute each statement sequentially, and then execute the
|
||||
expression (if given). If the final expression is omitted, the type and return
|
||||
value of the block are `()`, but if it is provided, the type and return value
|
||||
of the block are that of the expression itself.
|
||||
expression (if given). If the block ends in a statement, its value is `()`:
|
||||
|
||||
```
|
||||
let x: () = { println!("Hello."); };
|
||||
```
|
||||
|
||||
If it ends in an expression, its value and type are that of the expression:
|
||||
|
||||
```
|
||||
let x: i32 = { println!("Hello."); 5 };
|
||||
|
||||
assert_eq!(5, x);
|
||||
```
|
||||
|
||||
### Method-call expressions
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user