[INFO] fetching crate redis-cell 0.2.2...
[INFO] testing redis-cell-0.2.2 against beta-2021-08-01 for beta-1.55-1
[INFO] extracting crate redis-cell 0.2.2 into /workspace/builds/worker-112/source
[INFO] validating manifest of crates.io crate redis-cell 0.2.2 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate redis-cell 0.2.2
[INFO] finished tweaking crates.io crate redis-cell 0.2.2
[INFO] tweaked toml for crates.io crate redis-cell 0.2.2 written to /workspace/builds/worker-112/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 38a689badafb15ee71eafb6d2f6901b0a6416832224d2498e10214be8096b6d8
[INFO] running `Command { std: "docker" "start" "-a" "38a689badafb15ee71eafb6d2f6901b0a6416832224d2498e10214be8096b6d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "38a689badafb15ee71eafb6d2f6901b0a6416832224d2498e10214be8096b6d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38a689badafb15ee71eafb6d2f6901b0a6416832224d2498e10214be8096b6d8", kill_on_drop: false }`
[INFO] [stdout] 38a689badafb15ee71eafb6d2f6901b0a6416832224d2498e10214be8096b6d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d4c74bf4ccbc327e8fe3af59f96549514b061bee2149516db7ff44b09ccbcfd0
[INFO] running `Command { std: "docker" "start" "-a" "d4c74bf4ccbc327e8fe3af59f96549514b061bee2149516db7ff44b09ccbcfd0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.98
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling redis-cell v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated struct `gcc::Build`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]   --> build.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gcc::Build::new()
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]   --> build.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gcc::Build::new()
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:90:32
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/redis/mod.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Command {
[INFO] [stdout]    |      ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/redis/mod.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 58 |         command: &Command,
[INFO] [stdout]    |                   ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     Command::harness(&ThrottleCommand {}, ctx, argv, argc)
[INFO] [stdout]    |     ^^^^^^^ help: use `dyn`: `<dyn Command>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:47:48
[INFO] [stdout]    |
[INFO] [stdout] 47 |             CellError::Generic(ref err) => err.description(),
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |             CellError::FromUtf8(ref err) => err.description(),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:49:49
[INFO] [stdout]    |
[INFO] [stdout] 49 |             CellError::ParseInt(ref err) => err.description(),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/redis/mod.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     format!("Cell error: {}\0", e.description()).as_ptr(),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Status`, which is not FFI-safe
[INFO] [stdout]   --> src/lib.rs:95:6
[INFO] [stdout]    |
[INFO] [stdout] 95 | ) -> raw::Status {
[INFO] [stdout]    |      ^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]    = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]    = note: enum has no representation hint
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/redis/raw.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / pub enum Status {
[INFO] [stdout] 32 | |     Ok = 0,
[INFO] [stdout] 33 | |     Err = 1,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Status`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:106:6
[INFO] [stdout]     |
[INFO] [stdout] 106 | ) -> raw::Status {
[INFO] [stdout]     |      ^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/redis/raw.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | / pub enum Status {
[INFO] [stdout] 32  | |     Ok = 0,
[INFO] [stdout] 33  | |     Err = 1,
[INFO] [stdout] 34  | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.11s
[INFO] running `Command { std: "docker" "inspect" "d4c74bf4ccbc327e8fe3af59f96549514b061bee2149516db7ff44b09ccbcfd0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4c74bf4ccbc327e8fe3af59f96549514b061bee2149516db7ff44b09ccbcfd0", kill_on_drop: false }`
[INFO] [stdout] d4c74bf4ccbc327e8fe3af59f96549514b061bee2149516db7ff44b09ccbcfd0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8e2f050f5c7328ea0e3c0a679c7e977af14688c32f951fdd33fe44b9414d63ee
[INFO] running `Command { std: "docker" "start" "-a" "8e2f050f5c7328ea0e3c0a679c7e977af14688c32f951fdd33fe44b9414d63ee", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated struct `gcc::Build`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]   --> build.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gcc::Build::new()
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]   --> build.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gcc::Build::new()
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling redis-cell v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:90:32
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/redis/mod.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Command {
[INFO] [stdout]    |      ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/redis/mod.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 58 |         command: &Command,
[INFO] [stdout]    |                   ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     Command::harness(&ThrottleCommand {}, ctx, argv, argc)
[INFO] [stdout]    |     ^^^^^^^ help: use `dyn`: `<dyn Command>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/cell/mod.rs:430:17
[INFO] [stdout]     |
[INFO] [stdout] 430 |             err.description(),
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/cell/mod.rs:431:55
[INFO] [stdout]     |
[INFO] [stdout] 431 |             limiter.rate_limit("foo", 1).unwrap_err().description()
[INFO] [stdout]     |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:47:48
[INFO] [stdout]    |
[INFO] [stdout] 47 |             CellError::Generic(ref err) => err.description(),
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |             CellError::FromUtf8(ref err) => err.description(),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:49:49
[INFO] [stdout]    |
[INFO] [stdout] 49 |             CellError::ParseInt(ref err) => err.description(),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/redis/mod.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     format!("Cell error: {}\0", e.description()).as_ptr(),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Status`, which is not FFI-safe
[INFO] [stdout]   --> src/lib.rs:95:6
[INFO] [stdout]    |
[INFO] [stdout] 95 | ) -> raw::Status {
[INFO] [stdout]    |      ^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]    = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]    = note: enum has no representation hint
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/redis/raw.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / pub enum Status {
[INFO] [stdout] 32 | |     Ok = 0,
[INFO] [stdout] 33 | |     Err = 1,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Status`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:106:6
[INFO] [stdout]     |
[INFO] [stdout] 106 | ) -> raw::Status {
[INFO] [stdout]     |      ^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/redis/raw.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | / pub enum Status {
[INFO] [stdout] 32  | |     Ok = 0,
[INFO] [stdout] 33  | |     Err = 1,
[INFO] [stdout] 34  | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.52s
[INFO] running `Command { std: "docker" "inspect" "8e2f050f5c7328ea0e3c0a679c7e977af14688c32f951fdd33fe44b9414d63ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e2f050f5c7328ea0e3c0a679c7e977af14688c32f951fdd33fe44b9414d63ee", kill_on_drop: false }`
[INFO] [stdout] 8e2f050f5c7328ea0e3c0a679c7e977af14688c32f951fdd33fe44b9414d63ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-112/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8fd132b67f5fc5fa859c4099b4e62773a64a6f7129135bff25951a3236290e3d
[INFO] running `Command { std: "docker" "start" "-a" "8fd132b67f5fc5fa859c4099b4e62773a64a6f7129135bff25951a3236290e3d", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated struct `gcc::Build`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stderr]   --> build.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     gcc::Build::new()
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stderr]   --> build.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 |     gcc::Build::new()
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `redis-cell` (build script) generated 2 warnings
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:53:32
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:90:32
[INFO] [stderr]    |
[INFO] [stderr] 90 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/redis/mod.rs:54:6
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl Command {
[INFO] [stderr]    |      ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/redis/mod.rs:58:19
[INFO] [stderr]    |
[INFO] [stderr] 58 |         command: &Command,
[INFO] [stderr]    |                   ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 |     Command::harness(&ThrottleCommand {}, ctx, argv, argc)
[INFO] [stderr]    |     ^^^^^^^ help: use `dyn`: `<dyn Command>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/cell/mod.rs:430:17
[INFO] [stderr]     |
[INFO] [stderr] 430 |             err.description(),
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/cell/mod.rs:431:55
[INFO] [stderr]     |
[INFO] [stderr] 431 |             limiter.rate_limit("foo", 1).unwrap_err().description()
[INFO] [stderr]     |                                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:47:48
[INFO] [stderr]    |
[INFO] [stderr] 47 |             CellError::Generic(ref err) => err.description(),
[INFO] [stderr]    |                                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:48:49
[INFO] [stderr]    |
[INFO] [stderr] 48 |             CellError::FromUtf8(ref err) => err.description(),
[INFO] [stderr]    |                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/error.rs:49:49
[INFO] [stderr]    |
[INFO] [stderr] 49 |             CellError::ParseInt(ref err) => err.description(),
[INFO] [stderr]    |                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/redis/mod.rs:71:51
[INFO] [stderr]    |
[INFO] [stderr] 71 |                     format!("Cell error: {}\0", e.description()).as_ptr(),
[INFO] [stderr]    |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` fn uses type `Status`, which is not FFI-safe
[INFO] [stderr]   --> src/lib.rs:95:6
[INFO] [stderr]    |
[INFO] [stderr] 95 | ) -> raw::Status {
[INFO] [stderr]    |      ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stderr]    = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]    = note: enum has no representation hint
[INFO] [stderr] note: the type is defined here
[INFO] [stderr]   --> src/redis/raw.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / pub enum Status {
[INFO] [stderr] 32 | |     Ok = 0,
[INFO] [stderr] 33 | |     Err = 1,
[INFO] [stderr] 34 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` fn uses type `Status`, which is not FFI-safe
[INFO] [stderr]    --> src/lib.rs:106:6
[INFO] [stderr]     |
[INFO] [stderr] 106 | ) -> raw::Status {
[INFO] [stderr]     |      ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] note: the type is defined here
[INFO] [stderr]    --> src/redis/raw.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | / pub enum Status {
[INFO] [stderr] 32  | |     Ok = 0,
[INFO] [stderr] 33  | |     Err = 1,
[INFO] [stderr] 34  | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: `redis-cell` (lib test) generated 13 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/redis_cell-7fa09da7f3dfd375)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test cell::store::tests::it_performs_compare_and_swap_with_ttl ... ok
[INFO] [stdout] test cell::store::tests::it_performs_get_with_time ... ok
[INFO] [stdout] test cell::store::tests::it_performs_set_if_not_exists_with_ttl ... ok
[INFO] [stdout] test cell::tests::it_creates_rates_from_days ... ok
[INFO] [stdout] test cell::tests::it_creates_rates_from_hours ... ok
[INFO] [stdout] test cell::tests::it_creates_rates_from_minutes ... ok
[INFO] [stdout] test cell::tests::it_creates_rates_from_periods ... ok
[INFO] [stdout] test cell::tests::it_creates_rates_from_seconds ... ok
[INFO] [stdout] test cell::tests::it_handles_rate_limit_update_failures ... ok
[INFO] [stdout] test cell::tests::it_rate_limits ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8fd132b67f5fc5fa859c4099b4e62773a64a6f7129135bff25951a3236290e3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fd132b67f5fc5fa859c4099b4e62773a64a6f7129135bff25951a3236290e3d", kill_on_drop: false }`
[INFO] [stdout] 8fd132b67f5fc5fa859c4099b4e62773a64a6f7129135bff25951a3236290e3d
