Rust RFC 3373: Avoid non-local definitions in functions was accepted and it's implementation at rust-lang/rust#120393 found that this crate would be affected by it.
To be more precise users of this crate would be affected by it, in the form of a warn-by-default lint: non_local_definitions. This is because the derive macros from this crate use impl in a local context, const _DERIVE_Display_FOR_???:
|
let dummy_const = format_ident!("_DERIVE_Display_FOR_{}", input.ident); |
|
Ok(quote! { |
|
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] |
|
const #dummy_const: () = { |
Fortunately a simple fix exist for this crate, by using a const-anon instead of named one:
- let dummy_const = format_ident!("_DERIVE_Display_FOR_{}", input.ident);
Ok(quote! {
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
- const #dummy_const: () = {
+ const _: () = {
I would suggest applying some form of the patch above as well as releasing a patch version of this crate, as to have a fix available for users as soon as possible.
cc @yaahc
Rust RFC 3373: Avoid non-local definitions in functions was accepted and it's implementation at rust-lang/rust#120393 found that this crate would be affected by it.
To be more precise users of this crate would be affected by it, in the form of a warn-by-default lint:
non_local_definitions. This is because the derive macros from this crate useimplin a local context,const _DERIVE_Display_FOR_???:displaydoc/src/expand.rs
Lines 22 to 25 in f0b62a5
Fortunately a simple fix exist for this crate, by using a const-anon instead of named one:
I would suggest applying some form of the patch above as well as releasing a patch version of this crate, as to have a fix available for users as soon as possible.
cc @yaahc