[INFO] cloning repository https://github.com/adamnemecek/wgpu_rects
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adamnemecek/wgpu_rects" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadamnemecek%2Fwgpu_rects", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadamnemecek%2Fwgpu_rects'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0048ddb0c645a7bb549d0009c84db4bb3f1891e7
[INFO] checking adamnemecek/wgpu_rects against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadamnemecek%2Fwgpu_rects" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/adamnemecek/wgpu_rects
[INFO] finished tweaking git repo https://github.com/adamnemecek/wgpu_rects
[INFO] tweaked toml for git repo https://github.com/adamnemecek/wgpu_rects written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/adamnemecek/wgpu_rects 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/adamnemecek/wgpu_rects 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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nalgebra v0.20.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] dafefbf404aaa406a566bf30e90c219f7467b45315b3e6c17113ab1a85e39ef4
[INFO] running `Command { std: "docker" "start" "-a" "dafefbf404aaa406a566bf30e90c219f7467b45315b3e6c17113ab1a85e39ef4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dafefbf404aaa406a566bf30e90c219f7467b45315b3e6c17113ab1a85e39ef4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dafefbf404aaa406a566bf30e90c219f7467b45315b3e6c17113ab1a85e39ef4", kill_on_drop: false }`
[INFO] [stdout] dafefbf404aaa406a566bf30e90c219f7467b45315b3e6c17113ab1a85e39ef4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 086b85c4d88fd02b841a371956697a23df7f071468104a27daba1a23df5f02a8
[INFO] running `Command { std: "docker" "start" "-a" "086b85c4d88fd02b841a371956697a23df7f071468104a27daba1a23df5f02a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling cc v1.0.48
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking lock_api v0.3.2
[INFO] [stderr]    Compiling x11 v2.18.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking relevant v0.4.2
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling libm v0.1.4
[INFO] [stderr]     Checking same-file v1.0.5
[INFO] [stderr]     Checking atom v0.3.5
[INFO] [stderr]     Checking walkdir v2.2.9
[INFO] [stderr]    Compiling x11-dl v2.18.4
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]     Checking c2-chacha v0.2.3
[INFO] [stderr]     Checking smallvec v1.1.0
[INFO] [stderr]     Checking colorful v0.2.1
[INFO] [stderr]     Checking copyless v0.1.4
[INFO] [stderr]     Checking hibitset v0.6.2
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking instant v0.1.2
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking parking_lot_core v0.7.0
[INFO] [stderr]     Checking rusttype v0.8.2
[INFO] [stderr]     Checking gfx-hal v0.4.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]     Checking ash v0.29.0
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking parking_lot v0.10.0
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking alga v0.9.2
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking nalgebra v0.20.0
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]     Checking gfx-backend-empty v0.4.0
[INFO] [stderr]     Checking rendy-memory v0.5.2
[INFO] [stderr]     Checking rendy-descriptor v0.5.1
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]    Compiling zerocopy-derive v0.1.4
[INFO] [stderr]     Checking zerocopy v0.2.8
[INFO] [stderr]     Checking gfx-backend-vulkan v0.4.0
[INFO] [stderr]     Checking wgpu-native v0.4.2
[INFO] [stderr]     Checking wgpu v0.4.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.4
[INFO] [stderr]     Checking winit v0.21.0
[INFO] [stderr]     Checking brewcode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CursorIcon`, `ElementState`, `ModifiersState`, and `VirtualKeyCode`
[INFO] [stdout]   --> src/main.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     event::{ElementState, Event, ModifiersState, MouseScrollDelta, VirtualKeyCode, WindowEvent},
[INFO] [stdout]    |             ^^^^^^^^^^^^         ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     event_loop::{ControlFlow, EventLoop},
[INFO] [stdout] 17 |     window::{CursorIcon, WindowBuilder},
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorIcon`, `ElementState`, `ModifiersState`, and `VirtualKeyCode`
[INFO] [stdout]   --> src/main.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     event::{ElementState, Event, ModifiersState, MouseScrollDelta, VirtualKeyCode, WindowEvent},
[INFO] [stdout]    |             ^^^^^^^^^^^^         ^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     event_loop::{ControlFlow, EventLoop},
[INFO] [stdout] 17 |     window::{CursorIcon, WindowBuilder},
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tform`
[INFO] [stdout]    --> src/rectangle_brush.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let tform = transform * ortho;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_tform`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tform`
[INFO] [stdout]    --> src/rectangle_brush.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let tform = transform * ortho;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_tform`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut modifier_pressed = false;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/main.rs:106:46
[INFO] [stdout]     |
[INFO] [stdout] 106 |             event: WindowEvent::MouseInput { state, button, .. },
[INFO] [stdout]     |                                              ^^^^^ help: try ignoring the field: `state: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/main.rs:106:53
[INFO] [stdout]     |
[INFO] [stdout] 106 |             event: WindowEvent::MouseInput { state, button, .. },
[INFO] [stdout]     |                                                     ^^^^^^ help: try ignoring the field: `button: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fps`
[INFO] [stdout]    --> src/main.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let fps = 1.0 / ((dt as f32) / 1000.0);
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_fps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier_pressed`
[INFO] [stdout]   --> src/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut modifier_pressed = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier_pressed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut modifier_pressed = false;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/main.rs:106:46
[INFO] [stdout]     |
[INFO] [stdout] 106 |             event: WindowEvent::MouseInput { state, button, .. },
[INFO] [stdout]     |                                              ^^^^^ help: try ignoring the field: `state: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/main.rs:106:53
[INFO] [stdout]     |
[INFO] [stdout] 106 |             event: WindowEvent::MouseInput { state, button, .. },
[INFO] [stdout]     |                                                     ^^^^^^ help: try ignoring the field: `button: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fps`
[INFO] [stdout]    --> src/main.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let fps = 1.0 / ((dt as f32) / 1000.0);
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_fps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier_pressed`
[INFO] [stdout]   --> src/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut modifier_pressed = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier_pressed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_top`, `right_bottom`, and `color` are never read
[INFO] [stdout]  --> src/rectangle_brush.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct RectInstance {
[INFO] [stdout]   |        ------------ fields in this struct
[INFO] [stdout] 5 |     left_top: [f32; 2],
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     right_bottom: [f32; 2],
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 7 |     color: [f32; 4],
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RectInstance` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_top`, `right_bottom`, and `color` are never read
[INFO] [stdout]  --> src/rectangle_brush.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct RectInstance {
[INFO] [stdout]   |        ------------ fields in this struct
[INFO] [stdout] 5 |     left_top: [f32; 2],
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     right_bottom: [f32; 2],
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 7 |     color: [f32; 4],
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RectInstance` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `orthographic_projection` is never used
[INFO] [stdout]   --> src/rectangle_brush.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn orthographic_projection(width: f64, height: f64) -> [f32; 16] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point2` is never used
[INFO] [stdout]  --> src/camera2d.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Point2 = na::Point2<f32>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point3` is never used
[INFO] [stdout]  --> src/camera2d.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Point3 = na::Point3<f32>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Mat3` is never used
[INFO] [stdout]  --> src/camera2d.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Mat3 = na::Matrix3<f32>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ortho_lh_zo` is never used
[INFO] [stdout]   --> src/camera2d.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn ortho_lh_zo<N: na::RealField>(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ortho` is never used
[INFO] [stdout]   --> src/camera2d.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn ortho(w: f32, h: f32) -> na::Matrix4<f32> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `texture_translation` is never used
[INFO] [stdout]   --> src/camera2d.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn texture_translation(view_translation: (f32, f32), outer_size: (f32, f32)) -> (f32, f32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aspect_ratio_transform` is never used
[INFO] [stdout]    --> src/camera2d.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn aspect_ratio_transform(inner_size: (f32, f32), outer_size: (f32, f32)) -> Mat4 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scroll` is never used
[INFO] [stdout]    --> src/camera2d.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Camera2D {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn scroll(&mut self, delta: (f32, f32)) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `orthographic_projection` is never used
[INFO] [stdout]   --> src/rectangle_brush.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn orthographic_projection(width: f64, height: f64) -> [f32; 16] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point2` is never used
[INFO] [stdout]  --> src/camera2d.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Point2 = na::Point2<f32>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point3` is never used
[INFO] [stdout]  --> src/camera2d.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Point3 = na::Point3<f32>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Mat3` is never used
[INFO] [stdout]  --> src/camera2d.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Mat3 = na::Matrix3<f32>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ortho_lh_zo` is never used
[INFO] [stdout]   --> src/camera2d.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn ortho_lh_zo<N: na::RealField>(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ortho` is never used
[INFO] [stdout]   --> src/camera2d.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn ortho(w: f32, h: f32) -> na::Matrix4<f32> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `texture_translation` is never used
[INFO] [stdout]   --> src/camera2d.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn texture_translation(view_translation: (f32, f32), outer_size: (f32, f32)) -> (f32, f32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aspect_ratio_transform` is never used
[INFO] [stdout]    --> src/camera2d.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn aspect_ratio_transform(inner_size: (f32, f32), outer_size: (f32, f32)) -> Mat4 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scroll` is never used
[INFO] [stdout]    --> src/camera2d.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Camera2D {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn scroll(&mut self, delta: (f32, f32)) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.21s
[INFO] running `Command { std: "docker" "inspect" "086b85c4d88fd02b841a371956697a23df7f071468104a27daba1a23df5f02a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "086b85c4d88fd02b841a371956697a23df7f071468104a27daba1a23df5f02a8", kill_on_drop: false }`
[INFO] [stdout] 086b85c4d88fd02b841a371956697a23df7f071468104a27daba1a23df5f02a8
