[INFO] cloning repository https://github.com/mence40/engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mence40/engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmence40%2Fengine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmence40%2Fengine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d6ea0250fccde2413f28bcd9281b089817ec63e7
[INFO] checking mence40/engine against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmence40%2Fengine" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mence40/engine
[INFO] finished tweaking git repo https://github.com/mence40/engine
[INFO] tweaked toml for git repo https://github.com/mence40/engine written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mence40/engine on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mence40/engine already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d40cee415dda35ea2657b30edf5a4b31bc51a58ecd232780a93701fad8a50d71
[INFO] running `Command { std: "docker" "start" "-a" "d40cee415dda35ea2657b30edf5a4b31bc51a58ecd232780a93701fad8a50d71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d40cee415dda35ea2657b30edf5a4b31bc51a58ecd232780a93701fad8a50d71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d40cee415dda35ea2657b30edf5a4b31bc51a58ecd232780a93701fad8a50d71", kill_on_drop: false }`
[INFO] [stdout] d40cee415dda35ea2657b30edf5a4b31bc51a58ecd232780a93701fad8a50d71
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c47a11bff39d3b4503ef9a5b966017305a055868ae85382a864d983332fd100
[INFO] running `Command { std: "docker" "start" "-a" "4c47a11bff39d3b4503ef9a5b966017305a055868ae85382a864d983332fd100", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling strum v0.18.0
[INFO] [stderr]    Compiling version-compare v0.0.10
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling futures-core v0.3.15
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-channel v0.3.15
[INFO] [stderr]    Compiling futures-macro v0.3.15
[INFO] [stderr]    Compiling futures-task v0.3.15
[INFO] [stderr]    Compiling futures-util v0.3.15
[INFO] [stderr]     Checking futures-sink v0.3.15
[INFO] [stderr]    Compiling anyhow v1.0.40
[INFO] [stderr]     Checking futures-io v0.3.15
[INFO] [stderr]     Checking pin-project-lite v0.2.6
[INFO] [stderr]     Checking slab v0.4.3
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]    Compiling cairo-rs v0.9.1
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking tinystr v0.3.4
[INFO] [stderr]    Compiling gio v0.9.1
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]    Compiling pango v0.9.1
[INFO] [stderr]    Compiling gdk-pixbuf v0.9.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling const_fn v0.4.8
[INFO] [stderr]    Compiling gdk v0.13.2
[INFO] [stderr]    Compiling atk v0.9.0
[INFO] [stderr]    Compiling gtk v0.9.2
[INFO] [stderr]     Checking unic-ucd-bidi v0.9.0
[INFO] [stderr]    Compiling time v0.2.26
[INFO] [stderr]     Checking xi-unicode v0.2.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking unicode-segmentation v1.7.1
[INFO] [stderr]     Checking unic-langid-impl v0.9.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]     Checking type-map v0.4.0
[INFO] [stderr]     Checking kurbo v0.7.1
[INFO] [stderr]     Checking unic-bidi v0.9.0
[INFO] [stderr]     Checking keyboard-types v0.5.0
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking unic-langid v0.9.0
[INFO] [stderr]     Checking fluent-syntax v0.9.3
[INFO] [stderr]     Checking simple_logger v1.11.0
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking intl_pluralrules v7.0.1
[INFO] [stderr]     Checking fluent-langneg v0.13.0
[INFO] [stderr]     Checking intl-memoizer v0.5.1
[INFO] [stderr]     Checking piet v0.3.1
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.25
[INFO] [stderr]    Compiling strum_macros v0.18.0
[INFO] [stderr]    Compiling glib-macros v0.10.1
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]    Compiling rental-impl v0.5.5
[INFO] [stderr]    Compiling druid-derive v0.4.0
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]    Compiling thiserror v1.0.25
[INFO] [stderr]    Compiling system-deps v1.3.2
[INFO] [stderr]    Compiling glib-sys v0.10.1
[INFO] [stderr]    Compiling gobject-sys v0.10.0
[INFO] [stderr]    Compiling gio-sys v0.10.1
[INFO] [stderr]    Compiling cairo-sys-rs v0.10.0
[INFO] [stderr]    Compiling pango-sys v0.10.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.10.0
[INFO] [stderr]    Compiling gdk-sys v0.10.0
[INFO] [stderr]    Compiling atk-sys v0.10.0
[INFO] [stderr]    Compiling gtk-sys v0.10.0
[INFO] [stderr]     Checking futures-executor v0.3.15
[INFO] [stderr]     Checking glib v0.10.3
[INFO] [stderr]     Checking futures v0.3.15
[INFO] [stderr]     Checking rental v0.5.6
[INFO] [stderr]     Checking fluent-bundle v0.12.0
[INFO] [stderr]     Checking piet-cairo v0.3.0
[INFO] [stderr]     Checking piet-common v0.3.2
[INFO] [stderr]     Checking druid-shell v0.7.0
[INFO] [stderr]     Checking druid v0.7.0
[INFO] [stderr]     Checking engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/UI.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | /     /// TODO: 
[INFO] [stdout] 17 | |     /// learn how to color the background
[INFO] [stdout] 18 | |     /// learn how to draw shapes
[INFO] [stdout]    | |________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 22 | /     let main_window = WindowDesc::new(ui_builder)
[INFO] [stdout] 23 | |         .title("3D demo")
[INFO] [stdout] 24 | |         .window_size((width, height));
[INFO] [stdout]    | |______________________________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/UI.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | /     /// TODO: 
[INFO] [stdout] 17 | |     /// learn how to color the background
[INFO] [stdout] 18 | |     /// learn how to draw shapes
[INFO] [stdout]    | |________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 22 | /     let main_window = WindowDesc::new(ui_builder)
[INFO] [stdout] 23 | |         .title("3D demo")
[INFO] [stdout] 24 | |         .window_size((width, height));
[INFO] [stdout]    | |______________________________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fontw`
[INFO] [stdout]   --> src/UI.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn run(width: f64, height: f64, fontw: usize, fonth: usize) -> Result<(), PlatformError> {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_fontw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fonth`
[INFO] [stdout]   --> src/UI.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn run(width: f64, height: f64, fontw: usize, fonth: usize) -> Result<(), PlatformError> {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_fonth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fElapsedTime`
[INFO] [stdout]   --> src/main.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn OnUserUpdate(fElapsedTime: f64) -> bool {
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fElapsedTime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triProjected0`
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let triProjected0 = shapes::DepthProj::mat_mul(&tri.0[0], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triProjected0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triProjected1`
[INFO] [stdout]   --> src/main.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let triProjected1 = shapes::DepthProj::mat_mul(&tri.0[1], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triProjected1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triProjected2`
[INFO] [stdout]   --> src/main.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let triProjected2 = shapes::DepthProj::mat_mul(&tri.0[2], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triProjected2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cube`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let cube = shapes::Mesh::new_cube();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cube`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomWidget` is never constructed
[INFO] [stdout]   --> src/UI.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct CustomWidget;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_image_data` is never used
[INFO] [stdout]    --> src/UI.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn make_image_data(width: usize, height: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `UI` should have a snake case name
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod UI;
[INFO] [stdout]   |     ^^ help: convert the identifier to snake case (notice the capitalization): `ui`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `h` should have an upper case name
[INFO] [stdout]  --> src/main.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const h: f64 = 256.0;
[INFO] [stdout]   |       ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 4 - const h: f64 = 256.0;
[INFO] [stdout] 4 + const H: f64 = 256.0;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `w` should have an upper case name
[INFO] [stdout]  --> src/main.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const w: f64 = 240.0;
[INFO] [stdout]   |       ^
[INFO] [stdout]   |
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 5 - const w: f64 = 240.0;
[INFO] [stdout] 5 + const W: f64 = 240.0;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fontw` should have an upper case name
[INFO] [stdout]  --> src/main.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const fontw: usize = 4;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 6 - const fontw: usize = 4;
[INFO] [stdout] 6 + const FONTW: usize = 4;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fonth` should have an upper case name
[INFO] [stdout]  --> src/main.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const fonth: usize = 4;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 7 - const fonth: usize = 4;
[INFO] [stdout] 7 + const FONTH: usize = 4;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OnUserCreate` should have a snake case name
[INFO] [stdout]  --> src/main.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn OnUserCreate() -> bool{
[INFO] [stdout]   |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `on_user_create`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OnUserUpdate` should have a snake case name
[INFO] [stdout]   --> src/main.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn OnUserUpdate(fElapsedTime: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `on_user_update`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fElapsedTime` should have a snake case name
[INFO] [stdout]   --> src/main.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn OnUserUpdate(fElapsedTime: f64) -> bool {
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `f_elapsed_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `triProjected0` should have a snake case name
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let triProjected0 = shapes::DepthProj::mat_mul(&tri.0[0], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tri_projected0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `triProjected1` should have a snake case name
[INFO] [stdout]   --> src/main.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let triProjected1 = shapes::DepthProj::mat_mul(&tri.0[1], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tri_projected1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `triProjected2` should have a snake case name
[INFO] [stdout]   --> src/main.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let triProjected2 = shapes::DepthProj::mat_mul(&tri.0[2], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tri_projected2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     UI::run(h, w, fontw, fonth);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = UI::run(h, w, fontw, fonth);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `AspectRatio` should have a snake case name
[INFO] [stdout]   --> src/shapes.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn proj(AspectRatio: f64) -> DepthProj {
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fontw`
[INFO] [stdout]   --> src/UI.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn run(width: f64, height: f64, fontw: usize, fonth: usize) -> Result<(), PlatformError> {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_fontw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fonth`
[INFO] [stdout]   --> src/UI.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn run(width: f64, height: f64, fontw: usize, fonth: usize) -> Result<(), PlatformError> {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_fonth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fElapsedTime`
[INFO] [stdout]   --> src/main.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn OnUserUpdate(fElapsedTime: f64) -> bool {
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fElapsedTime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triProjected0`
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let triProjected0 = shapes::DepthProj::mat_mul(&tri.0[0], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triProjected0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triProjected1`
[INFO] [stdout]   --> src/main.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let triProjected1 = shapes::DepthProj::mat_mul(&tri.0[1], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triProjected1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triProjected2`
[INFO] [stdout]   --> src/main.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let triProjected2 = shapes::DepthProj::mat_mul(&tri.0[2], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triProjected2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cube`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let cube = shapes::Mesh::new_cube();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cube`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomWidget` is never constructed
[INFO] [stdout]   --> src/UI.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct CustomWidget;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_image_data` is never used
[INFO] [stdout]    --> src/UI.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn make_image_data(width: usize, height: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `UI` should have a snake case name
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod UI;
[INFO] [stdout]   |     ^^ help: convert the identifier to snake case (notice the capitalization): `ui`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `h` should have an upper case name
[INFO] [stdout]  --> src/main.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const h: f64 = 256.0;
[INFO] [stdout]   |       ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 4 - const h: f64 = 256.0;
[INFO] [stdout] 4 + const H: f64 = 256.0;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `w` should have an upper case name
[INFO] [stdout]  --> src/main.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const w: f64 = 240.0;
[INFO] [stdout]   |       ^
[INFO] [stdout]   |
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 5 - const w: f64 = 240.0;
[INFO] [stdout] 5 + const W: f64 = 240.0;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fontw` should have an upper case name
[INFO] [stdout]  --> src/main.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const fontw: usize = 4;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 6 - const fontw: usize = 4;
[INFO] [stdout] 6 + const FONTW: usize = 4;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fonth` should have an upper case name
[INFO] [stdout]  --> src/main.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const fonth: usize = 4;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 7 - const fonth: usize = 4;
[INFO] [stdout] 7 + const FONTH: usize = 4;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OnUserCreate` should have a snake case name
[INFO] [stdout]  --> src/main.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn OnUserCreate() -> bool{
[INFO] [stdout]   |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `on_user_create`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OnUserUpdate` should have a snake case name
[INFO] [stdout]   --> src/main.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn OnUserUpdate(fElapsedTime: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `on_user_update`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fElapsedTime` should have a snake case name
[INFO] [stdout]   --> src/main.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn OnUserUpdate(fElapsedTime: f64) -> bool {
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `f_elapsed_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `triProjected0` should have a snake case name
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let triProjected0 = shapes::DepthProj::mat_mul(&tri.0[0], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tri_projected0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `triProjected1` should have a snake case name
[INFO] [stdout]   --> src/main.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let triProjected1 = shapes::DepthProj::mat_mul(&tri.0[1], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tri_projected1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `triProjected2` should have a snake case name
[INFO] [stdout]   --> src/main.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let triProjected2 = shapes::DepthProj::mat_mul(&tri.0[2], &projection);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tri_projected2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     UI::run(h, w, fontw, fonth);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = UI::run(h, w, fontw, fonth);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `AspectRatio` should have a snake case name
[INFO] [stdout]   --> src/shapes.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn proj(AspectRatio: f64) -> DepthProj {
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "4c47a11bff39d3b4503ef9a5b966017305a055868ae85382a864d983332fd100", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c47a11bff39d3b4503ef9a5b966017305a055868ae85382a864d983332fd100", kill_on_drop: false }`
[INFO] [stdout] 4c47a11bff39d3b4503ef9a5b966017305a055868ae85382a864d983332fd100
