[INFO] fetching crate murmel 0.2.1... [INFO] checking murmel-0.2.1 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate murmel 0.2.1 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate murmel 0.2.1 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 murmel 0.2.1 [INFO] finished tweaking crates.io crate murmel 0.2.1 [INFO] tweaked toml for crates.io crate murmel 0.2.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate crates.io crate murmel 0.2.1 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" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 1be10718893653c24f4333b7ee60c91e821005adc768acc10b24e41d0f7fdf84 [INFO] running `Command { std: "docker" "start" "-a" "1be10718893653c24f4333b7ee60c91e821005adc768acc10b24e41d0f7fdf84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1be10718893653c24f4333b7ee60c91e821005adc768acc10b24e41d0f7fdf84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1be10718893653c24f4333b7ee60c91e821005adc768acc10b24e41d0f7fdf84", kill_on_drop: false }` [INFO] [stdout] 1be10718893653c24f4333b7ee60c91e821005adc768acc10b24e41d0f7fdf84 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 9e3d951f5533411186b6e32a4c3f095a70ee16f0dbab1996332f6ba16dd44e0f [INFO] running `Command { std: "docker" "start" "-a" "9e3d951f5533411186b6e32a4c3f095a70ee16f0dbab1996332f6ba16dd44e0f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Checking futures-core-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Compiling proc-macro2 v1.0.4 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking ppv-lite86 v0.2.5 [INFO] [stderr] Compiling cc v1.0.41 [INFO] [stderr] Checking pin-utils v0.1.0-alpha.4 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking futures-io-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Checking half v1.3.1 [INFO] [stderr] Checking bech32 v0.7.1 [INFO] [stderr] Checking linked-hash-map v0.5.2 [INFO] [stderr] Checking hex v0.3.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.18 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.18 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Checking c2-chacha v0.2.2 [INFO] [stderr] Compiling secp256k1 v0.15.5 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.18 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking simple_logger v0.5.0 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.18 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.18 [INFO] [stderr] Checking futures-timer v0.3.0 [INFO] [stderr] Checking bitcoin_hashes v0.7.1 [INFO] [stderr] Checking serde_cbor v0.10.2 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Checking bitcoin v0.21.0 [INFO] [stderr] Checking hammersbald v2.4.0 [INFO] [stderr] Checking murmel v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/p2p.rs:261:26 [INFO] [stdout] | [INFO] [stdout] 261 | fn set_height(&self, u32); [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u32` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/p2p.rs:261:26 [INFO] [stdout] | [INFO] [stdout] 261 | fn set_height(&self, u32); [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u32` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:73:39 [INFO] [stdout] | [INFO] [stdout] 73 | Error::IO(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | Error::Util(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:75:48 [INFO] [stdout] | [INFO] [stdout] 75 | Error::Hammersbald(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | Error::Serialize(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:139:58 [INFO] [stdout] | [INFO] [stdout] 139 | io::Error::new(io::ErrorKind::Other, err.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Error::Downstream(err.description().to_owned()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:73:39 [INFO] [stdout] | [INFO] [stdout] 73 | Error::IO(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | Error::Util(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:75:48 [INFO] [stdout] | [INFO] [stdout] 75 | Error::Hammersbald(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | Error::Serialize(ref err) => err.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | write!(f, "{}", self.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:139:58 [INFO] [stdout] | [INFO] [stdout] 139 | io::Error::new(io::ErrorKind::Other, err.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Error::Downstream(err.description().to_owned()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/p2p.rs:916:33 [INFO] [stdout] | [INFO] [stdout] 901 | ...oll_events(&self, network: &'static str, needed_services: u64, spawn: &mut dyn Spawn) { [INFO] [stdout] | ----- ------- `network` declared here, outside of the method body [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 916 | ... spawn.spawn(self.add_peer(network, PeerSource::Incoming(server)).map(|_| ())).expect("can not add peer for incoming connection"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `p2p` does not live long enough [INFO] [stdout] --> src/constructor.rs:129:28 [INFO] [stdout] | [INFO] [stdout] 127 | let p2p = self.p2p.clone(); [INFO] [stdout] | --- binding `p2p` declared here [INFO] [stdout] 128 | for addr in &peers { [INFO] [stdout] 129 | executor.spawn(p2p.add_peer("bitcoin", PeerSource::Outgoing(addr.clone())).map(|_|())).expect("can not spawn task for peers"); [INFO] [stdout] | ^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `p2p` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] | - `p2p` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `self` does not live long enough [INFO] [stdout] --> src/constructor.rs:170:27 [INFO] [stdout] | [INFO] [stdout] 163 | fn poll(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Async { [INFO] [stdout] | -------- binding `self` declared here [INFO] [stdout] ... [INFO] [stdout] 170 | let add = self.p2p.add_peer("bitcoin", PeerSource::Outgoing(choice)).map(|_| ()); [INFO] [stdout] | ^^^^------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 175 | } [INFO] [stdout] | - `self` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/constructor.rs:170:27 [INFO] [stdout] | [INFO] [stdout] 163 | fn poll(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Async { [INFO] [stdout] | -------- - let's call the lifetime of this reference `'1` [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] ... [INFO] [stdout] 170 | let add = self.p2p.add_peer("bitcoin", PeerSource::Outgoing(choice)).map(|_| ()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/constructor.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 170 | let add = self.p2p.add_peer("bitcoin", PeerSource::Outgoing(choice)).map(|_| ()); [INFO] [stdout] | ---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | argument requires that `self` is borrowed for `'static` [INFO] [stdout] 171 | self.cex.spawn(add).expect("can not add peer for outgoing connection"); [INFO] [stdout] | ^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0521, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `murmel` (lib test) due to 6 previous errors; 8 warnings emitted [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/p2p.rs:916:33 [INFO] [stdout] | [INFO] [stdout] 901 | ...oll_events(&self, network: &'static str, needed_services: u64, spawn: &mut dyn Spawn) { [INFO] [stdout] | ----- ------- `network` declared here, outside of the method body [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 916 | ... spawn.spawn(self.add_peer(network, PeerSource::Incoming(server)).map(|_| ())).expect("can not add peer for incoming connection"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0597]: `p2p` does not live long enough [INFO] [stdout] --> src/constructor.rs:129:28 [INFO] [stdout] | [INFO] [stdout] 127 | let p2p = self.p2p.clone(); [INFO] [stdout] | --- binding `p2p` declared here [INFO] [stdout] 128 | for addr in &peers { [INFO] [stdout] 129 | executor.spawn(p2p.add_peer("bitcoin", PeerSource::Outgoing(addr.clone())).map(|_|())).expect("can not spawn task for peers"); [INFO] [stdout] | ^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `p2p` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] | - `p2p` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `self` does not live long enough [INFO] [stdout] --> src/constructor.rs:170:27 [INFO] [stdout] | [INFO] [stdout] 163 | fn poll(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Async { [INFO] [stdout] | -------- binding `self` declared here [INFO] [stdout] ... [INFO] [stdout] 170 | let add = self.p2p.add_peer("bitcoin", PeerSource::Outgoing(choice)).map(|_| ()); [INFO] [stdout] | ^^^^------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 175 | } [INFO] [stdout] | - `self` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/constructor.rs:170:27 [INFO] [stdout] | [INFO] [stdout] 163 | fn poll(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Async { [INFO] [stdout] | -------- - let's call the lifetime of this reference `'1` [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] ... [INFO] [stdout] 170 | let add = self.p2p.add_peer("bitcoin", PeerSource::Outgoing(choice)).map(|_| ()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/constructor.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 170 | let add = self.p2p.add_peer("bitcoin", PeerSource::Outgoing(choice)).map(|_| ()); [INFO] [stdout] | ---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | argument requires that `self` is borrowed for `'static` [INFO] [stdout] 171 | self.cex.spawn(add).expect("can not add peer for outgoing connection"); [INFO] [stdout] | ^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0521, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `murmel` (lib) due to 6 previous errors; 8 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9e3d951f5533411186b6e32a4c3f095a70ee16f0dbab1996332f6ba16dd44e0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e3d951f5533411186b6e32a4c3f095a70ee16f0dbab1996332f6ba16dd44e0f", kill_on_drop: false }` [INFO] [stdout] 9e3d951f5533411186b6e32a4c3f095a70ee16f0dbab1996332f6ba16dd44e0f