diff --git a/lang2/macro/src/ir/into_hir.rs b/lang2/macro/src/ir/into_hir.rs index 92acb45e45a5df4066a68dc47f83ee14ade68db9..da4978e6b58c72568f849728c43892eaacf50551 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) =