[INFO] cloning repository https://github.com/SaintNicholas/sticks [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SaintNicholas/sticks" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaintNicholas%2Fsticks", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaintNicholas%2Fsticks'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2a97f13c5e9975bf475ee3974002472500b76adc [INFO] checking SaintNicholas/sticks against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaintNicholas%2Fsticks" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/SaintNicholas/sticks on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/SaintNicholas/sticks [INFO] finished tweaking git repo https://github.com/SaintNicholas/sticks [INFO] tweaked toml for git repo https://github.com/SaintNicholas/sticks written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/SaintNicholas/sticks already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] error: the lock file /workspace/builds/worker-6/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0da26d9bb4ea962645ee66fb9d1bb896f948932aee72233cd48e9753dd08068c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0da26d9bb4ea962645ee66fb9d1bb896f948932aee72233cd48e9753dd08068c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0da26d9bb4ea962645ee66fb9d1bb896f948932aee72233cd48e9753dd08068c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0da26d9bb4ea962645ee66fb9d1bb896f948932aee72233cd48e9753dd08068c", kill_on_drop: false }` [INFO] [stdout] 0da26d9bb4ea962645ee66fb9d1bb896f948932aee72233cd48e9753dd08068c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0f8cc3748bd87820368c9b2a8ad0cfca518df2318bb91285bd83808c8bbdf336 [INFO] running `Command { std: "docker" "start" "-a" "0f8cc3748bd87820368c9b2a8ad0cfca518df2318bb91285bd83808c8bbdf336", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking nom v1.2.4 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking sticks v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:153:46 [INFO] [stdout] | [INFO] [stdout] 153 | ... let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [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/wavefront/object_parser.rs:168:19 [INFO] [stdout] | [INFO] [stdout] 168 | triangle.v1 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v1.v)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:169:19 [INFO] [stdout] | [INFO] [stdout] 169 | triangle.v2 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v2.v)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | triangle.v3 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v3.v)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:173:29 [INFO] [stdout] | [INFO] [stdout] 173 | triangle.vt1 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:176:29 [INFO] [stdout] | [INFO] [stdout] 176 | triangle.vt2 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:179:29 [INFO] [stdout] | [INFO] [stdout] 179 | triangle.vt3 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | triangle.vn1 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | triangle.vn2 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:189:29 [INFO] [stdout] | [INFO] [stdout] 189 | triangle.vn3 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `geometry::matrix::*` [INFO] [stdout] --> src/geometry/vector.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use geometry::matrix::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/geometry/vector.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / macro_rules! assert_delta { [INFO] [stdout] 74 | | ($x:expr, $y:expr, $d:expr) => { [INFO] [stdout] 75 | | if $x - $y >= $d || $y - $x >= $d { panic!(); } [INFO] [stdout] 76 | | } [INFO] [stdout] 77 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/geometry/matrix.rs:118:15 [INFO] [stdout] | [INFO] [stdout] 118 | if(row_with_nonzero_kk != k) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/geometry/matrix.rs:235:1 [INFO] [stdout] | [INFO] [stdout] 235 | / macro_rules! assert_delta { [INFO] [stdout] 236 | | ($x:expr, $y:expr, $d:expr) => { [INFO] [stdout] 237 | | if $x - $y >= $d || $y - $x >= $d { panic!("x: {:?}, y: {:?}, d: {:?}", $x, $y, $d); } [INFO] [stdout] 238 | | } [INFO] [stdout] 239 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `digit`, `eof`, `not_line_ending` [INFO] [stdout] --> src/wavefront/material_parser.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use nom::{space, digit, eof, not_line_ending}; [INFO] [stdout] | ^^^^^ ^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `parse_blank_line`, `parse_comment`, `parse_eol` [INFO] [stdout] --> src/wavefront/material_parser.rs:4:66 [INFO] [stdout] | [INFO] [stdout] 4 | use wavefront::parser_utilities::{parse_f64, parse_ignored_line, parse_blank_line, parse_comment, parse_eol, not_space}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/wavefront/object_parser.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | 'parsing_values: for value in values { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SubCommand` [INFO] [stdout] --> src/main.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use clap::{App, Arg, SubCommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:153:46 [INFO] [stdout] | [INFO] [stdout] 153 | ... let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [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/wavefront/object_parser.rs:168:19 [INFO] [stdout] | [INFO] [stdout] 168 | triangle.v1 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v1.v)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:169:19 [INFO] [stdout] | [INFO] [stdout] 169 | triangle.v2 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v2.v)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | triangle.v3 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v3.v)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:173:29 [INFO] [stdout] | [INFO] [stdout] 173 | triangle.vt1 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:176:29 [INFO] [stdout] | [INFO] [stdout] 176 | triangle.vt2 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:179:29 [INFO] [stdout] | [INFO] [stdout] 179 | triangle.vt3 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | triangle.vn1 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | triangle.vn2 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/wavefront/object_parser.rs:189:29 [INFO] [stdout] | [INFO] [stdout] 189 | triangle.vn3 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `geometry::matrix::*` [INFO] [stdout] --> src/geometry/vector.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use geometry::matrix::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/geometry/matrix.rs:118:15 [INFO] [stdout] | [INFO] [stdout] 118 | if(row_with_nonzero_kk != k) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `digit`, `eof`, `not_line_ending` [INFO] [stdout] --> src/wavefront/material_parser.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use nom::{space, digit, eof, not_line_ending}; [INFO] [stdout] | ^^^^^ ^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `parse_blank_line`, `parse_comment`, `parse_eol` [INFO] [stdout] --> src/wavefront/material_parser.rs:4:66 [INFO] [stdout] | [INFO] [stdout] 4 | use wavefront::parser_utilities::{parse_f64, parse_ignored_line, parse_blank_line, parse_comment, parse_eol, not_space}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Err` [INFO] [stdout] --> src/wavefront/material_parser.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | use nom::{Err}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/wavefront/object_parser.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | 'parsing_values: for value in values { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/wavefront/object_parser.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SubCommand` [INFO] [stdout] --> src/main.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use clap::{App, Arg, SubCommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | Err(why) => panic!("couldn't open {}: {}", j, why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:93:68 [INFO] [stdout] | [INFO] [stdout] 93 | Err(why) => panic!("couldn't read from {}: {}", j, why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:108:73 [INFO] [stdout] | [INFO] [stdout] 108 | Err(why) => panic!("couldn't open {}: {}", "File to write", why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | Err(why) => panic!("couldn't open {}: {}", j, why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:93:68 [INFO] [stdout] | [INFO] [stdout] 93 | Err(why) => panic!("couldn't read from {}: {}", j, why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:108:73 [INFO] [stdout] | [INFO] [stdout] 108 | Err(why) => panic!("couldn't open {}: {}", "File to write", why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `object` is never read [INFO] [stdout] --> src/main.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut object: Option = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `output` is never read [INFO] [stdout] --> src/main.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut output: Option = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp` is never read [INFO] [stdout] --> src/geometry/matrix.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | let mut temp = zero; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> src/wavefront/material_parser.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | } else if let Incomplete(remaining) = result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> src/wavefront/object_parser.rs:127:30 [INFO] [stdout] | [INFO] [stdout] 127 | } else if let Incomplete(remaining) = result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `usize_index` is never read [INFO] [stdout] --> src/wavefront/object_parser.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | let mut usize_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/wavefront/parser_utilities.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | if let Some(j) = neg { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/wavefront/parser_utilities.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | if let Some(j) = neg { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wavefront/object_parser.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | ... let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [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: variable does not need to be mutable [INFO] [stdout] --> src/wavefront/parser_utilities.rs:31:20 [INFO] [stdout] | [INFO] [stdout] 31 | let mut int_string: String = a.to_string(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `object` is never read [INFO] [stdout] --> src/main.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut object: Option = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `output` is never read [INFO] [stdout] --> src/main.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut output: Option = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp` is never read [INFO] [stdout] --> src/geometry/matrix.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | let mut temp = zero; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> src/wavefront/material_parser.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | } else if let Incomplete(remaining) = result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> src/wavefront/object_parser.rs:127:30 [INFO] [stdout] | [INFO] [stdout] 127 | } else if let Incomplete(remaining) = result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `usize_index` is never read [INFO] [stdout] --> src/wavefront/object_parser.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | let mut usize_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/wavefront/parser_utilities.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | if let Some(j) = neg { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/wavefront/parser_utilities.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | if let Some(j) = neg { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `scale` [INFO] [stdout] --> src/geometry/vector.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn scale(self, other: T) -> Vec3 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `dot_product` [INFO] [stdout] --> src/geometry/vector.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | fn dot_product(self, other: Vec3) -> T { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `cross_product` [INFO] [stdout] --> src/geometry/vector.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn cross_product(self, other: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `norm` [INFO] [stdout] --> src/geometry/vector.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | fn norm(&self) -> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `length` [INFO] [stdout] --> src/geometry/vector.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | fn length(&self) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `normalize` [INFO] [stdout] --> src/geometry/vector.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | fn normalize(self) -> Vec3{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `assert_eq_float_range` [INFO] [stdout] --> src/geometry/vector.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_identity` [INFO] [stdout] --> src/geometry/matrix.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | fn new_identity() -> Matrix44 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `transpose` [INFO] [stdout] --> src/geometry/matrix.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | fn transpose(self) -> Matrix44 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `inverse2` [INFO] [stdout] --> src/geometry/matrix.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn inverse2(self) -> Matrix44 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `multDirMatrix` [INFO] [stdout] --> src/geometry/matrix.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `assert_eq_float_range` [INFO] [stdout] --> src/geometry/matrix.rs:241:4 [INFO] [stdout] | [INFO] [stdout] 241 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ColorOnAmbientOff` [INFO] [stdout] --> src/wavefront/material_parser.rs:51:3 [INFO] [stdout] | [INFO] [stdout] 51 | ColorOnAmbientOff, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ColorOnAmbientOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:52:3 [INFO] [stdout] | [INFO] [stdout] 52 | ColorOnAmbientOn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `HighlightOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:53:3 [INFO] [stdout] | [INFO] [stdout] 53 | HighlightOn, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ReflectionOnAndRayTraceOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | ReflectionOnAndRayTraceOn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TransparencyGlassOnReflectionRayTraceOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:55:3 [INFO] [stdout] | [INFO] [stdout] 55 | TransparencyGlassOnReflectionRayTraceOn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ReflectionFresnelOnAndRayTraceOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:56:3 [INFO] [stdout] | [INFO] [stdout] 56 | ReflectionFresnelOnAndRayTraceOn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TransparencyRefractionOnReflectionFresnelOffAndRayTraceOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:57:3 [INFO] [stdout] | [INFO] [stdout] 57 | TransparencyRefractionOnReflectionFresnelOffAndRayTraceOn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TransparencyRefractionOnReflectionFresnelOnAndRayTraceOn` [INFO] [stdout] --> src/wavefront/material_parser.rs:58:3 [INFO] [stdout] | [INFO] [stdout] 58 | TransparencyRefractionOnReflectionFresnelOnAndRayTraceOn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TeflectionOnAndRayTraceOff` [INFO] [stdout] --> src/wavefront/material_parser.rs:59:3 [INFO] [stdout] | [INFO] [stdout] 59 | TeflectionOnAndRayTraceOff, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TransparencyGlassOnReflectionRayTraceOff` [INFO] [stdout] --> src/wavefront/material_parser.rs:60:3 [INFO] [stdout] | [INFO] [stdout] 60 | TransparencyGlassOnReflectionRayTraceOff, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CastsShadowsOntoInvisibleSurfaces` [INFO] [stdout] --> src/wavefront/material_parser.rs:61:3 [INFO] [stdout] | [INFO] [stdout] 61 | CastsShadowsOntoInvisibleSurfaces, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Name` [INFO] [stdout] --> src/wavefront/material_parser.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | Name(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ColorAmbient` [INFO] [stdout] --> src/wavefront/material_parser.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | ColorAmbient(Color), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ColorDiffuse` [INFO] [stdout] --> src/wavefront/material_parser.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | ColorDiffuse(Color), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ColorSpecular` [INFO] [stdout] --> src/wavefront/material_parser.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | ColorSpecular(Color), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ColorTransmission` [INFO] [stdout] --> src/wavefront/material_parser.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | ColorTransmission(Color), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Illum` [INFO] [stdout] --> src/wavefront/material_parser.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | Illum(Illumination), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alpha` [INFO] [stdout] --> src/wavefront/material_parser.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Alpha(f64), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SpecularCoefficient` [INFO] [stdout] --> src/wavefront/material_parser.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | SpecularCoefficient(f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OpticalDensity` [INFO] [stdout] --> src/wavefront/material_parser.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | OpticalDensity(f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_materials` [INFO] [stdout] --> src/wavefront/material_parser.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn parse_materials(string: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `construct_material_structs` [INFO] [stdout] --> src/wavefront/material_parser.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn construct_material_structs(values: Vec) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `construct_material_struct` [INFO] [stdout] --> src/wavefront/material_parser.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn construct_material_struct(values: &[Value]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ValueVertexTexture` [INFO] [stdout] --> src/wavefront/object_parser.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | ValueVertexTexture(Vertex), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `computePixelCoordinates` should have a snake case name [INFO] [stdout] --> src/main.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn computePixelCoordinates ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_pixel_coordinates` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pWorld` should have a snake case name [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pWorld: &Vec3, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `p_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `worldToCamera` should have a snake case name [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | worldToCamera: &Matrix44, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | canvasWidth: f64, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | canvasHeight: f64, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | imageWidth: u32, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | imageHeight: u32) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pCamera` should have a snake case name [INFO] [stdout] --> src/main.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let pCamera = worldToCamera.multVecMatrix(pWorld); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `p_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pScreenX` should have a snake case name [INFO] [stdout] --> src/main.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let pScreenX = pCamera.x / -pCamera.z; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pScreenY` should have a snake case name [INFO] [stdout] --> src/main.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let pScreenY = pCamera.y / -pCamera.z; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pNDCX` should have a snake case name [INFO] [stdout] --> src/main.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let pNDCX = (pScreenX + canvasWidth * 0.5) / canvasWidth; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `p_ndcx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pNDCY` should have a snake case name [INFO] [stdout] --> src/main.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let pNDCY = (pScreenY + canvasHeight * 0.5) / canvasHeight; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `p_ndcy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pRasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let pRasterX: u32 = (pNDCX * imageWidth as f64) as u32; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pRasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let pRasterY: u32 = ((1.0 - pNDCY) * imageHeight as f64) as u32; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | output_file.write_all(b""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cameraToWorld` should have a snake case name [INFO] [stdout] --> src/main.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let cameraToWorld: Matrix44 = Matrix44::new(0.871214, 0.0, -0.490904, 0.0, -0.192902, 0.919559, -0.342346, 0.0, 0.451415, 0.3929... [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `camera_to_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `worldToCamera` should have a snake case name [INFO] [stdout] --> src/main.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let worldToCamera: Matrix44 = cameraToWorld.clone().inverse(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | let canvasWidth: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let canvasHeight: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let imageWidth: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | let imageHeight: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0Worldy` should have a snake case name [INFO] [stdout] --> src/main.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | let v0Worldy = uobject.triangles[i].v1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `v0_worldy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0World` should have a snake case name [INFO] [stdout] --> src/main.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | let ref v0World: Vec3 = Vec3::new(v0Worldy.x, v0Worldy.y, v0Worldy.z); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `v0_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1Worldy` should have a snake case name [INFO] [stdout] --> src/main.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let v1Worldy = uobject.triangles[i].v2; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `v1_worldy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1World` should have a snake case name [INFO] [stdout] --> src/main.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let ref v1World: Vec3 = Vec3::new(v1Worldy.x, v1Worldy.y, v1Worldy.z); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `v1_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2Worldy` should have a snake case name [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | let v2Worldy = uobject.triangles[i].v3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `v2_worldy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2World` should have a snake case name [INFO] [stdout] --> src/main.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | let ref v2World: Vec3 = Vec3::new(v2Worldy.x, v2Worldy.y, v2Worldy.z); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `v2_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0RasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0RasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1RasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1RasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:131:25 [INFO] [stdout] | [INFO] [stdout] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2RasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2RasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:132:25 [INFO] [stdout] | [INFO] [stdout] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | ... output_file.write_fmt(format_args!("", v0RasterX, v0RasterY, v1RasterX, v1RasterY)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | ... output_file.write_fmt(format_args!("", v1RasterX, v1RasterY, v2RasterX, v2RasterY)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | ... output_file.write_fmt(format_args!("", v2RasterX, v2RasterY, v0RasterX, v0RasterY)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | output_file.write_all(b""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `multVecMatrix` should have a snake case name [INFO] [stdout] --> src/geometry/matrix.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn multVecMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_vec_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `multDirMatrix` should have a snake case name [INFO] [stdout] --> src/geometry/matrix.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_dir_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `materialName` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub materialName: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `materialName` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let mut materialName: String = "".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ValueGroup_value` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:369:8 [INFO] [stdout] | [INFO] [stdout] 369 | named!(parse_ValueGroup_value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ValueGroup_names` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:377:8 [INFO] [stdout] | [INFO] [stdout] 377 | named!(parse_ValueGroup_names >, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_names` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_smoothing_ValueGroup_value` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:396:8 [INFO] [stdout] | [INFO] [stdout] 396 | named!(parse_smoothing_ValueGroup_value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_smoothing_ValueGroup` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:404:8 [INFO] [stdout] | [INFO] [stdout] 404 | named!(parse_smoothing_ValueGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 113 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wavefront/object_parser.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | ... let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [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: variable does not need to be mutable [INFO] [stdout] --> src/wavefront/parser_utilities.rs:31:20 [INFO] [stdout] | [INFO] [stdout] 31 | let mut int_string: String = a.to_string(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `assert_eq_float_range` [INFO] [stdout] --> src/geometry/vector.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `multDirMatrix` [INFO] [stdout] --> src/geometry/matrix.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `assert_eq_float_range` [INFO] [stdout] --> src/geometry/matrix.rs:241:4 [INFO] [stdout] | [INFO] [stdout] 241 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `computePixelCoordinates` should have a snake case name [INFO] [stdout] --> src/main.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn computePixelCoordinates ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_pixel_coordinates` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pWorld` should have a snake case name [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pWorld: &Vec3, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `p_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `worldToCamera` should have a snake case name [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | worldToCamera: &Matrix44, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | canvasWidth: f64, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | canvasHeight: f64, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | imageWidth: u32, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | imageHeight: u32) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pCamera` should have a snake case name [INFO] [stdout] --> src/main.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let pCamera = worldToCamera.multVecMatrix(pWorld); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `p_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pScreenX` should have a snake case name [INFO] [stdout] --> src/main.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let pScreenX = pCamera.x / -pCamera.z; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pScreenY` should have a snake case name [INFO] [stdout] --> src/main.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let pScreenY = pCamera.y / -pCamera.z; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pNDCX` should have a snake case name [INFO] [stdout] --> src/main.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let pNDCX = (pScreenX + canvasWidth * 0.5) / canvasWidth; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `p_ndcx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pNDCY` should have a snake case name [INFO] [stdout] --> src/main.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let pNDCY = (pScreenY + canvasHeight * 0.5) / canvasHeight; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `p_ndcy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pRasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let pRasterX: u32 = (pNDCX * imageWidth as f64) as u32; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pRasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let pRasterY: u32 = ((1.0 - pNDCY) * imageHeight as f64) as u32; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | output_file.write_all(b""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cameraToWorld` should have a snake case name [INFO] [stdout] --> src/main.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let cameraToWorld: Matrix44 = Matrix44::new(0.871214, 0.0, -0.490904, 0.0, -0.192902, 0.919559, -0.342346, 0.0, 0.451415, 0.3929... [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `camera_to_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `worldToCamera` should have a snake case name [INFO] [stdout] --> src/main.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let worldToCamera: Matrix44 = cameraToWorld.clone().inverse(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | let canvasWidth: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `canvasHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let canvasHeight: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageWidth` should have a snake case name [INFO] [stdout] --> src/main.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let imageWidth: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `imageHeight` should have a snake case name [INFO] [stdout] --> src/main.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | let imageHeight: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0Worldy` should have a snake case name [INFO] [stdout] --> src/main.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | let v0Worldy = uobject.triangles[i].v1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `v0_worldy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0World` should have a snake case name [INFO] [stdout] --> src/main.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | let ref v0World: Vec3 = Vec3::new(v0Worldy.x, v0Worldy.y, v0Worldy.z); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `v0_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1Worldy` should have a snake case name [INFO] [stdout] --> src/main.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let v1Worldy = uobject.triangles[i].v2; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `v1_worldy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1World` should have a snake case name [INFO] [stdout] --> src/main.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let ref v1World: Vec3 = Vec3::new(v1Worldy.x, v1Worldy.y, v1Worldy.z); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `v1_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2Worldy` should have a snake case name [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | let v2Worldy = uobject.triangles[i].v3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `v2_worldy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2World` should have a snake case name [INFO] [stdout] --> src/main.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | let ref v2World: Vec3 = Vec3::new(v2Worldy.x, v2Worldy.y, v2Worldy.z); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `v2_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0RasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v0RasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1RasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v1RasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:131:25 [INFO] [stdout] | [INFO] [stdout] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2RasterX` should have a snake case name [INFO] [stdout] --> src/main.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `v2RasterY` should have a snake case name [INFO] [stdout] --> src/main.rs:132:25 [INFO] [stdout] | [INFO] [stdout] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | ... output_file.write_fmt(format_args!("", v0RasterX, v0RasterY, v1RasterX, v1RasterY)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | ... output_file.write_fmt(format_args!("", v1RasterX, v1RasterY, v2RasterX, v2RasterY)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | ... output_file.write_fmt(format_args!("", v2RasterX, v2RasterY, v0RasterX, v0RasterY)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | output_file.write_all(b""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `multVecMatrix` should have a snake case name [INFO] [stdout] --> src/geometry/matrix.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn multVecMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_vec_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `multDirMatrix` should have a snake case name [INFO] [stdout] --> src/geometry/matrix.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_dir_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix44_can_be_multVecMatrix` should have a snake case name [INFO] [stdout] --> src/geometry/matrix.rs:378:4 [INFO] [stdout] | [INFO] [stdout] 378 | fn matrix44_can_be_multVecMatrix() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matrix44_can_be_mult_vec_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix44_can_be_multDirMatrix` should have a snake case name [INFO] [stdout] --> src/geometry/matrix.rs:382:4 [INFO] [stdout] | [INFO] [stdout] 382 | fn matrix44_can_be_multDirMatrix() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matrix44_can_be_mult_dir_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `materialName` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub materialName: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `materialName` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let mut materialName: String = "".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ValueGroup_value` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:369:8 [INFO] [stdout] | [INFO] [stdout] 369 | named!(parse_ValueGroup_value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ValueGroup_names` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:377:8 [INFO] [stdout] | [INFO] [stdout] 377 | named!(parse_ValueGroup_names >, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_names` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_smoothing_ValueGroup_value` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:396:8 [INFO] [stdout] | [INFO] [stdout] 396 | named!(parse_smoothing_ValueGroup_value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_smoothing_ValueGroup` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:404:8 [INFO] [stdout] | [INFO] [stdout] 404 | named!(parse_smoothing_ValueGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ValueGroup_value_should_parse_properly` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:1036:8 [INFO] [stdout] | [INFO] [stdout] 1036 | fn parse_ValueGroup_value_should_parse_properly() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value_should_parse_properly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_smoothing_ValueGroup_value_should_parse_properly` should have a snake case name [INFO] [stdout] --> src/wavefront/object_parser.rs:1050:8 [INFO] [stdout] | [INFO] [stdout] 1050 | fn parse_smoothing_ValueGroup_value_should_parse_properly() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value_should_parse_properly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 84 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.90s [INFO] running `Command { std: "docker" "inspect" "0f8cc3748bd87820368c9b2a8ad0cfca518df2318bb91285bd83808c8bbdf336", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f8cc3748bd87820368c9b2a8ad0cfca518df2318bb91285bd83808c8bbdf336", kill_on_drop: false }` [INFO] [stdout] 0f8cc3748bd87820368c9b2a8ad0cfca518df2318bb91285bd83808c8bbdf336