Skip to content

Commit

Permalink
Clean up E0745
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Aug 4, 2020
1 parent 3a92b99 commit 0275cd7
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/librustc_error_codes/error_codes/E0745.md
Original file line number Diff line number Diff line change
@@ -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!
}
```

0 comments on commit 0275cd7

Please sign in to comment.