[INFO] updating cached repository swindon-rs/swindon [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/swindon-rs/swindon [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/swindon-rs/swindon" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/swindon-rs/swindon"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/swindon-rs/swindon'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/swindon-rs/swindon" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/swindon-rs/swindon"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/swindon-rs/swindon'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] aae9fac343df609d19d6347f6e39d7f562104b67 [INFO] sha for GitHub repo swindon-rs/swindon: aae9fac343df609d19d6347f6e39d7f562104b67 [INFO] validating manifest of swindon-rs/swindon on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of swindon-rs/swindon on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing swindon-rs/swindon [INFO] finished frobbing swindon-rs/swindon [INFO] frobbed toml for swindon-rs/swindon written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/swindon-rs/swindon/Cargo.toml [INFO] started frobbing swindon-rs/swindon [INFO] finished frobbing swindon-rs/swindon [INFO] frobbed toml for swindon-rs/swindon written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/swindon-rs/swindon/Cargo.toml [INFO] crate swindon-rs/swindon already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/swindon-rs/swindon/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking swindon-rs/swindon against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-1/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/swindon-rs/swindon:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 7273ab1de50395bdc227eb06ba9ab3a9a3cba359b40d09e86df2d5235984afa1 [INFO] running `"docker" "start" "-a" "7273ab1de50395bdc227eb06ba9ab3a9a3cba359b40d09e86df2d5235984afa1"` [INFO] [stderr] Compiling serde v1.0.98 [INFO] [stderr] Checking netbuf v0.4.1 [INFO] [stderr] Checking httpdate v0.3.2 [INFO] [stderr] Checking sha1 v0.4.0 [INFO] [stderr] Checking atomic v0.3.4 [INFO] [stderr] Checking assert_matches v1.3.0 [INFO] [stderr] Checking async-slot v0.1.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking combine v2.5.2 [INFO] [stderr] Checking abstract-ns v0.4.3 [INFO] [stderr] Checking humannum v0.1.0 [INFO] [stderr] Checking digest-writer v0.3.1 [INFO] [stderr] Checking blake2 v0.7.1 [INFO] [stderr] Checking tk-bufstream v0.3.0 [INFO] [stderr] Checking tk-listen v0.1.1 [INFO] [stderr] Checking tk-http v0.3.9 [INFO] [stderr] Checking ns-router v0.1.6 [INFO] [stderr] Checking tk-pool v0.5.3 [INFO] [stderr] Checking ns-std-threaded v0.3.0 [INFO] [stderr] Checking http-file-headers v0.1.8 [INFO] [stderr] Compiling serde_derive v1.0.98 [INFO] [stderr] Checking serde_json v1.0.40 [INFO] [stderr] Checking string-intern v0.1.7 [INFO] [stderr] Checking quire v0.3.1 [INFO] [stderr] Checking httpbin v0.3.3 [INFO] [stderr] Checking trimmer v0.3.6 [INFO] [stderr] Checking libcantal v0.3.2 [INFO] [stderr] Checking self-meter v0.6.0 [INFO] [stderr] Checking self-meter-http v0.4.1 [INFO] [stderr] Checking swindon v0.7.8 (/opt/crater/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] 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] 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: 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] 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: 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] 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: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: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: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: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 '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] 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] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[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] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 26s [INFO] running `"docker" "inspect" "7273ab1de50395bdc227eb06ba9ab3a9a3cba359b40d09e86df2d5235984afa1"` [INFO] running `"docker" "rm" "-f" "7273ab1de50395bdc227eb06ba9ab3a9a3cba359b40d09e86df2d5235984afa1"` [INFO] [stdout] 7273ab1de50395bdc227eb06ba9ab3a9a3cba359b40d09e86df2d5235984afa1