[INFO] updating cached repository https://github.com/majecty/codechain-foundry-example
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 8c5ef38aeec2a4a489503cbe8dd4aff45875bec8
[INFO] checking majecty/codechain-foundry-example against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmajecty%2Fcodechain-foundry-example" "/workspace/builds/worker-14/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/majecty/codechain-foundry-example on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/majecty/codechain-foundry-example
[INFO] finished tweaking git repo https://github.com/majecty/codechain-foundry-example
[INFO] tweaked toml for git repo https://github.com/majecty/codechain-foundry-example written to /workspace/builds/worker-14/source/Cargo.toml
[INFO] crate git repo https://github.com/majecty/codechain-foundry-example already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] a77eb65e9beb586fd8ee2c73cd35194ddefd6220f12d98d105d2657832e852db
[INFO] running `"docker" "start" "-a" "a77eb65e9beb586fd8ee2c73cd35194ddefd6220f12d98d105d2657832e852db"`
[INFO] [stderr]     Checking rust-example v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stderr]  --> src/modules/nameservice/module.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!()
[INFO] [stderr]   |                   ^^
[INFO] [stderr]   |
[INFO] [stderr] help: change the delimiters to curly braces
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!{}
[INFO] [stderr]   |                   ^^
[INFO] [stderr] help: add a semicolon
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!();
[INFO] [stderr]   |                     ^
[INFO] [stderr] 
[INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stderr]  --> src/modules/nameservice/module.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!()
[INFO] [stderr]   |                   ^^
[INFO] [stderr]   |
[INFO] [stderr] help: change the delimiters to curly braces
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!{}
[INFO] [stderr]   |                   ^^
[INFO] [stderr] help: add a semicolon
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!();
[INFO] [stderr]   |                     ^
[INFO] [stderr] 
[INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stderr]  --> src/modules/nameservice/module.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!()
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: macro expansion ignores token `{` and any following
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/modules/nameservice/module.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 9  |     unimplemented!()
[INFO] [stderr]    |     ---------------- caused by the macro expansion here
[INFO] [stderr]    |
[INFO] [stderr]    = note: the usage of `panic!` is likely invalid in impl item context
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::super::types::QueryResNames`
[INFO] [stderr]  --> src/modules/nameservice/cli/tx.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::super::types::QueryResNames;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stderr]  --> src/modules/nameservice/module.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     unimplemented!()
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: macro expansion ignores token `{` and any following
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/modules/nameservice/module.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 9  |     unimplemented!()
[INFO] [stderr]    |     ---------------- caused by the macro expansion here
[INFO] [stderr]    |
[INFO] [stderr]    = note: the usage of `panic!` is likely invalid in impl item context
[INFO] [stderr] 
[INFO] [stderr] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd`
[INFO] [stderr]   --> src/modules/bank/module.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | impl foundry::Module for Module {}
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/foundry/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn get_name() -> String;
[INFO] [stderr]    |     ------------------------ `get_name` from trait
[INFO] [stderr] 15 |     fn get_tx_cmd() -> Command;
[INFO] [stderr]    |     --------------------------- `get_tx_cmd` from trait
[INFO] [stderr] 16 |     fn get_query_cmd() -> Command;
[INFO] [stderr]    |     ------------------------------ `get_query_cmd` from trait
[INFO] [stderr] 
[INFO] [stderr] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd`
[INFO] [stderr]   --> src/modules/nameservice/module.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | impl foundry::Module for Module {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/foundry/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn get_name() -> String;
[INFO] [stderr]    |     ------------------------ `get_name` from trait
[INFO] [stderr] 15 |     fn get_tx_cmd() -> Command;
[INFO] [stderr]    |     --------------------------- `get_tx_cmd` from trait
[INFO] [stderr] 16 |     fn get_query_cmd() -> Command;
[INFO] [stderr]    |     ------------------------------ `get_query_cmd` from trait
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::super::types::QueryResNames`
[INFO] [stderr]  --> src/modules/nameservice/cli/tx.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::super::types::QueryResNames;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `new` found for struct `modules::bank::Keeper` in the current scope
[INFO] [stderr]   --> src/main.rs:11:41
[INFO] [stderr]    |
[INFO] [stderr] 11 |     let mut bank_keeper = bank::Keeper::new();
[INFO] [stderr]    |                                         ^^^ function or associated item not found in `modules::bank::Keeper`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/modules/bank/mod.rs:4:1
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub struct Keeper {}
[INFO] [stderr]    | ----------------- function or associated item `new` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd`
[INFO] [stderr]   --> src/modules/bank/module.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | impl foundry::Module for Module {}
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/foundry/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn get_name() -> String;
[INFO] [stderr]    |     ------------------------ `get_name` from trait
[INFO] [stderr] 15 |     fn get_tx_cmd() -> Command;
[INFO] [stderr]    |     --------------------------- `get_tx_cmd` from trait
[INFO] [stderr] 16 |     fn get_query_cmd() -> Command;
[INFO] [stderr]    |     ------------------------------ `get_query_cmd` from trait
[INFO] [stderr] 
[INFO] [stderr] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd`
[INFO] [stderr]   --> src/modules/nameservice/module.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | impl foundry::Module for Module {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/foundry/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn get_name() -> String;
[INFO] [stderr]    |     ------------------------ `get_name` from trait
[INFO] [stderr] 15 |     fn get_tx_cmd() -> Command;
[INFO] [stderr]    |     --------------------------- `get_tx_cmd` from trait
[INFO] [stderr] 16 |     fn get_query_cmd() -> Command;
[INFO] [stderr]    |     ------------------------------ `get_query_cmd` from trait
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]  --> src/modules/nameservice/cli/query.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 |         short: "Querying commands",
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |                |
[INFO] [stderr]   |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]   |                help: try using a conversion method: `"Querying commands".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `new` found for struct `modules::bank::Keeper` in the current scope
[INFO] [stderr]   --> src/main.rs:11:41
[INFO] [stderr]    |
[INFO] [stderr] 11 |     let mut bank_keeper = bank::Keeper::new();
[INFO] [stderr]    |                                         ^^^ function or associated item not found in `modules::bank::Keeper`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/modules/bank/mod.rs:4:1
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub struct Keeper {}
[INFO] [stderr]    | ----------------- function or associated item `new` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/query.rs:19:16
[INFO] [stderr]    |
[INFO] [stderr] 19 |         usage: "resolve [name]",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"resolve [name]".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/query.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |         short: "resolve name",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"resolve name".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]  --> src/modules/nameservice/cli/query.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 |         short: "Querying commands",
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |                |
[INFO] [stderr]   |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]   |                help: try using a conversion method: `"Querying commands".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/query.rs:21:19
[INFO] [stderr]    |
[INFO] [stderr] 21 |           callback: |args| {
[INFO] [stderr]    |  ___________________^
[INFO] [stderr] 22 | |             let mut ctx = foundry::Context::new_cmd_ctx();
[INFO] [stderr] 23 | |             let name = args.get(0).unwrap();
[INFO] [stderr] 24 | |
[INFO] [stderr] ...  |
[INFO] [stderr] 28 | |             println!("{:?}", out);
[INFO] [stderr] 29 | |         },
[INFO] [stderr]    | |_________^ expected fn pointer, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected fn pointer `fn(std::vec::Vec<std::string::String>)`
[INFO] [stderr]                  found closure `[closure@src/modules/nameservice/cli/query.rs:21:19: 29:10 query_route:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/query.rs:19:16
[INFO] [stderr]    |
[INFO] [stderr] 19 |         usage: "resolve [name]",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"resolve [name]".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/query.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |         short: "resolve name",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"resolve name".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]  --> src/modules/nameservice/cli/tx.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 |         short: "Querying commands",
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |                |
[INFO] [stderr]   |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]   |                help: try using a conversion method: `"Querying commands".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/query.rs:21:19
[INFO] [stderr]    |
[INFO] [stderr] 21 |           callback: |args| {
[INFO] [stderr]    |  ___________________^
[INFO] [stderr] 22 | |             let mut ctx = foundry::Context::new_cmd_ctx();
[INFO] [stderr] 23 | |             let name = args.get(0).unwrap();
[INFO] [stderr] 24 | |
[INFO] [stderr] ...  |
[INFO] [stderr] 28 | |             println!("{:?}", out);
[INFO] [stderr] 29 | |         },
[INFO] [stderr]    | |_________^ expected fn pointer, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected fn pointer `fn(std::vec::Vec<std::string::String>)`
[INFO] [stderr]                  found closure `[closure@src/modules/nameservice/cli/query.rs:21:19: 29:10 query_route:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/tx.rs:19:16
[INFO] [stderr]    |
[INFO] [stderr] 19 |         usage: "buy-name [name] [amount]",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"buy-name [name] [amount]".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]  --> src/modules/nameservice/cli/tx.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 |         short: "Querying commands",
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |                |
[INFO] [stderr]   |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]   |                help: try using a conversion method: `"Querying commands".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/tx.rs:19:16
[INFO] [stderr]    |
[INFO] [stderr] 19 |         usage: "buy-name [name] [amount]",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"buy-name [name] [amount]".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/tx.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |         short: "bid for existing name or claim new name",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"bid for existing name or claim new name".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/cli/tx.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |         short: "bid for existing name or claim new name",
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected struct `std::string::String`, found `&str`
[INFO] [stderr]    |                help: try using a conversion method: `"bid for existing name or claim new name".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr] 5  |   pub fn new_handler(keeper: &mut Keeper) -> foundry::Handler {
[INFO] [stderr]    |                                              ---------------- expected `for<'r> fn(&'r mut foundry::Context, std::boxed::Box<(dyn foundry::Msg + 'static)>) -> std::result::Result<(), foundry::MsgError>` because of return type
[INFO] [stderr] 6  |       return |ctx: &mut foundry::Context,
[INFO] [stderr]    |  ____________^
[INFO] [stderr] 7  | |             msg: Box<dyn foundry::Msg>|
[INFO] [stderr] 8  | |      -> Result<(), foundry::MsgError> {
[INFO] [stderr] 9  | |         match msg.msg_type().as_ref() {
[INFO] [stderr] ...  |
[INFO] [stderr] 12 | |         }
[INFO] [stderr] 13 | |     };
[INFO] [stderr]    | |_____^ expected fn pointer, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, std::boxed::Box<(dyn foundry::Msg + 'static)>) -> std::result::Result<(), foundry::MsgError>`
[INFO] [stderr]                  found closure `[closure@src/modules/nameservice/handler.rs:6:12: 13:6 keeper:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `name` of struct `modules::nameservice::types::msgs::MSGSetName` is private
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:39
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                                       ^^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:26
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          expected `&str`, found struct `std::string::String`
[INFO] [stderr]    |                          help: consider borrowing here: `&msg_set_name.name`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `value` of struct `modules::nameservice::types::msgs::MSGSetName` is private
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:58
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                                                          ^^^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:45
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             expected `&str`, found struct `std::string::String`
[INFO] [stderr]    |                                             help: consider borrowing here: `&msg_set_name.value`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr] 5  |   pub fn new_handler(keeper: &mut Keeper) -> foundry::Handler {
[INFO] [stderr]    |                                              ---------------- expected `for<'r> fn(&'r mut foundry::Context, std::boxed::Box<(dyn foundry::Msg + 'static)>) -> std::result::Result<(), foundry::MsgError>` because of return type
[INFO] [stderr] 6  |       return |ctx: &mut foundry::Context,
[INFO] [stderr]    |  ____________^
[INFO] [stderr] 7  | |             msg: Box<dyn foundry::Msg>|
[INFO] [stderr] 8  | |      -> Result<(), foundry::MsgError> {
[INFO] [stderr] 9  | |         match msg.msg_type().as_ref() {
[INFO] [stderr] ...  |
[INFO] [stderr] 12 | |         }
[INFO] [stderr] 13 | |     };
[INFO] [stderr]    | |_____^ expected fn pointer, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, std::boxed::Box<(dyn foundry::Msg + 'static)>) -> std::result::Result<(), foundry::MsgError>`
[INFO] [stderr]                  found closure `[closure@src/modules/nameservice/handler.rs:6:12: 13:6 keeper:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `name` of struct `modules::nameservice::types::msgs::MSGSetName` is private
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:39
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                                       ^^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:26
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          expected `&str`, found struct `std::string::String`
[INFO] [stderr]    |                          help: consider borrowing here: `&msg_set_name.name`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `value` of struct `modules::nameservice::types::msgs::MSGSetName` is private
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:58
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                                                          ^^^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/handler.rs:27:45
[INFO] [stderr]    |
[INFO] [stderr] 27 |     keeper.set_name(ctx, msg_set_name.name, msg_set_name.value);
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             expected `&str`, found struct `std::string::String`
[INFO] [stderr]    |                                             help: consider borrowing here: `&msg_set_name.value`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/querier.rs:8:12
[INFO] [stderr]    |
[INFO] [stderr] 6  |   pub fn new_querier(keeper: &mut Keeper) -> foundry::Querier {
[INFO] [stderr]    |                                              ---------------- expected `for<'r> fn(&'r mut foundry::Context, std::vec::Vec<std::string::String>, foundry::RequestQuery) -> std::result::Result<std::vec::Vec<u8>, foundry::Error>` because of return type
[INFO] [stderr] 7  |       let new_keeper = *keeper;
[INFO] [stderr] 8  |       return |ctx: &mut foundry::Context,
[INFO] [stderr]    |  ____________^
[INFO] [stderr] 9  | |             path: Vec<String>,
[INFO] [stderr] 10 | |             req: foundry::RequestQuery|
[INFO] [stderr] 11 | |      -> Result<Vec<u8>, foundry::Error> {
[INFO] [stderr] ...  |
[INFO] [stderr] 15 | |         }
[INFO] [stderr] 16 | |     };
[INFO] [stderr]    | |_____^ expected fn pointer, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, std::vec::Vec<std::string::String>, foundry::RequestQuery) -> std::result::Result<std::vec::Vec<u8>, foundry::Error>`
[INFO] [stderr]                  found closure `[closure@src/modules/nameservice/querier.rs:8:12: 16:6 new_keeper:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/modules/nameservice/querier.rs:8:12
[INFO] [stderr]    |
[INFO] [stderr] 6  |   pub fn new_querier(keeper: &mut Keeper) -> foundry::Querier {
[INFO] [stderr]    |                                              ---------------- expected `for<'r> fn(&'r mut foundry::Context, std::vec::Vec<std::string::String>, foundry::RequestQuery) -> std::result::Result<std::vec::Vec<u8>, foundry::Error>` because of return type
[INFO] [stderr] 7  |       let new_keeper = *keeper;
[INFO] [stderr] 8  |       return |ctx: &mut foundry::Context,
[INFO] [stderr]    |  ____________^
[INFO] [stderr] 9  | |             path: Vec<String>,
[INFO] [stderr] 10 | |             req: foundry::RequestQuery|
[INFO] [stderr] 11 | |      -> Result<Vec<u8>, foundry::Error> {
[INFO] [stderr] ...  |
[INFO] [stderr] 15 | |         }
[INFO] [stderr] 16 | |     };
[INFO] [stderr]    | |_____^ expected fn pointer, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, std::vec::Vec<std::string::String>, foundry::RequestQuery) -> std::result::Result<std::vec::Vec<u8>, foundry::Error>`
[INFO] [stderr]                  found closure `[closure@src/modules/nameservice/querier.rs:8:12: 16:6 new_keeper:_]`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 19 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0046, E0308, E0599, E0616.
[INFO] [stderr] For more information about an error, try `rustc --explain E0046`.
[INFO] [stderr] error: aborting due to 19 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0046, E0308, E0599, E0616.
[INFO] [stderr] For more information about an error, try `rustc --explain E0046`.
[INFO] [stderr] error: could not compile `rust-example`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust-example`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "a77eb65e9beb586fd8ee2c73cd35194ddefd6220f12d98d105d2657832e852db"`
[INFO] running `"docker" "rm" "-f" "a77eb65e9beb586fd8ee2c73cd35194ddefd6220f12d98d105d2657832e852db"`
[INFO] [stdout] a77eb65e9beb586fd8ee2c73cd35194ddefd6220f12d98d105d2657832e852db
