From a525f090087398fac2b42876fd7f0f658f4d4d1a Mon Sep 17 00:00:00 2001 From: Micha Reiser Date: Fri, 20 Oct 2023 09:12:27 +0900 Subject: [PATCH] Add `#[automatically_derived]` to derived impls (#8080) --- crates/ruff_macros/src/cache_key.rs | 1 + crates/ruff_macros/src/combine_options.rs | 1 + crates/ruff_macros/src/config.rs | 1 + crates/ruff_macros/src/rule_namespace.rs | 1 + crates/ruff_macros/src/violation.rs | 2 ++ 5 files changed, 6 insertions(+) diff --git a/crates/ruff_macros/src/cache_key.rs b/crates/ruff_macros/src/cache_key.rs index 4093b96a3f549..6519982950a7d 100644 --- a/crates/ruff_macros/src/cache_key.rs +++ b/crates/ruff_macros/src/cache_key.rs @@ -101,6 +101,7 @@ pub(crate) fn derive_cache_key(item: &DeriveInput) -> syn::Result { let (impl_generics, ty_generics, where_clause) = &item.generics.split_for_impl(); Ok(quote!( + #[automatically_derived] impl #impl_generics ruff_cache::CacheKey for #name #ty_generics #where_clause { fn cache_key(&self, key: &mut ruff_cache::CacheKeyHasher) { use std::hash::Hasher; diff --git a/crates/ruff_macros/src/combine_options.rs b/crates/ruff_macros/src/combine_options.rs index ea63a1b91467f..05b2395e072bf 100644 --- a/crates/ruff_macros/src/combine_options.rs +++ b/crates/ruff_macros/src/combine_options.rs @@ -16,6 +16,7 @@ pub(crate) fn derive_impl(input: DeriveInput) -> syn::Result, _>>()?; Ok(quote! { + #[automatically_derived] impl crate::configuration::CombinePluginOptions for #ident { fn combine(self, other: Self) -> Self { #[allow(deprecated)] diff --git a/crates/ruff_macros/src/config.rs b/crates/ruff_macros/src/config.rs index 50227ae8b01c2..b069dfc063c96 100644 --- a/crates/ruff_macros/src/config.rs +++ b/crates/ruff_macros/src/config.rs @@ -87,6 +87,7 @@ pub(crate) fn derive_impl(input: DeriveInput) -> syn::Result { }; Ok(quote! { + #[automatically_derived] impl crate::options_base::OptionsMetadata for #ident { fn record(visit: &mut dyn crate::options_base::Visit) { #(#output);* diff --git a/crates/ruff_macros/src/rule_namespace.rs b/crates/ruff_macros/src/rule_namespace.rs index 79ae54c19d1aa..8d573d84b43c4 100644 --- a/crates/ruff_macros/src/rule_namespace.rs +++ b/crates/ruff_macros/src/rule_namespace.rs @@ -111,6 +111,7 @@ pub(crate) fn derive_impl(input: DeriveInput) -> syn::Result Option<(Self, &str)> { #if_statements diff --git a/crates/ruff_macros/src/violation.rs b/crates/ruff_macros/src/violation.rs index 0f39001b1a57b..028a5e5a41330 100644 --- a/crates/ruff_macros/src/violation.rs +++ b/crates/ruff_macros/src/violation.rs @@ -53,6 +53,7 @@ pub(crate) fn violation(violation: &ItemStruct) -> Result { #[derive(Debug, PartialEq, Eq)] #violation + #[automatically_derived] impl From<#ident> for ruff_diagnostics::DiagnosticKind { fn from(value: #ident) -> Self { use ruff_diagnostics::Violation; @@ -76,6 +77,7 @@ pub(crate) fn violation(violation: &ItemStruct) -> Result { } } + #[automatically_derived] impl From<#ident> for ruff_diagnostics::DiagnosticKind { fn from(value: #ident) -> Self { use ruff_diagnostics::Violation;