simplify constant value pair field access

This commit is contained in:
Oliver Schneider 2018-03-06 14:07:52 +01:00
parent b5ace9a906
commit c0fc6a8b6b
No known key found for this signature in database
GPG key ID: A69F8D225B3AD7D9

View file

@ -183,12 +183,7 @@ impl<'b, 'a, 'tcx:'b> ConstPropagator<'b, 'a, 'tcx> {
trace!("layout computed"); trace!("layout computed");
use rustc_data_structures::indexed_vec::Idx; use rustc_data_structures::indexed_vec::Idx;
let field_index = field.index(); let field_index = field.index();
let val = if field_index == 0 { let val = [a, b][field_index];
a
} else {
assert_eq!(field_index, 1);
b
};
let field = base_layout.field(&*self, field_index).ok()?; let field = base_layout.field(&*self, field_index).ok()?;
trace!("projection resulted in: {:?}", val); trace!("projection resulted in: {:?}", val);
Some((Value::ByVal(val), field.ty, span)) Some((Value::ByVal(val), field.ty, span))