error[E0053]: method `test` has an incompatible type for trait
  --> $DIR/impl_incorrect_method_signature.rs:19:17
   |
13 |         fn test(data: u64);
   |                       --- type in trait
...
19 |         fn test(data: String) {}
   |                       ^^^^^^ expected `u64`, found struct `std::string::String`
   |
   = note: expected fn pointer `fn(u64)`
              found fn pointer `fn(std::string::String)`

error[E0053]: method `Api_test_runtime_api_impl` has an incompatible type for trait
  --> $DIR/impl_incorrect_method_signature.rs:17:1
   |
11 | / sp_api::decl_runtime_apis! {
12 | |     pub trait Api {
13 | |         fn test(data: u64);
14 | |     }
15 | | }
   | |_- type in trait
16 | 
17 |   sp_api::impl_runtime_apis! {
   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found struct `std::string::String`
   |
   = note: expected fn pointer `fn(&RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>, &sp_api_hidden_includes_DECL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>, sp_api_hidden_includes_DECL_RUNTIME_APIS::sp_api::ExecutionContext, std::option::Option<u64>, std::vec::Vec<_>) -> std::result::Result<_, _>`
              found fn pointer `fn(&RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>, &sp_api_hidden_includes_DECL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>, sp_api_hidden_includes_DECL_RUNTIME_APIS::sp_api::ExecutionContext, std::option::Option<std::string::String>, std::vec::Vec<_>) -> std::result::Result<_, _>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> $DIR/impl_incorrect_method_signature.rs:17:1
   |
17 | / sp_api::impl_runtime_apis! {
18 | |     impl self::Api<Block> for Runtime {
19 | |         fn test(data: String) {}
20 | |     }
...  |
32 | |     }
33 | | }
   | |_^ expected `u64`, found struct `std::string::String`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> $DIR/impl_incorrect_method_signature.rs:19:11
   |
19 |         fn test(data: String) {}
   |                 ^^^^ expected `u64`, found struct `std::string::String`
