[INFO] fetching crate ledcat 0.1.5... [INFO] testing ledcat-0.1.5 against try#d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2 for pr-86479 [INFO] extracting crate ledcat 0.1.5 into /workspace/builds/worker-7/source [INFO] validating manifest of crates.io crate ledcat 0.1.5 on toolchain d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2" "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-7/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded assert_cli v0.6.3 [INFO] [stderr] Downloaded case v0.1.0 [INFO] [stderr] Downloaded nix v0.10.0 [INFO] [stderr] Downloaded derive-error v0.0.4 [INFO] [stderr] Downloaded gpio v0.3.0 [INFO] [stderr] Downloaded environment v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe7bf92adc6b74a59756f6ea07d23bc7982ea28fb7a2e7bfcb66bb3a974d2b04 [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" "fe7bf92adc6b74a59756f6ea07d23bc7982ea28fb7a2e7bfcb66bb3a974d2b04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe7bf92adc6b74a59756f6ea07d23bc7982ea28fb7a2e7bfcb66bb3a974d2b04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe7bf92adc6b74a59756f6ea07d23bc7982ea28fb7a2e7bfcb66bb3a974d2b04", kill_on_drop: false }` [INFO] [stdout] fe7bf92adc6b74a59756f6ea07d23bc7982ea28fb7a2e7bfcb66bb3a974d2b04 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78c9100f06396405c8e865f2193248abe3b1676b3929974c2ef522ebb24aaf58 [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" "78c9100f06396405c8e865f2193248abe3b1676b3929974c2ef522ebb24aaf58", kill_on_drop: false }` [INFO] [stderr] Compiling nix v0.10.0 [INFO] [stderr] Compiling case v0.1.0 [INFO] [stderr] Compiling ledcat v0.1.5 (/opt/rustwide/workdir) [INFO] [stderr] Compiling gpio v0.3.0 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling derive-error v0.0.4 [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 issue #80165 [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; [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 issue #80165 [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> { [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 issue #80165 [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 issue #80165 [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 issue #80165 [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 issue #80165 [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 issue #80165 [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 issue #80165 [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 [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 { [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 issue #80165 [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 [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 [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 issue #80165 [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 issue #80165 [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), [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 issue #80165 [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), [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 issue #80165 [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, [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 issue #80165 [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, frame_size: usize) -> io::Result { [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 issue #80165 [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 = 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 issue #80165 [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 { [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 issue #80165 [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> { [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 issue #80165 [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>, [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 issue #80165 [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>> = 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 issue #80165 [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::::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 issue #80165 [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>, switch_after: usize, when_eof: WhenEOF, clear_timeout: Option) -> 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 issue #80165 [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 = { [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 issue #80165 [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 = 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 issue #80165 [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> = 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> = 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 issue #80165 [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, 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 issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.ledcat.014f19cf-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad.36duz5oorrnhd4db.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/workdir/components/rpi-rgb-led-matrix/lib" "-L" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "-lrgbmatrix" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-lstdc++" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libregex-14edb7dff9ca13a5.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-f718d7e8c1e326bc.rlib" "/opt/rustwide/target/debug/deps/libmemchr-4b7e7f97fdf3b1c2.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-cfec10257cbd629b.rlib" "/opt/rustwide/target/debug/deps/libnix-3d447e3c075a618b.rlib" "/opt/rustwide/target/debug/deps/libvoid-5636004af8853cbe.rlib" "/opt/rustwide/target/debug/deps/libbytes-3d66717d29b52115.rlib" "/opt/rustwide/target/debug/deps/libiovec-28b952fe3da1e2c4.rlib" "/opt/rustwide/target/debug/deps/libnet2-c0f694ac19e68cef.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-de9cbe0cb77e19a3.rlib" "/opt/rustwide/target/debug/deps/libgpio-66d19c060a23d463.rlib" "/opt/rustwide/target/debug/deps/libclap-718e13290cbac461.rlib" "/opt/rustwide/target/debug/deps/libvec_map-97ca52e148358cd3.rlib" "/opt/rustwide/target/debug/deps/libtextwrap-678d5d865513eebc.rlib" "/opt/rustwide/target/debug/deps/libunicode_width-58fa4f49044d3e0e.rlib" "/opt/rustwide/target/debug/deps/libstrsim-4124e514b7a4f703.rlib" "/opt/rustwide/target/debug/deps/libbitflags-603a79344a96ee73.rlib" "/opt/rustwide/target/debug/deps/libatty-69ea8e88535eec5a.rlib" "/opt/rustwide/target/debug/deps/liblibc-333aa5b90e875ae0.rlib" "/opt/rustwide/target/debug/deps/libansi_term-bd7b8ca88b2cc3f8.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-f328109de99d6196.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-9c44f1fe63de3edb.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5dfdbb680ac299a1.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-353beaf877db2fdf.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-cd4abd33332d2d3f.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-3b908b5b50ddd80c.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-9cafd3521b5532d3.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-7b0935832903a9ac.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-8a349b13d67c76e3.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-9d41e7cb09eafd8e.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-095194fedb4c0ec4.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-968cf83f088269ec.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e63bbb95a6beff5c.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-9f216e67c2916fa5.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-4688b763605c6a0e.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-a9b2dc3244289321.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-52d5241975807511.rlib" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-9924c22ae1efcf66.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-003d83a588984e1f.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/d2e9fff28e244f1ea4927194f1f9b77f93e2ffe2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/ledcat-2f86ae8566a9f9ad" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" [INFO] [stdout] = note: /usr/bin/ld: cannot find -lrgbmatrix [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ledcat` due to 2 previous errors; 30 warnings emitted [INFO] running `Command { std: "docker" "inspect" "78c9100f06396405c8e865f2193248abe3b1676b3929974c2ef522ebb24aaf58", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78c9100f06396405c8e865f2193248abe3b1676b3929974c2ef522ebb24aaf58", kill_on_drop: false }` [INFO] [stdout] 78c9100f06396405c8e865f2193248abe3b1676b3929974c2ef522ebb24aaf58