From 573c11cef5744d58b37abdfdb4c175d33e9b6344 Mon Sep 17 00:00:00 2001 From: Scott Olson Date: Thu, 17 Mar 2016 04:54:04 -0600 Subject: [PATCH] Simplify make_aggregate_repr. --- src/interpreter.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/interpreter.rs b/src/interpreter.rs index da0eb95708ac..ff54f18f755f 100644 --- a/src/interpreter.rs +++ b/src/interpreter.rs @@ -546,8 +546,8 @@ impl<'a, 'tcx: 'a> Interpreter<'a, 'tcx> { } } - fn make_aggregate_repr(&self, variant_fields: V) -> Repr - where V: IntoIterator, F: IntoIterator> + fn make_aggregate_repr(&self, variant_fields: V) -> Repr + where V: IntoIterator, V::Item: IntoIterator> { let mut variants = Vec::new(); let mut max_variant_size = 0; @@ -563,22 +563,17 @@ impl<'a, 'tcx: 'a> Interpreter<'a, 'tcx> { fields.push(FieldRepr { offset: offest, size: field_size }); } - if size > max_variant_size { - max_variant_size = size; - } + if size > max_variant_size { max_variant_size = size; } variants.push(fields); } - let num_variants = variants.len(); - - let discr_size = match num_variants { + let discr_size = match variants.len() { n if n <= 1 => 0, n if n <= 1 << 8 => 1, n if n <= 1 << 16 => 2, n if n <= 1 << 32 => 4, _ => 8, }; - Repr::Aggregate { discr_size: discr_size, max_variant_size: max_variant_size,