Function rustc::middle::trans::expr::trans_to_lvalue[src]

pub fn trans_to_lvalue<'a>(bcx: &'a Block<'a>, expr: &Expr, name: &str) -> DatumBlock<'a, Lvalue>

Translates an expression in "lvalue" mode -- meaning that it returns a reference to the memory that the expr represents.

If this expression is an rvalue, this implies introducing a temporary. In other words, something like x().f is translated into roughly the equivalent of

{ tmp = x(); tmp.f }