[INFO] cloning repository https://github.com/majecty/codechain-foundry-example [INFO] running `"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"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmajecty%2Fcodechain-foundry-example'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8c5ef38aeec2a4a489503cbe8dd4aff45875bec8 [INFO] testing majecty/codechain-foundry-example against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmajecty%2Fcodechain-foundry-example" "/workspace/builds/worker-2/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/majecty/codechain-foundry-example on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "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-2/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" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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=warn" "-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" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e973568486fc6c21946674cff33333d90628dcd099b50c35d758e95fd779870f [INFO] running `"docker" "start" "-a" "e973568486fc6c21946674cff33333d90628dcd099b50c35d758e95fd779870f"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling 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: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[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[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: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: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: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)` [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: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/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| [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, foundry::RequestQuery) -> std::result::Result, 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, [INFO] [stderr] 10 | | req: foundry::RequestQuery| [INFO] [stderr] 11 | | -> Result, 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, foundry::RequestQuery) -> std::result::Result, 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; 1 warning emitted [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] running `"docker" "inspect" "e973568486fc6c21946674cff33333d90628dcd099b50c35d758e95fd779870f"` [INFO] running `"docker" "rm" "-f" "e973568486fc6c21946674cff33333d90628dcd099b50c35d758e95fd779870f"` [INFO] [stdout] e973568486fc6c21946674cff33333d90628dcd099b50c35d758e95fd779870f