Clean up E0745

This commit is contained in:
Guillaume Gomez 2020-08-04 13:09:15 +02:00
parent 3a92b9987a
commit 0275cd7409

View file

@ -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!
}
```