From 09f07d548bf73633cd691e8346c630026444e073 Mon Sep 17 00:00:00 2001
From: Przemek Rzad <przemek@parity.io>
Date: Tue, 28 May 2024 09:37:26 +0200
Subject: [PATCH] Remove workspace lints from templates (#4598)

This detaches the templates from monorepo's workspace lints, so the
lints for the templates can evolve separately as needed.

Currently the templates [re-use the monorepo's
lints](https://github.com/paritytech/polkadot-sdk-minimal-template/blob/bd8afe66ec566d61f36b0e3d731145741a9e9e19/Cargo.toml#L16-L43)
which looks weird.

cc @kianenigma @gupnik
---
 .github/workflows/misc-sync-templates.yml              |  2 --
 templates/minimal/Cargo.toml                           |  3 ---
 templates/minimal/node/Cargo.toml                      |  3 ---
 templates/minimal/node/src/cli.rs                      |  2 +-
 templates/minimal/node/src/service.rs                  |  2 +-
 templates/minimal/pallets/template/Cargo.toml          |  3 ---
 templates/minimal/runtime/Cargo.toml                   |  3 ---
 templates/parachain/node/Cargo.toml                    |  3 ---
 templates/parachain/node/src/cli.rs                    |  1 +
 templates/parachain/node/src/command.rs                | 10 ++++------
 templates/parachain/node/src/service.rs                |  1 +
 templates/parachain/pallets/template/Cargo.toml        |  3 ---
 .../parachain/pallets/template/src/benchmarking.rs     |  2 +-
 templates/parachain/runtime/Cargo.toml                 |  3 ---
 templates/solochain/node/Cargo.toml                    |  3 ---
 templates/solochain/node/src/command.rs                |  2 +-
 templates/solochain/pallets/template/Cargo.toml        |  3 ---
 .../solochain/pallets/template/src/benchmarking.rs     |  2 +-
 templates/solochain/runtime/Cargo.toml                 |  3 ---
 19 files changed, 11 insertions(+), 43 deletions(-)

diff --git a/.github/workflows/misc-sync-templates.yml b/.github/workflows/misc-sync-templates.yml
index 2699ff0fed3..b040c2fc89b 100644
--- a/.github/workflows/misc-sync-templates.yml
+++ b/.github/workflows/misc-sync-templates.yml
@@ -105,8 +105,6 @@ jobs:
           toml set templates/${{ matrix.template }}/Cargo.toml 'workspace.package.edition' "$(toml get --raw Cargo.toml 'workspace.package.edition')" > Cargo.temp
           mv Cargo.temp ./templates/${{ matrix.template }}/Cargo.toml
 
-          toml get Cargo.toml 'workspace.lints' --output-toml >> ./templates/${{ matrix.template }}/Cargo.toml
-
           toml get Cargo.toml 'workspace.dependencies' --output-toml >> ./templates/${{ matrix.template }}/Cargo.toml
         working-directory: polkadot-sdk
       - name: Print the result Cargo.tomls for debugging
diff --git a/templates/minimal/Cargo.toml b/templates/minimal/Cargo.toml
index 6cd28c5a493..95656ff92d2 100644
--- a/templates/minimal/Cargo.toml
+++ b/templates/minimal/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [dependencies]
 minimal-template-node = { path = "./node" }
 minimal-template-runtime = { path = "./runtime" }
diff --git a/templates/minimal/node/Cargo.toml b/templates/minimal/node/Cargo.toml
index 606fd058035..f732eff445c 100644
--- a/templates/minimal/node/Cargo.toml
+++ b/templates/minimal/node/Cargo.toml
@@ -10,9 +10,6 @@ edition.workspace = true
 publish = false
 build = "build.rs"
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/templates/minimal/node/src/cli.rs b/templates/minimal/node/src/cli.rs
index e464fa7d6ca..22726b7eb9a 100644
--- a/templates/minimal/node/src/cli.rs
+++ b/templates/minimal/node/src/cli.rs
@@ -32,7 +32,7 @@ impl std::str::FromStr for Consensus {
 		} else if let Some(block_time) = s.strip_prefix("manual-seal-") {
 			Consensus::ManualSeal(block_time.parse().map_err(|_| "invalid block time")?)
 		} else {
-			return Err("incorrect consensus identifier".into())
+			return Err("incorrect consensus identifier".into());
 		})
 	}
 }
