[INFO] fetching crate trezm-redis 0.15.2-alpha.0...
[INFO] testing trezm-redis-0.15.2-alpha.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate trezm-redis 0.15.2-alpha.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate trezm-redis 0.15.2-alpha.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate trezm-redis 0.15.2-alpha.0
[INFO] tweaked toml for crates.io crate trezm-redis 0.15.2-alpha.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate trezm-redis 0.15.2-alpha.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate trezm-redis 0.15.2-alpha.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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded smallvec v1.4.0
[INFO] [stderr]   Downloaded pin-project-lite v0.1.4
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.60
[INFO] [stderr]   Downloaded serde_derive v1.0.106
[INFO] [stderr]   Downloaded either v1.5.3
[INFO] [stderr]   Downloaded futures-macro v0.3.4
[INFO] [stderr]   Downloaded futures-channel v0.3.4
[INFO] [stderr]   Downloaded futures-sink v0.3.4
[INFO] [stderr]   Downloaded crossbeam-channel v0.4.2
[INFO] [stderr]   Downloaded assert_approx_eq v1.1.0
[INFO] [stderr]   Downloaded futures-timer v2.0.2
[INFO] [stderr]   Downloaded arc-swap v0.4.6
[INFO] [stderr]   Downloaded tokio v0.2.19
[INFO] [stderr]   Downloaded futures v0.1.29
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.60
[INFO] [stderr]   Downloaded web-sys v0.3.37
[INFO] [stderr]   Downloaded futures-util v0.3.4
[INFO] [stderr]   Downloaded regex-syntax v0.6.17
[INFO] [stderr]   Downloaded regex v1.3.7
[INFO] [stderr]   Downloaded criterion v0.3.2
[INFO] [stderr]   Downloaded async-std v1.5.0
[INFO] [stderr]   Downloaded js-sys v0.3.37
[INFO] [stderr]   Downloaded async-task v1.3.1
[INFO] [stderr]   Downloaded combine v4.1.0
[INFO] [stderr]   Downloaded bumpalo v3.2.1
[INFO] [stderr]   Downloaded rayon v1.3.0
[INFO] [stderr]   Downloaded mio v0.6.21
[INFO] [stderr]   Downloaded clap v2.33.0
[INFO] [stderr]   Downloaded criterion-plot v0.4.2
[INFO] [stderr]   Downloaded num-traits v0.2.11
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.60
[INFO] [stderr]   Downloaded serde_json v1.0.51
[INFO] [stderr]   Downloaded futures-core v0.3.4
[INFO] [stderr]   Downloaded bstr v0.2.12
[INFO] [stderr]   Downloaded net2 v0.2.33
[INFO] [stderr]   Downloaded once_cell v1.3.1
[INFO] [stderr]   Downloaded crc16 v0.4.0
[INFO] [stderr]   Downloaded unicode-width v0.1.7
[INFO] [stderr]   Downloaded libc v0.2.69
[INFO] [stderr]   Downloaded oorandom v11.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.60
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.60
[INFO] [stderr]   Downloaded rayon-core v1.7.0
[INFO] [stderr]   Downloaded serde v1.0.106
[INFO] [stderr]   Downloaded tinytemplate v1.0.4
[INFO] [stderr]   Downloaded futures-io v0.3.4
[INFO] [stderr]   Downloaded aho-corasick v0.7.10
[INFO] [stderr]   Downloaded env_logger v0.5.13
[INFO] [stderr]   Downloaded bytes v0.5.4
[INFO] [stderr]   Downloaded syn v1.0.18
[INFO] [stderr]   Downloaded kv-log-macro v1.0.4
[INFO] [stderr]   Downloaded async-trait v0.1.30
[INFO] [stderr]   Downloaded memoffset v0.5.4
[INFO] [stderr]   Downloaded ryu v1.0.4
[INFO] [stderr]   Downloaded futures-executor v0.3.4
[INFO] [stderr]   Downloaded parking_lot_core v0.7.2
[INFO] [stderr]   Downloaded parking_lot v0.10.2
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.6
[INFO] [stderr]   Downloaded sha1 v0.6.0
[INFO] [stderr]   Downloaded futures-task v0.3.4
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.15
[INFO] [stderr]   Downloaded partial-io v0.3.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.12
[INFO] [stderr]   Downloaded scheduled-thread-pool v0.2.4
[INFO] [stderr]   Downloaded fnv v1.0.6
[INFO] [stderr]   Downloaded crossbeam-queue v0.2.1
[INFO] [stderr]   Downloaded r2d2 v0.8.8
[INFO] [stderr]   Downloaded unicode-normalization v0.1.12
[INFO] [stderr]   Downloaded dtoa v0.4.5
[INFO] [stderr]   Downloaded futures v0.3.4
[INFO] [stderr]   Downloaded quote v1.0.3
[INFO] [stderr]   Downloaded tokio-util v0.2.0
[INFO] [stderr]   Downloaded proc-macro-nested v0.1.4
[INFO] [stderr]   Downloaded mio-uds v0.6.7
[INFO] [stderr]   Downloaded proc-macro2 v1.0.10
[INFO] [stderr]   Downloaded plotters v0.2.12
[INFO] [stderr]   Downloaded quickcheck v0.6.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 83e91b6a02146ed93598074cde43bfdce8c48f0b07fa182e16820a01d994043f
[INFO] running `Command { std: "docker" "start" "-a" "83e91b6a02146ed93598074cde43bfdce8c48f0b07fa182e16820a01d994043f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "83e91b6a02146ed93598074cde43bfdce8c48f0b07fa182e16820a01d994043f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83e91b6a02146ed93598074cde43bfdce8c48f0b07fa182e16820a01d994043f", kill_on_drop: false }`
[INFO] [stdout] 83e91b6a02146ed93598074cde43bfdce8c48f0b07fa182e16820a01d994043f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 169eb5547c75b6af185782ff694d1a3f4db52e53261b0c3ee169d0c1ff64a6d8
[INFO] running `Command { std: "docker" "start" "-a" "169eb5547c75b6af185782ff694d1a3f4db52e53261b0c3ee169d0c1ff64a6d8", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling proc-macro2 v1.0.10
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.18
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling futures-core v0.3.4
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling pin-project-lite v0.1.4
[INFO] [stderr]    Compiling futures-sink v0.3.4
[INFO] [stderr]    Compiling proc-macro-nested v0.1.4
[INFO] [stderr]    Compiling bytes v0.5.4
[INFO] [stderr]    Compiling futures-io v0.3.4
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling smallvec v1.4.0
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.4
[INFO] [stderr]    Compiling futures-channel v0.3.4
[INFO] [stderr]    Compiling futures-task v0.3.4
[INFO] [stderr]    Compiling futures-timer v2.0.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.12
[INFO] [stderr]    Compiling once_cell v1.3.1
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling dtoa v0.4.5
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling sha1 v0.6.0
[INFO] [stderr]    Compiling kv-log-macro v1.0.4
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling async-task v1.3.1
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling crossbeam-channel v0.4.2
[INFO] [stderr]    Compiling mio v0.6.21
[INFO] [stderr]    Compiling idna v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling async-std v1.5.0
[INFO] [stderr]    Compiling url v2.1.1
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.4
[INFO] [stderr]    Compiling async-trait v0.1.30
[INFO] [stderr]    Compiling tokio v0.2.19
[INFO] [stderr]    Compiling futures-util v0.3.4
[INFO] [stderr]    Compiling combine v4.1.0
[INFO] [stderr]    Compiling tokio-util v0.2.0
[INFO] [stderr]    Compiling trezm-redis v0.15.2-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/aio.rs:377:18
[INFO] [stdout]     |
[INFO] [stdout] 377 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 378 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 379 | |                 "Redis server refused to switch database"
[INFO] [stdout] 380 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/cmd.rs:567:18
[INFO] [stdout]     |
[INFO] [stdout] 567 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 568 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 569 | |                 "Invalid response when parsing multi response"
[INFO] [stdout] 570 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/macros.rs:5:54
[INFO] [stdout]    |
[INFO] [stdout]  5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/connection.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Err(_) => fail!((ErrorKind::InvalidClientConfig, "Redis URL did not parse")),
[INFO] [stdout]    |                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Err(_) => fail!((ErrorKind::InvalidClientConfig, "Redis URL did not parse")),
[INFO] [stdout]     |                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 None => fail!((ErrorKind::InvalidClientConfig, "Missing hostname")),
[INFO] [stdout]     |                         ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:132:27
[INFO] [stdout]     |
[INFO] [stdout] 132 |                   Err(_) => fail!((
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 133 | |                     ErrorKind::InvalidClientConfig,
[INFO] [stdout] 134 | |                     "Password is not valid UTF-8 string"
[INFO] [stdout] 135 | |                 )),
[INFO] [stdout]     | |__________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:377:18
[INFO] [stdout]     |
[INFO] [stdout] 377 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 378 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 379 | |                 "Redis server refused to switch database"
[INFO] [stdout] 380 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/script.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | /     pub async fn invoke_async<C, T>(&self, con: &mut C) -> RedisResult<T>
[INFO] [stdout] 155 | |     where
[INFO] [stdout] 156 | |         C: crate::aio::ConnectionLike,
[INFO] [stdout] 157 | |         T: FromRedisValue,
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/script.rs:176:30
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     load_cmd.query_async(con).await?;
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     load_cmd.query_async::<_, ()>(con).await?;
[INFO] [stdout]     |                                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/script.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn invoke<T: FromRedisValue>(&self, con: &mut dyn ConnectionLike) -> RedisResult<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/script.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 | ...                   .query(con)?;
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 142 |                             .query::<()>(con)?;
[INFO] [stdout]     |                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/aio.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | / pin_project! {
[INFO] [stdout] 522 | |     struct PipelineSink<T, I, E> {
[INFO] [stdout] 523 | |         #[pin]
[INFO] [stdout] 524 | |         sink_stream: T,
[INFO] [stdout] ...   |
[INFO] [stdout] 528 | | }
[INFO] [stdout]     | |_^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::pin_project` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.28s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: trezm-redis v0.15.2-alpha.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "169eb5547c75b6af185782ff694d1a3f4db52e53261b0c3ee169d0c1ff64a6d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "169eb5547c75b6af185782ff694d1a3f4db52e53261b0c3ee169d0c1ff64a6d8", kill_on_drop: false }`
[INFO] [stdout] 169eb5547c75b6af185782ff694d1a3f4db52e53261b0c3ee169d0c1ff64a6d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f65ed440cffe5a5978d958ce30f3af16eb7a09a61b8c21e4dab93ffe55d2407f
[INFO] running `Command { std: "docker" "start" "-a" "f65ed440cffe5a5978d958ce30f3af16eb7a09a61b8c21e4dab93ffe55d2407f", kill_on_drop: false }`
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling serde v1.0.106
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]    Compiling aho-corasick v0.7.10
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling regex-syntax v0.6.17
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling termcolor v1.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.7
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling futures v0.1.29
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling walkdir v2.3.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling futures-executor v0.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.106
[INFO] [stderr]    Compiling oorandom v11.1.0
[INFO] [stderr]    Compiling regex-automata v0.1.9
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling futures v0.3.4
[INFO] [stderr]    Compiling assert_approx_eq v1.1.0
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/aio.rs:377:18
[INFO] [stdout]     |
[INFO] [stdout] 377 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 378 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 379 | |                 "Redis server refused to switch database"
[INFO] [stdout] 380 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/cmd.rs:567:18
[INFO] [stdout]     |
[INFO] [stdout] 567 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 568 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 569 | |                 "Invalid response when parsing multi response"
[INFO] [stdout] 570 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/macros.rs:5:54
[INFO] [stdout]    |
[INFO] [stdout]  5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/connection.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Err(_) => fail!((ErrorKind::InvalidClientConfig, "Redis URL did not parse")),
[INFO] [stdout]    |                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Err(_) => fail!((ErrorKind::InvalidClientConfig, "Redis URL did not parse")),
[INFO] [stdout]     |                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 None => fail!((ErrorKind::InvalidClientConfig, "Missing hostname")),
[INFO] [stdout]     |                         ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:132:27
[INFO] [stdout]     |
[INFO] [stdout] 132 |                   Err(_) => fail!((
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 133 | |                     ErrorKind::InvalidClientConfig,
[INFO] [stdout] 134 | |                     "Password is not valid UTF-8 string"
[INFO] [stdout] 135 | |                 )),
[INFO] [stdout]     | |__________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:377:18
[INFO] [stdout]     |
[INFO] [stdout] 377 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 378 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 379 | |                 "Redis server refused to switch database"
[INFO] [stdout] 380 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/script.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | /     pub async fn invoke_async<C, T>(&self, con: &mut C) -> RedisResult<T>
[INFO] [stdout] 155 | |     where
[INFO] [stdout] 156 | |         C: crate::aio::ConnectionLike,
[INFO] [stdout] 157 | |         T: FromRedisValue,
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/script.rs:176:30
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     load_cmd.query_async(con).await?;
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     load_cmd.query_async::<_, ()>(con).await?;
[INFO] [stdout]     |                                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/script.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn invoke<T: FromRedisValue>(&self, con: &mut dyn ConnectionLike) -> RedisResult<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/script.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 | ...                   .query(con)?;
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 142 |                             .query::<()>(con)?;
[INFO] [stdout]     |                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/aio.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | / pin_project! {
[INFO] [stdout] 522 | |     struct PipelineSink<T, I, E> {
[INFO] [stdout] 523 | |         #[pin]
[INFO] [stdout] 524 | |         sink_stream: T,
[INFO] [stdout] ...   |
[INFO] [stdout] 528 | | }
[INFO] [stdout]     | |_^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::pin_project` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling rayon v1.3.0
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]    Compiling plotters v0.2.12
[INFO] [stderr]    Compiling criterion-plot v0.4.2
[INFO] [stderr]    Compiling tokio-io v0.1.13
[INFO] [stderr]    Compiling regex v1.3.7
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling quickcheck v0.6.2
[INFO] [stderr]    Compiling bstr v0.2.12
[INFO] [stderr]    Compiling serde_json v1.0.51
[INFO] [stderr]    Compiling partial-io v0.3.1
[INFO] [stderr]    Compiling csv v1.1.3
[INFO] [stderr]    Compiling tinytemplate v1.0.4
[INFO] [stderr]    Compiling criterion v0.3.2
[INFO] [stderr]    Compiling trezm-redis v0.15.2-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> examples/async-pub-sub.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use redis::AsyncCommands;
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/test_basic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/support/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::redis;
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/support/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]   --> tests/parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use redis::Value;
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]  --> examples/async-pub-sub.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let client = redis::Client::open("redis://127.0.0.1/").unwrap();
[INFO] [stdout]   |                  ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use trezm_redis::Client;
[INFO] [stdout]   |
[INFO] [stdout] help: if you import `Client`, refer to it directly
[INFO] [stdout]   |
[INFO] [stdout] 6 -     let client = redis::Client::open("redis://127.0.0.1/").unwrap();
[INFO] [stdout] 6 +     let client = Client::open("redis://127.0.0.1/").unwrap();
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> examples/basic.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis::{self, transaction, Commands};
[INFO] [stdout]   |             ^^^^ no external crate `redis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]  --> examples/async-pub-sub.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn main() -> redis::RedisResult<()> {
[INFO] [stdout]   |                    ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (example "async-pub-sub") due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> examples/geospatial.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> examples/async-await.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis::AsyncCommands;
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/test_types.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use redis::ToRedisArgs;
[INFO] [stdout]   |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]   --> tests/test_types.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     use redis::{FromRedisValue, InfoDict, Value};
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (example "basic") due to 1 previous error
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]   --> tests/test_types.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     use redis::{ErrorKind, FromRedisValue, Value};
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]   --> tests/test_types.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use redis::{ErrorKind, FromRedisValue, Value};
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]   --> tests/test_types.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use redis::{FromRedisValue, Value};
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]   --> tests/test_types.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use redis::{FromRedisValue, Value};
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]    --> tests/test_types.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     use redis::{ErrorKind, FromRedisValue, Value};
[INFO] [stdout]     |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]    --> tests/test_types.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     use redis::ToRedisArgs;
[INFO] [stdout]     |         ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/test_async_async_std.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/support/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::redis;
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/test_geospatial.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `redis`
[INFO] [stdout]  --> tests/support/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use redis;
[INFO] [stdout]   |     ^^^^^ no external crate `redis`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unresolved item through its public re-export instead
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::redis;
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:12:22
[INFO] [stdout]     |
[INFO] [stdout]  12 |     assert_eq!("foo".is_single_arg(), true);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `&'static str` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]  --> examples/async-await.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let client = redis::Client::open("redis://127.0.0.1/").unwrap();
[INFO] [stdout]   |                  ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use trezm_redis::Client;
[INFO] [stdout]   |
[INFO] [stdout] help: if you import `Client`, refer to it directly
[INFO] [stdout]   |
[INFO] [stdout] 5 -     let client = redis::Client::open("redis://127.0.0.1/").unwrap();
[INFO] [stdout] 5 +     let client = Client::open("redis://127.0.0.1/").unwrap();
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for reference `&[&str]` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:13:23
[INFO] [stdout]     |
[INFO] [stdout]  13 |     assert_eq!(sslice.is_single_arg(), true);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ method not found in `&[&str]`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `&[&str]` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (example "geospatial") due to 1 previous error
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   --> examples/async-await.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     redis::cmd("SET")
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (example "async-await") due to 5 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   --> examples/async-await.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let result = redis::cmd("MGET")
[INFO] [stdout]    |                  ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]    --> tests/parser.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let result = block_on_all(redis::parse_redis_value_async(&mut decoder, &mut partial_reader));
[INFO] [stdout]     |                                   ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `redis`
[INFO] [stdout]  --> examples/async-await.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | async fn main() -> redis::RedisResult<()> {
[INFO] [stdout]   |                    ^^^^^ use of unresolved module or unlinked crate `redis`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `redis`, use `cargo add redis` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (test "test_basic") due to 2 previous errors
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (test "test_geospatial") due to 2 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for reference `&[&[&str]]` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:14:26
[INFO] [stdout]     |
[INFO] [stdout]  14 |     assert_eq!(nestslice.is_single_arg(), true);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ method not found in `&[&[&str]]`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `&[&[&str]]` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (test "parser") due to 3 previous errors
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for struct `Vec<&[&[&str]]>` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:15:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |     assert_eq!(nestvec.is_single_arg(), true);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ method not found in `Vec<&[&[&str]]>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `Vec<&[&[&str]]>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for reference `&[u8; 12]` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:16:22
[INFO] [stdout]     |
[INFO] [stdout]  16 |     assert_eq!(bytes.is_single_arg(), true);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ method not found in `&[u8; 12]`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `&[u8; 12]` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for reference `&[&[u8; 12]]` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:17:30
[INFO] [stdout]     |
[INFO] [stdout]  17 |     assert_eq!(twobytesslice.is_single_arg(), false);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ method not found in `&[&[u8; 12]]`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `&[&[u8; 12]]` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_single_arg` found for struct `Vec<&[u8; 12]>` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:18:28
[INFO] [stdout]     |
[INFO] [stdout]  18 |     assert_eq!(twobytesvec.is_single_arg(), false);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ method not found in `Vec<&[u8; 12]>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn is_single_arg(&self) -> bool {
[INFO] [stdout]     |        ------------- the method is available for `Vec<&[u8; 12]>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ToRedisArgs` which provides `is_single_arg` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (test "test_async_async_std") due to 2 previous errors
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/aio.rs:377:18
[INFO] [stdout]     |
[INFO] [stdout] 377 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 378 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 379 | |                 "Redis server refused to switch database"
[INFO] [stdout] 380 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/cmd.rs:567:18
[INFO] [stdout]     |
[INFO] [stdout] 567 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 568 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 569 | |                 "Invalid response when parsing multi response"
[INFO] [stdout] 570 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for type `i32` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |     assert!(!5i32.to_redis_args().is_empty());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |     fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |        ------------- the method is available for `i32` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/macros.rs:5:54
[INFO] [stdout]    |
[INFO] [stdout]  5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/connection.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Err(_) => fail!((ErrorKind::InvalidClientConfig, "Redis URL did not parse")),
[INFO] [stdout]    |                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Err(_) => fail!((ErrorKind::InvalidClientConfig, "Redis URL did not parse")),
[INFO] [stdout]     |                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 None => fail!((ErrorKind::InvalidClientConfig, "Missing hostname")),
[INFO] [stdout]     |                         ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:132:27
[INFO] [stdout]     |
[INFO] [stdout] 132 |                   Err(_) => fail!((
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 133 | |                     ErrorKind::InvalidClientConfig,
[INFO] [stdout] 134 | |                     "Password is not valid UTF-8 string"
[INFO] [stdout] 135 | |                 )),
[INFO] [stdout]     | |__________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/connection.rs:377:18
[INFO] [stdout]     |
[INFO] [stdout] 377 |               _ => fail!((
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 378 | |                 ErrorKind::ResponseError,
[INFO] [stdout] 379 | |                 "Redis server refused to switch database"
[INFO] [stdout] 380 | |             )),
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |     assert!(!"abc".to_redis_args().is_empty());
[INFO] [stdout]     |                    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |     fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |        ------------- the method is available for `&'static str` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |     assert!(!"abc".to_redis_args().is_empty());
[INFO] [stdout]     |                    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |     fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |        ------------- the method is available for `&'static str` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for struct `String` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     assert!(!String::from("x").to_redis_args().is_empty());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |     fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |        ------------- the method is available for `String` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for struct `HashSet` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:160:10
[INFO] [stdout]     |
[INFO] [stdout] 156 |       assert!(![5, 4]
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 157 | |         .iter()
[INFO] [stdout] 158 | |         .cloned()
[INFO] [stdout] 159 | |         .collect::<HashSet<_>>()
[INFO] [stdout] 160 | |         .to_redis_args()
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |       fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |          ------------- the method is available for `HashSet<{integer}>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for struct `BTreeSet` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |       assert!(![5, 4]
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 164 | |         .iter()
[INFO] [stdout] 165 | |         .cloned()
[INFO] [stdout] 166 | |         .collect::<BTreeSet<_>>()
[INFO] [stdout] 167 | |         .to_redis_args()
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |       fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |          ------------- the method is available for `BTreeSet<{integer}>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_redis_args` found for struct `BTreeMap` in the current scope
[INFO] [stdout]    --> tests/test_types.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 171 |       assert!(![("a", 5), ("b", 6), ("C", 7)]
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 172 | |         .iter()
[INFO] [stdout] 173 | |         .cloned()
[INFO] [stdout] 174 | |         .collect::<BTreeMap<_, _>>()
[INFO] [stdout] 175 | |         .to_redis_args()
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/types.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 |       fn to_redis_args(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]     |          ------------- the method is available for `BTreeMap<&str, {integer}>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `write_redis_args` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/types.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 | /     fn write_redis_args<W>(&self, out: &mut W)
[INFO] [stdout] 557 | |     where
[INFO] [stdout] 558 | |         W: ?Sized + RedisWrite;
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] help: trait `ToRedisArgs` which provides `to_redis_args` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use trezm_redis::ToRedisArgs;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trezm-redis` (test "test_types") due to 22 previous errors
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/script.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | /     pub async fn invoke_async<C, T>(&self, con: &mut C) -> RedisResult<T>
[INFO] [stdout] 155 | |     where
[INFO] [stdout] 156 | |         C: crate::aio::ConnectionLike,
[INFO] [stdout] 157 | |         T: FromRedisValue,
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/script.rs:176:30
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     load_cmd.query_async(con).await?;
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     load_cmd.query_async::<_, ()>(con).await?;
[INFO] [stdout]     |                                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/script.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn invoke<T: FromRedisValue>(&self, con: &mut dyn ConnectionLike) -> RedisResult<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/script.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 | ...                   .query(con)?;
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 142 |                             .query::<()>(con)?;
[INFO] [stdout]     |                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/aio.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | / pin_project! {
[INFO] [stdout] 522 | |     struct PipelineSink<T, I, E> {
[INFO] [stdout] 523 | |         #[pin]
[INFO] [stdout] 524 | |         sink_stream: T,
[INFO] [stdout] ...   |
[INFO] [stdout] 528 | | }
[INFO] [stdout]     | |_^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::pin_project` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f65ed440cffe5a5978d958ce30f3af16eb7a09a61b8c21e4dab93ffe55d2407f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f65ed440cffe5a5978d958ce30f3af16eb7a09a61b8c21e4dab93ffe55d2407f", kill_on_drop: false }`
[INFO] [stdout] f65ed440cffe5a5978d958ce30f3af16eb7a09a61b8c21e4dab93ffe55d2407f
