[INFO] cloning repository https://github.com/Latias94/games101_with_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Latias94/games101_with_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLatias94%2Fgames101_with_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLatias94%2Fgames101_with_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2cf25c4c0db7c9c16cd867cc9548bf38ab6be0fb
[INFO] checking Latias94/games101_with_rust/2cf25c4c0db7c9c16cd867cc9548bf38ab6be0fb against master#65407954098ca3c19f0d46092cb374b5d3e9dc3c for pr-157841
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLatias94%2Fgames101_with_rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Latias94/games101_with_rust
[INFO] finished tweaking git repo https://github.com/Latias94/games101_with_rust
[INFO] tweaked toml for git repo https://github.com/Latias94/games101_with_rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Latias94/games101_with_rust on toolchain 65407954098ca3c19f0d46092cb374b5d3e9dc3c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Latias94/games101_with_rust 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" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded safe_arch v0.7.1
[INFO] [stderr]   Downloaded nalgebra-glm v0.18.0
[INFO] [stderr]   Downloaded bytemuck v1.14.3
[INFO] [stderr]   Downloaded wayland-sys v0.29.5
[INFO] [stderr]   Downloaded xcursor v0.3.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.92
[INFO] [stderr]   Downloaded unicode-bidi v0.3.15
[INFO] [stderr]   Downloaded wayland-cursor v0.29.5
[INFO] [stderr]   Downloaded quick-error v2.0.1
[INFO] [stderr]   Downloaded loop9 v0.1.5
[INFO] [stderr]   Downloaded bitstream-io v1.10.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.92
[INFO] [stderr]   Downloaded fastrand v2.0.1
[INFO] [stderr]   Downloaded cty v0.2.2
[INFO] [stderr]   Downloaded rust_hawktracer_proc_macro v0.4.1
[INFO] [stderr]   Downloaded version-compare v0.1.1
[INFO] [stderr]   Downloaded aligned-vec v0.5.0
[INFO] [stderr]   Downloaded simba v0.8.1
[INFO] [stderr]   Downloaded bit_field v0.10.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.42
[INFO] [stderr]   Downloaded thiserror-impl v1.0.58
[INFO] [stderr]   Downloaded rust_hawktracer v0.7.0
[INFO] [stderr]   Downloaded raw-window-handle v0.4.3
[INFO] [stderr]   Downloaded avif-serialize v0.8.1
[INFO] [stderr]   Downloaded interpolate_name v0.2.4
[INFO] [stderr]   Downloaded rust_hawktracer_normal_macro v0.4.1
[INFO] [stderr]   Downloaded lebe v0.5.2
[INFO] [stderr]   Downloaded serde_spanned v0.6.5
[INFO] [stderr]   Downloaded ravif v0.11.4
[INFO] [stderr]   Downloaded libredox v0.0.2
[INFO] [stderr]   Downloaded simd_helpers v0.1.0
[INFO] [stderr]   Downloaded profiling v1.0.15
[INFO] [stderr]   Downloaded profiling-procmacros v1.0.15
[INFO] [stderr]   Downloaded noop_proc_macro v0.3.0
[INFO] [stderr]   Downloaded maybe-rayon v0.1.1
[INFO] [stderr]   Downloaded arg_enum_proc_macro v0.3.4
[INFO] [stderr]   Downloaded wayland-commons v0.29.5
[INFO] [stderr]   Downloaded v_frame v0.3.8
[INFO] [stderr]   Downloaded toml_datetime v0.6.5
[INFO] [stderr]   Downloaded bytemuck_derive v1.6.0
[INFO] [stderr]   Downloaded wayland-scanner v0.29.5
[INFO] [stderr]   Downloaded libloading v0.8.3
[INFO] [stderr]   Downloaded system-deps v6.2.0
[INFO] [stderr]   Downloaded built v0.7.1
[INFO] [stderr]   Downloaded num-complex v0.4.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]   Downloaded quote v1.0.35
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.92
[INFO] [stderr]   Downloaded target-lexicon v0.12.14
[INFO] [stderr]   Downloaded arbitrary v1.3.2
[INFO] [stderr]   Downloaded pkg-config v0.3.30
[INFO] [stderr]   Downloaded jobserver v0.1.28
[INFO] [stderr]   Downloaded zune-core v0.4.12
[INFO] [stderr]   Downloaded crc32fast v1.4.0
[INFO] [stderr]   Downloaded rgb v0.8.37
[INFO] [stderr]   Downloaded either v1.10.0
[INFO] [stderr]   Downloaded thiserror v1.0.58
[INFO] [stderr]   Downloaded semver v1.0.22
[INFO] [stderr]   Downloaded arbitrary v0.4.7
[INFO] [stderr]   Downloaded fdeflate v0.3.4
[INFO] [stderr]   Downloaded gif v0.13.1
[INFO] [stderr]   Downloaded smallvec v1.13.1
[INFO] [stderr]   Downloaded num-traits v0.2.18
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.19
[INFO] [stderr]   Downloaded tempfile v3.10.1
[INFO] [stderr]   Downloaded bitflags v2.4.2
[INFO] [stderr]   Downloaded pin-project-lite v0.2.13
[INFO] [stderr]   Downloaded bitstream-io v2.2.0
[INFO] [stderr]   Downloaded av1-grain v0.2.3
[INFO] [stderr]   Downloaded anyhow v1.0.81
[INFO] [stderr]   Downloaded built v0.5.2
[INFO] [stderr]   Downloaded image-webp v0.1.0
[INFO] [stderr]   Downloaded zune-inflate v0.2.54
[INFO] [stderr]   Downloaded half v2.4.0
[INFO] [stderr]   Downloaded cargo-lock v8.0.3
[INFO] [stderr]   Downloaded wide v0.7.15
[INFO] [stderr]   Downloaded xml-rs v0.8.19
[INFO] [stderr]   Downloaded zune-jpeg v0.4.11
[INFO] [stderr]   Downloaded toml v0.8.11
[INFO] [stderr]   Downloaded cfg-expr v0.15.7
[INFO] [stderr]   Downloaded proc-macro2 v1.0.79
[INFO] [stderr]   Downloaded matrixmultiply v0.3.8
[INFO] [stderr]   Downloaded wayland-client v0.29.5
[INFO] [stderr]   Downloaded js-sys v0.3.69
[INFO] [stderr]   Downloaded cc v1.0.90
[INFO] [stderr]   Downloaded serde_derive v1.0.197
[INFO] [stderr]   Downloaded flate2 v1.0.28
[INFO] [stderr]   Downloaded url v2.5.0
[INFO] [stderr]   Downloaded imgref v1.10.1
[INFO] [stderr]   Downloaded qoi v0.4.1
[INFO] [stderr]   Downloaded flume v0.11.0
[INFO] [stderr]   Downloaded bumpalo v3.15.4
[INFO] [stderr]   Downloaded serde v1.0.197
[INFO] [stderr]   Downloaded minifb v0.25.0
[INFO] [stderr]   Downloaded indexmap v2.2.5
[INFO] [stderr]   Downloaded memchr v2.7.1
[INFO] [stderr]   Downloaded png v0.17.13
[INFO] [stderr]   Downloaded libfuzzer-sys v0.3.5
[INFO] [stderr]   Downloaded libfuzzer-sys v0.4.7
[INFO] [stderr]   Downloaded toml_edit v0.22.7
[INFO] [stderr]   Downloaded wayland-protocols v0.29.5
[INFO] [stderr]   Downloaded sdl2 v0.35.2
[INFO] [stderr]   Downloaded winnow v0.6.5
[INFO] [stderr]   Downloaded rayon v1.9.0
[INFO] [stderr]   Downloaded idna v0.5.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.92
[INFO] [stderr]   Downloaded exr v1.72.0
[INFO] [stderr]   Downloaded syn v2.0.52
[INFO] [stderr]   Downloaded rustix v0.38.31
[INFO] [stderr]   Downloaded nalgebra v0.32.4
[INFO] [stderr]   Downloaded libc v0.2.153
[INFO] [stderr]   Downloaded web-sys v0.3.69
[INFO] [stderr]   Downloaded orbclient v0.3.47
[INFO] [stderr]   Downloaded rav1e v0.6.6
[INFO] [stderr]   Downloaded rav1e v0.7.1
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.13
[INFO] [stderr]   Downloaded sdl2-sys v0.35.2
[INFO] [stderr]   Downloaded image v0.25.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384
[INFO] running `Command { std: "docker" "start" "2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384" "/opt/rustwide/cargo-home/bin/cargo" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384" "/opt/rustwide/cargo-home/bin/cargo" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking libloading v0.8.3
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling anyhow v1.0.81
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling built v0.7.1
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking bitstream-io v2.2.0
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling cc v1.0.90
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling minifb v0.25.0
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking zune-jpeg v0.4.11
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking image-webp v0.1.0
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking wide v0.7.15
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking ravif v0.11.4
[INFO] [stderr]     Checking image v0.25.0
[INFO] [stderr]     Checking nalgebra v0.32.4
[INFO] [stderr]     Checking nalgebra-glm v0.18.0
[INFO] [stderr]     Checking assignment2 v0.1.0 (/opt/rustwide/workdir/assignment2)
[INFO] [stderr]     Checking assignment1 v0.1.0 (/opt/rustwide/workdir/assignment1)
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> assignment2/src/rasterizer.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> assignment2/src/rasterizer.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> assignment2/src/rasterizer.rs:89:47
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> assignment1/src/color.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | / #[repr(C)]
[INFO] [stdout] 2 | | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, bytemuck::Zeroable, bytemuck::Pod)]
[INFO] [stdout] 3 | | pub struct Color {
[INFO] [stdout] 4 | |     pub r: u8,
[INFO] [stdout] ... |
[INFO] [stdout] 7 | |     pub a: u8,
[INFO] [stdout] 8 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> assignment1/src/color.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Color {
[INFO] [stdout]   |            ^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> assignment1/src/color.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | / #[repr(C)]
[INFO] [stdout] 2 | | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, bytemuck::Zeroable, bytemuck::Pod)]
[INFO] [stdout] 3 | | pub struct Color {
[INFO] [stdout] 4 | |     pub r: u8,
[INFO] [stdout] ... |
[INFO] [stdout] 7 | |     pub a: u8,
[INFO] [stdout] 8 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> assignment1/src/color.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Color {
[INFO] [stdout]   |            ^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> assignment2/src/rasterizer.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let v = t.to_vector4();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> assignment2/src/color.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / #[repr(C)]
[INFO] [stdout]  4 | | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, bytemuck::Zeroable, bytemuck::Pod)]
[INFO] [stdout]  5 | | pub struct Color {
[INFO] [stdout]  6 | |     pub r: u8,
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     pub a: u8,
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> assignment2/src/color.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Color {
[INFO] [stdout]   |            ^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inside_triangle` and `compute_barycentric2d` are never used
[INFO] [stdout]    --> assignment2/src/rasterizer.rs:89:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Rasterizer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn compute_barycentric2d(&self, x: u32, y: u32, v: [Vec4; 3]) -> (f32, f32, f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> assignment1/src/main.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     todo!();
[INFO] [stdout]     |     ------- any code following this expression is unreachable
[INFO] [stdout] 106 |     model
[INFO] [stdout]     |     ^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> assignment1/src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut model = Mat4::identity();
[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: `rotation_angle`
[INFO] [stdout]    --> assignment1/src/main.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn get_model_matrix(rotation_angle: f32) -> Mat4 {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotation_angle`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> assignment1/src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut model = Mat4::identity();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eye_fov`
[INFO] [stdout]    --> assignment1/src/main.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_fov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect_ratio`
[INFO] [stdout]    --> assignment1/src/main.rs:109:40
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_near`
[INFO] [stdout]    --> assignment1/src/main.rs:109:59
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_far`
[INFO] [stdout]    --> assignment1/src/main.rs:109:72
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_z_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> assignment2/src/rasterizer.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> assignment2/src/rasterizer.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> assignment2/src/rasterizer.rs:89:47
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> assignment2/src/rasterizer.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let v = t.to_vector4();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> assignment2/src/color.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / #[repr(C)]
[INFO] [stdout]  4 | | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, bytemuck::Zeroable, bytemuck::Pod)]
[INFO] [stdout]  5 | | pub struct Color {
[INFO] [stdout]  6 | |     pub r: u8,
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     pub a: u8,
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> assignment2/src/color.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Color {
[INFO] [stdout]   |            ^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inside_triangle` and `compute_barycentric2d` are never used
[INFO] [stdout]    --> assignment2/src/rasterizer.rs:89:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Rasterizer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  89 |     fn inside_triangle(&self, x: u32, y: u32, v: [Vec4; 3]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn compute_barycentric2d(&self, x: u32, y: u32, v: [Vec4; 3]) -> (f32, f32, f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `rasterizer`
[INFO] [stdout]    --> assignment2/examples/rasterizer.rs:344:2
[INFO] [stdout]     |
[INFO] [stdout] 344 | }
[INFO] [stdout]     |  ^ consider adding a `main` function to `assignment2/examples/rasterizer.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> assignment2/src/main.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     todo!();
[INFO] [stdout]     |     ------- any code following this expression is unreachable
[INFO] [stdout] 128 |     model
[INFO] [stdout]     |     ^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> assignment2/src/main.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut model = Mat4::identity();
[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: `rotation_angle`
[INFO] [stdout]    --> assignment2/src/main.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn get_model_matrix(rotation_angle: f32) -> Mat4 {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotation_angle`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> assignment2/src/main.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut model = Mat4::identity();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eye_fov`
[INFO] [stdout]    --> assignment2/src/main.rs:131:26
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_fov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect_ratio`
[INFO] [stdout]    --> assignment2/src/main.rs:131:40
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_near`
[INFO] [stdout]    --> assignment2/src/main.rs:131:59
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_far`
[INFO] [stdout]    --> assignment2/src/main.rs:131:72
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_z_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> assignment2/src/main.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     todo!();
[INFO] [stdout]     |     ------- any code following this expression is unreachable
[INFO] [stdout] 128 |     model
[INFO] [stdout]     |     ^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> assignment2/src/main.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut model = Mat4::identity();
[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: `rotation_angle`
[INFO] [stdout]    --> assignment2/src/main.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn get_model_matrix(rotation_angle: f32) -> Mat4 {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotation_angle`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> assignment2/src/main.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut model = Mat4::identity();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eye_fov`
[INFO] [stdout]    --> assignment2/src/main.rs:131:26
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_fov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect_ratio`
[INFO] [stdout]    --> assignment2/src/main.rs:131:40
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_near`
[INFO] [stdout]    --> assignment2/src/main.rs:131:59
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_far`
[INFO] [stdout]    --> assignment2/src/main.rs:131:72
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_z_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> assignment1/src/main.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     todo!();
[INFO] [stdout]     |     ------- any code following this expression is unreachable
[INFO] [stdout] 106 |     model
[INFO] [stdout]     |     ^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `assignment2` (example "rasterizer") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> assignment1/src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut model = Mat4::identity();
[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: `rotation_angle`
[INFO] [stdout]    --> assignment1/src/main.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn get_model_matrix(rotation_angle: f32) -> Mat4 {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotation_angle`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> assignment1/src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut model = Mat4::identity();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eye_fov`
[INFO] [stdout]    --> assignment1/src/main.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_fov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aspect_ratio`
[INFO] [stdout]    --> assignment1/src/main.rs:109:40
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_near`
[INFO] [stdout]    --> assignment1/src/main.rs:109:59
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_far`
[INFO] [stdout]    --> assignment1/src/main.rs:109:72
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn get_projection_matrix(eye_fov: f32, aspect_ratio: f32, z_near: f32, z_far: f32) -> Mat4 {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_z_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_model_matrix_by_any_axis` is never used
[INFO] [stdout]    --> assignment2/examples/hw2.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 | fn get_model_matrix_by_any_axis(angle: f32, axis: Vec3) -> Mat4 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Line` is never constructed
[INFO] [stdout]   --> assignment2/examples/rasterizer.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Primitive {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 24 |     Line,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `framebuffer_u32` and `draw_line` are never used
[INFO] [stdout]    --> assignment2/examples/rasterizer.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Rasterizer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn framebuffer_u32(&self) -> &[u32] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn draw_line(&mut self, begin: Vec3, end: Vec3, color: Color) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384", kill_on_drop: false }`
[INFO] [stdout] 2103af8a67b02dd0706220a2057d62679edb84169a07f5a4e109115644da5384
