[INFO] fetching crate framed 0.4.3...
[INFO] checking framed-0.4.3 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate framed 0.4.3 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate framed 0.4.3 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate framed 0.4.3
[INFO] finished tweaking crates.io crate framed 0.4.3
[INFO] tweaked toml for crates.io crate framed 0.4.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ref_slice v1.2.1
[INFO] [stderr]   Downloaded ssmarshal v1.0.0
[INFO] [stderr]   Downloaded cobs v0.1.4
[INFO] [stderr]   Downloaded crc16 v0.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 92a6149df1f8d0b39f528a82bf1013cf13a75a8c618e1f14cb9c4d4a7292b82e
[INFO] running `Command { std: "docker" "start" "-a" "92a6149df1f8d0b39f528a82bf1013cf13a75a8c618e1f14cb9c4d4a7292b82e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "92a6149df1f8d0b39f528a82bf1013cf13a75a8c618e1f14cb9c4d4a7292b82e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92a6149df1f8d0b39f528a82bf1013cf13a75a8c618e1f14cb9c4d4a7292b82e", kill_on_drop: false }`
[INFO] [stdout] 92a6149df1f8d0b39f528a82bf1013cf13a75a8c618e1f14cb9c4d4a7292b82e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1d5b080b862771d2ffd3ba792d3bafed6e61edddf3e05b125a06e05840e9280
[INFO] running `Command { std: "docker" "start" "-a" "b1d5b080b862771d2ffd3ba792d3bafed6e61edddf3e05b125a06e05840e9280", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling crc16 v0.3.4
[INFO] [stderr]     Checking encode_unicode v0.3.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking cobs v0.1.4
[INFO] [stderr]     Checking ref_slice v1.2.1
[INFO] [stderr]     Checking ssmarshal v1.0.0
[INFO] [stderr]     Checking framed v0.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] error: the item `cobs` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout] 85  | use cobs;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | extern crate cobs;
[INFO] [stdout]     | ------------------ the item `cobs` is already imported here
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `byteorder` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:2:17
[INFO] [stdout]     |
[INFO] [stdout] 2   | use byteorder::{self, ByteOrder};
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | extern crate byteorder;
[INFO] [stdout]     | ----------------------- the item `byteorder` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `PartialEq` is imported redundantly
[INFO] [stdout]  --> src/checksum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::PartialEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `crc16` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | use crc16;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | extern crate crc16;
[INFO] [stdout]     | ------------------- the item `crc16` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/error.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bytes.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 | use ref_slice::ref_slice_mut;
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]    --> src/bytes.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |             let res = r.read(ref_slice_mut(&mut b));
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `cobs` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout] 85  | use cobs;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | extern crate cobs;
[INFO] [stdout]     | ------------------ the item `cobs` is already imported here
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bytes.rs:547:50
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let mut encoded_buf = [0u8; PAYLOAD_LEN];;
[INFO] [stdout]     |                                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[deny(redundant_semicolons)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Error` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 |     use error::Error;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 740 |     use std::io::{Read, Write};
[INFO] [stdout] 741 |     use super::*;
[INFO] [stdout]     |         -------- the item `Error` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Read` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:740:19
[INFO] [stdout]     |
[INFO] [stdout] 740 |     use std::io::{Read, Write};
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 741 |     use super::*;
[INFO] [stdout]     |         -------- the item `Read` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Write` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:740:25
[INFO] [stdout]     |
[INFO] [stdout] 740 |     use std::io::{Read, Write};
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 741 |     use super::*;
[INFO] [stdout]     |         -------- the item `Write` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `byteorder` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:2:17
[INFO] [stdout]     |
[INFO] [stdout] 2   | use byteorder::{self, ByteOrder};
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | extern crate byteorder;
[INFO] [stdout]     | ----------------------- the item `byteorder` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `PartialEq` is imported redundantly
[INFO] [stdout]  --> src/checksum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::PartialEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `crc16` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | use crc16;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | extern crate crc16;
[INFO] [stdout]     | ------------------- the item `crc16` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/error.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Read` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:469:23
[INFO] [stdout]     |
[INFO] [stdout] 469 |         use std::io::{Read, Write};
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 470 |         use super::*;
[INFO] [stdout]     |             -------- the item `Read` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Write` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:469:29
[INFO] [stdout]     |
[INFO] [stdout] 469 |         use std::io::{Read, Write};
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 470 |         use super::*;
[INFO] [stdout]     |             -------- the item `Write` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:339:59
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut Read)
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[deny(bare_trait_objects)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut dyn Read)
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bytes.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 | use ref_slice::ref_slice_mut;
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]    --> src/bytes.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |             let res = r.read(ref_slice_mut(&mut b));
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:339:59
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut Read)
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[deny(bare_trait_objects)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut dyn Read)
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:813:30
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<Write>>, Receiver<Box<Read>>) {
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<dyn Write>>, Receiver<Box<Read>>) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:813:52
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<Write>>, Receiver<Box<Read>>) {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<Write>>, Receiver<Box<dyn Read>>) {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:491:34
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<Write>, Test>, Receiver<Box<Read>, Test>) {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<dyn Write>, Test>, Receiver<Box<Read>, Test>) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:491:62
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<Write>, Test>, Receiver<Box<Read>, Test>) {
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<Write>, Test>, Receiver<Box<dyn Read>, Test>) {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `framed` (lib) due to 10 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:816:69
[INFO] [stdout]     |
[INFO] [stdout] 816 |         let tx = c.clone().to_sender(Box::new(chan.writer()) as Box<Write>);
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 816 |         let tx = c.clone().to_sender(Box::new(chan.writer()) as Box<dyn Write>);
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:817:71
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let rx = c.clone().to_receiver(Box::new(chan.reader()) as Box<Read>);
[INFO] [stdout]     |                                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let rx = c.clone().to_receiver(Box::new(chan.reader()) as Box<dyn Read>);
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:495:68
[INFO] [stdout]     |
[INFO] [stdout] 495 |                          .to_sender(Box::new(chan.writer()) as Box<Write>);
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 495 |                          .to_sender(Box::new(chan.writer()) as Box<dyn Write>);
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:497:70
[INFO] [stdout]     |
[INFO] [stdout] 497 |                          .to_receiver(Box::new(chan.reader()) as Box<Read>);
[INFO] [stdout]     |                                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 497 |                          .to_receiver(Box::new(chan.reader()) as Box<dyn Read>);
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 23 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `framed` (lib test) due to 24 previous errors
[INFO] running `Command { std: "docker" "inspect" "b1d5b080b862771d2ffd3ba792d3bafed6e61edddf3e05b125a06e05840e9280", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1d5b080b862771d2ffd3ba792d3bafed6e61edddf3e05b125a06e05840e9280", kill_on_drop: false }`
[INFO] [stdout] b1d5b080b862771d2ffd3ba792d3bafed6e61edddf3e05b125a06e05840e9280
[INFO] checking framed-0.4.3 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate framed 0.4.3 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate framed 0.4.3 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate framed 0.4.3
[INFO] finished tweaking crates.io crate framed 0.4.3
[INFO] tweaked toml for crates.io crate framed 0.4.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2fd687f7569b01355b6f15a0f1c627130a5ffe70eae945b8ec93bd5bd1e6f4f1
[INFO] running `Command { std: "docker" "start" "-a" "2fd687f7569b01355b6f15a0f1c627130a5ffe70eae945b8ec93bd5bd1e6f4f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2fd687f7569b01355b6f15a0f1c627130a5ffe70eae945b8ec93bd5bd1e6f4f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fd687f7569b01355b6f15a0f1c627130a5ffe70eae945b8ec93bd5bd1e6f4f1", kill_on_drop: false }`
[INFO] [stdout] 2fd687f7569b01355b6f15a0f1c627130a5ffe70eae945b8ec93bd5bd1e6f4f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cdd28620573cd9318c3dd6a7bf84fd8945e903c6b2b68991380f400a67da924c
[INFO] running `Command { std: "docker" "start" "-a" "cdd28620573cd9318c3dd6a7bf84fd8945e903c6b2b68991380f400a67da924c", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling crc16 v0.3.4
[INFO] [stderr]     Checking encode_unicode v0.3.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking cobs v0.1.4
[INFO] [stderr]     Checking ref_slice v1.2.1
[INFO] [stderr]     Checking ssmarshal v1.0.0
[INFO] [stderr]     Checking framed v0.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] error: the item `cobs` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout] 85  | use cobs;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | extern crate cobs;
[INFO] [stdout]     | ------------------ the item `cobs` is already imported here
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `byteorder` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:2:17
[INFO] [stdout]     |
[INFO] [stdout] 2   | use byteorder::{self, ByteOrder};
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | extern crate byteorder;
[INFO] [stdout]     | ----------------------- the item `byteorder` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `PartialEq` is imported redundantly
[INFO] [stdout]  --> src/checksum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::PartialEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `crc16` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | use crc16;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | extern crate crc16;
[INFO] [stdout]     | ------------------- the item `crc16` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/error.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bytes.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 | use ref_slice::ref_slice_mut;
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]    --> src/bytes.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |             let res = r.read(ref_slice_mut(&mut b));
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:339:59
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut Read)
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[deny(bare_trait_objects)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut dyn Read)
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `cobs` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout] 85  | use cobs;
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | extern crate cobs;
[INFO] [stdout]     | ------------------ the item `cobs` is already imported here
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bytes.rs:547:50
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let mut encoded_buf = [0u8; PAYLOAD_LEN];;
[INFO] [stdout]     |                                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[deny(redundant_semicolons)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Error` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 |     use error::Error;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 740 |     use std::io::{Read, Write};
[INFO] [stdout] 741 |     use super::*;
[INFO] [stdout]     |         -------- the item `Error` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Read` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:740:19
[INFO] [stdout]     |
[INFO] [stdout] 740 |     use std::io::{Read, Write};
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 741 |     use super::*;
[INFO] [stdout]     |         -------- the item `Read` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Write` is imported redundantly
[INFO] [stdout]    --> src/bytes.rs:740:25
[INFO] [stdout]     |
[INFO] [stdout] 740 |     use std::io::{Read, Write};
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 741 |     use super::*;
[INFO] [stdout]     |         -------- the item `Write` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `byteorder` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:2:17
[INFO] [stdout]     |
[INFO] [stdout] 2   | use byteorder::{self, ByteOrder};
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | extern crate byteorder;
[INFO] [stdout]     | ----------------------- the item `byteorder` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `PartialEq` is imported redundantly
[INFO] [stdout]  --> src/checksum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::PartialEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `crc16` is imported redundantly
[INFO] [stdout]    --> src/checksum.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | use crc16;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | extern crate crc16;
[INFO] [stdout]     | ------------------- the item `crc16` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/error.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ssmarshal` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | use ssmarshal;
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | extern crate ssmarshal;
[INFO] [stdout]     | ----------------------- the item `ssmarshal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Read` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:469:23
[INFO] [stdout]     |
[INFO] [stdout] 469 |         use std::io::{Read, Write};
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 470 |         use super::*;
[INFO] [stdout]     |             -------- the item `Read` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Write` is imported redundantly
[INFO] [stdout]    --> src/typed.rs:469:29
[INFO] [stdout]     |
[INFO] [stdout] 469 |         use std::io::{Read, Write};
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 470 |         use super::*;
[INFO] [stdout]     |             -------- the item `Write` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]   --> src/bytes.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 | use ref_slice::ref_slice_mut;
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated function `ref_slice::ref_slice_mut`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_mut` instead.
[INFO] [stdout]    --> src/bytes.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |             let res = r.read(ref_slice_mut(&mut b));
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:339:59
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut Read)
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[deny(bare_trait_objects)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn decode_from_reader<R: Read>(&mut self, r: &mut dyn Read)
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:813:30
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<Write>>, Receiver<Box<Read>>) {
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<dyn Write>>, Receiver<Box<Read>>) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:813:52
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<Write>>, Receiver<Box<Read>>) {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn pair() -> (Sender<Box<Write>>, Receiver<Box<dyn Read>>) {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:491:34
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<Write>, Test>, Receiver<Box<Read>, Test>) {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<dyn Write>, Test>, Receiver<Box<Read>, Test>) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:491:62
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<Write>, Test>, Receiver<Box<Read>, Test>) {
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 491 |         fn pair() -> (Sender<Box<Write>, Test>, Receiver<Box<dyn Read>, Test>) {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `framed` (lib) due to 10 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:816:69
[INFO] [stdout]     |
[INFO] [stdout] 816 |         let tx = c.clone().to_sender(Box::new(chan.writer()) as Box<Write>);
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 816 |         let tx = c.clone().to_sender(Box::new(chan.writer()) as Box<dyn Write>);
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytes.rs:817:71
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let rx = c.clone().to_receiver(Box::new(chan.reader()) as Box<Read>);
[INFO] [stdout]     |                                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let rx = c.clone().to_receiver(Box::new(chan.reader()) as Box<dyn Read>);
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:495:68
[INFO] [stdout]     |
[INFO] [stdout] 495 |                          .to_sender(Box::new(chan.writer()) as Box<Write>);
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 495 |                          .to_sender(Box::new(chan.writer()) as Box<dyn Write>);
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typed.rs:497:70
[INFO] [stdout]     |
[INFO] [stdout] 497 |                          .to_receiver(Box::new(chan.reader()) as Box<Read>);
[INFO] [stdout]     |                                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 497 |                          .to_receiver(Box::new(chan.reader()) as Box<dyn Read>);
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 23 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `framed` (lib test) due to 24 previous errors
[INFO] running `Command { std: "docker" "inspect" "cdd28620573cd9318c3dd6a7bf84fd8945e903c6b2b68991380f400a67da924c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cdd28620573cd9318c3dd6a7bf84fd8945e903c6b2b68991380f400a67da924c", kill_on_drop: false }`
[INFO] [stdout] cdd28620573cd9318c3dd6a7bf84fd8945e903c6b2b68991380f400a67da924c
