[INFO] crate swindon 0.7.8 is already in cache [INFO] testing swindon-0.7.8 against 1.44.0 for beta-1.45-1 [INFO] extracting crate swindon 0.7.8 into /workspace/builds/worker-13/source [INFO] validating manifest of crates.io crate swindon 0.7.8 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate swindon 0.7.8 [INFO] finished tweaking crates.io crate swindon 0.7.8 [INFO] tweaked toml for crates.io crate swindon 0.7.8 written to /workspace/builds/worker-13/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stdout] 40a9042918f77a310a4da74dbb4c3ebeab8ec9738a078554743998c06d734a83 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "40a9042918f77a310a4da74dbb4c3ebeab8ec9738a078554743998c06d734a83"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling httpdate v0.3.2 [INFO] [stderr] Compiling netbuf v0.4.1 [INFO] [stderr] Compiling sha1 v0.4.0 [INFO] [stderr] Compiling ascii v0.7.1 [INFO] [stderr] Compiling argparse v0.2.2 [INFO] [stderr] Compiling atomic v0.3.4 [INFO] [stderr] Compiling assert_matches v1.3.0 [INFO] [stderr] Compiling crossbeam v0.3.2 [INFO] [stderr] Compiling async-slot v0.1.0 [INFO] [stderr] Compiling string-intern v0.1.7 [INFO] [stderr] Compiling abstract-ns v0.4.3 [INFO] [stderr] Compiling humannum v0.1.0 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling self-meter v0.6.0 [INFO] [stderr] Compiling generic-array v0.11.1 [INFO] [stderr] Compiling crypto-mac v0.5.2 [INFO] [stderr] Compiling digest-writer v0.3.1 [INFO] [stderr] Compiling libcantal v0.3.2 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling env_logger v0.3.5 [INFO] [stderr] Compiling blake2 v0.7.1 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling quire v0.3.1 [INFO] [stderr] Compiling tk-bufstream v0.3.0 [INFO] [stderr] Compiling combine v2.5.2 [INFO] [stderr] Compiling ns-std-threaded v0.3.0 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-uds v0.2.6 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling http-file-headers v0.1.8 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling tokio-core v0.1.17 [INFO] [stderr] Compiling tk-http v0.3.9 [INFO] [stderr] Compiling tk-listen v0.1.1 [INFO] [stderr] Compiling ns-router v0.1.6 [INFO] [stderr] Compiling tk-pool v0.5.3 [INFO] [stderr] Compiling trimmer v0.3.6 [INFO] [stderr] Compiling self-meter-http v0.4.1 [INFO] [stderr] Compiling httpbin v0.3.3 [INFO] [stderr] Compiling swindon v0.7.8 (/opt/rustwide/workdir) [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/handlers/files/decode.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | b'0'...b'9' => Ok(b & 0x0f), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/handlers/files/decode.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | b'a'...b'f' | b'A'...b'F' => Ok((b & 0x0f) + 9), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/handlers/files/decode.rs:25:27 [INFO] [stderr] | [INFO] [stderr] 25 | b'a'...b'f' | b'A'...b'F' => Ok((b & 0x0f) + 9), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/handlers/self_status.rs:29:39 [INFO] [stderr] | [INFO] [stderr] 29 | metrics: Json<'a, Vec>>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Collection` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/http_pools.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | Box>+Send>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Codec>+Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/http_pools.rs:127:36 [INFO] [stderr] | [INFO] [stderr] 127 | fn visit<'x>(&'x self, v: &mut Visitor<'x>) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Visitor<'x>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/incoming/mod.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | pub type Request = Box>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Codec>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/incoming/mod.rs:16:25 [INFO] [stderr] | [INFO] [stderr] 16 | pub type Reply = Box, Error=Error>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error=Error>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | pub type List = Vec<(Metric<'static>, &'static Value)>; [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Value` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:17:54 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct ActiveCollection(OwningHandle>>, Wrapper>); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Collection` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | fn visit(&self, s: &mut NameVisitor) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NameVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:38:51 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn all(runtime: &Arc) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Collection` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/handlers/files/decode.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | b'0'...b'9' => Ok(b & 0x0f), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/handlers/files/decode.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | b'a'...b'f' | b'A'...b'F' => Ok((b & 0x0f) + 9), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/handlers/files/decode.rs:25:27 [INFO] [stderr] | [INFO] [stderr] 25 | b'a'...b'f' | b'A'...b'F' => Ok((b & 0x0f) + 9), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/handlers/self_status.rs:29:39 [INFO] [stderr] | [INFO] [stderr] 29 | metrics: Json<'a, Vec>>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Collection` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/http_pools.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | Box>+Send>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Codec>+Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/http_pools.rs:127:36 [INFO] [stderr] | [INFO] [stderr] 127 | fn visit<'x>(&'x self, v: &mut Visitor<'x>) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Visitor<'x>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/incoming/mod.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | pub type Request = Box>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Codec>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/incoming/mod.rs:16:25 [INFO] [stderr] | [INFO] [stderr] 16 | pub type Reply = Box, Error=Error>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error=Error>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:10:48 [INFO] [stderr] | [INFO] [stderr] 10 | pub type List = Vec<(Metric<'static>, &'static Value)>; [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Value` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:17:54 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct ActiveCollection(OwningHandle>>, Wrapper>); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Collection` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | fn visit(&self, s: &mut NameVisitor) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NameVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metrics.rs:38:51 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn all(runtime: &Arc) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Collection` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/chat/cid.rs:20:46 [INFO] [stderr] | [INFO] [stderr] 20 | use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/chat/cid.rs:20:46 [INFO] [stderr] | [INFO] [stderr] 20 | use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/chat/cid.rs:21:39 [INFO] [stderr] | [INFO] [stderr] 21 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/chat/cid.rs:21:39 [INFO] [stderr] | [INFO] [stderr] 21 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/handlers/files/index.rs:63:30 [INFO] [stderr] | [INFO] [stderr] 63 | let vpath = virtual_path.trim_right_matches('/'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/handlers/files/index.rs:63:30 [INFO] [stderr] | [INFO] [stderr] 63 | let vpath = virtual_path.trim_right_matches('/'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] error[E0382]: assign to part of moved value: `session` [INFO] [stderr] --> src/chat/processor/pool.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 175 | let mut session = Session::new(); [INFO] [stderr] | ----------- move occurs because `session` has type `chat::processor::session::Session`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 179 | self.sessions.active.insert(session_id.clone(), expire, session); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 180 | session.status_timestamp = now; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ value partially assigned here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: assign to part of moved value: `sess` [INFO] [stderr] --> src/chat/processor/pool.rs:295:17 [INFO] [stderr] | [INFO] [stderr] 292 | let mut sess = Session::new(); [INFO] [stderr] | -------- move occurs because `sess` has type `chat::processor::session::Session`, which does not implement the `Copy` trait [INFO] [stderr] 293 | self.sessions.active.insert( [INFO] [stderr] 294 | sess_id.clone(), activity_ts, sess); [INFO] [stderr] | ---- value moved here [INFO] [stderr] 295 | sess.status_timestamp = now; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ value partially assigned here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: assign to part of moved value: `session` [INFO] [stderr] --> src/chat/processor/pool.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 175 | let mut session = Session::new(); [INFO] [stderr] | ----------- move occurs because `session` has type `chat::processor::session::Session`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 179 | self.sessions.active.insert(session_id.clone(), expire, session); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 180 | session.status_timestamp = now; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ value partially assigned here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: assign to part of moved value: `sess` [INFO] [stderr] --> src/chat/processor/pool.rs:295:17 [INFO] [stderr] | [INFO] [stderr] 292 | let mut sess = Session::new(); [INFO] [stderr] | -------- move occurs because `sess` has type `chat::processor::session::Session`, which does not implement the `Copy` trait [INFO] [stderr] 293 | self.sessions.active.insert( [INFO] [stderr] 294 | sess_id.clone(), activity_ts, sess); [INFO] [stderr] | ---- value moved here [INFO] [stderr] 295 | sess.status_timestamp = now; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ value partially assigned here after move [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 19 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0382`. [INFO] [stderr] error: could not compile `swindon`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 2 previous errors; 19 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0382`. [INFO] [stderr] error: could not compile `swindon`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "40a9042918f77a310a4da74dbb4c3ebeab8ec9738a078554743998c06d734a83"` [INFO] running `"docker" "rm" "-f" "40a9042918f77a310a4da74dbb4c3ebeab8ec9738a078554743998c06d734a83"` [INFO] [stdout] 40a9042918f77a310a4da74dbb4c3ebeab8ec9738a078554743998c06d734a83