This pull request introduces the capability to use constant expressions as index attribute variants for enum encoding, addressing the demand from issue https://github.com/paritytech/polkadot-sdk/issues/2665. This update allows developers to declare pallet indices as constants when constructing a runtime.
The uniqueness of constant expression indices is ensured at compile time with find_const_duplicate. Due to limitations in Rust's procedural macros, a runtime check approach is adopted to ensure that indices adhere to the u8 range. UI tests have been included to cover various scenarios, ensuring that the checks function as expected.
This pull request introduces the capability to use constant expressions as index attribute variants for enum encoding, addressing the demand from issue https://github.com/paritytech/polkadot-sdk/issues/2665. This update allows developers to declare pallet indices as constants when constructing a runtime.
The uniqueness of constant expression indices is ensured at compile time with
find_const_duplicate
. Due to limitations in Rust's procedural macros, a runtime check approach is adopted to ensure that indices adhere to the u8 range. UI tests have been included to cover various scenarios, ensuring that the checks function as expected.