[INFO] cloning repository https://github.com/MaybeS/cs420
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MaybeS/cs420" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaybeS%2Fcs420", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaybeS%2Fcs420'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e8a69a32768cfcb3ef42fd837803173c759d40af
[INFO] checking MaybeS/cs420 against 4d7c0cd298ace72490220301fa543d63a154f8ce for pr-164789
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaybeS%2Fcs420" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/MaybeS/cs420
[INFO] finished tweaking git repo https://github.com/MaybeS/cs420
[INFO] tweaked toml for git repo https://github.com/MaybeS/cs420 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MaybeS/cs420 on toolchain 4d7c0cd298ace72490220301fa543d63a154f8ce
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MaybeS/cs420 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/kaist-cp/kecc"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 | name = "kecc"
[INFO] [stderr] 34 | repository = "https://github.com/kaist-cp/kecc"
[INFO] [stderr]    |              ----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `kecc` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking MaybeS/cs420 against 4d7c0cd298ace72490220301fa543d63a154f8ce for pr-164789
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaybeS%2Fcs420" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/MaybeS/cs420
[INFO] finished tweaking git repo https://github.com/MaybeS/cs420
[INFO] tweaked toml for git repo https://github.com/MaybeS/cs420 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MaybeS/cs420 on toolchain 4d7c0cd298ace72490220301fa543d63a154f8ce
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MaybeS/cs420 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/kaist-cp/kecc"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 | name = "kecc"
[INFO] [stderr] 34 | repository = "https://github.com/kaist-cp/kecc"
[INFO] [stderr]    |              ----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `kecc` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded peg-runtime v0.6.2
[INFO] [stderr]   Downloaded peg v0.6.2
[INFO] [stderr]   Downloaded quote v1.0.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.10
[INFO] [stderr]   Downloaded peg-macros v0.6.2
[INFO] [stderr]   Downloaded failure v0.1.7
[INFO] [stderr]   Downloaded failure_derive v0.1.7
[INFO] [stderr]   Downloaded proc-macro-hack v0.3.3
[INFO] [stderr]   Downloaded hexf-impl v0.1.0
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded hexf-parse v0.1.0
[INFO] [stderr]   Downloaded backtrace v0.3.46
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded hermit-abi v0.1.12
[INFO] [stderr]   Downloaded proc-macro-hack-impl v0.3.3
[INFO] [stderr]   Downloaded synstructure v0.12.3
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded unicode-width v0.1.7
[INFO] [stderr]   Downloaded yaml-rust v0.3.5
[INFO] [stderr]   Downloaded cc v1.0.52
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded clap v2.33.0
[INFO] [stderr]   Downloaded syn v1.0.18
[INFO] [stderr]   Downloaded backtrace-sys v0.1.36
[INFO] [stderr]   Downloaded lang-c v0.8.1
[INFO] [stderr]   Downloaded hexf v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31
[INFO] running `Command { std: "docker" "start" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31" "/opt/rustwide/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31" "/opt/rustwide/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/kaist-cp/kecc"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 | name = "kecc"
[INFO] [stderr] 34 | repository = "https://github.com/kaist-cp/kecc"
[INFO] [stderr]    |              ----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `kecc` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling proc-macro2 v1.0.10
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling syn v1.0.18
[INFO] [stderr]    Compiling cc v1.0.52
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling proc-macro-hack-impl v0.3.3
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling failure_derive v0.1.7
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling proc-macro-hack v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling hexf-parse v0.1.0
[INFO] [stderr]    Compiling peg-runtime v0.6.2
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling peg-macros v0.6.2
[INFO] [stderr]     Checking yaml-rust v0.3.5
[INFO] [stderr]    Compiling backtrace-sys v0.1.36
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking lang-c v0.8.1
[INFO] [stderr]    Compiling hexf-impl v0.1.0
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking hexf v0.1.0
[INFO] [stderr]     Checking backtrace v0.3.46
[INFO] [stderr]     Checking peg v0.6.2
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]     Checking failure v0.1.7
[INFO] [stderr]     Checking kecc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: struct `TODO` is never constructed
[INFO] [stdout]  --> src/asm/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TODO {}
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `TODO` is never constructed
[INFO] [stdout]  --> src/asm/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TODO {}
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: panic message is not a string literal
[INFO] [stdout]    --> src/c/parse.rs:185:41
[INFO] [stdout]     |
[INFO] [stdout] 185 |             Self::Constant(_) => panic!(AlignmentSpecifier::Constant),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[deny(non_fmt_panics)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 185 -             Self::Constant(_) => panic!(AlignmentSpecifier::Constant),
[INFO] [stdout] 185 +             Self::Constant(_) => std::panic::panic_any(AlignmentSpecifier::Constant),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: panic message is not a string literal
[INFO] [stdout]    --> src/c/parse.rs:185:41
[INFO] [stdout]     |
[INFO] [stdout] 185 |             Self::Constant(_) => panic!(AlignmentSpecifier::Constant),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[deny(non_fmt_panics)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 185 -             Self::Constant(_) => panic!(AlignmentSpecifier::Constant),
[INFO] [stdout] 185 +             Self::Constant(_) => std::panic::panic_any(AlignmentSpecifier::Constant),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/mod.rs:237:79
[INFO] [stdout]     |
[INFO] [stdout] 237 |                   .expect("Load instruction must have pointer value as operand")
[INFO] [stdout]     |  _______________________________________________________________________________^
[INFO] [stdout] 238 | |                 .deref()
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `dtype::Dtype` does not implement `Deref`, so calling `deref` on `&dtype::Dtype` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[deny(noop_method_call)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 237 -                 .expect("Load instruction must have pointer value as operand")
[INFO] [stdout] 238 -                 .deref()
[INFO] [stdout] 237 +                 .expect("Load instruction must have pointer value as operand")
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `dtype::Dtype`, implement `Clone` for it
[INFO] [stdout]    --> src/ir/dtype.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 + #[derive(Clone)]
[INFO] [stdout]  39 | pub enum Dtype {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/mod.rs:237:79
[INFO] [stdout]     |
[INFO] [stdout] 237 |                   .expect("Load instruction must have pointer value as operand")
[INFO] [stdout]     |  _______________________________________________________________________________^
[INFO] [stdout] 238 | |                 .deref()
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `dtype::Dtype` does not implement `Deref`, so calling `deref` on `&dtype::Dtype` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[deny(noop_method_call)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 237 -                 .expect("Load instruction must have pointer value as operand")
[INFO] [stdout] 238 -                 .deref()
[INFO] [stdout] 237 +                 .expect("Load instruction must have pointer value as operand")
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `dtype::Dtype`, implement `Clone` for it
[INFO] [stdout]    --> src/ir/dtype.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 + #[derive(Clone)]
[INFO] [stdout]  39 | pub enum Dtype {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: panic message contains braces
[INFO] [stdout]    --> src/ir/mod.rs:728:35
[INFO] [stdout]     |
[INFO] [stdout] 728 |                  must be `Constant{{Int, Float}}`"
[INFO] [stdout]     |                                   ^^          ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 "{}", "constant value generated by `Constant::from_ast_expression` \
[INFO] [stdout]     |                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: panic message contains braces
[INFO] [stdout]    --> src/ir/mod.rs:728:35
[INFO] [stdout]     |
[INFO] [stdout] 728 |                  must be `Constant{{Int, Float}}`"
[INFO] [stdout]     |                                   ^^          ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 "{}", "constant value generated by `Constant::from_ast_expression` \
[INFO] [stdout]     |                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ir/dtype.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]    |                            ^---
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Fail` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DtypeError`
[INFO] [stdout] 16 | pub enum DtypeError {
[INFO] [stdout]    |          ---------- `DtypeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]    = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ir/dtype.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]    |                            ^---
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Fail` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DtypeError`
[INFO] [stdout] 16 | pub enum DtypeError {
[INFO] [stdout]    |          ---------- `DtypeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]    = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ir/dtype.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]    |                            ^---
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Display` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DtypeError`
[INFO] [stdout] 16 | pub enum DtypeError {
[INFO] [stdout]    |          ---------- `DtypeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ir/dtype.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]    |                            ^---
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Display` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DtypeError`
[INFO] [stdout] 16 | pub enum DtypeError {
[INFO] [stdout]    |          ---------- `DtypeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ir/interp.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]     |                            ^---
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Fail` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_InterpreterError`
[INFO] [stdout] 305 | pub enum InterpreterError {
[INFO] [stdout]     |          ---------------- `InterpreterError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ir/interp.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]     |                            ^---
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Display` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_InterpreterError`
[INFO] [stdout] 305 | pub enum InterpreterError {
[INFO] [stdout]     |          ---------------- `InterpreterError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ir/interp.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]     |                            ^---
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Fail` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_InterpreterError`
[INFO] [stdout] 305 | pub enum InterpreterError {
[INFO] [stdout]     |          ---------------- `InterpreterError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ir/interp.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 | #[derive(Debug, PartialEq, Fail)]
[INFO] [stdout]     |                            ^---
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Display` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_InterpreterError`
[INFO] [stdout] 305 | pub enum InterpreterError {
[INFO] [stdout]     |          ---------------- `InterpreterError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this error originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/ir/interp.rs:1166:65
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     fn new(ir: &'i TranslationUnit, args: Vec<Value>) -> Result<State, InterpreterError> {
[INFO] [stdout]      |                 -- the lifetime is named here                   ^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[deny(mismatched_lifetime_syntaxes)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: consistently use `'i`
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     fn new(ir: &'i TranslationUnit, args: Vec<Value>) -> Result<State<'i>, InterpreterError> {
[INFO] [stdout]      |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/ir/interp.rs:1166:65
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     fn new(ir: &'i TranslationUnit, args: Vec<Value>) -> Result<State, InterpreterError> {
[INFO] [stdout]      |                 -- the lifetime is named here                   ^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[deny(mismatched_lifetime_syntaxes)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: consistently use `'i`
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     fn new(ir: &'i TranslationUnit, args: Vec<Value>) -> Result<State<'i>, InterpreterError> {
[INFO] [stdout]      |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: panic message is not a string literal
[INFO] [stdout]    --> src/ir/interp.rs:784:28
[INFO] [stdout]     |
[INFO] [stdout] 784 |                       panic!(format!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 785 | |                         "calculate_typecast: not support case \
[INFO] [stdout] 786 | |                          typecast int to pointer when `value` is {}",
[INFO] [stdout] 787 | |                         value
[INFO] [stdout] 788 | |                     ))
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 784 ~                     panic!(
[INFO] [stdout] 785 |                         "calculate_typecast: not support case \
[INFO] [stdout] 786 |                          typecast int to pointer when `value` is {}",
[INFO] [stdout] 787 |                         value
[INFO] [stdout] 788 ~                     )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: panic message is not a string literal
[INFO] [stdout]    --> src/ir/interp.rs:784:28
[INFO] [stdout]     |
[INFO] [stdout] 784 |                       panic!(format!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 785 | |                         "calculate_typecast: not support case \
[INFO] [stdout] 786 | |                          typecast int to pointer when `value` is {}",
[INFO] [stdout] 787 | |                         value
[INFO] [stdout] 788 | |                     ))
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 784 ~                     panic!(
[INFO] [stdout] 785 |                         "calculate_typecast: not support case \
[INFO] [stdout] 786 |                          typecast int to pointer when `value` is {}",
[INFO] [stdout] 787 |                         value
[INFO] [stdout] 788 ~                     )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kecc` (lib) due to 10 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `kecc` (lib test) due to 10 previous errors
[INFO] running `Command { std: "docker" "inspect" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31", kill_on_drop: false }`
[INFO] [stdout] 261746e6a887be57ece7b16bd79ed3cfc7f61d727c000bdbe9f5e1bf3b266e31
