[INFO] cloning repository https://github.com/andrewjlm/rustrenderer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andrewjlm/rustrenderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewjlm%2Frustrenderer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewjlm%2Frustrenderer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b38420b59a2be80cdb61ba20dd5317b6f2c65528
[INFO] testing andrewjlm/rustrenderer against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewjlm%2Frustrenderer" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andrewjlm/rustrenderer on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/andrewjlm/rustrenderer
[INFO] finished tweaking git repo https://github.com/andrewjlm/rustrenderer
[INFO] tweaked toml for git repo https://github.com/andrewjlm/rustrenderer written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/andrewjlm/rustrenderer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-complex v0.1.35
[INFO] [stderr]   Downloaded num-bigint v0.1.35
[INFO] [stderr]   Downloaded num v0.1.36
[INFO] [stderr]   Downloaded num-rational v0.1.35
[INFO] [stderr]   Downloaded libc v0.2.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7cb277fe4fe107d869fc0b83946d02d3cfc7f313e587ff2bc7fb598b0964cf64
[INFO] running `Command { std: "docker" "start" "-a" "7cb277fe4fe107d869fc0b83946d02d3cfc7f313e587ff2bc7fb598b0964cf64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7cb277fe4fe107d869fc0b83946d02d3cfc7f313e587ff2bc7fb598b0964cf64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7cb277fe4fe107d869fc0b83946d02d3cfc7f313e587ff2bc7fb598b0964cf64", kill_on_drop: false }`
[INFO] [stdout] 7cb277fe4fe107d869fc0b83946d02d3cfc7f313e587ff2bc7fb598b0964cf64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e967f2ce1ad86ee317de266616ade29740e2bd7d1b6584f55e1a7191b32ec949
[INFO] running `Command { std: "docker" "start" "-a" "e967f2ce1ad86ee317de266616ade29740e2bd7d1b6584f55e1a7191b32ec949", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.1.36
[INFO] [stderr]    Compiling libc v0.2.20
[INFO] [stderr]    Compiling rustc-serialize v0.3.22
[INFO] [stderr]    Compiling byteorder v1.0.0
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling num-integer v0.1.32
[INFO] [stderr]    Compiling num-iter v0.1.32
[INFO] [stderr]    Compiling num-bigint v0.1.35
[INFO] [stderr]    Compiling num-complex v0.1.35
[INFO] [stderr]    Compiling num-rational v0.1.35
[INFO] [stderr]    Compiling num v0.1.36
[INFO] [stderr]    Compiling rustrender v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/image.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut f = try!(File::create(filename));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/image.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             try!(f.write_all(struct_to_u8_slice(&h)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/image.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(f.write_all(slice_to_u8_slice(&self.data[..])));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |             id_length: try!(r.read_u8()),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             color_map_type: try!(r.read_u8()),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |             data_type_code: try!(r.read_u8()),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |             color_map_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:85:31
[INFO] [stdout]    |
[INFO] [stdout] 85 |             color_map_length: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             color_map_depth: try!(r.read_u8()),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             x_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |             y_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:89:20
[INFO] [stdout]    |
[INFO] [stdout] 89 |             width: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |             height: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:91:29
[INFO] [stdout]    |
[INFO] [stdout] 91 |             bits_per_pixel: try!(r.read_u8()),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 92 |             image_descriptor: try!(r.read_u8()),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut f = try!(File::open(filename));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/tga.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let num_bytes = (height * width * bytes_per_pixel);
[INFO] [stdout]     |                     ^                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -     let num_bytes = (height * width * bytes_per_pixel);
[INFO] [stdout] 108 +     let num_bytes = height * width * bytes_per_pixel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tga.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let run_packet = try!(f.read_u8());
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tga.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     try!(f.by_ref().take(bytes_per_pixel as u64).read_to_end(&mut data));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tga.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     try!(f.by_ref().take(num_raw_bytes as u64).read_to_end(&mut image_buf));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/tga.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn from_reader(r: &mut Read) -> Result<TGAHeader, Error> {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn from_reader(r: &mut dyn Read) -> Result<TGAHeader, Error> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/model.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...                   why.description()),
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/geo.rs:269:47
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn draw(&self, mut image: &mut Image, color: Color, texture: &Image) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/geo.rs:269:24
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn draw(&self, mut image: &mut Image, color: Color, texture: &Image) {
[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: constant `WHITE` is never used
[INFO] [stdout]   --> src/image.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const WHITE: Color = Color(255, 255, 255);
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]   --> src/image.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const RED: Color = Color(0, 0, 255);
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]   --> src/image.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const GREEN: Color = Color(0, 255, 0);
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]   --> src/image.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const BLUE: Color = Color(255, 0, 0);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line` is never used
[INFO] [stdout]    --> src/image.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn line(point1: Vec2<i32>, point2: Vec2<i32>, image: &mut Image, color: Color) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_f64` are never used
[INFO] [stdout]   --> src/geo.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> Vec2<T> where T: VecNum {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn to_f64(self) -> Vec2<f64> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_i32` are never used
[INFO] [stdout]    --> src/geo.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout] 88  | impl<T> Vec3<T> where T: VecNum + Mul<T, Output=T> + Add<T, Output=T> {
[INFO] [stdout]     | --------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 89  |     pub fn new(x: T, y: T, z: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn to_i32(self) -> Vec3<i32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/geo.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl Vertex {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 193 |     pub fn new(coords: Vec3<f64>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `barycentric` is never used
[INFO] [stdout]    --> src/geo.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub fn barycentric(t0: &Vec3<i32>, t1: &Vec3<i32>, p: &Vec3<i32>) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_color`, `is_color_mapped`, and `is_encoded` are never used
[INFO] [stdout]   --> src/tga.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ImageType {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn is_color(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn is_color_mapped(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn is_encoded(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/tga.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct TGAHeader {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 64 |     id_length: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 65 |     color_map_type: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     data_type_code: u8,
[INFO] [stdout] 67 |     color_map_origin: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 68 |     color_map_length: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     color_map_depth: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     x_origin: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 71 |     y_origin: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     image_descriptor: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TGAHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     image.write_tga_file("output.tga");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let _ = image.write_tga_file("output.tga");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "e967f2ce1ad86ee317de266616ade29740e2bd7d1b6584f55e1a7191b32ec949", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e967f2ce1ad86ee317de266616ade29740e2bd7d1b6584f55e1a7191b32ec949", kill_on_drop: false }`
[INFO] [stdout] e967f2ce1ad86ee317de266616ade29740e2bd7d1b6584f55e1a7191b32ec949
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3aa34169d20b884a14a65d73d1a1b4fdbf4998e11e54f4ecaf03e60937dadb01
[INFO] running `Command { std: "docker" "start" "-a" "3aa34169d20b884a14a65d73d1a1b4fdbf4998e11e54f4ecaf03e60937dadb01", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustrender v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/image.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut f = try!(File::create(filename));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/image.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             try!(f.write_all(struct_to_u8_slice(&h)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/image.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(f.write_all(slice_to_u8_slice(&self.data[..])));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |             id_length: try!(r.read_u8()),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             color_map_type: try!(r.read_u8()),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |             data_type_code: try!(r.read_u8()),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |             color_map_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:85:31
[INFO] [stdout]    |
[INFO] [stdout] 85 |             color_map_length: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             color_map_depth: try!(r.read_u8()),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             x_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |             y_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:89:20
[INFO] [stdout]    |
[INFO] [stdout] 89 |             width: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |             height: try!(r.read_u16::<LittleEndian>()),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:91:29
[INFO] [stdout]    |
[INFO] [stdout] 91 |             bits_per_pixel: try!(r.read_u8()),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 92 |             image_descriptor: try!(r.read_u8()),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tga.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut f = try!(File::open(filename));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/tga.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let num_bytes = (height * width * bytes_per_pixel);
[INFO] [stdout]     |                     ^                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -     let num_bytes = (height * width * bytes_per_pixel);
[INFO] [stdout] 108 +     let num_bytes = height * width * bytes_per_pixel;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tga.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let run_packet = try!(f.read_u8());
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tga.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     try!(f.by_ref().take(bytes_per_pixel as u64).read_to_end(&mut data));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tga.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     try!(f.by_ref().take(num_raw_bytes as u64).read_to_end(&mut image_buf));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/tga.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn from_reader(r: &mut Read) -> Result<TGAHeader, Error> {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn from_reader(r: &mut dyn Read) -> Result<TGAHeader, Error> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/model.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...                   why.description()),
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/geo.rs:269:47
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn draw(&self, mut image: &mut Image, color: Color, texture: &Image) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/geo.rs:269:24
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn draw(&self, mut image: &mut Image, color: Color, texture: &Image) {
[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: constant `WHITE` is never used
[INFO] [stdout]   --> src/image.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const WHITE: Color = Color(255, 255, 255);
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]   --> src/image.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const RED: Color = Color(0, 0, 255);
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]   --> src/image.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const GREEN: Color = Color(0, 255, 0);
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]   --> src/image.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const BLUE: Color = Color(255, 0, 0);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line` is never used
[INFO] [stdout]    --> src/image.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn line(point1: Vec2<i32>, point2: Vec2<i32>, image: &mut Image, color: Color) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_f64` are never used
[INFO] [stdout]   --> src/geo.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> Vec2<T> where T: VecNum {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn to_f64(self) -> Vec2<f64> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_i32` are never used
[INFO] [stdout]    --> src/geo.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout] 88  | impl<T> Vec3<T> where T: VecNum + Mul<T, Output=T> + Add<T, Output=T> {
[INFO] [stdout]     | --------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 89  |     pub fn new(x: T, y: T, z: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn to_i32(self) -> Vec3<i32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/geo.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl Vertex {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 193 |     pub fn new(coords: Vec3<f64>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `barycentric` is never used
[INFO] [stdout]    --> src/geo.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub fn barycentric(t0: &Vec3<i32>, t1: &Vec3<i32>, p: &Vec3<i32>) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_color`, `is_color_mapped`, and `is_encoded` are never used
[INFO] [stdout]   --> src/tga.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ImageType {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn is_color(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn is_color_mapped(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn is_encoded(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/tga.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct TGAHeader {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 64 |     id_length: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 65 |     color_map_type: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     data_type_code: u8,
[INFO] [stdout] 67 |     color_map_origin: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 68 |     color_map_length: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     color_map_depth: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     x_origin: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 71 |     y_origin: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     image_descriptor: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TGAHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     image.write_tga_file("output.tga");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let _ = image.write_tga_file("output.tga");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "3aa34169d20b884a14a65d73d1a1b4fdbf4998e11e54f4ecaf03e60937dadb01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3aa34169d20b884a14a65d73d1a1b4fdbf4998e11e54f4ecaf03e60937dadb01", kill_on_drop: false }`
[INFO] [stdout] 3aa34169d20b884a14a65d73d1a1b4fdbf4998e11e54f4ecaf03e60937dadb01
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a29c4cd145cd217041713489b360cad4ec1ef21a0d7ea9368f7225c8779fc506
[INFO] running `Command { std: "docker" "start" "-a" "a29c4cd145cd217041713489b360cad4ec1ef21a0d7ea9368f7225c8779fc506", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/image.rs:111:21
[INFO] [stderr]     |
[INFO] [stderr] 111 |         let mut f = try!(File::create(filename));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/image.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |             try!(f.write_all(struct_to_u8_slice(&h)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/image.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |             try!(f.write_all(slice_to_u8_slice(&self.data[..])));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:81:24
[INFO] [stderr]    |
[INFO] [stderr] 81 |             id_length: try!(r.read_u8()),
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:82:29
[INFO] [stderr]    |
[INFO] [stderr] 82 |             color_map_type: try!(r.read_u8()),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:83:29
[INFO] [stderr]    |
[INFO] [stderr] 83 |             data_type_code: try!(r.read_u8()),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:84:31
[INFO] [stderr]    |
[INFO] [stderr] 84 |             color_map_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:85:31
[INFO] [stderr]    |
[INFO] [stderr] 85 |             color_map_length: try!(r.read_u16::<LittleEndian>()),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:86:30
[INFO] [stderr]    |
[INFO] [stderr] 86 |             color_map_depth: try!(r.read_u8()),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:87:23
[INFO] [stderr]    |
[INFO] [stderr] 87 |             x_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:88:23
[INFO] [stderr]    |
[INFO] [stderr] 88 |             y_origin: try!(r.read_u16::<LittleEndian>()),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:89:20
[INFO] [stderr]    |
[INFO] [stderr] 89 |             width: try!(r.read_u16::<LittleEndian>()),
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:90:21
[INFO] [stderr]    |
[INFO] [stderr] 90 |             height: try!(r.read_u16::<LittleEndian>()),
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:91:29
[INFO] [stderr]    |
[INFO] [stderr] 91 |             bits_per_pixel: try!(r.read_u8()),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:92:31
[INFO] [stderr]    |
[INFO] [stderr] 92 |             image_descriptor: try!(r.read_u8()),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/tga.rs:98:17
[INFO] [stderr]    |
[INFO] [stderr] 98 |     let mut f = try!(File::open(filename));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/tga.rs:108:21
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let num_bytes = (height * width * bytes_per_pixel);
[INFO] [stderr]     |                     ^                                ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 108 -     let num_bytes = (height * width * bytes_per_pixel);
[INFO] [stderr] 108 +     let num_bytes = height * width * bytes_per_pixel;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tga.rs:114:34
[INFO] [stderr]     |
[INFO] [stderr] 114 |                 let run_packet = try!(f.read_u8());
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tga.rs:119:21
[INFO] [stderr]     |
[INFO] [stderr] 119 |                     try!(f.by_ref().take(bytes_per_pixel as u64).read_to_end(&mut data));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tga.rs:126:21
[INFO] [stderr]     |
[INFO] [stderr] 126 |                     try!(f.by_ref().take(num_raw_bytes as u64).read_to_end(&mut image_buf));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/tga.rs:79:28
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn from_reader(r: &mut Read) -> Result<TGAHeader, Error> {
[INFO] [stderr]    |                            ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn from_reader(r: &mut dyn Read) -> Result<TGAHeader, Error> {
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/model.rs:46:36
[INFO] [stderr]    |
[INFO] [stderr] 46 | ...                   why.description()),
[INFO] [stderr]    |                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color`
[INFO] [stderr]    --> src/geo.rs:269:47
[INFO] [stderr]     |
[INFO] [stderr] 269 |     pub fn draw(&self, mut image: &mut Image, color: Color, texture: &Image) {
[INFO] [stderr]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/geo.rs:269:24
[INFO] [stderr]     |
[INFO] [stderr] 269 |     pub fn draw(&self, mut image: &mut Image, color: Color, texture: &Image) {
[INFO] [stderr]     |                        ----^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE` is never used
[INFO] [stderr]   --> src/image.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub const WHITE: Color = Color(255, 255, 255);
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RED` is never used
[INFO] [stderr]   --> src/image.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const RED: Color = Color(0, 0, 255);
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GREEN` is never used
[INFO] [stderr]   --> src/image.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const GREEN: Color = Color(0, 255, 0);
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLUE` is never used
[INFO] [stderr]   --> src/image.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const BLUE: Color = Color(255, 0, 0);
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `line` is never used
[INFO] [stderr]    --> src/image.rs:121:8
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub fn line(point1: Vec2<i32>, point2: Vec2<i32>, image: &mut Image, color: Color) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `to_f64` are never used
[INFO] [stderr]   --> src/geo.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl<T> Vec2<T> where T: VecNum {
[INFO] [stderr]    | ------------------------------- associated items in this implementation
[INFO] [stderr] 19 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn to_f64(self) -> Vec2<f64> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `to_i32` are never used
[INFO] [stderr]    --> src/geo.rs:89:12
[INFO] [stderr]     |
[INFO] [stderr] 88  | impl<T> Vec3<T> where T: VecNum + Mul<T, Output=T> + Add<T, Output=T> {
[INFO] [stderr]     | --------------------------------------------------------------------- associated items in this implementation
[INFO] [stderr] 89  |     pub fn new(x: T, y: T, z: T) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn to_i32(self) -> Vec3<i32> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/geo.rs:193:12
[INFO] [stderr]     |
[INFO] [stderr] 192 | impl Vertex {
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 193 |     pub fn new(coords: Vec3<f64>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `barycentric` is never used
[INFO] [stderr]    --> src/geo.rs:347:8
[INFO] [stderr]     |
[INFO] [stderr] 347 | pub fn barycentric(t0: &Vec3<i32>, t1: &Vec3<i32>, p: &Vec3<i32>) -> f64 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_color`, `is_color_mapped`, and `is_encoded` are never used
[INFO] [stderr]   --> src/tga.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl ImageType {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     fn is_color(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     fn is_color_mapped(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     fn is_encoded(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/tga.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 63 | struct TGAHeader {
[INFO] [stderr]    |        --------- fields in this struct
[INFO] [stderr] 64 |     id_length: u8,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 65 |     color_map_type: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 66 |     data_type_code: u8,
[INFO] [stderr] 67 |     color_map_origin: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 68 |     color_map_length: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 69 |     color_map_depth: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 70 |     x_origin: u16,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 71 |     y_origin: u16,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     image_descriptor: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TGAHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     image.write_tga_file("output.tga");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let _ = image.write_tga_file("output.tga");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rustrender` (bin "rustrender" test) generated 36 warnings (run `cargo fix --bin "rustrender" --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustrender-ecdef052e106b08c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a29c4cd145cd217041713489b360cad4ec1ef21a0d7ea9368f7225c8779fc506", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a29c4cd145cd217041713489b360cad4ec1ef21a0d7ea9368f7225c8779fc506", kill_on_drop: false }`
[INFO] [stdout] a29c4cd145cd217041713489b360cad4ec1ef21a0d7ea9368f7225c8779fc506
