[INFO] updating cached repository https://github.com/SaintNicholas/sticks [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2a97f13c5e9975bf475ee3974002472500b76adc [INFO] testing SaintNicholas/sticks against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaintNicholas%2Fsticks" "/workspace/builds/worker-10/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/SaintNicholas/sticks on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [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-10/source/Cargo.toml [INFO] crate git repo https://github.com/SaintNicholas/sticks already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-10/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 `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] ab231f27d996814c7742c9a2f6241c8c92e149d28aa8ea0c90e8167f0da27ee8 [INFO] running `"docker" "start" "-a" "ab231f27d996814c7742c9a2f6241c8c92e149d28aa8ea0c90e8167f0da27ee8"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling clap v2.33.1 [INFO] [stderr] Compiling sticks v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:153:46 [INFO] [stderr] | [INFO] [stderr] 153 | let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:168:19 [INFO] [stderr] | [INFO] [stderr] 168 | triangle.v1 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v1.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:169:19 [INFO] [stderr] | [INFO] [stderr] 169 | triangle.v2 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v2.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | triangle.v3 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v3.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | triangle.vt1 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:176:29 [INFO] [stderr] | [INFO] [stderr] 176 | triangle.vt2 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:179:29 [INFO] [stderr] | [INFO] [stderr] 179 | triangle.vt3 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:183:29 [INFO] [stderr] | [INFO] [stderr] 183 | triangle.vn1 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:186:29 [INFO] [stderr] | [INFO] [stderr] 186 | triangle.vn2 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | triangle.vn3 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `geometry::matrix::*` [INFO] [stderr] --> src/geometry/vector.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use geometry::matrix::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/geometry/vector.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | / macro_rules! assert_delta { [INFO] [stderr] 74 | | ($x:expr, $y:expr, $d:expr) => { [INFO] [stderr] 75 | | if $x - $y >= $d || $y - $x >= $d { panic!(); } [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_macros)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/geometry/matrix.rs:118:15 [INFO] [stderr] | [INFO] [stderr] 118 | if(row_with_nonzero_kk != k) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/geometry/matrix.rs:235:1 [INFO] [stderr] | [INFO] [stderr] 235 | / macro_rules! assert_delta { [INFO] [stderr] 236 | | ($x:expr, $y:expr, $d:expr) => { [INFO] [stderr] 237 | | if $x - $y >= $d || $y - $x >= $d { panic!("x: {:?}, y: {:?}, d: {:?}", $x, $y, $d); } [INFO] [stderr] 238 | | } [INFO] [stderr] 239 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `digit`, `eof`, `not_line_ending` [INFO] [stderr] --> src/wavefront/material_parser.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use nom::{space, digit, eof, not_line_ending}; [INFO] [stderr] | ^^^^^ ^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `parse_blank_line`, `parse_comment`, `parse_eol` [INFO] [stderr] --> src/wavefront/material_parser.rs:4:66 [INFO] [stderr] | [INFO] [stderr] 4 | use wavefront::parser_utilities::{parse_f64, parse_ignored_line, parse_blank_line, parse_comment, parse_eol, not_space}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused label [INFO] [stderr] --> src/wavefront/object_parser.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | 'parsing_values: for value in values { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_labels)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SubCommand` [INFO] [stderr] --> src/main.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use clap::{App, Arg, SubCommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:87:63 [INFO] [stderr] | [INFO] [stderr] 87 | Err(why) => panic!("couldn't open {}: {}", j, why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:93:68 [INFO] [stderr] | [INFO] [stderr] 93 | Err(why) => panic!("couldn't read from {}: {}", j, why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:108:73 [INFO] [stderr] | [INFO] [stderr] 108 | Err(why) => panic!("couldn't open {}: {}", "File to write", why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `object` is never read [INFO] [stderr] --> src/main.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut object: Option = None; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `output` is never read [INFO] [stderr] --> src/main.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let mut output: Option = None; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `temp` is never read [INFO] [stderr] --> src/geometry/matrix.rs:120:25 [INFO] [stderr] | [INFO] [stderr] 120 | let mut temp = zero; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remaining` [INFO] [stderr] --> src/wavefront/material_parser.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | } else if let Incomplete(remaining) = result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remaining` [INFO] [stderr] --> src/wavefront/object_parser.rs:127:30 [INFO] [stderr] | [INFO] [stderr] 127 | } else if let Incomplete(remaining) = result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `usize_index` is never read [INFO] [stderr] --> src/wavefront/object_parser.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | let mut usize_index = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/wavefront/parser_utilities.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | if let Some(j) = neg { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/wavefront/parser_utilities.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(j) = neg { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wavefront/object_parser.rs:153:21 [INFO] [stderr] | [INFO] [stderr] 153 | let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wavefront/parser_utilities.rs:31:20 [INFO] [stderr] | [INFO] [stderr] 31 | let mut int_string: String = a.to_string(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scale` [INFO] [stderr] --> src/geometry/vector.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | fn scale(self, other: T) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dot_product` [INFO] [stderr] --> src/geometry/vector.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | fn dot_product(self, other: Vec3) -> T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cross_product` [INFO] [stderr] --> src/geometry/vector.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | fn cross_product(self, other: Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `norm` [INFO] [stderr] --> src/geometry/vector.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | fn norm(&self) -> T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `length` [INFO] [stderr] --> src/geometry/vector.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | fn length(&self) -> T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `normalize` [INFO] [stderr] --> src/geometry/vector.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | fn normalize(self) -> Vec3{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_eq_float_range` [INFO] [stderr] --> src/geometry/vector.rs:79:4 [INFO] [stderr] | [INFO] [stderr] 79 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_identity` [INFO] [stderr] --> src/geometry/matrix.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | fn new_identity() -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `transpose` [INFO] [stderr] --> src/geometry/matrix.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | fn transpose(self) -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inverse2` [INFO] [stderr] --> src/geometry/matrix.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn inverse2(self) -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multDirMatrix` [INFO] [stderr] --> src/geometry/matrix.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_eq_float_range` [INFO] [stderr] --> src/geometry/matrix.rs:241:4 [INFO] [stderr] | [INFO] [stderr] 241 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ColorOnAmbientOff` [INFO] [stderr] --> src/wavefront/material_parser.rs:51:3 [INFO] [stderr] | [INFO] [stderr] 51 | ColorOnAmbientOff, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ColorOnAmbientOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:52:3 [INFO] [stderr] | [INFO] [stderr] 52 | ColorOnAmbientOn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `HighlightOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:53:3 [INFO] [stderr] | [INFO] [stderr] 53 | HighlightOn, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ReflectionOnAndRayTraceOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:54:3 [INFO] [stderr] | [INFO] [stderr] 54 | ReflectionOnAndRayTraceOn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TransparencyGlassOnReflectionRayTraceOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:55:3 [INFO] [stderr] | [INFO] [stderr] 55 | TransparencyGlassOnReflectionRayTraceOn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ReflectionFresnelOnAndRayTraceOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:56:3 [INFO] [stderr] | [INFO] [stderr] 56 | ReflectionFresnelOnAndRayTraceOn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TransparencyRefractionOnReflectionFresnelOffAndRayTraceOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:57:3 [INFO] [stderr] | [INFO] [stderr] 57 | TransparencyRefractionOnReflectionFresnelOffAndRayTraceOn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TransparencyRefractionOnReflectionFresnelOnAndRayTraceOn` [INFO] [stderr] --> src/wavefront/material_parser.rs:58:3 [INFO] [stderr] | [INFO] [stderr] 58 | TransparencyRefractionOnReflectionFresnelOnAndRayTraceOn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TeflectionOnAndRayTraceOff` [INFO] [stderr] --> src/wavefront/material_parser.rs:59:3 [INFO] [stderr] | [INFO] [stderr] 59 | TeflectionOnAndRayTraceOff, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TransparencyGlassOnReflectionRayTraceOff` [INFO] [stderr] --> src/wavefront/material_parser.rs:60:3 [INFO] [stderr] | [INFO] [stderr] 60 | TransparencyGlassOnReflectionRayTraceOff, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CastsShadowsOntoInvisibleSurfaces` [INFO] [stderr] --> src/wavefront/material_parser.rs:61:3 [INFO] [stderr] | [INFO] [stderr] 61 | CastsShadowsOntoInvisibleSurfaces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Name` [INFO] [stderr] --> src/wavefront/material_parser.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | Name(String), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ColorAmbient` [INFO] [stderr] --> src/wavefront/material_parser.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | ColorAmbient(Color), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ColorDiffuse` [INFO] [stderr] --> src/wavefront/material_parser.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | ColorDiffuse(Color), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ColorSpecular` [INFO] [stderr] --> src/wavefront/material_parser.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | ColorSpecular(Color), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ColorTransmission` [INFO] [stderr] --> src/wavefront/material_parser.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | ColorTransmission(Color), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Illum` [INFO] [stderr] --> src/wavefront/material_parser.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | Illum(Illumination), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Alpha` [INFO] [stderr] --> src/wavefront/material_parser.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | Alpha(f64), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SpecularCoefficient` [INFO] [stderr] --> src/wavefront/material_parser.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | SpecularCoefficient(f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OpticalDensity` [INFO] [stderr] --> src/wavefront/material_parser.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | OpticalDensity(f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_materials` [INFO] [stderr] --> src/wavefront/material_parser.rs:77:8 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn parse_materials(string: &str) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `construct_material_structs` [INFO] [stderr] --> src/wavefront/material_parser.rs:94:4 [INFO] [stderr] | [INFO] [stderr] 94 | fn construct_material_structs(values: Vec) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `construct_material_struct` [INFO] [stderr] --> src/wavefront/material_parser.rs:130:4 [INFO] [stderr] | [INFO] [stderr] 130 | fn construct_material_struct(values: &[Value]) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ValueVertexTexture` [INFO] [stderr] --> src/wavefront/object_parser.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | ValueVertexTexture(Vertex), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `computePixelCoordinates` should have a snake case name [INFO] [stderr] --> src/main.rs:17:4 [INFO] [stderr] | [INFO] [stderr] 17 | fn computePixelCoordinates ( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_pixel_coordinates` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `pWorld` should have a snake case name [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pWorld: &Vec3, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `p_world` [INFO] [stderr] [INFO] [stderr] warning: variable `worldToCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | worldToCamera: &Matrix44, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | canvasWidth: f64, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | canvasHeight: f64, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stderr] [INFO] [stderr] warning: variable `imageWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | imageWidth: u32, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stderr] [INFO] [stderr] warning: variable `imageHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | imageHeight: u32) -> (u32, u32) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stderr] [INFO] [stderr] warning: variable `pCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let pCamera = worldToCamera.multVecMatrix(pWorld); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `p_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `pScreenX` should have a snake case name [INFO] [stderr] --> src/main.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let pScreenX = pCamera.x / -pCamera.z; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_x` [INFO] [stderr] [INFO] [stderr] warning: variable `pScreenY` should have a snake case name [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let pScreenY = pCamera.y / -pCamera.z; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_y` [INFO] [stderr] [INFO] [stderr] warning: variable `pNDCX` should have a snake case name [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let pNDCX = (pScreenX + canvasWidth * 0.5) / canvasWidth; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `p_ndcx` [INFO] [stderr] [INFO] [stderr] warning: variable `pNDCY` should have a snake case name [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let pNDCY = (pScreenY + canvasHeight * 0.5) / canvasHeight; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `p_ndcy` [INFO] [stderr] [INFO] [stderr] warning: variable `pRasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let pRasterX: u32 = (pNDCX * imageWidth as f64) as u32; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `pRasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let pRasterY: u32 = ((1.0 - pNDCY) * imageHeight as f64) as u32; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_y` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | output_file.write_all(b""); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `cameraToWorld` should have a snake case name [INFO] [stderr] --> src/main.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 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.392953, 0.801132, 0.0, 14.777467, 29.361945, 27.993464, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `camera_to_world` [INFO] [stderr] [INFO] [stderr] warning: variable `worldToCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | let worldToCamera: Matrix44 = cameraToWorld.clone().inverse(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let canvasWidth: f64 = 2.0; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | let canvasHeight: f64 = 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stderr] [INFO] [stderr] warning: variable `imageWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | let imageWidth: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stderr] [INFO] [stderr] warning: variable `imageHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let imageHeight: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stderr] [INFO] [stderr] warning: variable `v0Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let v0Worldy = uobject.triangles[i].v1; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v0_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v0World` should have a snake case name [INFO] [stderr] --> src/main.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | let ref v0World: Vec3 = Vec3::new(v0Worldy.x, v0Worldy.y, v0Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v0_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v1Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let v1Worldy = uobject.triangles[i].v2; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v1_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v1World` should have a snake case name [INFO] [stderr] --> src/main.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | let ref v1World: Vec3 = Vec3::new(v1Worldy.x, v1Worldy.y, v1Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v1_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v2Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | let v2Worldy = uobject.triangles[i].v3; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v2_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v2World` should have a snake case name [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | let ref v2World: Vec3 = Vec3::new(v2Worldy.x, v2Worldy.y, v2Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v2_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v0RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:130:14 [INFO] [stderr] | [INFO] [stderr] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v0RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:130:25 [INFO] [stderr] | [INFO] [stderr] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_y` [INFO] [stderr] [INFO] [stderr] warning: variable `v1RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:131:14 [INFO] [stderr] | [INFO] [stderr] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v1RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:131:25 [INFO] [stderr] | [INFO] [stderr] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_y` [INFO] [stderr] [INFO] [stderr] warning: variable `v2RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:132:14 [INFO] [stderr] | [INFO] [stderr] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v2RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:132:25 [INFO] [stderr] | [INFO] [stderr] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_y` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | output_file.write_fmt(format_args!("", v0RasterX, v0RasterY, v1RasterX, v1RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | output_file.write_fmt(format_args!("", v1RasterX, v1RasterY, v2RasterX, v2RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | output_file.write_fmt(format_args!("", v2RasterX, v2RasterY, v0RasterX, v0RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | output_file.write_all(b""); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `multVecMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:178:12 [INFO] [stderr] | [INFO] [stderr] 178 | pub fn multVecMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_vec_matrix` [INFO] [stderr] [INFO] [stderr] warning: method `multDirMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:187:8 [INFO] [stderr] | [INFO] [stderr] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_dir_matrix` [INFO] [stderr] [INFO] [stderr] warning: structure field `materialName` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | pub materialName: String, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stderr] [INFO] [stderr] warning: variable `materialName` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut materialName: String = "".to_string(); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_value` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:369:8 [INFO] [stderr] | [INFO] [stderr] 369 | named!(parse_ValueGroup_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_names` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:377:8 [INFO] [stderr] | [INFO] [stderr] 377 | named!(parse_ValueGroup_names >, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_names` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup_value` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:396:8 [INFO] [stderr] | [INFO] [stderr] 396 | named!(parse_smoothing_ValueGroup_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:404:8 [INFO] [stderr] | [INFO] [stderr] 404 | named!(parse_smoothing_ValueGroup, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group` [INFO] [stderr] [INFO] [stderr] warning: 113 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.94s [INFO] running `"docker" "inspect" "ab231f27d996814c7742c9a2f6241c8c92e149d28aa8ea0c90e8167f0da27ee8"` [INFO] running `"docker" "rm" "-f" "ab231f27d996814c7742c9a2f6241c8c92e149d28aa8ea0c90e8167f0da27ee8"` [INFO] [stdout] ab231f27d996814c7742c9a2f6241c8c92e149d28aa8ea0c90e8167f0da27ee8 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 1c0ae90746ed15ce2a6acc892b1e9f8f9725420bcb0343faa97d4fe75c65345b [INFO] running `"docker" "start" "-a" "1c0ae90746ed15ce2a6acc892b1e9f8f9725420bcb0343faa97d4fe75c65345b"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling sticks v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:153:46 [INFO] [stderr] | [INFO] [stderr] 153 | let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:168:19 [INFO] [stderr] | [INFO] [stderr] 168 | triangle.v1 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v1.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:169:19 [INFO] [stderr] | [INFO] [stderr] 169 | triangle.v2 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v2.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | triangle.v3 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v3.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | triangle.vt1 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:176:29 [INFO] [stderr] | [INFO] [stderr] 176 | triangle.vt2 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:179:29 [INFO] [stderr] | [INFO] [stderr] 179 | triangle.vt3 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:183:29 [INFO] [stderr] | [INFO] [stderr] 183 | triangle.vn1 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:186:29 [INFO] [stderr] | [INFO] [stderr] 186 | triangle.vn2 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | triangle.vn3 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `geometry::matrix::*` [INFO] [stderr] --> src/geometry/vector.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use geometry::matrix::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/geometry/matrix.rs:118:15 [INFO] [stderr] | [INFO] [stderr] 118 | if(row_with_nonzero_kk != k) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `digit`, `eof`, `not_line_ending` [INFO] [stderr] --> src/wavefront/material_parser.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use nom::{space, digit, eof, not_line_ending}; [INFO] [stderr] | ^^^^^ ^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `parse_blank_line`, `parse_comment`, `parse_eol` [INFO] [stderr] --> src/wavefront/material_parser.rs:4:66 [INFO] [stderr] | [INFO] [stderr] 4 | use wavefront::parser_utilities::{parse_f64, parse_ignored_line, parse_blank_line, parse_comment, parse_eol, not_space}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Err` [INFO] [stderr] --> src/wavefront/material_parser.rs:481:15 [INFO] [stderr] | [INFO] [stderr] 481 | use nom::{Err}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused label [INFO] [stderr] --> src/wavefront/object_parser.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | 'parsing_values: for value in values { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_labels)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::IResult` [INFO] [stderr] --> src/wavefront/object_parser.rs:419:9 [INFO] [stderr] | [INFO] [stderr] 419 | use nom::IResult; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SubCommand` [INFO] [stderr] --> src/main.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use clap::{App, Arg, SubCommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:87:63 [INFO] [stderr] | [INFO] [stderr] 87 | Err(why) => panic!("couldn't open {}: {}", j, why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:93:68 [INFO] [stderr] | [INFO] [stderr] 93 | Err(why) => panic!("couldn't read from {}: {}", j, why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:108:73 [INFO] [stderr] | [INFO] [stderr] 108 | Err(why) => panic!("couldn't open {}: {}", "File to write", why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `object` is never read [INFO] [stderr] --> src/main.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut object: Option = None; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `output` is never read [INFO] [stderr] --> src/main.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let mut output: Option = None; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `temp` is never read [INFO] [stderr] --> src/geometry/matrix.rs:120:25 [INFO] [stderr] | [INFO] [stderr] 120 | let mut temp = zero; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remaining` [INFO] [stderr] --> src/wavefront/material_parser.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | } else if let Incomplete(remaining) = result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remaining` [INFO] [stderr] --> src/wavefront/object_parser.rs:127:30 [INFO] [stderr] | [INFO] [stderr] 127 | } else if let Incomplete(remaining) = result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `usize_index` is never read [INFO] [stderr] --> src/wavefront/object_parser.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | let mut usize_index = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/wavefront/parser_utilities.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | if let Some(j) = neg { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/wavefront/parser_utilities.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(j) = neg { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wavefront/object_parser.rs:153:21 [INFO] [stderr] | [INFO] [stderr] 153 | let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wavefront/parser_utilities.rs:31:20 [INFO] [stderr] | [INFO] [stderr] 31 | let mut int_string: String = a.to_string(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_eq_float_range` [INFO] [stderr] --> src/geometry/vector.rs:79:4 [INFO] [stderr] | [INFO] [stderr] 79 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multDirMatrix` [INFO] [stderr] --> src/geometry/matrix.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_eq_float_range` [INFO] [stderr] --> src/geometry/matrix.rs:241:4 [INFO] [stderr] | [INFO] [stderr] 241 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `computePixelCoordinates` should have a snake case name [INFO] [stderr] --> src/main.rs:17:4 [INFO] [stderr] | [INFO] [stderr] 17 | fn computePixelCoordinates ( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_pixel_coordinates` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `pWorld` should have a snake case name [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pWorld: &Vec3, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `p_world` [INFO] [stderr] [INFO] [stderr] warning: variable `worldToCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | worldToCamera: &Matrix44, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | canvasWidth: f64, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | canvasHeight: f64, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stderr] [INFO] [stderr] warning: variable `imageWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | imageWidth: u32, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stderr] [INFO] [stderr] warning: variable `imageHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | imageHeight: u32) -> (u32, u32) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stderr] [INFO] [stderr] warning: variable `pCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let pCamera = worldToCamera.multVecMatrix(pWorld); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `p_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `pScreenX` should have a snake case name [INFO] [stderr] --> src/main.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let pScreenX = pCamera.x / -pCamera.z; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_x` [INFO] [stderr] [INFO] [stderr] warning: variable `pScreenY` should have a snake case name [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let pScreenY = pCamera.y / -pCamera.z; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_y` [INFO] [stderr] [INFO] [stderr] warning: variable `pNDCX` should have a snake case name [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let pNDCX = (pScreenX + canvasWidth * 0.5) / canvasWidth; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `p_ndcx` [INFO] [stderr] [INFO] [stderr] warning: variable `pNDCY` should have a snake case name [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let pNDCY = (pScreenY + canvasHeight * 0.5) / canvasHeight; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `p_ndcy` [INFO] [stderr] [INFO] [stderr] warning: variable `pRasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let pRasterX: u32 = (pNDCX * imageWidth as f64) as u32; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `pRasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let pRasterY: u32 = ((1.0 - pNDCY) * imageHeight as f64) as u32; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_y` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | output_file.write_all(b""); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `cameraToWorld` should have a snake case name [INFO] [stderr] --> src/main.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 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.392953, 0.801132, 0.0, 14.777467, 29.361945, 27.993464, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `camera_to_world` [INFO] [stderr] [INFO] [stderr] warning: variable `worldToCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | let worldToCamera: Matrix44 = cameraToWorld.clone().inverse(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let canvasWidth: f64 = 2.0; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | let canvasHeight: f64 = 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stderr] [INFO] [stderr] warning: variable `imageWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | let imageWidth: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stderr] [INFO] [stderr] warning: variable `imageHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let imageHeight: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stderr] [INFO] [stderr] warning: variable `v0Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let v0Worldy = uobject.triangles[i].v1; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v0_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v0World` should have a snake case name [INFO] [stderr] --> src/main.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | let ref v0World: Vec3 = Vec3::new(v0Worldy.x, v0Worldy.y, v0Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v0_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v1Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let v1Worldy = uobject.triangles[i].v2; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v1_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v1World` should have a snake case name [INFO] [stderr] --> src/main.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | let ref v1World: Vec3 = Vec3::new(v1Worldy.x, v1Worldy.y, v1Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v1_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v2Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | let v2Worldy = uobject.triangles[i].v3; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v2_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v2World` should have a snake case name [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | let ref v2World: Vec3 = Vec3::new(v2Worldy.x, v2Worldy.y, v2Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v2_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v0RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:130:14 [INFO] [stderr] | [INFO] [stderr] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v0RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:130:25 [INFO] [stderr] | [INFO] [stderr] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_y` [INFO] [stderr] [INFO] [stderr] warning: variable `v1RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:131:14 [INFO] [stderr] | [INFO] [stderr] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v1RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:131:25 [INFO] [stderr] | [INFO] [stderr] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_y` [INFO] [stderr] [INFO] [stderr] warning: variable `v2RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:132:14 [INFO] [stderr] | [INFO] [stderr] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v2RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:132:25 [INFO] [stderr] | [INFO] [stderr] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_y` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | output_file.write_fmt(format_args!("", v0RasterX, v0RasterY, v1RasterX, v1RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | output_file.write_fmt(format_args!("", v1RasterX, v1RasterY, v2RasterX, v2RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | output_file.write_fmt(format_args!("", v2RasterX, v2RasterY, v0RasterX, v0RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | output_file.write_all(b""); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `multVecMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:178:12 [INFO] [stderr] | [INFO] [stderr] 178 | pub fn multVecMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_vec_matrix` [INFO] [stderr] [INFO] [stderr] warning: method `multDirMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:187:8 [INFO] [stderr] | [INFO] [stderr] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_dir_matrix` [INFO] [stderr] [INFO] [stderr] warning: function `matrix44_can_be_multVecMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:378:4 [INFO] [stderr] | [INFO] [stderr] 378 | fn matrix44_can_be_multVecMatrix() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matrix44_can_be_mult_vec_matrix` [INFO] [stderr] [INFO] [stderr] warning: function `matrix44_can_be_multDirMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:382:4 [INFO] [stderr] | [INFO] [stderr] 382 | fn matrix44_can_be_multDirMatrix() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matrix44_can_be_mult_dir_matrix` [INFO] [stderr] [INFO] [stderr] warning: structure field `materialName` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | pub materialName: String, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stderr] [INFO] [stderr] warning: variable `materialName` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut materialName: String = "".to_string(); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_value` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:369:8 [INFO] [stderr] | [INFO] [stderr] 369 | named!(parse_ValueGroup_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_names` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:377:8 [INFO] [stderr] | [INFO] [stderr] 377 | named!(parse_ValueGroup_names >, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_names` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup_value` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:396:8 [INFO] [stderr] | [INFO] [stderr] 396 | named!(parse_smoothing_ValueGroup_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:404:8 [INFO] [stderr] | [INFO] [stderr] 404 | named!(parse_smoothing_ValueGroup, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_value_should_parse_properly` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:1036:8 [INFO] [stderr] | [INFO] [stderr] 1036 | fn parse_ValueGroup_value_should_parse_properly() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value_should_parse_properly` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup_value_should_parse_properly` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:1050:8 [INFO] [stderr] | [INFO] [stderr] 1050 | fn parse_smoothing_ValueGroup_value_should_parse_properly() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value_should_parse_properly` [INFO] [stderr] [INFO] [stderr] warning: 84 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.46s [INFO] running `"docker" "inspect" "1c0ae90746ed15ce2a6acc892b1e9f8f9725420bcb0343faa97d4fe75c65345b"` [INFO] running `"docker" "rm" "-f" "1c0ae90746ed15ce2a6acc892b1e9f8f9725420bcb0343faa97d4fe75c65345b"` [INFO] [stdout] 1c0ae90746ed15ce2a6acc892b1e9f8f9725420bcb0343faa97d4fe75c65345b [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stdout] 842329d11498bd53c06b47448d434b0117a5e818e2ae402c27730270277f6815 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "842329d11498bd53c06b47448d434b0117a5e818e2ae402c27730270277f6815"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:153:46 [INFO] [stderr] | [INFO] [stderr] 153 | let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:168:19 [INFO] [stderr] | [INFO] [stderr] 168 | triangle.v1 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v1.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:169:19 [INFO] [stderr] | [INFO] [stderr] 169 | triangle.v2 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v2.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | triangle.v3 = try!(get_indexed_vertex(&object.raw_vertices, triangle_of_triplets.v3.v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | triangle.vt1 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:176:29 [INFO] [stderr] | [INFO] [stderr] 176 | triangle.vt2 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:179:29 [INFO] [stderr] | [INFO] [stderr] 179 | triangle.vt3 = Some(try!(get_indexed_vertex(&object.raw_vertices_texture, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:183:29 [INFO] [stderr] | [INFO] [stderr] 183 | triangle.vn1 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:186:29 [INFO] [stderr] | [INFO] [stderr] 186 | triangle.vn2 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/wavefront/object_parser.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | triangle.vn3 = Some(try!(get_indexed_vertex(&object.raw_vertices_normals, v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `geometry::matrix::*` [INFO] [stderr] --> src/geometry/vector.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use geometry::matrix::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/geometry/matrix.rs:118:15 [INFO] [stderr] | [INFO] [stderr] 118 | if(row_with_nonzero_kk != k) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `digit`, `eof`, `not_line_ending` [INFO] [stderr] --> src/wavefront/material_parser.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use nom::{space, digit, eof, not_line_ending}; [INFO] [stderr] | ^^^^^ ^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `parse_blank_line`, `parse_comment`, `parse_eol` [INFO] [stderr] --> src/wavefront/material_parser.rs:4:66 [INFO] [stderr] | [INFO] [stderr] 4 | use wavefront::parser_utilities::{parse_f64, parse_ignored_line, parse_blank_line, parse_comment, parse_eol, not_space}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Err` [INFO] [stderr] --> src/wavefront/material_parser.rs:481:15 [INFO] [stderr] | [INFO] [stderr] 481 | use nom::{Err}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused label [INFO] [stderr] --> src/wavefront/object_parser.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | 'parsing_values: for value in values { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_labels)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::IResult` [INFO] [stderr] --> src/wavefront/object_parser.rs:419:9 [INFO] [stderr] | [INFO] [stderr] 419 | use nom::IResult; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SubCommand` [INFO] [stderr] --> src/main.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use clap::{App, Arg, SubCommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:87:63 [INFO] [stderr] | [INFO] [stderr] 87 | Err(why) => panic!("couldn't open {}: {}", j, why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:93:68 [INFO] [stderr] | [INFO] [stderr] 93 | Err(why) => panic!("couldn't read from {}: {}", j, why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:108:73 [INFO] [stderr] | [INFO] [stderr] 108 | Err(why) => panic!("couldn't open {}: {}", "File to write", why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `object` is never read [INFO] [stderr] --> src/main.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut object: Option = None; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `output` is never read [INFO] [stderr] --> src/main.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let mut output: Option = None; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `temp` is never read [INFO] [stderr] --> src/geometry/matrix.rs:120:25 [INFO] [stderr] | [INFO] [stderr] 120 | let mut temp = zero; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remaining` [INFO] [stderr] --> src/wavefront/material_parser.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | } else if let Incomplete(remaining) = result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remaining` [INFO] [stderr] --> src/wavefront/object_parser.rs:127:30 [INFO] [stderr] | [INFO] [stderr] 127 | } else if let Incomplete(remaining) = result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `usize_index` is never read [INFO] [stderr] --> src/wavefront/object_parser.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | let mut usize_index = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/wavefront/parser_utilities.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | if let Some(j) = neg { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/wavefront/parser_utilities.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(j) = neg { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wavefront/object_parser.rs:153:21 [INFO] [stderr] | [INFO] [stderr] 153 | let mut triangle: Triangle = try!(construct_triangle_from_triangle_of_triplets(&object, triangle_of_triplets, &materialName)); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wavefront/parser_utilities.rs:31:20 [INFO] [stderr] | [INFO] [stderr] 31 | let mut int_string: String = a.to_string(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_eq_float_range` [INFO] [stderr] --> src/geometry/vector.rs:79:4 [INFO] [stderr] | [INFO] [stderr] 79 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multDirMatrix` [INFO] [stderr] --> src/geometry/matrix.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_eq_float_range` [INFO] [stderr] --> src/geometry/matrix.rs:241:4 [INFO] [stderr] | [INFO] [stderr] 241 | fn assert_eq_float_range(n1: T, n2: T, range: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `computePixelCoordinates` should have a snake case name [INFO] [stderr] --> src/main.rs:17:4 [INFO] [stderr] | [INFO] [stderr] 17 | fn computePixelCoordinates ( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_pixel_coordinates` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `pWorld` should have a snake case name [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pWorld: &Vec3, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `p_world` [INFO] [stderr] [INFO] [stderr] warning: variable `worldToCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | worldToCamera: &Matrix44, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | canvasWidth: f64, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | canvasHeight: f64, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stderr] [INFO] [stderr] warning: variable `imageWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | imageWidth: u32, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stderr] [INFO] [stderr] warning: variable `imageHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | imageHeight: u32) -> (u32, u32) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stderr] [INFO] [stderr] warning: variable `pCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let pCamera = worldToCamera.multVecMatrix(pWorld); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `p_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `pScreenX` should have a snake case name [INFO] [stderr] --> src/main.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let pScreenX = pCamera.x / -pCamera.z; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_x` [INFO] [stderr] [INFO] [stderr] warning: variable `pScreenY` should have a snake case name [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let pScreenY = pCamera.y / -pCamera.z; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_screen_y` [INFO] [stderr] [INFO] [stderr] warning: variable `pNDCX` should have a snake case name [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let pNDCX = (pScreenX + canvasWidth * 0.5) / canvasWidth; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `p_ndcx` [INFO] [stderr] [INFO] [stderr] warning: variable `pNDCY` should have a snake case name [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let pNDCY = (pScreenY + canvasHeight * 0.5) / canvasHeight; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `p_ndcy` [INFO] [stderr] [INFO] [stderr] warning: variable `pRasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let pRasterX: u32 = (pNDCX * imageWidth as f64) as u32; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `pRasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let pRasterY: u32 = ((1.0 - pNDCY) * imageHeight as f64) as u32; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `p_raster_y` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | output_file.write_all(b""); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `cameraToWorld` should have a snake case name [INFO] [stderr] --> src/main.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 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.392953, 0.801132, 0.0, 14.777467, 29.361945, 27.993464, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `camera_to_world` [INFO] [stderr] [INFO] [stderr] warning: variable `worldToCamera` should have a snake case name [INFO] [stderr] --> src/main.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | let worldToCamera: Matrix44 = cameraToWorld.clone().inverse(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `world_to_camera` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let canvasWidth: f64 = 2.0; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_width` [INFO] [stderr] [INFO] [stderr] warning: variable `canvasHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | let canvasHeight: f64 = 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canvas_height` [INFO] [stderr] [INFO] [stderr] warning: variable `imageWidth` should have a snake case name [INFO] [stderr] --> src/main.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | let imageWidth: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `image_width` [INFO] [stderr] [INFO] [stderr] warning: variable `imageHeight` should have a snake case name [INFO] [stderr] --> src/main.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let imageHeight: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `image_height` [INFO] [stderr] [INFO] [stderr] warning: variable `v0Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let v0Worldy = uobject.triangles[i].v1; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v0_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v0World` should have a snake case name [INFO] [stderr] --> src/main.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | let ref v0World: Vec3 = Vec3::new(v0Worldy.x, v0Worldy.y, v0Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v0_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v1Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let v1Worldy = uobject.triangles[i].v2; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v1_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v1World` should have a snake case name [INFO] [stderr] --> src/main.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | let ref v1World: Vec3 = Vec3::new(v1Worldy.x, v1Worldy.y, v1Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v1_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v2Worldy` should have a snake case name [INFO] [stderr] --> src/main.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | let v2Worldy = uobject.triangles[i].v3; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `v2_worldy` [INFO] [stderr] [INFO] [stderr] warning: variable `v2World` should have a snake case name [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | let ref v2World: Vec3 = Vec3::new(v2Worldy.x, v2Worldy.y, v2Worldy.z); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `v2_world` [INFO] [stderr] [INFO] [stderr] warning: variable `v0RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:130:14 [INFO] [stderr] | [INFO] [stderr] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v0RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:130:25 [INFO] [stderr] | [INFO] [stderr] 130 | let (v0RasterX, v0RasterY) = computePixelCoordinates(v0World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v0_raster_y` [INFO] [stderr] [INFO] [stderr] warning: variable `v1RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:131:14 [INFO] [stderr] | [INFO] [stderr] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v1RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:131:25 [INFO] [stderr] | [INFO] [stderr] 131 | let (v1RasterX, v1RasterY) = computePixelCoordinates(v1World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v1_raster_y` [INFO] [stderr] [INFO] [stderr] warning: variable `v2RasterX` should have a snake case name [INFO] [stderr] --> src/main.rs:132:14 [INFO] [stderr] | [INFO] [stderr] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_x` [INFO] [stderr] [INFO] [stderr] warning: variable `v2RasterY` should have a snake case name [INFO] [stderr] --> src/main.rs:132:25 [INFO] [stderr] | [INFO] [stderr] 132 | let (v2RasterX, v2RasterY) = computePixelCoordinates(v2World, &worldToCamera, canvasWidth, canvasHeight, imageWidth, imageHeight); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `v2_raster_y` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | output_file.write_fmt(format_args!("", v0RasterX, v0RasterY, v1RasterX, v1RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | output_file.write_fmt(format_args!("", v1RasterX, v1RasterY, v2RasterX, v2RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | output_file.write_fmt(format_args!("", v2RasterX, v2RasterY, v0RasterX, v0RasterY)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | output_file.write_all(b""); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `multVecMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:178:12 [INFO] [stderr] | [INFO] [stderr] 178 | pub fn multVecMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_vec_matrix` [INFO] [stderr] [INFO] [stderr] warning: method `multDirMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:187:8 [INFO] [stderr] | [INFO] [stderr] 187 | fn multDirMatrix(&self, src: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_dir_matrix` [INFO] [stderr] [INFO] [stderr] warning: function `matrix44_can_be_multVecMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:378:4 [INFO] [stderr] | [INFO] [stderr] 378 | fn matrix44_can_be_multVecMatrix() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matrix44_can_be_mult_vec_matrix` [INFO] [stderr] [INFO] [stderr] warning: function `matrix44_can_be_multDirMatrix` should have a snake case name [INFO] [stderr] --> src/geometry/matrix.rs:382:4 [INFO] [stderr] | [INFO] [stderr] 382 | fn matrix44_can_be_multDirMatrix() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matrix44_can_be_mult_dir_matrix` [INFO] [stderr] [INFO] [stderr] warning: structure field `materialName` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | pub materialName: String, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stderr] [INFO] [stderr] warning: variable `materialName` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut materialName: String = "".to_string(); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `material_name` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_value` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:369:8 [INFO] [stderr] | [INFO] [stderr] 369 | named!(parse_ValueGroup_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_names` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:377:8 [INFO] [stderr] | [INFO] [stderr] 377 | named!(parse_ValueGroup_names >, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_names` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup_value` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:396:8 [INFO] [stderr] | [INFO] [stderr] 396 | named!(parse_smoothing_ValueGroup_value, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:404:8 [INFO] [stderr] | [INFO] [stderr] 404 | named!(parse_smoothing_ValueGroup, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group` [INFO] [stderr] [INFO] [stderr] warning: function `parse_ValueGroup_value_should_parse_properly` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:1036:8 [INFO] [stderr] | [INFO] [stderr] 1036 | fn parse_ValueGroup_value_should_parse_properly() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_value_group_value_should_parse_properly` [INFO] [stderr] [INFO] [stderr] warning: function `parse_smoothing_ValueGroup_value_should_parse_properly` should have a snake case name [INFO] [stderr] --> src/wavefront/object_parser.rs:1050:8 [INFO] [stderr] | [INFO] [stderr] 1050 | fn parse_smoothing_ValueGroup_value_should_parse_properly() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_smoothing_value_group_value_should_parse_properly` [INFO] [stderr] [INFO] [stderr] warning: 84 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/sticks-2e2acdd7d22e4c8b [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test geometry::matrix::matrix44_can_be_created ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_multDirMatrix ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_inverted ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_inverted2 ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_multVecMatrix ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_multiplied ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_transposed ... ok [INFO] [stdout] test geometry::vector::vec3_can_be_subtract ... ok [INFO] [stdout] test geometry::vector::vec3_can_be_add ... ok [INFO] [stdout] test geometry::vector::vec3_can_cross_product ... ok [INFO] [stdout] test geometry::matrix::matrix44_can_be_scaled ... ok [INFO] [stdout] test geometry::vector::vec3_can_be_created ... ok [INFO] [stdout] test geometry::vector::vec3_can_length ... ok [INFO] [stdout] test geometry::vector::vec3_can_dot_product ... ok [INFO] [stdout] test geometry::vector::vec3_can_norm ... ok [INFO] [stdout] test geometry::vector::vec3_can_scale ... ok [INFO] [stdout] test geometry::vector::vec3_can_normalize ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_alpha_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::construct_material_structs_should_construct_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::construct_material_struct_should_construct_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_optical_density_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_color_transmission_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_color_specular_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::construct_object_struct_should_do_things_correctly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_specular_coefficient_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::get_indexed_vertex_should_do_things_correctly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_illum_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_material_library_name_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::construct_triangle_from_triangle_of_triplets_should_do_things_correctly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_ValueGroup_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_color_diffuse_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_vertex_normal_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_use_material_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_vertex_geometry_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_object_should_do_things_correctly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_triangle_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::test_parse_materials_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_smoothing_ValueGroup_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::object_parser::tests::parse_values_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_name_value_should_parse_properly ... ok [INFO] [stdout] test wavefront::material_parser::tests::parse_color_ambient_value_should_parse_properly ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "842329d11498bd53c06b47448d434b0117a5e818e2ae402c27730270277f6815"` [INFO] running `"docker" "rm" "-f" "842329d11498bd53c06b47448d434b0117a5e818e2ae402c27730270277f6815"` [INFO] [stdout] 842329d11498bd53c06b47448d434b0117a5e818e2ae402c27730270277f6815