From a0b78a7d9d24f310e6b4f9908f88f2da62b9dc0c Mon Sep 17 00:00:00 2001 From: Dmitry Lavrenov Date: Fri, 23 Dec 2022 16:09:27 +0100 Subject: [PATCH 1/2] Fix casting usize to u8 at pallet::error macro --- frame/support/procedural/src/pallet/expand/error.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frame/support/procedural/src/pallet/expand/error.rs b/frame/support/procedural/src/pallet/expand/error.rs index 5a8487b09de5c..083381d785e17 100644 --- a/frame/support/procedural/src/pallet/expand/error.rs +++ b/frame/support/procedural/src/pallet/expand/error.rs @@ -152,11 +152,11 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { { fn from(err: #error_ident<#type_use_gen>) -> Self { use #frame_support::codec::Encode; - let index = < + let index: u8 = < ::PalletInfo as #frame_support::traits::PalletInfo >::index::>() - .expect("Every active module has an index in the runtime; qed") as u8; + .expect("Every active module has an index in the runtime; qed").try_into().expect("Index should be u8"); let mut encoded = err.encode(); encoded.resize(#frame_support::MAX_MODULE_ERROR_ENCODED_SIZE, 0); From f896b6a0755002bd1bc221a955eced5448130cb2 Mon Sep 17 00:00:00 2001 From: Dmitry Lavrenov <39522748+dmitrylavrenov@users.noreply.github.com> Date: Mon, 26 Dec 2022 09:19:49 +0300 Subject: [PATCH 2/2] Edit error message Co-authored-by: MOZGIII --- frame/support/procedural/src/pallet/expand/error.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frame/support/procedural/src/pallet/expand/error.rs b/frame/support/procedural/src/pallet/expand/error.rs index 083381d785e17..0a1952f4001c8 100644 --- a/frame/support/procedural/src/pallet/expand/error.rs +++ b/frame/support/procedural/src/pallet/expand/error.rs @@ -156,7 +156,7 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { ::PalletInfo as #frame_support::traits::PalletInfo >::index::>() - .expect("Every active module has an index in the runtime; qed").try_into().expect("Index should be u8"); + .expect("Every active module has an index in the runtime; qed").try_into().expect("Index should fit into u8"); let mut encoded = err.encode(); encoded.resize(#frame_support::MAX_MODULE_ERROR_ENCODED_SIZE, 0);