[INFO] cloning repository https://github.com/majecty/codechain-foundry-example [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/majecty/codechain-foundry-example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmajecty%2Fcodechain-foundry-example", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmajecty%2Fcodechain-foundry-example'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8c5ef38aeec2a4a489503cbe8dd4aff45875bec8 [INFO] checking majecty/codechain-foundry-example against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmajecty%2Fcodechain-foundry-example" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/majecty/codechain-foundry-example on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-4/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 `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 7aea2b4f73ba9fba657210551caabc0f0cdc5b5c83fe9edf96a72734eef0eb8a [INFO] running `Command { std: "docker" "start" "-a" "7aea2b4f73ba9fba657210551caabc0f0cdc5b5c83fe9edf96a72734eef0eb8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7aea2b4f73ba9fba657210551caabc0f0cdc5b5c83fe9edf96a72734eef0eb8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7aea2b4f73ba9fba657210551caabc0f0cdc5b5c83fe9edf96a72734eef0eb8a", kill_on_drop: false }` [INFO] [stdout] 7aea2b4f73ba9fba657210551caabc0f0cdc5b5c83fe9edf96a72734eef0eb8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c33fedaeb322e6f9126c87d1fe2f2ef2c5cecb2aa7bae14b1154e00f0f71084 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6c33fedaeb322e6f9126c87d1fe2f2ef2c5cecb2aa7bae14b1154e00f0f71084", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking rust-example v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stdout] --> src/modules/nameservice/module.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!() [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: change the delimiters to curly braces [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!{} [INFO] [stdout] | ^^ [INFO] [stdout] help: add a semicolon [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!(); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stdout] --> src/modules/nameservice/module.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-impl item macro in impl item position: ::core::panic [INFO] [stdout] --> src/modules/nameservice/module.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stdout] --> src/modules/nameservice/module.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!() [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: change the delimiters to curly braces [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!{} [INFO] [stdout] | ^^ [INFO] [stdout] help: add a semicolon [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!(); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::types::QueryResNames` [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::super::types::QueryResNames; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stdout] --> src/modules/nameservice/module.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-impl item macro in impl item position: ::core::panic [INFO] [stdout] --> src/modules/nameservice/module.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | unimplemented!() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::types::QueryResNames` [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::super::types::QueryResNames; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd` [INFO] [stdout] --> src/modules/bank/module.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | impl foundry::Module for Module {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/foundry/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_name() -> String; [INFO] [stdout] | ------------------------ `get_name` from trait [INFO] [stdout] 15 | fn get_tx_cmd() -> Command; [INFO] [stdout] | --------------------------- `get_tx_cmd` from trait [INFO] [stdout] 16 | fn get_query_cmd() -> Command; [INFO] [stdout] | ------------------------------ `get_query_cmd` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd` [INFO] [stdout] --> src/modules/nameservice/module.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | impl foundry::Module for Module { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/foundry/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_name() -> String; [INFO] [stdout] | ------------------------ `get_name` from trait [INFO] [stdout] 15 | fn get_tx_cmd() -> Command; [INFO] [stdout] | --------------------------- `get_tx_cmd` from trait [INFO] [stdout] 16 | fn get_query_cmd() -> Command; [INFO] [stdout] | ------------------------------ `get_query_cmd` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd` [INFO] [stdout] --> src/modules/bank/module.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | impl foundry::Module for Module {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/foundry/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_name() -> String; [INFO] [stdout] | ------------------------ `get_name` from trait [INFO] [stdout] 15 | fn get_tx_cmd() -> Command; [INFO] [stdout] | --------------------------- `get_tx_cmd` from trait [INFO] [stdout] 16 | fn get_query_cmd() -> Command; [INFO] [stdout] | ------------------------------ `get_query_cmd` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_name`, `get_tx_cmd`, `get_query_cmd` [INFO] [stdout] --> src/modules/nameservice/module.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | impl foundry::Module for Module { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_name`, `get_tx_cmd`, `get_query_cmd` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/foundry/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_name() -> String; [INFO] [stdout] | ------------------------ `get_name` from trait [INFO] [stdout] 15 | fn get_tx_cmd() -> Command; [INFO] [stdout] | --------------------------- `get_tx_cmd` from trait [INFO] [stdout] 16 | fn get_query_cmd() -> Command; [INFO] [stdout] | ------------------------------ `get_query_cmd` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `bank::Keeper` in the current scope [INFO] [stdout] --> src/main.rs:11:41 [INFO] [stdout] | [INFO] [stdout] 11 | let mut bank_keeper = bank::Keeper::new(); [INFO] [stdout] | ^^^ function or associated item not found in `bank::Keeper` [INFO] [stdout] | [INFO] [stdout] ::: src/modules/bank/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Keeper {} [INFO] [stdout] | ----------------- function or associated item `new` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `bank::Keeper` in the current scope [INFO] [stdout] --> src/main.rs:11:41 [INFO] [stdout] | [INFO] [stdout] 11 | let mut bank_keeper = bank::Keeper::new(); [INFO] [stdout] | ^^^ function or associated item not found in `bank::Keeper` [INFO] [stdout] | [INFO] [stdout] ::: src/modules/bank/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Keeper {} [INFO] [stdout] | ----------------- function or associated item `new` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | short: "Querying commands", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"Querying commands".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | short: "Querying commands", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"Querying commands".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | usage: "resolve [name]", [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"resolve [name]".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | usage: "resolve [name]", [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"resolve [name]".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | short: "resolve name", [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"resolve name".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | callback: |args| { [INFO] [stdout] | ___________________^ [INFO] [stdout] 22 | | let mut ctx = foundry::Context::new_cmd_ctx(); [INFO] [stdout] 23 | | let name = args.get(0).unwrap(); [INFO] [stdout] 24 | | [INFO] [stdout] ... | [INFO] [stdout] 28 | | println!("{:?}", out); [INFO] [stdout] 29 | | }, [INFO] [stdout] | |_________^ expected fn pointer, found closure [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `fn(Vec)` [INFO] [stdout] found closure `[closure@src/modules/nameservice/cli/query.rs:21:19: 29:10]` [INFO] [stdout] note: closures can only be coerced to `fn` types if they do not capture any variables [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:25:75 [INFO] [stdout] | [INFO] [stdout] 25 | let res = ctx.query_with_data(format!("custom/{}/resolve/{}", query_route, name)); [INFO] [stdout] | ^^^^^^^^^^^ `query_route` captured here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | short: "resolve name", [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"resolve name".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | short: "Querying commands", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"Querying commands".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | callback: |args| { [INFO] [stdout] | ___________________^ [INFO] [stdout] 22 | | let mut ctx = foundry::Context::new_cmd_ctx(); [INFO] [stdout] 23 | | let name = args.get(0).unwrap(); [INFO] [stdout] 24 | | [INFO] [stdout] ... | [INFO] [stdout] 28 | | println!("{:?}", out); [INFO] [stdout] 29 | | }, [INFO] [stdout] | |_________^ expected fn pointer, found closure [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `fn(Vec)` [INFO] [stdout] found closure `[closure@src/modules/nameservice/cli/query.rs:21:19: 29:10]` [INFO] [stdout] note: closures can only be coerced to `fn` types if they do not capture any variables [INFO] [stdout] --> src/modules/nameservice/cli/query.rs:25:75 [INFO] [stdout] | [INFO] [stdout] 25 | let res = ctx.query_with_data(format!("custom/{}/resolve/{}", query_route, name)); [INFO] [stdout] | ^^^^^^^^^^^ `query_route` captured here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | short: "Querying commands", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"Querying commands".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | usage: "buy-name [name] [amount]", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"buy-name [name] [amount]".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | short: "bid for existing name or claim new name", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"bid for existing name or claim new name".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | usage: "buy-name [name] [amount]", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"buy-name [name] [amount]".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/cli/tx.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | short: "bid for existing name or claim new name", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `String`, found `&str` [INFO] [stdout] | help: try using a conversion method: `"bid for existing name or claim new name".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/handler.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn new_handler(keeper: &mut Keeper) -> foundry::Handler { [INFO] [stdout] | ---------------- expected `for<'r> fn(&'r mut foundry::Context, Box<(dyn Msg + 'static)>) -> Result<(), MsgError>` because of return type [INFO] [stdout] 6 | return |ctx: &mut foundry::Context, [INFO] [stdout] | ____________^ [INFO] [stdout] 7 | | msg: Box| [INFO] [stdout] 8 | | -> Result<(), foundry::MsgError> { [INFO] [stdout] 9 | | match msg.msg_type().as_ref() { [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | }; [INFO] [stdout] | |_____^ expected fn pointer, found closure [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, Box<(dyn Msg + 'static)>) -> Result<(), MsgError>` [INFO] [stdout] found closure `[closure@src/modules/nameservice/handler.rs:6:12: 13:6]` [INFO] [stdout] note: closures can only be coerced to `fn` types if they do not capture any variables [INFO] [stdout] --> src/modules/nameservice/handler.rs:10:52 [INFO] [stdout] | [INFO] [stdout] 10 | "set_name" => handle_msg_set_name(ctx, keeper, msg), [INFO] [stdout] | ^^^^^^ `keeper` captured here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `name` of struct `MSGSetName` is private [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:39 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `String` [INFO] [stdout] | help: consider borrowing here: `&msg_set_name.name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `value` of struct `MSGSetName` is private [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:45 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `String` [INFO] [stdout] | help: consider borrowing here: `&msg_set_name.value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/handler.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn new_handler(keeper: &mut Keeper) -> foundry::Handler { [INFO] [stdout] | ---------------- expected `for<'r> fn(&'r mut foundry::Context, Box<(dyn Msg + 'static)>) -> Result<(), MsgError>` because of return type [INFO] [stdout] 6 | return |ctx: &mut foundry::Context, [INFO] [stdout] | ____________^ [INFO] [stdout] 7 | | msg: Box| [INFO] [stdout] 8 | | -> Result<(), foundry::MsgError> { [INFO] [stdout] 9 | | match msg.msg_type().as_ref() { [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | }; [INFO] [stdout] | |_____^ expected fn pointer, found closure [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, Box<(dyn Msg + 'static)>) -> Result<(), MsgError>` [INFO] [stdout] found closure `[closure@src/modules/nameservice/handler.rs:6:12: 13:6]` [INFO] [stdout] note: closures can only be coerced to `fn` types if they do not capture any variables [INFO] [stdout] --> src/modules/nameservice/handler.rs:10:52 [INFO] [stdout] | [INFO] [stdout] 10 | "set_name" => handle_msg_set_name(ctx, keeper, msg), [INFO] [stdout] | ^^^^^^ `keeper` captured here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `name` of struct `MSGSetName` is private [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:39 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `String` [INFO] [stdout] | help: consider borrowing here: `&msg_set_name.name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `value` of struct `MSGSetName` is private [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/querier.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn new_querier(keeper: &mut Keeper) -> foundry::Querier { [INFO] [stdout] | ---------------- expected `for<'r> fn(&'r mut foundry::Context, Vec, RequestQuery) -> Result, foundry::Error>` because of return type [INFO] [stdout] 7 | let new_keeper = *keeper; [INFO] [stdout] 8 | return |ctx: &mut foundry::Context, [INFO] [stdout] | ____________^ [INFO] [stdout] 9 | | path: Vec, [INFO] [stdout] 10 | | req: foundry::RequestQuery| [INFO] [stdout] 11 | | -> Result, foundry::Error> { [INFO] [stdout] ... | [INFO] [stdout] 15 | | } [INFO] [stdout] 16 | | }; [INFO] [stdout] | |_____^ expected fn pointer, found closure [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, Vec, RequestQuery) -> Result, foundry::Error>` [INFO] [stdout] found closure `[closure@src/modules/nameservice/querier.rs:8:12: 16:6]` [INFO] [stdout] note: closures can only be coerced to `fn` types if they do not capture any variables [INFO] [stdout] --> src/modules/nameservice/querier.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 13 | "resolve" => query_resolve(ctx, path, req, new_keeper), [INFO] [stdout] | ^^^^^^^^^^ `new_keeper` captured here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/handler.rs:27:45 [INFO] [stdout] | [INFO] [stdout] 27 | keeper.set_name(ctx, msg_set_name.name, msg_set_name.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `String` [INFO] [stdout] | help: consider borrowing here: `&msg_set_name.value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0046, E0308, E0599, E0616. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0046`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules/nameservice/querier.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn new_querier(keeper: &mut Keeper) -> foundry::Querier { [INFO] [stdout] | ---------------- expected `for<'r> fn(&'r mut foundry::Context, Vec, RequestQuery) -> Result, foundry::Error>` because of return type [INFO] [stdout] 7 | let new_keeper = *keeper; [INFO] [stdout] 8 | return |ctx: &mut foundry::Context, [INFO] [stdout] | ____________^ [INFO] [stdout] 9 | | path: Vec, [INFO] [stdout] 10 | | req: foundry::RequestQuery| [INFO] [stdout] 11 | | -> Result, foundry::Error> { [INFO] [stdout] ... | [INFO] [stdout] 15 | | } [INFO] [stdout] 16 | | }; [INFO] [stdout] | |_____^ expected fn pointer, found closure [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `for<'r> fn(&'r mut foundry::Context, Vec, RequestQuery) -> Result, foundry::Error>` [INFO] [stdout] found closure `[closure@src/modules/nameservice/querier.rs:8:12: 16:6]` [INFO] [stdout] note: closures can only be coerced to `fn` types if they do not capture any variables [INFO] [stdout] --> src/modules/nameservice/querier.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 13 | "resolve" => query_resolve(ctx, path, req, new_keeper), [INFO] [stdout] | ^^^^^^^^^^ `new_keeper` captured here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0046, E0308, E0599, E0616. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0046`. [INFO] [stdout] [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: build failed [INFO] running `Command { std: "docker" "inspect" "6c33fedaeb322e6f9126c87d1fe2f2ef2c5cecb2aa7bae14b1154e00f0f71084", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c33fedaeb322e6f9126c87d1fe2f2ef2c5cecb2aa7bae14b1154e00f0f71084", kill_on_drop: false }` [INFO] [stdout] 6c33fedaeb322e6f9126c87d1fe2f2ef2c5cecb2aa7bae14b1154e00f0f71084