[INFO] fetching crate ledcat 0.1.5...
[INFO] checking ledcat-0.1.5 against beta-2021-10-15 for beta-1.56-3
[INFO] extracting crate ledcat 0.1.5 into /workspace/builds/worker-0/source
[INFO] validating manifest of crates.io crate ledcat 0.1.5 on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ledcat 0.1.5
[INFO] finished tweaking crates.io crate ledcat 0.1.5
[INFO] tweaked toml for crates.io crate ledcat 0.1.5 written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gpio v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 1d5a890d108a0f03d8c2a82a447497a48c1491049545c7ff30df8bd870bcd3d4
[INFO] running `Command { std: "docker" "start" "-a" "1d5a890d108a0f03d8c2a82a447497a48c1491049545c7ff30df8bd870bcd3d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1d5a890d108a0f03d8c2a82a447497a48c1491049545c7ff30df8bd870bcd3d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d5a890d108a0f03d8c2a82a447497a48c1491049545c7ff30df8bd870bcd3d4", kill_on_drop: false }`
[INFO] [stdout] 1d5a890d108a0f03d8c2a82a447497a48c1491049545c7ff30df8bd870bcd3d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 80788ac4247a4c267e1fbb6cf95d01ec12392888dabdea83fccbffda53c131ee
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "80788ac4247a4c267e1fbb6cf95d01ec12392888dabdea83fccbffda53c131ee", kill_on_drop: false }`
[INFO] [stderr]    Compiling ledcat v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking gpio v0.3.0
[INFO] [stderr]     Checking environment v0.1.1
[INFO] [stderr]     Checking nix v0.10.0
[INFO] [stderr]     Checking assert_cli v0.6.3
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/apa102.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/fluxled/mod.rs:244:20
[INFO] [stdout]     |
[INFO] [stdout] 244 |     type Err = Box<error::Error + Send + Sync>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/fluxled/mod.rs:253:43
[INFO] [stdout]     |
[INFO] [stdout] 253 |             .or_else(|_| -> Result<_, Box<error::Error + Send + Sync>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/generic.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/hexws2811.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/lpd8806.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/sk9822.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/ws2812.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/device/mod.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn output_frame(&mut self, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                                ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Pixel]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/mod.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Output for Box<Output> {
[INFO] [stdout]    |                     ^^^^^^ help: use `dyn`: `dyn Output`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/device/mod.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_frame(&self, &mut io::Write, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/device/mod.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_frame(&self, &mut io::Write, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                                           ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Pixel]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/mod.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_frame(&self, &mut io::Write, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                                ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/mod.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn write_frame(&self, out: &mut io::Write, frame: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                     ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/mod.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Device(Box<Device>),
[INFO] [stdout]     |                ^^^^^^ help: use `dyn`: `dyn Device`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/mod.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Output(Box<Output>),
[INFO] [stdout]     |                ^^^^^^ help: use `dyn`: `dyn Output`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/artnet/unicast.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     target: Box<Target>,
[INFO] [stdout]    |                 ^^^^^^ help: use `dyn`: `dyn Target`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/artnet/unicast.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn to(target: Box<Target>, frame_size: usize) -> io::Result<Unicast> {
[INFO] [stdout]    |                           ^^^^^^ help: use `dyn`: `dyn Target`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/artnet/mod.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let artnet_target: Box<Target> = if args.is_present("broadcast") {
[INFO] [stdout]    |                            ^^^^^^ help: use `dyn`: `dyn Target`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/spidev.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn open(path: &path::Path, dev: &Device) -> Result<fs::File, driver::Error> {
[INFO] [stdout]    |                                      ^^^^^^ help: use `dyn`: `dyn Device`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/geometry.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Transposition for Vec<Box<Transposition>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |     inputs: Vec<Box<ReadFd + Send>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let files: io::Result<Vec<Box<ReadFd + Send>>> = filenames.into_iter().map(|filename| {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Ok(Box::<ReadFd + Send>::from(Box::new(file)))
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn from(inputs: Vec<Box<ReadFd + Send>>, switch_after: usize, when_eof: WhenEOF, clear_timeout: Option<time::Duration>) -> Reader {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let output: Box<Output> = {
[INFO] [stdout]     |                     ^^^^^^ help: use `dyn`: `dyn Output`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:190:33
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let output: Box<io::Write + Send> = match driver_name.as_str() {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let transpositions: Vec<Box<Transposition>> = try!(operations.into_iter()
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:374:33
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let transpositions: Vec<Box<Transposition>> = try!(operations.into_iter()
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:375:35
[INFO] [stdout]     |
[INFO] [stdout] 375 |         .map(|name| -> Result<Box<Transposition>, String> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/apa102.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/fluxled/mod.rs:244:20
[INFO] [stdout]     |
[INFO] [stdout] 244 |     type Err = Box<error::Error + Send + Sync>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/fluxled/mod.rs:253:43
[INFO] [stdout]     |
[INFO] [stdout] 253 |             .or_else(|_| -> Result<_, Box<error::Error + Send + Sync>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/generic.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/hexws2811.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/lpd8806.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/sk9822.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/ws2812.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn write_frame(&self, writer: &mut io::Write, pixels: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/device/mod.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn output_frame(&mut self, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                                ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Pixel]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/mod.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Output for Box<Output> {
[INFO] [stdout]    |                     ^^^^^^ help: use `dyn`: `dyn Output`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/device/mod.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_frame(&self, &mut io::Write, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/device/mod.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_frame(&self, &mut io::Write, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                                           ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[Pixel]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/mod.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_frame(&self, &mut io::Write, &[Pixel]) -> io::Result<()>;
[INFO] [stdout]    |                                ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device/mod.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn write_frame(&self, out: &mut io::Write, frame: &[Pixel]) -> io::Result<()> {
[INFO] [stdout]    |                                     ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/mod.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Device(Box<Device>),
[INFO] [stdout]     |                ^^^^^^ help: use `dyn`: `dyn Device`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device/mod.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Output(Box<Output>),
[INFO] [stdout]     |                ^^^^^^ help: use `dyn`: `dyn Output`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/artnet/unicast.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     target: Box<Target>,
[INFO] [stdout]    |                 ^^^^^^ help: use `dyn`: `dyn Target`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/artnet/unicast.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn to(target: Box<Target>, frame_size: usize) -> io::Result<Unicast> {
[INFO] [stdout]    |                           ^^^^^^ help: use `dyn`: `dyn Target`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/artnet/mod.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let artnet_target: Box<Target> = if args.is_present("broadcast") {
[INFO] [stdout]    |                            ^^^^^^ help: use `dyn`: `dyn Target`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/spidev.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn open(path: &path::Path, dev: &Device) -> Result<fs::File, driver::Error> {
[INFO] [stdout]    |                                      ^^^^^^ help: use `dyn`: `dyn Device`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/geometry.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Transposition for Vec<Box<Transposition>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/input/geometry.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let tr: Vec<Box<Transposition>> = vec![
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |     inputs: Vec<Box<ReadFd + Send>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let files: io::Result<Vec<Box<ReadFd + Send>>> = filenames.into_iter().map(|filename| {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Ok(Box::<ReadFd + Send>::from(Box::new(file)))
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/input/select.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn from(inputs: Vec<Box<ReadFd + Send>>, switch_after: usize, when_eof: WhenEOF, clear_timeout: Option<time::Duration>) -> Reader {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/input/select.rs:204:57
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn copy_iter<I: iter::Iterator<Item = u8>>(wr: &mut io::Write, it: I) {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/input/select.rs:216:51
[INFO] [stdout]     |
[INFO] [stdout] 216 |             .fold(Box::from(iter::empty()) as Box<iter::Iterator<Item = _>>,
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn iter::Iterator<Item = _>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/input/select.rs:244:84
[INFO] [stdout]     |
[INFO] [stdout] 244 |             (1..num + 1).map(|i| new_iter_reader(iter::repeat(i).take(len)) as Box<ReadFd + Send>).collect(),
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadFd + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let output: Box<Output> = {
[INFO] [stdout]     |                     ^^^^^^ help: use `dyn`: `dyn Output`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:190:33
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let output: Box<io::Write + Send> = match driver_name.as_str() {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let transpositions: Vec<Box<Transposition>> = try!(operations.into_iter()
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:374:33
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let transpositions: Vec<Box<Transposition>> = try!(operations.into_iter()
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:375:35
[INFO] [stdout]     |
[INFO] [stdout] 375 |         .map(|name| -> Result<Box<Transposition>, String> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn Transposition`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `input::select::tests::rand::Rng::gen_ascii_chars`: use sample_iter(&Alphanumeric) instead
[INFO] [stdout]    --> src/input/select.rs:191:39
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let name = rand::thread_rng().gen_ascii_chars()
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.46s
[INFO] running `Command { std: "docker" "inspect" "80788ac4247a4c267e1fbb6cf95d01ec12392888dabdea83fccbffda53c131ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80788ac4247a4c267e1fbb6cf95d01ec12392888dabdea83fccbffda53c131ee", kill_on_drop: false }`
[INFO] [stdout] 80788ac4247a4c267e1fbb6cf95d01ec12392888dabdea83fccbffda53c131ee
