From 5fb92ed62f89275f8092fcfd8586dd673edde47d 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 9d96bf3a7c2b387f98c7d34d82d6f7632d71b7a1 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);