Skip to content

Commit c54ea64

Browse files
authored
no-bound derives: Use absolute path for core (#1763)
Closes: #1718
1 parent 2ed66a0 commit c54ea64

File tree

6 files changed

+31
-17
lines changed

6 files changed

+31
-17
lines changed

substrate/frame/support/procedural/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -442,8 +442,8 @@ pub fn derive_runtime_debug_no_bound(input: TokenStream) -> TokenStream {
442442

443443
quote::quote!(
444444
const _: () = {
445-
impl #impl_generics core::fmt::Debug for #name #ty_generics #where_clause {
446-
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
445+
impl #impl_generics ::core::fmt::Debug for #name #ty_generics #where_clause {
446+
fn fmt(&self, fmt: &mut ::core::fmt::Formatter) -> core::fmt::Result {
447447
fmt.write_str("<wasm:stripped>")
448448
}
449449
}
@@ -473,7 +473,7 @@ pub fn derive_eq_no_bound(input: TokenStream) -> TokenStream {
473473

474474
quote::quote_spanned!(name.span() =>
475475
const _: () = {
476-
impl #impl_generics core::cmp::Eq for #name #ty_generics #where_clause {}
476+
impl #impl_generics ::core::cmp::Eq for #name #ty_generics #where_clause {}
477477
};
478478
)
479479
.into()

substrate/frame/support/procedural/src/no_bound/clone.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ pub fn derive_clone_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke
3232
syn::Fields::Named(named) => {
3333
let fields = named.named.iter().map(|i| &i.ident).map(|i| {
3434
quote::quote_spanned!(i.span() =>
35-
#i: core::clone::Clone::clone(&self.#i)
35+
#i: ::core::clone::Clone::clone(&self.#i)
3636
)
3737
});
3838

@@ -42,7 +42,7 @@ pub fn derive_clone_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke
4242
let fields =
4343
unnamed.unnamed.iter().enumerate().map(|(i, _)| syn::Index::from(i)).map(|i| {
4444
quote::quote_spanned!(i.span() =>
45-
core::clone::Clone::clone(&self.#i)
45+
::core::clone::Clone::clone(&self.#i)
4646
)
4747
});
4848

@@ -59,8 +59,8 @@ pub fn derive_clone_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke
5959
syn::Fields::Named(named) => {
6060
let captured = named.named.iter().map(|i| &i.ident);
6161
let cloned = captured.clone().map(|i| {
62-
quote::quote_spanned!(i.span() =>
63-
#i: core::clone::Clone::clone(#i)
62+
::quote::quote_spanned!(i.span() =>
63+
#i: ::core::clone::Clone::clone(#i)
6464
)
6565
});
6666
quote::quote!(
@@ -75,7 +75,7 @@ pub fn derive_clone_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke
7575
.map(|(i, f)| syn::Ident::new(&format!("_{}", i), f.span()));
7676
let cloned = captured.clone().map(|i| {
7777
quote::quote_spanned!(i.span() =>
78-
core::clone::Clone::clone(#i)
78+
::core::clone::Clone::clone(#i)
7979
)
8080
});
8181
quote::quote!(
@@ -98,7 +98,7 @@ pub fn derive_clone_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke
9898

9999
quote::quote!(
100100
const _: () = {
101-
impl #impl_generics core::clone::Clone for #name #ty_generics #where_clause {
101+
impl #impl_generics ::core::clone::Clone for #name #ty_generics #where_clause {
102102
fn clone(&self) -> Self {
103103
#impl_
104104
}

substrate/frame/support/procedural/src/no_bound/debug.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ pub fn derive_debug_no_bound(input: proc_macro::TokenStream) -> proc_macro::Toke
112112

113113
quote::quote!(
114114
const _: () = {
115-
impl #impl_generics core::fmt::Debug for #input_ident #ty_generics #where_clause {
116-
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
115+
impl #impl_generics ::core::fmt::Debug for #input_ident #ty_generics #where_clause {
116+
fn fmt(&self, fmt: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
117117
#impl_
118118
}
119119
}

substrate/frame/support/procedural/src/no_bound/default.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To
3232
Fields::Named(named) => {
3333
let fields = named.named.iter().map(|field| &field.ident).map(|ident| {
3434
quote_spanned! {ident.span() =>
35-
#ident: core::default::Default::default()
35+
#ident: ::core::default::Default::default()
3636
}
3737
});
3838

@@ -41,7 +41,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To
4141
Fields::Unnamed(unnamed) => {
4242
let fields = unnamed.unnamed.iter().map(|field| {
4343
quote_spanned! {field.span()=>
44-
core::default::Default::default()
44+
::core::default::Default::default()
4545
}
4646
});
4747

@@ -105,7 +105,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To
105105
let fields =
106106
named.named.iter().map(|field| &field.ident).map(|ident| {
107107
quote_spanned! {ident.span()=>
108-
#ident: core::default::Default::default()
108+
#ident: ::core::default::Default::default()
109109
}
110110
});
111111

@@ -114,7 +114,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To
114114
Fields::Unnamed(unnamed) => {
115115
let fields = unnamed.unnamed.iter().map(|field| {
116116
quote_spanned! {field.span()=>
117-
core::default::Default::default()
117+
::core::default::Default::default()
118118
}
119119
});
120120

@@ -149,7 +149,7 @@ pub fn derive_default_no_bound(input: proc_macro::TokenStream) -> proc_macro::To
149149

150150
quote!(
151151
const _: () = {
152-
impl #impl_generics core::default::Default for #name #ty_generics #where_clause {
152+
impl #impl_generics ::core::default::Default for #name #ty_generics #where_clause {
153153
fn default() -> Self {
154154
#impl_
155155
}

substrate/frame/support/procedural/src/no_bound/partial_eq.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ pub fn derive_partial_eq_no_bound(input: proc_macro::TokenStream) -> proc_macro:
128128

129129
quote::quote!(
130130
const _: () = {
131-
impl #impl_generics core::cmp::PartialEq for #name #ty_generics #where_clause {
131+
impl #impl_generics ::core::cmp::PartialEq for #name #ty_generics #where_clause {
132132
fn eq(&self, other: &Self) -> bool {
133133
#impl_
134134
}

substrate/frame/support/src/tests/mod.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -647,3 +647,17 @@ fn check_storage_parameter_type_works() {
647647
assert_eq!(300, StorageParameter::get());
648648
})
649649
}
650+
651+
#[test]
652+
fn derive_partial_eq_no_bound_core_mod() {
653+
mod core {}
654+
655+
#[derive(
656+
crate::PartialEqNoBound,
657+
crate::CloneNoBound,
658+
crate::DebugNoBound,
659+
crate::DefaultNoBound,
660+
crate::EqNoBound,
661+
)]
662+
struct Test;
663+
}

0 commit comments

Comments
 (0)