diff --git a/templates/minimal/node/src/service.rs b/templates/minimal/node/src/service.rs
index d84df95dc19..5a92627621b 100644
--- a/templates/minimal/node/src/service.rs
+++ b/templates/minimal/node/src/service.rs
@@ -61,7 +61,7 @@ pub fn new_partial(config: &Configuration) -> Result<Service, ServiceError> {
 		})
 		.transpose()?;
 
-	let executor = sc_service::new_wasm_executor(&config);
+	let executor = sc_service::new_wasm_executor(config);
 
 	let (client, backend, keystore_container, task_manager) =
 		sc_service::new_full_parts::<Block, RuntimeApi, _>(
diff --git a/templates/minimal/pallets/template/Cargo.toml b/templates/minimal/pallets/template/Cargo.toml
index e6fe43abc09..30962664481 100644
--- a/templates/minimal/pallets/template/Cargo.toml
+++ b/templates/minimal/pallets/template/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/templates/minimal/runtime/Cargo.toml b/templates/minimal/runtime/Cargo.toml
index 99559308e5b..3581ca7c851 100644
--- a/templates/minimal/runtime/Cargo.toml
+++ b/templates/minimal/runtime/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [dependencies]
 parity-scale-codec = { version = "3.6.12", default-features = false }
 scale-info = { version = "2.6.0", default-features = false }
diff --git a/templates/parachain/node/Cargo.toml b/templates/parachain/node/Cargo.toml
index 6f715082982..4fe228f71fe 100644
--- a/templates/parachain/node/Cargo.toml
+++ b/templates/parachain/node/Cargo.toml
@@ -10,9 +10,6 @@ edition.workspace = true
 publish = false
 build = "build.rs"
 
-[lints]
-workspace = true
-
 # [[bin]]
 # name = "parachain-template-node"
 
diff --git a/templates/parachain/node/src/cli.rs b/templates/parachain/node/src/cli.rs
index cffbfbc1db2..f008e856d99 100644
--- a/templates/parachain/node/src/cli.rs
+++ b/templates/parachain/node/src/cli.rs
@@ -1,6 +1,7 @@
 use std::path::PathBuf;
 
 /// Sub-commands supported by the collator.
+#[allow(clippy::large_enum_variant)]
 #[derive(Debug, clap::Subcommand)]
 pub enum Subcommand {
 	/// Build a chain specification.
diff --git a/templates/parachain/node/src/command.rs b/templates/parachain/node/src/command.rs
index 56ae022cad2..eba7fdcdae7 100644
--- a/templates/parachain/node/src/command.rs
+++ b/templates/parachain/node/src/command.rs
@@ -194,13 +194,11 @@ pub fn run() -> Result<()> {
 					cmd.run(partials.client)
 				}),
 				#[cfg(not(feature = "runtime-benchmarks"))]
-				BenchmarkCmd::Storage(_) =>
-					return Err(sc_cli::Error::Input(
-						"Compile with --features=runtime-benchmarks \
+				BenchmarkCmd::Storage(_) => Err(sc_cli::Error::Input(
+					"Compile with --features=runtime-benchmarks \
 						to enable storage benchmarks."
-							.into(),
-					)
-					.into()),
+						.into(),
+				)),
 				#[cfg(feature = "runtime-benchmarks")]
 				BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| {
 					let partials = new_partial(&config)?;
diff --git a/templates/parachain/node/src/service.rs b/templates/parachain/node/src/service.rs
index ad4689c6e55..ce630891587 100644
--- a/templates/parachain/node/src/service.rs
+++ b/templates/parachain/node/src/service.rs
@@ -160,6 +160,7 @@ fn build_import_queue(
 	)
 }
 
