Error code E0745

The address of temporary value was taken.

Erroneous code example:

#![allow(unused)]
fn main() {
#![feature(raw_ref_op)]
fn temp_address() {
    let ptr = &raw const 2; // error!
}
}

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:

#![allow(unused)]
fn main() {
#![feature(raw_ref_op)]
fn temp_address() {
    let val = 2;
    let ptr = &raw const val; // ok!
}
}