From 07c286255dc2b79d206b1a7424a672aed6c19e33 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Mon, 9 Aug 2021 21:15:47 -0400 Subject: [PATCH] [spv-in] fix struct spans for layout-less structs --- src/front/spv/mod.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/front/spv/mod.rs b/src/front/spv/mod.rs index 24feb88607..c1e215017e 100644 --- a/src/front/spv/mod.rs +++ b/src/front/spv/mod.rs @@ -3090,15 +3090,17 @@ impl> Parser { let inner = crate::TypeInner::Struct { top_level: block_decor.is_some(), - span: match members.last() { - Some(member) => { + span: members + .iter() + .map(|member| { let end = member.offset + module.types[member.ty].inner.span(&module.constants); ((end - 1) | (struct_alignment.get() - 1)) + 1 - } - None => 4, //do we support this? - }, + }) + .max() + .unwrap_or(4), //do we support this? members, }; + let ty_handle = module.types.append(crate::Type { name: parent_decor.and_then(|dec| dec.name), inner,