From 123d31f0ebef1dd7940acd332ff5cabc4ccc6d89 Mon Sep 17 00:00:00 2001 From: Guillaume Thiolliere <gui.thiolliere@gmail.com> Date: Thu, 20 Mar 2025 21:33:25 +0900 Subject: [PATCH] `bp-runtime`: make macro expansion not rely on `sp-std` in scope. (#7978) make macro in bp-runtime no longer require `sp-std` in scope. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- bridges/primitives/runtime/src/chain.rs | 8 ++++---- bridges/primitives/runtime/src/lib.rs | 9 +++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/bridges/primitives/runtime/src/chain.rs b/bridges/primitives/runtime/src/chain.rs index eba3bcadfea..8dc2a5fb4e7 100644 --- a/bridges/primitives/runtime/src/chain.rs +++ b/bridges/primitives/runtime/src/chain.rs @@ -351,7 +351,7 @@ macro_rules! decl_bridge_finality_runtime_apis { $( /// Returns the justifications accepted in the current block. fn [<synced_headers_ $consensus:lower _info>]( - ) -> sp_std::vec::Vec<$justification_type>; + ) -> $crate::private::Vec<$justification_type>; )? } } @@ -409,7 +409,7 @@ macro_rules! decl_bridge_messages_runtime_apis { lane: $lane_id_type, begin: bp_messages::MessageNonce, end: bp_messages::MessageNonce, - ) -> sp_std::vec::Vec<bp_messages::OutboundMessageDetails>; + ) -> $crate::private::Vec<bp_messages::OutboundMessageDetails>; } /// Inbound message lane API for messages sent by this chain. @@ -423,8 +423,8 @@ macro_rules! decl_bridge_messages_runtime_apis { /// Return details of given inbound messages. fn message_details( lane: $lane_id_type, - messages: sp_std::vec::Vec<(bp_messages::MessagePayload, bp_messages::OutboundMessageDetails)>, - ) -> sp_std::vec::Vec<bp_messages::InboundMessageDetails>; + messages: $crate::private::Vec<(bp_messages::MessagePayload, bp_messages::OutboundMessageDetails)>, + ) -> $crate::private::Vec<bp_messages::InboundMessageDetails>; } } } diff --git a/bridges/primitives/runtime/src/lib.rs b/bridges/primitives/runtime/src/lib.rs index ca35475f727..fc13870904d 100644 --- a/bridges/primitives/runtime/src/lib.rs +++ b/bridges/primitives/runtime/src/lib.rs @@ -52,6 +52,8 @@ pub use storage_proof::{ }; pub use storage_types::BoundedStorageValue; +extern crate alloc; + pub mod extensions; pub mod messages; @@ -62,6 +64,13 @@ mod storage_types; // Re-export macro to avoid include paste dependency everywhere pub use sp_runtime::paste; +// Re-export for usage in macro. +#[doc(hidden)] +pub mod private { + #[doc(hidden)] + pub use alloc::vec::Vec; +} + /// Use this when something must be shared among all instances. pub const NO_INSTANCE_ID: ChainId = [0, 0, 0, 0]; -- GitLab