[INFO] fetching crate kantera 0.0.1...
[INFO] testing kantera-0.0.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate kantera 0.0.1 into /workspace/builds/worker-0-tc1/source
[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-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kantera 0.0.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 9 packages to latest compatible versions
[INFO] [stderr]       Adding cairo-rs v0.7.1 (available: v0.21.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cairo-rs v0.7.1
[INFO] [stderr]   Downloaded cairo-sys-rs v0.9.2
[INFO] [stderr]   Downloaded gobject-sys v0.9.1
[INFO] [stderr]   Downloaded glib-sys v0.9.1
[INFO] [stderr]   Downloaded glib v0.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da22ee8c6d563095b9cd04c88e86ece81ac0a426434c1d6ba77e30dd83270ba5
[INFO] running `Command { std: "docker" "start" "-a" "da22ee8c6d563095b9cd04c88e86ece81ac0a426434c1d6ba77e30dd83270ba5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da22ee8c6d563095b9cd04c88e86ece81ac0a426434c1d6ba77e30dd83270ba5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da22ee8c6d563095b9cd04c88e86ece81ac0a426434c1d6ba77e30dd83270ba5", kill_on_drop: false }`
[INFO] [stdout] da22ee8c6d563095b9cd04c88e86ece81ac0a426434c1d6ba77e30dd83270ba5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a9678ec2b5f023a2e121db9c9ebcd54af261bfe1b3a7857ff414efae544d653a
[INFO] running `Command { std: "docker" "start" "-a" "a9678ec2b5f023a2e121db9c9ebcd54af261bfe1b3a7857ff414efae544d653a", 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]    Compiling glib v0.8.2
[INFO] [stderr]    Compiling 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)]` (part of `#[warn(unused)]`) 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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)]` (part of `#[warn(unused)]`) 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]    |                                                   ^^^^^^^^^ help: try ignoring the field: `framerate: _`
[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)]` (part of `#[warn(unused)]`) 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: bounds on generic parameters in type aliases are not enforced
[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]   |                  | will not be checked at usage sites of the type alias
[INFO] [stdout]   |                  help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]   = note: `#[warn(type_alias_bounds)]` on by default
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.41s
[INFO] running `Command { std: "docker" "inspect" "a9678ec2b5f023a2e121db9c9ebcd54af261bfe1b3a7857ff414efae544d653a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9678ec2b5f023a2e121db9c9ebcd54af261bfe1b3a7857ff414efae544d653a", kill_on_drop: false }`
[INFO] [stdout] a9678ec2b5f023a2e121db9c9ebcd54af261bfe1b3a7857ff414efae544d653a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 93dafe9c2c987292ad3928066731948d28d78c555e3fb149ef44b5f5efb19f26
[INFO] running `Command { std: "docker" "start" "-a" "93dafe9c2c987292ad3928066731948d28d78c555e3fb149ef44b5f5efb19f26", kill_on_drop: false }`
[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)]` (part of `#[warn(unused)]`) 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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)]` (part of `#[warn(unused)]`) 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]    |                                                   ^^^^^^^^^ help: try ignoring the field: `framerate: _`
[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)]` (part of `#[warn(unused)]`) 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: bounds on generic parameters in type aliases are not enforced
[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]   |                  | will not be checked at usage sites of the type alias
[INFO] [stdout]   |                  help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]   = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kantera v0.0.1 (/opt/rustwide/workdir)
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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: 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)]` (part of `#[warn(unused)]`) 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: `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)]` (part of `#[warn(unused)]`) 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]    |                                                   ^^^^^^^^^ help: try ignoring the field: `framerate: _`
[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: 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] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kantera` (lib test) due to 1 previous error; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "93dafe9c2c987292ad3928066731948d28d78c555e3fb149ef44b5f5efb19f26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93dafe9c2c987292ad3928066731948d28d78c555e3fb149ef44b5f5efb19f26", kill_on_drop: false }`
[INFO] [stdout] 93dafe9c2c987292ad3928066731948d28d78c555e3fb149ef44b5f5efb19f26
