Local(mir::RETURN_POINTER) => self.frame().return_lvalue,
Local(local) => Lvalue::Local { frame: self.stack.len() - 1, local, field: None },
- Static(def_id) => {
+ Static(ref statik) => {
let substs = self.tcx.intern_substs(&[]);
- Lvalue::Global(GlobalId { def_id, substs, promoted: None })
+ Lvalue::Global(GlobalId { def_id: statik.def_id, substs, promoted: None })
}
Projection(ref proj) => return self.eval_lvalue_projection(proj),
location: mir::Location
) {
self.super_lvalue(lvalue, context, location);
- if let mir::Lvalue::Static(def_id) = *lvalue {
+ if let mir::Lvalue::Static(ref statik) = *lvalue {
+ let def_id = statik.def_id;
let substs = self.ecx.tcx.intern_substs(&[]);
let span = self.span;
if let Some(node_item) = self.ecx.tcx.hir.get_if_local(def_id) {