From 35f3fe7e778e8d9f09f03f1c7fecb0636631c51a Mon Sep 17 00:00:00 2001
From: guanqun <guanqun.lu@gmail.com>
Date: Wed, 3 Oct 2018 20:22:58 +0800
Subject: [PATCH] use the map! macro instead of defining it all over the place
 (#867)

* remove one map implementation in test

* remove one map macro

* remove one map macro

* remove one map macro
---
 substrate/core/executor/src/lib.rs            | 1 +
 substrate/core/executor/src/wasm_executor.rs  | 7 -------
 substrate/core/state-machine/src/lib.rs       | 8 +-------
 substrate/core/test-runtime/src/genesismap.rs | 6 ------
 substrate/core/test-runtime/src/lib.rs        | 2 +-
 substrate/node/executor/src/lib.rs            | 9 +--------
 6 files changed, 4 insertions(+), 29 deletions(-)

diff --git a/substrate/core/executor/src/lib.rs b/substrate/core/executor/src/lib.rs
index 67b81f52100..474730a6e3f 100644
--- a/substrate/core/executor/src/lib.rs
+++ b/substrate/core/executor/src/lib.rs
@@ -32,6 +32,7 @@
 
 extern crate parity_codec as codec;
 extern crate sr_io as runtime_io;
+#[cfg_attr(test, macro_use)]
 extern crate substrate_primitives as primitives;
 extern crate substrate_serializer as serializer;
 extern crate substrate_state_machine as state_machine;
diff --git a/substrate/core/executor/src/wasm_executor.rs b/substrate/core/executor/src/wasm_executor.rs
index be0711df252..eddcc2db8d4 100644
--- a/substrate/core/executor/src/wasm_executor.rs
+++ b/substrate/core/executor/src/wasm_executor.rs
@@ -558,13 +558,6 @@ mod tests {
 	use codec::Encode;
 	use state_machine::TestExternalities;
 
-	// TODO: move into own crate.
-	macro_rules! map {
-		($( $name:expr => $value:expr ),*) => (
-			vec![ $( ( $name, $value ) ),* ].into_iter().collect()
-		)
-	}
-
 	#[test]
 	fn returning_should_work() {
 		let mut ext = TestExternalities::default();
diff --git a/substrate/core/state-machine/src/lib.rs b/substrate/core/state-machine/src/lib.rs
index f5fa6e8b372..dec577ba418 100644
--- a/substrate/core/state-machine/src/lib.rs
+++ b/substrate/core/state-machine/src/lib.rs
@@ -32,7 +32,7 @@ extern crate substrate_trie;
 
 extern crate parking_lot;
 extern crate heapsize;
-extern crate substrate_primitives as primitives;
+#[cfg_attr(test, macro_use)] extern crate substrate_primitives as primitives;
 extern crate parity_codec as codec;
 extern crate substrate_trie as trie;
 
@@ -522,12 +522,6 @@ mod tests {
 
 	impl Error for u8 {}
 
-	macro_rules! map {
-		($( $name:expr => $value:expr ),*) => (
-			vec![ $( ( $name, $value ) ),* ].into_iter().collect()
-		)
-	}
-
 	#[test]
 	fn execute_works() {
 		assert_eq!(execute(
diff --git a/substrate/core/test-runtime/src/genesismap.rs b/substrate/core/test-runtime/src/genesismap.rs
index 607ca38a2fe..2e904e18d9e 100644
--- a/substrate/core/test-runtime/src/genesismap.rs
+++ b/substrate/core/test-runtime/src/genesismap.rs
@@ -68,12 +68,6 @@ impl GenesisConfig {
 	}
 }
 
-macro_rules! map {
-	($( $name:expr => $value:expr ),*) => (
-		vec![ $( ( $name, $value ) ),* ].into_iter().collect()
-	)
-}
-
 pub fn additional_storage_with_genesis(genesis_block: &::Block) -> HashMap<Vec<u8>, Vec<u8>> {
 	map![
 		twox_128(&b"latest"[..]).to_vec() => genesis_block.hash().0.to_vec()
diff --git a/substrate/core/test-runtime/src/lib.rs b/substrate/core/test-runtime/src/lib.rs
index 1404e6fbc8f..9d9d75ca211 100644
--- a/substrate/core/test-runtime/src/lib.rs
+++ b/substrate/core/test-runtime/src/lib.rs
@@ -43,7 +43,7 @@ extern crate sr_version as runtime_version;
 extern crate hex_literal;
 #[cfg(test)]
 extern crate substrate_keyring as keyring;
-#[cfg_attr(test, macro_use)]
+#[cfg_attr(any(feature = "std", test), macro_use)]
 extern crate substrate_primitives as primitives;
 
 #[cfg(feature = "std")] pub mod genesismap;
diff --git a/substrate/node/executor/src/lib.rs b/substrate/node/executor/src/lib.rs
index 96eb1a863fe..f10dd52b949 100644
--- a/substrate/node/executor/src/lib.rs
+++ b/substrate/node/executor/src/lib.rs
@@ -19,7 +19,7 @@
 
 extern crate node_runtime;
 #[macro_use] extern crate substrate_executor;
-extern crate substrate_primitives as primitives;
+#[cfg_attr(test, macro_use)] extern crate substrate_primitives as primitives;
 
 #[cfg(test)] extern crate substrate_keyring as keyring;
 #[cfg(test)] extern crate sr_primitives as runtime_primitives;
@@ -69,13 +69,6 @@ mod tests {
 	const COMPACT_CODE: &[u8] = include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm");
 	const GENESIS_HASH: [u8; 32] = [69u8; 32];
 
-	// TODO: move into own crate.
-	macro_rules! map {
-		($( $name:expr => $value:expr ),*) => (
-			vec![ $( ( $name, $value ) ),* ].into_iter().collect()
-		)
-	}
-
 	fn alice() -> AccountId {
 		AccountId::from(Keyring::Alice.to_raw_public())
 	}
-- 
GitLab