[INFO] updating cached repository https://github.com/fkaa/sw-rasterizer
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] d9ff9197161a9e4e7dc42ff4a6b883c1422d648f
[INFO] checking fkaa/sw-rasterizer against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffkaa%2Fsw-rasterizer" "/workspace/builds/worker-8/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/fkaa/sw-rasterizer on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/fkaa/sw-rasterizer
[INFO] finished tweaking git repo https://github.com/fkaa/sw-rasterizer
[INFO] tweaked toml for git repo https://github.com/fkaa/sw-rasterizer written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/fkaa/sw-rasterizer already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] db3076ca8794828a27907d91e84f415e1ebcd75d024b7ab7899b9bfe0364a092
[INFO] running `"docker" "start" "-a" "db3076ca8794828a27907d91e84f415e1ebcd75d024b7ab7899b9bfe0364a092"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking libc v0.2.17
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling phf_shared v0.7.19
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking lazy_static v0.2.2
[INFO] [stderr]    Compiling serde v0.8.17
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]    Compiling num-traits v0.1.36
[INFO] [stderr]    Compiling itoa v0.1.1
[INFO] [stderr]    Compiling dtoa v0.2.2
[INFO] [stderr]    Compiling log v0.3.6
[INFO] [stderr]    Compiling khronos_api v1.0.0
[INFO] [stderr]     Checking rustc-serialize v0.3.21
[INFO] [stderr]     Checking bitflags v0.6.0
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling gcc v0.3.38
[INFO] [stderr]    Compiling pkg-config v0.3.8
[INFO] [stderr]     Checking byteorder v0.5.3
[INFO] [stderr]    Compiling sdl2-sys v0.23.0
[INFO] [stderr]     Checking nom v1.2.4
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking bitflags v0.5.0
[INFO] [stderr]     Checking libc v0.1.12
[INFO] [stderr]     Checking approx v0.1.1
[INFO] [stderr]     Checking obj v0.5.0
[INFO] [stderr]    Compiling xml-rs v0.3.4
[INFO] [stderr]     Checking draw_state v0.6.0
[INFO] [stderr]    Compiling phf v0.7.19
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking rand v0.3.14
[INFO] [stderr]     Checking shared_library v0.1.5
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]    Compiling cmake v0.1.18
[INFO] [stderr]     Checking num-integer v0.1.32
[INFO] [stderr]     Checking clock_ticks v0.1.0
[INFO] [stderr]     Checking semver v0.2.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking hprof v0.1.3
[INFO] [stderr]     Checking num-iter v0.1.32
[INFO] [stderr]     Checking gfx_core v0.5.0 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]    Compiling gl_generator v0.5.2
[INFO] [stderr]    Compiling wayland-scanner v0.7.5
[INFO] [stderr]     Checking fs2 v0.2.5
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking memmap v0.4.0
[INFO] [stderr]    Compiling tempfile v2.1.4
[INFO] [stderr]    Compiling phf_generator v0.7.19
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]    Compiling phf_codegen v0.7.19
[INFO] [stderr]    Compiling target_build_utils v0.1.2
[INFO] [stderr]    Compiling x11-dl v2.11.0
[INFO] [stderr]    Compiling serde_json v0.8.3
[INFO] [stderr]     Checking num-bigint v0.1.35
[INFO] [stderr]     Checking num-complex v0.1.35
[INFO] [stderr]     Checking cgmath v0.12.0
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking num-rational v0.1.35
[INFO] [stderr]    Compiling glfw-sys v3.2.1
[INFO] [stderr]     Checking num v0.1.36
[INFO] [stderr]    Compiling wayland-client v0.7.5
[INFO] [stderr]     Checking enum_primitive v0.1.0
[INFO] [stderr]     Checking sdl2 v0.23.0
[INFO] [stderr]    Compiling gfx_gl v0.3.1
[INFO] [stderr]    Compiling glutin v0.7.0
[INFO] [stderr]     Checking glfw v0.5.0
[INFO] [stderr]    Compiling libloading v0.3.1
[INFO] [stderr]     Checking gfx_device_gl v0.12.0 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]     Checking gfx v0.13.0 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]     Checking dlib v0.3.1
[INFO] [stderr]     Checking gfx_window_sdl v0.4.0 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]     Checking gfx_window_glfw v0.12.0 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]     Checking wayland-sys v0.7.5
[INFO] [stderr]     Checking wayland-window v0.4.2
[INFO] [stderr]     Checking wayland-kbd v0.6.2
[INFO] [stderr]     Checking winit v0.5.5
[INFO] [stderr]     Checking gfx_window_glutin v0.13.1 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]     Checking gfx_app v0.3.0 (https://github.com/gfx-rs/gfx#dae247ce)
[INFO] [stderr]     Checking sw-rast v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `cgmath::SquareMatrix`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use cgmath::SquareMatrix;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Depth`, `Rgba8`
[INFO] [stderr]   --> src/main.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 | use gfx::format::{Rgba8, Depth, ChannelType};
[INFO] [stderr]    |                   ^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Access`
[INFO] [stderr]   --> src/main.rs:17:26
[INFO] [stderr]    |
[INFO] [stderr] 17 | use gfx::memory::{Usage, Access};
[INFO] [stderr]    |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gfx_app::ColorFormat`
[INFO] [stderr]   --> src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use gfx_app::ColorFormat;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vector3`
[INFO] [stderr]  --> src/rasterizer.rs:3:32
[INFO] [stderr]   |
[INFO] [stderr] 3 | use cgmath::{Matrix4, Vector4, Vector3, Vector2};
[INFO] [stderr]   |                                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/rasterizer.rs:198:26
[INFO] [stderr]     |
[INFO] [stderr] 198 |                 for x in (min.x..max.x) {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/rasterizer.rs:199:30
[INFO] [stderr]     |
[INFO] [stderr] 199 |                     for y in (min.y..max.y) {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/main.rs:183:76
[INFO] [stderr]     |
[INFO] [stderr] 183 |         self.rasterizer.set_proj(cgmath::perspective(cgmath::Deg(60.0f32), (SIZE.0 as f32 / SIZE.1 as f32), 0.1, 1000.0));
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/main.rs:67:1
[INFO] [stderr]    |
[INFO] [stderr] 67 | / gfx_defines!{
[INFO] [stderr] 68 | |     vertex BlitVertex {
[INFO] [stderr] 69 | |         pos: [f32; 2] = "a_Pos",
[INFO] [stderr] 70 | |         uv: [f32; 2] = "a_Uv",
[INFO] [stderr] ...  |
[INFO] [stderr] 77 | |     }
[INFO] [stderr] 78 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cgmath::SquareMatrix`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use cgmath::SquareMatrix;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Depth`, `Rgba8`
[INFO] [stderr]   --> src/main.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 | use gfx::format::{Rgba8, Depth, ChannelType};
[INFO] [stderr]    |                   ^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Access`
[INFO] [stderr]   --> src/main.rs:17:26
[INFO] [stderr]    |
[INFO] [stderr] 17 | use gfx::memory::{Usage, Access};
[INFO] [stderr]    |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gfx_app::ColorFormat`
[INFO] [stderr]   --> src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use gfx_app::ColorFormat;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vector3`
[INFO] [stderr]  --> src/rasterizer.rs:3:32
[INFO] [stderr]   |
[INFO] [stderr] 3 | use cgmath::{Matrix4, Vector4, Vector3, Vector2};
[INFO] [stderr]   |                                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/rasterizer.rs:198:26
[INFO] [stderr]     |
[INFO] [stderr] 198 |                 for x in (min.x..max.x) {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/rasterizer.rs:199:30
[INFO] [stderr]     |
[INFO] [stderr] 199 |                     for y in (min.y..max.y) {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/main.rs:183:76
[INFO] [stderr]     |
[INFO] [stderr] 183 |         self.rasterizer.set_proj(cgmath::perspective(cgmath::Deg(60.0f32), (SIZE.0 as f32 / SIZE.1 as f32), 0.1, 1000.0));
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/main.rs:67:1
[INFO] [stderr]    |
[INFO] [stderr] 67 | / gfx_defines!{
[INFO] [stderr] 68 | |     vertex BlitVertex {
[INFO] [stderr] 69 | |         pos: [f32; 2] = "a_Pos",
[INFO] [stderr] 70 | |         uv: [f32; 2] = "a_Uv",
[INFO] [stderr] ...  |
[INFO] [stderr] 77 | |     }
[INFO] [stderr] 78 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fragment`
[INFO] [stderr]   --> src/main.rs:60:24
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub fn fragment_shader(fragment: Vector2<f32>, input: Uv) -> Vector4<f32> {
[INFO] [stderr]    |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ndc`
[INFO] [stderr]    --> src/rasterizer.rs:135:17
[INFO] [stderr]     |
[INFO] [stderr] 135 |             let ndc = Vector2::new(2f32 * screen.x / width - 1f32,
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ndc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `near`
[INFO] [stderr]    --> src/rasterizer.rs:133:66
[INFO] [stderr]     |
[INFO] [stderr] 133 |         fn map_coord(vec: Vector4<f32>, width: f32, height: f32, near: f32) -> Vector2<i32> {
[INFO] [stderr]     |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_near`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mask`
[INFO] [stderr]    --> src/rasterizer.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let mask = step - 1;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w1_step`
[INFO] [stderr]    --> src/rasterizer.rs:194:22
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let (w1_step, w2_step, w3_step) = (edge_step(p1, p2, 1),
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w1_step`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w2_step`
[INFO] [stderr]    --> src/rasterizer.rs:194:31
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let (w1_step, w2_step, w3_step) = (edge_step(p1, p2, 1),
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w2_step`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w3_step`
[INFO] [stderr]    --> src/rasterizer.rs:194:40
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let (w1_step, w2_step, w3_step) = (edge_step(p1, p2, 1),
[INFO] [stderr]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w3_step`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fragment`
[INFO] [stderr]   --> src/main.rs:60:24
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub fn fragment_shader(fragment: Vector2<f32>, input: Uv) -> Vector4<f32> {
[INFO] [stderr]    |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ndc`
[INFO] [stderr]    --> src/rasterizer.rs:135:17
[INFO] [stderr]     |
[INFO] [stderr] 135 |             let ndc = Vector2::new(2f32 * screen.x / width - 1f32,
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ndc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `near`
[INFO] [stderr]    --> src/rasterizer.rs:133:66
[INFO] [stderr]     |
[INFO] [stderr] 133 |         fn map_coord(vec: Vector4<f32>, width: f32, height: f32, near: f32) -> Vector2<i32> {
[INFO] [stderr]     |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_near`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mask`
[INFO] [stderr]    --> src/rasterizer.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let mask = step - 1;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w1_step`
[INFO] [stderr]    --> src/rasterizer.rs:194:22
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let (w1_step, w2_step, w3_step) = (edge_step(p1, p2, 1),
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w1_step`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w2_step`
[INFO] [stderr]    --> src/rasterizer.rs:194:31
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let (w1_step, w2_step, w3_step) = (edge_step(p1, p2, 1),
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w2_step`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w3_step`
[INFO] [stderr]    --> src/rasterizer.rs:194:40
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let (w1_step, w2_step, w3_step) = (edge_step(p1, p2, 1),
[INFO] [stderr]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w3_step`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rasterizer.rs:207:46
[INFO] [stderr]     |
[INFO] [stderr] 207 | ...                   let (mut w1, mut w2, mut w3) = (edge_function(p1, p2, point),
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/rasterizer.rs:207:54
[INFO] [stderr]     |
[INFO] [stderr] 207 | ...                   let (mut w1, mut w2, mut w3) = (edge_function(p1, p2, point),
[INFO] [stderr]     |                                    ----^^
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rasterizer.rs:207:62
[INFO] [stderr]     |
[INFO] [stderr] 207 | ...                   let (mut w1, mut w2, mut w3) = (edge_function(p1, p2, point),
[INFO] [stderr]     |                                            ----^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rasterizer.rs:207:46
[INFO] [stderr]     |
[INFO] [stderr] 207 | ...                   let (mut w1, mut w2, mut w3) = (edge_function(p1, p2, point),
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/rasterizer.rs:207:54
[INFO] [stderr]     |
[INFO] [stderr] 207 | ...                   let (mut w1, mut w2, mut w3) = (edge_function(p1, p2, point),
[INFO] [stderr]     |                                    ----^^
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rasterizer.rs:207:62
[INFO] [stderr]     |
[INFO] [stderr] 207 | ...                   let (mut w1, mut w2, mut w3) = (edge_function(p1, p2, point),
[INFO] [stderr]     |                                            ----^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `depthbuffer`
[INFO] [stderr]   --> src/rasterizer.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn depthbuffer(&self) -> &Vec<[u8; 4]> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/main.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(slice_patterns)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0635]: unknown feature `step_by`
[INFO] [stderr]  --> src/main.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | #![feature(step_by)]
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/rasterizer.rs:145:35
[INFO] [stderr]     |
[INFO] [stderr] 145 |             if let (&[a, b, c], &[A, B, C]) = triangle {
[INFO] [stderr]     |                                   ^ help: convert the identifier to snake case: `a`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/rasterizer.rs:145:38
[INFO] [stderr]     |
[INFO] [stderr] 145 |             if let (&[a, b, c], &[A, B, C]) = triangle {
[INFO] [stderr]     |                                      ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C` should have a snake case name
[INFO] [stderr]    --> src/rasterizer.rs:145:41
[INFO] [stderr]     |
[INFO] [stderr] 145 |             if let (&[a, b, c], &[A, B, C]) = triangle {
[INFO] [stderr]     |                                         ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `depthbuffer`
[INFO] [stderr]   --> src/rasterizer.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn depthbuffer(&self) -> &Vec<[u8; 4]> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/main.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(slice_patterns)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0635]: unknown feature `step_by`
[INFO] [stderr]  --> src/main.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | #![feature(step_by)]
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/rasterizer.rs:145:35
[INFO] [stderr]     |
[INFO] [stderr] 145 |             if let (&[a, b, c], &[A, B, C]) = triangle {
[INFO] [stderr]     |                                   ^ help: convert the identifier to snake case: `a`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/rasterizer.rs:145:38
[INFO] [stderr]     |
[INFO] [stderr] 145 |             if let (&[a, b, c], &[A, B, C]) = triangle {
[INFO] [stderr]     |                                      ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C` should have a snake case name
[INFO] [stderr]    --> src/rasterizer.rs:145:41
[INFO] [stderr]     |
[INFO] [stderr] 145 |             if let (&[a, b, c], &[A, B, C]) = triangle {
[INFO] [stderr]     |                                         ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0635`.
[INFO] [stderr] error: could not compile `sw-rast`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0635`.
[INFO] [stderr] error: could not compile `sw-rast`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "db3076ca8794828a27907d91e84f415e1ebcd75d024b7ab7899b9bfe0364a092"`
[INFO] running `"docker" "rm" "-f" "db3076ca8794828a27907d91e84f415e1ebcd75d024b7ab7899b9bfe0364a092"`
[INFO] [stdout] db3076ca8794828a27907d91e84f415e1ebcd75d024b7ab7899b9bfe0364a092
