Clean up E0745
This commit is contained in:
parent
3a92b9987a
commit
0275cd7409
1 changed files with 7 additions and 4 deletions
|
|
@ -1,20 +1,23 @@
|
|||
Cannot take address of temporary value.
|
||||
The address of temporary value was taken.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0745
|
||||
# #![feature(raw_ref_op)]
|
||||
fn temp_address() {
|
||||
let ptr = &raw const 2; // ERROR
|
||||
let ptr = &raw const 2; // error!
|
||||
}
|
||||
```
|
||||
|
||||
To avoid the error, first bind the temporary to a named local variable.
|
||||
In this example, `2` is destroyed right after the assignment, which means that
|
||||
`ptr` now points to an unavailable location.
|
||||
|
||||
To avoid this error, first bind the temporary to a named local variable:
|
||||
|
||||
```
|
||||
# #![feature(raw_ref_op)]
|
||||
fn temp_address() {
|
||||
let val = 2;
|
||||
let ptr = &raw const val;
|
||||
let ptr = &raw const val; // ok!
|
||||
}
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue