[INFO] fetching crate confium 0.2.0...
[INFO] checking confium-0.2.0 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate confium 0.2.0 into /workspace/builds/worker-7-tc2/source
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate confium 0.2.0
[INFO] finished tweaking crates.io crate confium 0.2.0
[INFO] tweaked toml for crates.io crate confium 0.2.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate confium 0.2.0 on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate confium 0.2.0 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb
[INFO] running `Command { std: "docker" "start" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb", 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" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb", 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" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling snafu-derive v0.8.9
[INFO] [stderr]     Checking snafu v0.8.9
[INFO] [stderr]     Checking confium v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     err_check_not_null!(err);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     err_check_not_null!(msg);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     err_check_not_null!(err);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     err_check_not_null!(err);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     err_check_not_null!(backtrace);
[INFO] [stdout]    |     ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void`
[INFO] [stdout]   --> src/ffi/hash.rs:40:59
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub type HashDestroyFnV0 = extern "C" fn(*mut FFIHash) -> c_void;
[INFO] [stdout]    |                                                       ----^^^^^^
[INFO] [stdout]    |                                                       |
[INFO] [stdout]    |                                                       help: remove the return type to implicitly return `()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: returning `()` in Rust is equivalent to returning `void` in C
[INFO] [stdout]    = note: `c_void` is only used through raw pointers for compatibility with `void` pointers
[INFO] [stdout]    = note: `#[warn(c_void_returns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `confium` (lib test) due to 5 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     err_check_not_null!(err);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     err_check_not_null!(msg);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     err_check_not_null!(err);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     err_check_not_null!(err);
[INFO] [stdout]    |     ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `u32`
[INFO] [stdout]   --> src/ffi/error.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout]  8 | macro_rules! err_check_not_null {
[INFO] [stdout] ...
[INFO] [stdout] 16 |             return err.code().into();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     err_check_not_null!(backtrace);
[INFO] [stdout]    |     ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<u32 as Into<u32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void`
[INFO] [stdout]   --> src/ffi/hash.rs:40:59
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub type HashDestroyFnV0 = extern "C" fn(*mut FFIHash) -> c_void;
[INFO] [stdout]    |                                                       ----^^^^^^
[INFO] [stdout]    |                                                       |
[INFO] [stdout]    |                                                       help: remove the return type to implicitly return `()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: returning `()` in Rust is equivalent to returning `void` in C
[INFO] [stdout]    = note: `c_void` is only used through raw pointers for compatibility with `void` pointers
[INFO] [stdout]    = note: `#[warn(c_void_returns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `confium` (lib) due to 5 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb", kill_on_drop: false }`
[INFO] [stdout] 530a42fd9529ea93800aec26559ad52e5c8ac47d4196a410dcb14af9a54525fb
