[INFO] fetching crate kantera 0.0.1...
[INFO] checking kantera-0.0.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate kantera 0.0.1 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate kantera 0.0.1 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 kantera 0.0.1
[INFO] finished tweaking crates.io crate kantera 0.0.1
[INFO] tweaked toml for crates.io crate kantera 0.0.1 written to /workspace/builds/worker-3-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 glib-sys v0.9.1
[INFO] [stderr]   Downloaded cairo-rs v0.7.1
[INFO] [stderr]   Downloaded gobject-sys v0.9.1
[INFO] [stderr]   Downloaded cairo-sys-rs v0.9.2
[INFO] [stderr]   Downloaded glib v0.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 72cd275c2542ea269ac3d451deef1cfada877fcb2647c4d40707784620c0cefa
[INFO] running `Command { std: "docker" "start" "-a" "72cd275c2542ea269ac3d451deef1cfada877fcb2647c4d40707784620c0cefa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "72cd275c2542ea269ac3d451deef1cfada877fcb2647c4d40707784620c0cefa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72cd275c2542ea269ac3d451deef1cfada877fcb2647c4d40707784620c0cefa", kill_on_drop: false }`
[INFO] [stdout] 72cd275c2542ea269ac3d451deef1cfada877fcb2647c4d40707784620c0cefa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] f2b2b4c1c26aad0790b113d69e30f42fd2592183c3f820ca0d8213d93dcd64f0
[INFO] running `Command { std: "docker" "start" "-a" "f2b2b4c1c26aad0790b113d69e30f42fd2592183c3f820ca0d8213d93dcd64f0", kill_on_drop: false }`
[INFO] [stderr]    Compiling glib-sys v0.9.1
[INFO] [stderr]    Compiling gobject-sys v0.9.1
[INFO] [stderr]    Compiling cairo-sys-rs v0.9.2
[INFO] [stderr]    Compiling cairo-rs v0.7.1
[INFO] [stderr]     Checking glib v0.8.2
[INFO] [stderr]     Checking kantera v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ChildStdin`
[INFO] [stdout]  --> src/ffmpeg.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::{Command, Child, Stdio, ChildStdin};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/playback.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/image_render.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/transform.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/sample.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/frame.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/time_extrapolate.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cairo.rs:8:60
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &dyn Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sequence.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub pages: Vec<(f64, bool, Box<Render<T>>)>
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub pages: Vec<(f64, bool, Box<dyn Render<T>>)>
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/composite.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub layers: Vec<(Box<Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub layers: Vec<(Box<dyn Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub render: Box<Render<T>>,
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub transformer: Box<Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 5 |     pub transformer: Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/bokeh.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub render: Box<Render<Rgba>>,
[INFO] [stdout]   |                     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 6 |     pub render: Box<dyn Render<Rgba>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/frame.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/time_extrapolate.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 13 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cairo.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     builder: &Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 19 |     builder: &dyn Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChildStdin`
[INFO] [stdout]  --> src/ffmpeg.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::{Command, Child, Stdio, ChildStdin};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/playback.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/image_render.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/transform.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/sample.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/frame.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/time_extrapolate.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/sequence.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<dyn Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sample.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 3 | pub type Sample<T: Copy> = Box<dyn Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cairo.rs:8:60
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &dyn Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sequence.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub pages: Vec<(f64, bool, Box<Render<T>>)>
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub pages: Vec<(f64, bool, Box<dyn Render<T>>)>
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/composite.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub layers: Vec<(Box<Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub layers: Vec<(Box<dyn Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub render: Box<Render<T>>,
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub transformer: Box<Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 5 |     pub transformer: Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/bokeh.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub render: Box<Render<Rgba>>,
[INFO] [stdout]   |                     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 6 |     pub render: Box<dyn Render<Rgba>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/frame.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/time_extrapolate.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 13 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     render: &Render<Rgba>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 22 |     render: &dyn Render<Rgba>) {
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &dyn Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cairo.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     builder: &Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 19 |     builder: &dyn Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/sequence.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<dyn Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sample.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 3 | pub type Sample<T: Copy> = Box<dyn Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/transform.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn camera_shake(size: f64) -> Box<Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 15 | pub fn camera_shake(size: f64) -> Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     render: &Render<Rgba>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 22 |     render: &dyn Render<Rgba>) {
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &dyn Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/transform.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn camera_shake(size: f64) -> Box<Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 15 | pub fn camera_shake(size: f64) -> Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]  --> src/renders/plain.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/renders/plain.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]  --> src/renders/plain.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `framerate`
[INFO] [stdout]   --> src/renders/plain.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let RenderOpt {u_res, v_res, frame_range, framerate, ..} = ro;
[INFO] [stdout]    |                                                   ^^^^^^^^^-
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/path.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut path = Path::new(0.0);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `path`
[INFO] [stdout]   --> src/path.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut path = Path::new(0.0);
[INFO] [stdout]    |         -------- move occurs because `path` has type `path::Path`, which does not implement the `Copy` trait
[INFO] [stdout] 50 |     path.append(1.0, 1.0, PointType::Constant)
[INFO] [stdout]    |          ------------------------------------- `path` moved due to this method call
[INFO] [stdout] 51 |         .append(1.0, 2.0, PointType::Linear);
[INFO] [stdout] 52 |     assert_eq!(path.get_value(-0.5), 0.0);
[INFO] [stdout]    |                ^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] note: `path::Path::append` takes ownership of the receiver `self`, which moves `path`
[INFO] [stdout]   --> src/path.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn append(mut self, d_time: f64, value: f64, point_type: PointType) -> Self {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/image_render.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/renders/composite.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut value = Rgba::default();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:38
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]  --> src/renders/plain.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/renders/plain.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_size`
[INFO] [stdout]   --> src/renders/bokeh.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let frame_size = u_res * v_res;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]  --> src/renders/plain.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `framerate`
[INFO] [stdout]   --> src/renders/plain.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let RenderOpt {u_res, v_res, frame_range, framerate, ..} = ro;
[INFO] [stdout]    |                                                   ^^^^^^^^^-
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/image_render.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/renders/composite.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut value = Rgba::default();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:38
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]  --> src/renders/sample.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout] 3 + pub type Sample<T> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_size`
[INFO] [stdout]   --> src/renders/bokeh.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let frame_size = u_res * v_res;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kantera` (lib test) due to 2 previous errors; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Render`
[INFO] [stdout]  --> src/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kantera::render::{Render, RenderOpt, Dummy};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plain::Plain`
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         plain::Plain,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Render`
[INFO] [stdout]  --> src/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kantera::render::{Render, RenderOpt, Dummy};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plain::Plain`
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         plain::Plain,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer3`
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let buffer3 = kantera::cairo::render_buffer(320, 240, 10, &|mut ctx| {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer3`
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let buffer3 = kantera::cairo::render_buffer(320, 240, 10, &|mut ctx| {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f2b2b4c1c26aad0790b113d69e30f42fd2592183c3f820ca0d8213d93dcd64f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2b2b4c1c26aad0790b113d69e30f42fd2592183c3f820ca0d8213d93dcd64f0", kill_on_drop: false }`
[INFO] [stdout] f2b2b4c1c26aad0790b113d69e30f42fd2592183c3f820ca0d8213d93dcd64f0
[INFO] checking kantera-0.0.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate kantera 0.0.1 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate kantera 0.0.1 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 kantera 0.0.1
[INFO] finished tweaking crates.io crate kantera 0.0.1
[INFO] tweaked toml for crates.io crate kantera 0.0.1 written to /workspace/builds/worker-3-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]     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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 7bad9615f722f5313a6d0063ab955013ebc3e1678df6be8defb98c0ee1bd5017
[INFO] running `Command { std: "docker" "start" "-a" "7bad9615f722f5313a6d0063ab955013ebc3e1678df6be8defb98c0ee1bd5017", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bad9615f722f5313a6d0063ab955013ebc3e1678df6be8defb98c0ee1bd5017", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bad9615f722f5313a6d0063ab955013ebc3e1678df6be8defb98c0ee1bd5017", kill_on_drop: false }`
[INFO] [stdout] 7bad9615f722f5313a6d0063ab955013ebc3e1678df6be8defb98c0ee1bd5017
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] abd9a639c3462eaac842838c21e7994746c6dde1157ee1bcaf67adaecfda6b8a
[INFO] running `Command { std: "docker" "start" "-a" "abd9a639c3462eaac842838c21e7994746c6dde1157ee1bcaf67adaecfda6b8a", kill_on_drop: false }`
[INFO] [stderr]    Compiling glib-sys v0.9.1
[INFO] [stderr]    Compiling gobject-sys v0.9.1
[INFO] [stderr]    Compiling cairo-sys-rs v0.9.2
[INFO] [stderr]    Compiling cairo-rs v0.7.1
[INFO] [stderr]     Checking glib v0.8.2
[INFO] [stderr]     Checking kantera v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ChildStdin`
[INFO] [stdout]  --> src/ffmpeg.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::{Command, Child, Stdio, ChildStdin};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/playback.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/image_render.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/transform.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/sample.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/frame.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/time_extrapolate.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cairo.rs:8:60
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &dyn Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sequence.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub pages: Vec<(f64, bool, Box<Render<T>>)>
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub pages: Vec<(f64, bool, Box<dyn Render<T>>)>
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/composite.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub layers: Vec<(Box<Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub layers: Vec<(Box<dyn Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub render: Box<Render<T>>,
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChildStdin`
[INFO] [stdout]  --> src/ffmpeg.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::{Command, Child, Stdio, ChildStdin};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub transformer: Box<Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 5 |     pub transformer: Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/playback.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/bokeh.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub render: Box<Render<Rgba>>,
[INFO] [stdout]   |                     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 6 |     pub render: Box<dyn Render<Rgba>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/frame.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/image_render.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/time_extrapolate.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 13 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/transform.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/sample.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/frame.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderOpt`
[INFO] [stdout]  --> src/renders/time_extrapolate.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::render::{Render, RenderOpt};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cairo.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     builder: &Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 19 |     builder: &dyn Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/sequence.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<dyn Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sample.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 3 | pub type Sample<T: Copy> = Box<dyn Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cairo.rs:8:60
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn render_image(width: usize, height: usize, builder: &dyn Fn(Context)) -> Image<Rgba> {
[INFO] [stdout]   |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sequence.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub pages: Vec<(f64, bool, Box<Render<T>>)>
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub pages: Vec<(f64, bool, Box<dyn Render<T>>)>
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/composite.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub layers: Vec<(Box<Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub layers: Vec<(Box<dyn Render<Rgba>>, CompositeMode)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub render: Box<Render<T>>,
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 4 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/transform.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub transformer: Box<Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 5 |     pub transformer: Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)>
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/bokeh.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub render: Box<Render<Rgba>>,
[INFO] [stdout]   |                     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 6 |     pub render: Box<dyn Render<Rgba>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/frame.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 12 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/time_extrapolate.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub render: Box<Render<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 13 |     pub render: Box<dyn Render<T>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cairo.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     builder: &Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 19 |     builder: &dyn Fn(WrapedContext)) -> Buffer<Rgba> {
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/sequence.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 64 |     pub fn append(mut self, time: f64, restart: bool, render: Box<dyn Render<T>>) -> Self {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/renders/sample.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 3 | pub type Sample<T: Copy> = Box<dyn Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     render: &Render<Rgba>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 22 |     render: &dyn Render<Rgba>) {
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &dyn Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/transform.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn camera_shake(size: f64) -> Box<Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 15 | pub fn camera_shake(size: f64) -> Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     render: &Render<Rgba>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 22 |     render: &dyn Render<Rgba>) {
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/export.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 52 | pub fn render_to_buffer(ro: &RenderOpt, render: &dyn Render<Rgba>) -> Buffer<Rgba> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renders/transform.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn camera_shake(size: f64) -> Box<Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 15 | pub fn camera_shake(size: f64) -> Box<dyn Fn(f64, f64, f64) -> (f64, f64, f64)> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]  --> src/renders/plain.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/renders/plain.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]  --> src/renders/plain.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `framerate`
[INFO] [stdout]   --> src/renders/plain.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let RenderOpt {u_res, v_res, frame_range, framerate, ..} = ro;
[INFO] [stdout]    |                                                   ^^^^^^^^^-
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/path.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut path = Path::new(0.0);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `path`
[INFO] [stdout]   --> src/path.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut path = Path::new(0.0);
[INFO] [stdout]    |         -------- move occurs because `path` has type `path::Path`, which does not implement the `Copy` trait
[INFO] [stdout] 50 |     path.append(1.0, 1.0, PointType::Constant)
[INFO] [stdout]    |          ------------------------------------- `path` moved due to this method call
[INFO] [stdout] 51 |         .append(1.0, 2.0, PointType::Linear);
[INFO] [stdout] 52 |     assert_eq!(path.get_value(-0.5), 0.0);
[INFO] [stdout]    |                ^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] note: `path::Path::append` takes ownership of the receiver `self`, which moves `path`
[INFO] [stdout]   --> src/path.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn append(mut self, d_time: f64, value: f64, point_type: PointType) -> Self {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/image_render.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/renders/composite.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut value = Rgba::default();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:38
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_size`
[INFO] [stdout]   --> src/renders/bokeh.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let frame_size = u_res * v_res;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]  --> src/renders/plain.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/renders/plain.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]  --> src/renders/plain.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]   |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `framerate`
[INFO] [stdout]   --> src/renders/plain.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let RenderOpt {u_res, v_res, frame_range, framerate, ..} = ro;
[INFO] [stdout]    |                                                   ^^^^^^^^^-
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/image_render.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn sample(&self, u: f64, v: f64, time: f64) -> T {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/renders/composite.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut value = Rgba::default();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]  --> src/renders/sample.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub type Sample<T: Copy> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout] 3 + pub type Sample<T> = Box<Fn(f64, f64, f64) -> T>;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/renders/bokeh.rs:12:38
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn sample(&self, u: f64, v: f64, time: f64) -> Rgba {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_size`
[INFO] [stdout]   --> src/renders/bokeh.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let frame_size = u_res * v_res;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kantera` (lib test) due to 2 previous errors; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Render`
[INFO] [stdout]  --> src/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kantera::render::{Render, RenderOpt, Dummy};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plain::Plain`
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         plain::Plain,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Render`
[INFO] [stdout]  --> src/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kantera::render::{Render, RenderOpt, Dummy};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plain::Plain`
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         plain::Plain,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer3`
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let buffer3 = kantera::cairo::render_buffer(320, 240, 10, &|mut ctx| {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer3`
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let buffer3 = kantera::cairo::render_buffer(320, 240, 10, &|mut ctx| {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "abd9a639c3462eaac842838c21e7994746c6dde1157ee1bcaf67adaecfda6b8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abd9a639c3462eaac842838c21e7994746c6dde1157ee1bcaf67adaecfda6b8a", kill_on_drop: false }`
[INFO] [stdout] abd9a639c3462eaac842838c21e7994746c6dde1157ee1bcaf67adaecfda6b8a