+#[allow(clippy::too_many_arguments)]
 fn start_consensus(
 	client: Arc<ParachainClient>,
 	backend: Arc<ParachainBackend>,
diff --git a/templates/parachain/pallets/template/Cargo.toml b/templates/parachain/pallets/template/Cargo.toml
index c5334e871fa..f5411c02821 100644
--- a/templates/parachain/pallets/template/Cargo.toml
+++ b/templates/parachain/pallets/template/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/templates/parachain/pallets/template/src/benchmarking.rs b/templates/parachain/pallets/template/src/benchmarking.rs
index 5a262417629..d1a9554aed6 100644
--- a/templates/parachain/pallets/template/src/benchmarking.rs
+++ b/templates/parachain/pallets/template/src/benchmarking.rs
@@ -13,7 +13,7 @@ mod benchmarks {
 
 	#[benchmark]
 	fn do_something() {
-		let value = 100u32.into();
+		let value = 100u32;
 		let caller: T::AccountId = whitelisted_caller();
 		#[extrinsic_call]
 		do_something(RawOrigin::Signed(caller), value);
diff --git a/templates/parachain/runtime/Cargo.toml b/templates/parachain/runtime/Cargo.toml
index a74c6a541f4..e88284bedb6 100644
--- a/templates/parachain/runtime/Cargo.toml
+++ b/templates/parachain/runtime/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/templates/solochain/node/Cargo.toml b/templates/solochain/node/Cargo.toml
index 9332da3a654..515f85e5418 100644
--- a/templates/solochain/node/Cargo.toml
+++ b/templates/solochain/node/Cargo.toml
@@ -11,9 +11,6 @@ publish = false
 
 build = "build.rs"
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/templates/solochain/node/src/command.rs b/templates/solochain/node/src/command.rs
index e46fedc91f0..624ace1bf35 100644
--- a/templates/solochain/node/src/command.rs
+++ b/templates/solochain/node/src/command.rs
@@ -114,7 +114,7 @@ pub fn run() -> sc_cli::Result<()> {
 								"Runtime benchmarking wasn't enabled when building the node. \
 							You can enable it with `--features runtime-benchmarks`."
 									.into(),
-							)
+							);
 						}
 
 						cmd.run_with_spec::<sp_runtime::traits::HashingFor<Block>, ()>(Some(
diff --git a/templates/solochain/pallets/template/Cargo.toml b/templates/solochain/pallets/template/Cargo.toml
index 1a122bd82d4..8c6f26d8e5d 100644
--- a/templates/solochain/pallets/template/Cargo.toml
+++ b/templates/solochain/pallets/template/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/templates/solochain/pallets/template/src/benchmarking.rs b/templates/solochain/pallets/template/src/benchmarking.rs
index 5a262417629..d1a9554aed6 100644
--- a/templates/solochain/pallets/template/src/benchmarking.rs
+++ b/templates/solochain/pallets/template/src/benchmarking.rs
@@ -13,7 +13,7 @@ mod benchmarks {
 
 	#[benchmark]
 	fn do_something() {
-		let value = 100u32.into();
+		let value = 100u32;
 		let caller: T::AccountId = whitelisted_caller();
 		#[extrinsic_call]
 		do_something(RawOrigin::Signed(caller), value);
diff --git a/templates/solochain/runtime/Cargo.toml b/templates/solochain/runtime/Cargo.toml
index b4a543826e7..8aeb1a6a16e 100644
--- a/templates/solochain/runtime/Cargo.toml
+++ b/templates/solochain/runtime/Cargo.toml
@@ -9,9 +9,6 @@ repository.workspace = true
 edition.workspace = true
 publish = false
 
-[lints]
-workspace = true
-
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
-- 
GitLab