mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 05:51:02 +00:00
Fixes path issue in derive-impl (#1823)
Needs https://github.com/sam0x17/macro_magic/pull/13 The associated PR allows the export of tokens from macro_magic at the specified path. This fixes the path issue in derive-impl. Now, we can import the default config using the standard rust syntax: ```rust use frame_system::config_preludes::TestDefaultConfig; [derive_impl(TestDefaultConfig as frame_system::DefaultConfig)] impl frame_system::DefaultConfig for Test { //.... } ```
This commit is contained in:
@@ -34,7 +34,7 @@ mod transactional;
|
||||
mod tt_macro;
|
||||
|
||||
use frame_support_procedural_tools::generate_crate_access_2018;
|
||||
use macro_magic::import_tokens_attr;
|
||||
use macro_magic::{import_tokens_attr, import_tokens_attr_verbatim};
|
||||
use proc_macro::TokenStream;
|
||||
use quote::{quote, ToTokens};
|
||||
use std::{cell::RefCell, str::FromStr};
|
||||
@@ -751,7 +751,7 @@ pub fn storage_alias(attributes: TokenStream, input: TokenStream) -> TokenStream
|
||||
/// Items that lack a `syn::Ident` for whatever reason are first checked to see if they exist,
|
||||
/// verbatim, in the local/destination trait before they are copied over, so you should not need to
|
||||
/// worry about collisions between identical unnamed items.
|
||||
#[import_tokens_attr {
|
||||
#[import_tokens_attr_verbatim {
|
||||
format!(
|
||||
"{}::macro_magic",
|
||||
match generate_crate_access_2018("frame-support") {
|
||||
@@ -868,7 +868,7 @@ pub fn register_default_impl(attrs: TokenStream, tokens: TokenStream) -> TokenSt
|
||||
attrs,
|
||||
item_impl.to_token_stream(),
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
) {
|
||||
Ok(tokens) => tokens.into(),
|
||||
Err(err) => err.to_compile_error().into(),
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
error: cannot find macro `__export_tokens_tt_tiger` in this scope
|
||||
--> tests/derive_impl_ui/bad_default_impl_path.rs:59:1
|
||||
error: cannot find macro `Tiger` in this scope
|
||||
--> tests/derive_impl_ui/bad_default_impl_path.rs:59:15
|
||||
|
|
||||
59 | #[derive_impl(Tiger as Animal)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the macro `frame_support::macro_magic::forward_tokens` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
| ^^^^^
|
||||
|
||||
+1
-1
@@ -7,4 +7,4 @@ error[E0412]: cannot find type `RuntimeCall` in this scope
|
||||
35 | #[derive_impl(Pallet)] // Injects type RuntimeCall = RuntimeCall;
|
||||
| ---------------------- in this macro invocation
|
||||
|
|
||||
= note: this error originates in the macro `__export_tokens_tt_pallet` which comes from the expansion of the macro `frame_support::macro_magic::forward_tokens` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
= note: this error originates in the macro `Pallet` which comes from the expansion of the macro `frame_support::macro_magic::forward_tokens_verbatim` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
Reference in New Issue
Block a user