From db6ce463fe3d40dac627378bfbaeaa700da43a5c Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Thu, 1 Jun 2017 11:01:55 -0700 Subject: [PATCH] fix some nits --- src/eval_context.rs | 8 +++++--- src/lvalue.rs | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/eval_context.rs b/src/eval_context.rs index c704ab230d5..f364f829f90 100644 --- a/src/eval_context.rs +++ b/src/eval_context.rs @@ -453,7 +453,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { ) -> EvalResult<'tcx> { ::log_settings::settings().indentation += 1; - /// Return the set of locals that have a stroage annotation anywhere + /// Return the set of locals that have a storage annotation anywhere fn collect_storage_annotations<'tcx>(mir: &'tcx mir::Mir<'tcx>) -> HashSet { use rustc::mir::StatementKind::*; @@ -475,10 +475,12 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { // `Value` for that. let annotated_locals = collect_storage_annotations(mir); let num_locals = mir.local_decls.len() - 1; - let mut locals = Vec::with_capacity(num_locals); + let mut locals = vec![None; num_locals]; for i in 0..num_locals { let local = mir::Local::new(i+1); - locals.push(if annotated_locals.contains(&local) { None } else { Some(Value::ByVal(PrimVal::Undef)) }); + if !annotated_locals.contains(&local) { + locals[i] = Some(Value::ByVal(PrimVal::Undef)); + } } self.stack.push(Frame { diff --git a/src/lvalue.rs b/src/lvalue.rs index a09f72134e9..ce0651bf129 100644 --- a/src/lvalue.rs +++ b/src/lvalue.rs @@ -130,7 +130,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { Ok(Value::ByRef(ptr)) } Lvalue::Local { frame, local, field } => { - Ok(self.stack[frame].get_local(local, field.map(|(i, _)| i))?) + self.stack[frame].get_local(local, field.map(|(i, _)| i)) } Lvalue::Global(cid) => { Ok(self.globals.get(&cid).expect("global not cached").value)