[INFO] fetching crate redis_cluster_async_tls 0.7.2-alpha.0... [INFO] checking redis_cluster_async_tls-0.7.2-alpha.0 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate redis_cluster_async_tls 0.7.2-alpha.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate redis_cluster_async_tls 0.7.2-alpha.0 on toolchain 23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate redis_cluster_async_tls 0.7.2-alpha.0 [INFO] finished tweaking crates.io crate redis_cluster_async_tls 0.7.2-alpha.0 [INFO] tweaked toml for crates.io crate redis_cluster_async_tls 0.7.2-alpha.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b77ce0d2be540b7658eab26f8a5ca2ecdd51a88d289460a90ff68a5b3e254fac [INFO] running `Command { std: "docker" "start" "-a" "b77ce0d2be540b7658eab26f8a5ca2ecdd51a88d289460a90ff68a5b3e254fac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b77ce0d2be540b7658eab26f8a5ca2ecdd51a88d289460a90ff68a5b3e254fac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b77ce0d2be540b7658eab26f8a5ca2ecdd51a88d289460a90ff68a5b3e254fac", kill_on_drop: false }` [INFO] [stdout] b77ce0d2be540b7658eab26f8a5ca2ecdd51a88d289460a90ff68a5b3e254fac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 174e3f915a8c47a872228907b311fb7bfb1a0b3676e631da1f73aa069c03727e [INFO] running `Command { std: "docker" "start" "-a" "174e3f915a8c47a872228907b311fb7bfb1a0b3676e631da1f73aa069c03727e", kill_on_drop: false }` [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking tracing-core v0.1.31 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Checking sha1_smol v1.0.0 [INFO] [stderr] Compiling crc16 v0.4.0 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking regex-automata v0.3.8 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking sha1 v0.6.1 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking futures-channel v0.3.28 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand_xorshift v0.2.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Checking regex v1.9.5 [INFO] [stderr] Checking proptest v0.10.1 [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.73 [INFO] [stderr] Checking tokio v1.32.0 [INFO] [stderr] Checking futures-util v0.3.28 [INFO] [stderr] Checking futures-executor v0.3.28 [INFO] [stderr] Checking futures v0.3.28 [INFO] [stderr] Checking tokio-util v0.7.8 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking combine v4.6.6 [INFO] [stderr] Checking redis v0.21.7 [INFO] [stderr] Checking redis_cluster_async_tls v0.7.2-alpha.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0506]: cannot assign to `self.state` because it is borrowed [INFO] [stdout] --> src/lib.rs:684:17 [INFO] [stdout] | [INFO] [stdout] 684 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^^^^^^^ ------------------------------ [INFO] [stdout] | | | | [INFO] [stdout] | | | `self.state` is borrowed here [INFO] [stdout] | | cast requires that `*self` is borrowed for `'static` [INFO] [stdout] | `self.state` is assigned to here but it was already borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/lib.rs:684:55 [INFO] [stdout] | [INFO] [stdout] 665 | &mut self, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 684 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:703:30 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^ `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `request.info` does not live long enough [INFO] [stdout] --> src/lib.rs:703:47 [INFO] [stdout] | [INFO] [stdout] 695 | for request in pending_requests.drain(..) { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^^^^^^^^^^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `request.info` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 711 | } [INFO] [stdout] | - `request.info` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.in_flight_requests` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:704:17 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 704 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.retries` because it was mutably borrowed [INFO] [stdout] --> src/lib.rs:705:34 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] 704 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 705 | max_retries: self.retries, [INFO] [stdout] | ^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `request` because it is borrowed [INFO] [stdout] --> src/lib.rs:706:35 [INFO] [stdout] | [INFO] [stdout] 695 | for request in pending_requests.drain(..) { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ------------- borrow of `request.info` occurs here [INFO] [stdout] 704 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 705 | max_retries: self.retries, [INFO] [stdout] 706 | request: Some(request), [INFO] [stdout] | ^^^^^^^ move out of `request` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `self.pending_requests` because it is borrowed [INFO] [stdout] --> src/lib.rs:712:13 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- `self.pending_requests` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 712 | self.pending_requests = pending_requests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ `self.pending_requests` is assigned to here but it was already borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.in_flight_requests` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:716:41 [INFO] [stdout] | [INFO] [stdout] 716 | let result = match Pin::new(&mut self.in_flight_requests).poll_next(cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:720:25 [INFO] [stdout] | [INFO] [stdout] 720 | let self_ = &mut *self; [INFO] [stdout] | ^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:730:34 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^ `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `request.info` does not live long enough [INFO] [stdout] --> src/lib.rs:730:51 [INFO] [stdout] | [INFO] [stdout] 723 | Next::TryNewConnection { request, error } => { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^^^^^^^^^^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `request.info` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 738 | } [INFO] [stdout] | - `request.info` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.in_flight_requests` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:731:21 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 731 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.retries` because it was mutably borrowed [INFO] [stdout] --> src/lib.rs:732:38 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] 731 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 732 | max_retries: self.retries, [INFO] [stdout] | ^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `request` because it is borrowed [INFO] [stdout] --> src/lib.rs:733:39 [INFO] [stdout] | [INFO] [stdout] 723 | Next::TryNewConnection { request, error } => { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ------------- borrow of `request.info` occurs here [INFO] [stdout] 731 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 732 | max_retries: self.retries, [INFO] [stdout] 733 | request: Some(request), [INFO] [stdout] | ^^^^^^^ move out of `request` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/lib.rs:735:37 [INFO] [stdout] | [INFO] [stdout] 690 | fn poll_complete(&mut self, cx: &mut task::Context<'_>) -> Poll> { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.pending_requests` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:741:21 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 741 | self.pending_requests.push(request); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.in_flight_requests` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:748:19 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 748 | } else if self.in_flight_requests.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:832:13 [INFO] [stdout] | [INFO] [stdout] 832 | self.send_refresh_error(); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:834:37 [INFO] [stdout] | [INFO] [stdout] 834 | match mem::replace(&mut self.state, ConnectionState::PollComplete) { [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:836:34 [INFO] [stdout] | [INFO] [stdout] 836 | match ready!(self.as_mut().poll_recover(cx, future)) { [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:842:29 [INFO] [stdout] | [INFO] [stdout] 842 | self.refresh_error = Some(err); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:852:63 [INFO] [stdout] | [INFO] [stdout] 852 | ConnectionState::PollComplete => match ready!(self.poll_complete(cx)) { [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:856:25 [INFO] [stdout] | [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^ ------------------------------ [INFO] [stdout] | | | | [INFO] [stdout] | | | first mutable borrow occurs here [INFO] [stdout] | | cast requires that `self` is borrowed for `'static` [INFO] [stdout] | second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/lib.rs:856:63 [INFO] [stdout] | [INFO] [stdout] 827 | mut self: Pin<&mut Self>, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:856:72 [INFO] [stdout] | [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ---------^^^^----------------- [INFO] [stdout] | | | [INFO] [stdout] | | `self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0502, E0503, E0505, E0506, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: could not compile `redis_cluster_async_tls` (lib test) due to 27 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0506]: cannot assign to `self.state` because it is borrowed [INFO] [stdout] --> src/lib.rs:684:17 [INFO] [stdout] | [INFO] [stdout] 684 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^^^^^^^ ------------------------------ [INFO] [stdout] | | | | [INFO] [stdout] | | | `self.state` is borrowed here [INFO] [stdout] | | cast requires that `*self` is borrowed for `'static` [INFO] [stdout] | `self.state` is assigned to here but it was already borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/lib.rs:684:55 [INFO] [stdout] | [INFO] [stdout] 665 | &mut self, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 684 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:703:30 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^ `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `request.info` does not live long enough [INFO] [stdout] --> src/lib.rs:703:47 [INFO] [stdout] | [INFO] [stdout] 695 | for request in pending_requests.drain(..) { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^^^^^^^^^^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `request.info` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 711 | } [INFO] [stdout] | - `request.info` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.in_flight_requests` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:704:17 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 704 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.retries` because it was mutably borrowed [INFO] [stdout] --> src/lib.rs:705:34 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] 704 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 705 | max_retries: self.retries, [INFO] [stdout] | ^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `request` because it is borrowed [INFO] [stdout] --> src/lib.rs:706:35 [INFO] [stdout] | [INFO] [stdout] 695 | for request in pending_requests.drain(..) { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ------------- borrow of `request.info` occurs here [INFO] [stdout] 704 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 705 | max_retries: self.retries, [INFO] [stdout] 706 | request: Some(request), [INFO] [stdout] | ^^^^^^^ move out of `request` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `self.pending_requests` because it is borrowed [INFO] [stdout] --> src/lib.rs:712:13 [INFO] [stdout] | [INFO] [stdout] 703 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- `self.pending_requests` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 708 | future: future.boxed(), [INFO] [stdout] | -------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 712 | self.pending_requests = pending_requests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ `self.pending_requests` is assigned to here but it was already borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.in_flight_requests` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:716:41 [INFO] [stdout] | [INFO] [stdout] 716 | let result = match Pin::new(&mut self.in_flight_requests).poll_next(cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:720:25 [INFO] [stdout] | [INFO] [stdout] 720 | let self_ = &mut *self; [INFO] [stdout] | ^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:730:34 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^ `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `request.info` does not live long enough [INFO] [stdout] --> src/lib.rs:730:51 [INFO] [stdout] | [INFO] [stdout] 723 | Next::TryNewConnection { request, error } => { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ^^^^^^^^^^^^^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `request.info` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 738 | } [INFO] [stdout] | - `request.info` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.in_flight_requests` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:731:21 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 731 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.retries` because it was mutably borrowed [INFO] [stdout] --> src/lib.rs:732:38 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] 731 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 732 | max_retries: self.retries, [INFO] [stdout] | ^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `request` because it is borrowed [INFO] [stdout] --> src/lib.rs:733:39 [INFO] [stdout] | [INFO] [stdout] 723 | Next::TryNewConnection { request, error } => { [INFO] [stdout] | ------- binding `request` declared here [INFO] [stdout] ... [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ------------- borrow of `request.info` occurs here [INFO] [stdout] 731 | self.in_flight_requests.push(Box::pin(Request { [INFO] [stdout] | ---- borrow later used by call [INFO] [stdout] 732 | max_retries: self.retries, [INFO] [stdout] 733 | request: Some(request), [INFO] [stdout] | ^^^^^^^ move out of `request` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/lib.rs:735:37 [INFO] [stdout] | [INFO] [stdout] 690 | fn poll_complete(&mut self, cx: &mut task::Context<'_>) -> Poll> { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.pending_requests` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:741:21 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 741 | self.pending_requests.push(request); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.in_flight_requests` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:748:19 [INFO] [stdout] | [INFO] [stdout] 730 | let future = self.try_request(&request.info); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 735 | future: Box::pin(future), [INFO] [stdout] | ---------------- cast requires that `*self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 748 | } else if self.in_flight_requests.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:832:13 [INFO] [stdout] | [INFO] [stdout] 832 | self.send_refresh_error(); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:834:37 [INFO] [stdout] | [INFO] [stdout] 834 | match mem::replace(&mut self.state, ConnectionState::PollComplete) { [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:836:34 [INFO] [stdout] | [INFO] [stdout] 836 | match ready!(self.as_mut().poll_recover(cx, future)) { [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:842:29 [INFO] [stdout] | [INFO] [stdout] 842 | self.refresh_error = Some(err); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:852:63 [INFO] [stdout] | [INFO] [stdout] 852 | ConnectionState::PollComplete => match ready!(self.poll_complete(cx)) { [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:856:25 [INFO] [stdout] | [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^ ------------------------------ [INFO] [stdout] | | | | [INFO] [stdout] | | | first mutable borrow occurs here [INFO] [stdout] | | cast requires that `self` is borrowed for `'static` [INFO] [stdout] | second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/lib.rs:856:63 [INFO] [stdout] | [INFO] [stdout] 827 | mut self: Pin<&mut Self>, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self` as mutable more than once at a time [INFO] [stdout] --> src/lib.rs:856:72 [INFO] [stdout] | [INFO] [stdout] 856 | self.state = ConnectionState::Recover(Box::pin(self.refresh_slots())); [INFO] [stdout] | ---------^^^^----------------- [INFO] [stdout] | | | [INFO] [stdout] | | `self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | cast requires that `self` is borrowed for `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0502, E0503, E0505, E0506, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: could not compile `redis_cluster_async_tls` (lib) due to 27 previous errors [INFO] running `Command { std: "docker" "inspect" "174e3f915a8c47a872228907b311fb7bfb1a0b3676e631da1f73aa069c03727e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "174e3f915a8c47a872228907b311fb7bfb1a0b3676e631da1f73aa069c03727e", kill_on_drop: false }` [INFO] [stdout] 174e3f915a8c47a872228907b311fb7bfb1a0b3676e631da1f73aa069c03727e