From ffc87a38d4610febdd066b9ca57c9276bdea9caf Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Mon, 11 Nov 2019 11:58:33 +0100 Subject: [PATCH] [lang2/macro] improve diagnostics for multiple #[ink(storage)] structs --- lang2/macro/src/ir/into_hir.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lang2/macro/src/ir/into_hir.rs b/lang2/macro/src/ir/into_hir.rs index 92acb45e..da4978e6 100644 --- a/lang2/macro/src/ir/into_hir.rs +++ b/lang2/macro/src/ir/into_hir.rs @@ -686,13 +686,16 @@ fn split_items( Err(storages .iter() .map(|storage| { - format_err!(storage.ident, "{} conflicting storage struct found", n) + format_err!(storage.ident, "conflicting storage struct") }) - .fold1(|mut err1, err2| { - err1.combine(err2); - err1 - }) - .expect("there must be at least 2 conflicting storages; qed")) + .fold( + format_err_span!(Span::call_site(), "encountered {} conflicting storage structs", n), + |mut err1, err2| { + err1.combine(err2); + err1 + } + ) + ) } }?; let (events, impl_blocks): (Vec, Vec) = -- GitLab