From 08f29af6cd7866e1010a15c2a0ddfc1a07f3a597 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bastian=20K=C3=B6cher?= <info@kchr.de>
Date: Wed, 29 Nov 2023 17:29:50 +0100
Subject: [PATCH] sp-api: Sprinkle some `automatically_derived` attributes

This attribute is informing tooling that the code is automatically
derived and thus, should not enable any linting.
---
 .../primitives/api/proc-macro/src/impl_runtime_apis.rs     | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs b/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
index e439a796e28..e97291bc58a 100644
--- a/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
+++ b/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
@@ -275,6 +275,7 @@ fn generate_runtime_api_base_structures() -> Result<TokenStream> {
 				extensions_generated_for: std::cell::RefCell<std::option::Option<Block::Hash>>,
 			}
 
+			#[automatically_derived]
 			impl<Block: #crate_::BlockT, C: #crate_::CallApiAt<Block>> #crate_::ApiExt<Block> for
 				RuntimeApiImpl<Block, C>
 			{
@@ -367,6 +368,7 @@ fn generate_runtime_api_base_structures() -> Result<TokenStream> {
 				}
 			}
 
+			#[automatically_derived]
 			impl<Block: #crate_::BlockT, C> #crate_::ConstructRuntimeApi<Block, C>
 				for RuntimeApi
 			where
@@ -389,6 +391,7 @@ fn generate_runtime_api_base_structures() -> Result<TokenStream> {
 				}
 			}
 
+			#[automatically_derived]
 			impl<Block: #crate_::BlockT, C: #crate_::CallApiAt<Block>> RuntimeApiImpl<Block, C> {
 				fn commit_or_rollback_transaction(&self, commit: bool) {
 					let proof = "\
@@ -685,9 +688,11 @@ fn generate_api_impl_for_runtime_api(impls: &[ItemImpl]) -> Result<TokenStream>
 		// remove the trait to get just the module path
 		runtime_mod_path.segments.pop();
 
-		let processed_impl =
+		let mut processed_impl =
 			ApiRuntimeImplToApiRuntimeApiImpl { runtime_block }.process(impl_.clone());
 
+		processed_impl.attrs.push(parse_quote!(#[automatically_derived]));
+
 		result.push(processed_impl);
 	}
 
-- 
GitLab