[INFO] cloning repository https://github.com/peerhenry/rust_test_ecs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/peerhenry/rust_test_ecs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeerhenry%2Frust_test_ecs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeerhenry%2Frust_test_ecs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dc24ba56583efb8d6c7a2ff36218882e85f951a4
[INFO] checking peerhenry/rust_test_ecs/dc24ba56583efb8d6c7a2ff36218882e85f951a4 against 656a9da186dacaf3bf8f7f7296a825d256cb4ae3 for pr-158915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeerhenry%2Frust_test_ecs" "/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/peerhenry/rust_test_ecs
[INFO] finished tweaking git repo https://github.com/peerhenry/rust_test_ecs
[INFO] tweaked toml for git repo https://github.com/peerhenry/rust_test_ecs written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/peerhenry/rust_test_ecs on toolchain 656a9da186dacaf3bf8f7f7296a825d256cb4ae3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656a9da186dacaf3bf8f7f7296a825d256cb4ae3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/peerhenry/rust_test_ecs 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" "+656a9da186dacaf3bf8f7f7296a825d256cb4ae3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `rust_test_ecs` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-4-tc1/source/target/.../rust_test_ecs
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `rust-test-ecs`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 - name = "rust_test_ecs"
[INFO] [stderr] 11 + name = "rust-test-ecs"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `rust-test-ecs`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:12:19
[INFO] [stderr]    |
[INFO] [stderr] 12 ~ version = "0.1.0"
[INFO] [stderr] 13 + [[bin]]
[INFO] [stderr] 14 + name = "rust-test-ecs"
[INFO] [stderr] 15 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `rust_test_ecs` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitflags v1.0.3
[INFO] [stderr]   Downloaded num-traits v0.2.5
[INFO] [stderr]   Downloaded lazy_static v1.1.0
[INFO] [stderr]   Downloaded byteorder v1.2.4
[INFO] [stderr]   Downloaded deflate v0.7.18
[INFO] [stderr]   Downloaded num-derive v0.2.2
[INFO] [stderr]   Downloaded phf_shared v0.7.22
[INFO] [stderr]   Downloaded version_check v0.1.4
[INFO] [stderr]   Downloaded pkg-config v0.3.13
[INFO] [stderr]   Downloaded gl v0.10.0
[INFO] [stderr]   Downloaded quote v0.6.6
[INFO] [stderr]   Downloaded phf_codegen v0.7.22
[INFO] [stderr]   Downloaded phf_generator v0.7.22
[INFO] [stderr]   Downloaded phf v0.7.22
[INFO] [stderr]   Downloaded proc-macro2 v0.4.12
[INFO] [stderr]   Downloaded log v0.4.3
[INFO] [stderr]   Downloaded gleam v0.6.0
[INFO] [stderr]   Downloaded gif v0.10.0
[INFO] [stderr]   Downloaded rand v0.4.2
[INFO] [stderr]   Downloaded cgmath v0.15.0
[INFO] [stderr]   Downloaded image v0.19.0
[INFO] [stderr]   Downloaded rayon v1.0.2
[INFO] [stderr]   Downloaded syn v0.14.8
[INFO] [stderr]   Downloaded winapi v0.3.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327
[INFO] running `Command { std: "docker" "start" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327" "/opt/rustwide/cargo-home/bin/cargo" "+656a9da186dacaf3bf8f7f7296a825d256cb4ae3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327" "/opt/rustwide/cargo-home/bin/cargo" "+656a9da186dacaf3bf8f7f7296a825d256cb4ae3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `rust_test_ecs` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../rust_test_ecs
[INFO] [stderr]    |                          ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `rust-test-ecs`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 - name = "rust_test_ecs"
[INFO] [stderr] 11 + name = "rust-test-ecs"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `rust-test-ecs`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:12:19
[INFO] [stderr]    |
[INFO] [stderr] 12 ~ version = "0.1.0"
[INFO] [stderr] 13 + [[bin]]
[INFO] [stderr] 14 + name = "rust-test-ecs"
[INFO] [stderr] 15 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `rust_test_ecs` (manifest) generated 1 warning
[INFO] [stderr]    Compiling num-traits v0.2.5
[INFO] [stderr]    Compiling version_check v0.1.4
[INFO] [stderr]    Compiling cfg-if v0.1.5
[INFO] [stderr]    Compiling phf_shared v0.7.22
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]     Checking byteorder v1.2.4
[INFO] [stderr]    Compiling proc-macro2 v0.4.12
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling pkg-config v0.3.13
[INFO] [stderr]    Compiling bitflags v1.0.3
[INFO] [stderr]    Compiling wayland-protocols v0.9.10
[INFO] [stderr]    Compiling rayon v1.0.2
[INFO] [stderr]    Compiling log v0.4.3
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]     Checking deflate v0.7.18
[INFO] [stderr]     Checking gif v0.10.0
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling phf v0.7.22
[INFO] [stderr]    Compiling x11-dl v2.18.3
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]    Compiling gl_generator v0.5.5
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling quote v0.6.6
[INFO] [stderr]    Compiling syn v0.14.8
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking tempfile v2.2.0
[INFO] [stderr]     Checking rayon-core v1.4.1
[INFO] [stderr]    Compiling phf_generator v0.7.22
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]     Checking cgmath v0.15.0
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling phf_codegen v0.7.22
[INFO] [stderr]    Compiling glutin v0.9.2
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]     Checking num-iter v0.1.37
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking png v0.12.0
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling num-derive v0.2.2
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]     Checking image v0.19.0
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]     Checking dlib v0.3.1
[INFO] [stderr]     Checking wayland-sys v0.9.10
[INFO] [stderr]     Checking wayland-client v0.9.10
[INFO] [stderr]     Checking wayland-kbd v0.9.1
[INFO] [stderr]     Checking wayland-window v0.7.0
[INFO] [stderr]     Checking winit v0.7.6
[INFO] [stderr]     Checking rust_test_ecs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::camera_builder_ortho::OrthoCameraBuilder`
[INFO] [stdout]  --> src/camera_builder/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use self::camera_builder_ortho::OrthoCameraBuilder;
[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 import: `self::camera_builder_ortho::OrthoCamera`
[INFO] [stdout]  --> src/camera_builder/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::camera_builder_ortho::OrthoCamera;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::camera_builder_ortho::OrthoCameraBuilder`
[INFO] [stdout]  --> src/camera_builder/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use self::camera_builder_ortho::OrthoCameraBuilder;
[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 import: `self::camera_builder_ortho::OrthoCamera`
[INFO] [stdout]  --> src/camera_builder/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::camera_builder_ortho::OrthoCamera;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/event_handler.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn handle_mouse_input(state: glutin::ElementState, button: glutin::MouseButton, game: &mut GameState) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/event_handler.rs:41:52
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn handle_mouse_input(state: glutin::ElementState, button: glutin::MouseButton, game: &mut GameState) {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> src/event_handler.rs:41:81
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn handle_mouse_input(state: glutin::ElementState, button: glutin::MouseButton, game: &mut GameState) {
[INFO] [stdout]    |                                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/event_handler.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn handle_mouse_wheel(delta: glutin::MouseScrollDelta, game: &mut GameState) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> src/event_handler.rs:45:56
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn handle_mouse_wheel(delta: glutin::MouseScrollDelta, game: &mut GameState) {
[INFO] [stdout]    |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/camera_builder/camera_builder_ortho.rs:6:7
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct OrthoCamera {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  5 |   // view
[INFO] [stdout]  6 |   pub eye: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^
[INFO] [stdout]  7 |   pub target: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]  8 |   pub up: Vector3<GLfloat>,
[INFO] [stdout]    |       ^^
[INFO] [stdout]  9 |   pub view_matrix: Matrix4<GLfloat>,
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 10 |   // ortho
[INFO] [stdout] 11 |   pub aspect: GLfloat,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 12 |   pub height: GLfloat,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 13 |   pub near:   GLfloat,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 14 |   pub far:    GLfloat,
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 15 |   pub projection_matrix: Matrix4<GLfloat>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/camera_builder/camera_builder_perspective.rs:6:7
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct PerspectiveCamera {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout]  5 |   pub view_matrix: Matrix4<GLfloat>,
[INFO] [stdout]  6 |   pub eye: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^
[INFO] [stdout]  7 |   pub target: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]  8 |   pub up: Vector3<GLfloat>,
[INFO] [stdout]    |       ^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |   pub fovy: Rad<GLfloat>,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 12 |   pub aspect: GLfloat,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 13 |   pub near: GLfloat,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 14 |   pub far: GLfloat
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ibo` is never read
[INFO] [stdout]  --> src/vao_builder.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct BufferComponent {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |   pub ibo: GLuint
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/event_handler.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn handle_mouse_input(state: glutin::ElementState, button: glutin::MouseButton, game: &mut GameState) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/event_handler.rs:41:52
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn handle_mouse_input(state: glutin::ElementState, button: glutin::MouseButton, game: &mut GameState) {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> src/event_handler.rs:41:81
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn handle_mouse_input(state: glutin::ElementState, button: glutin::MouseButton, game: &mut GameState) {
[INFO] [stdout]    |                                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/event_handler.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn handle_mouse_wheel(delta: glutin::MouseScrollDelta, game: &mut GameState) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> src/event_handler.rs:45:56
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn handle_mouse_wheel(delta: glutin::MouseScrollDelta, game: &mut GameState) {
[INFO] [stdout]    |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/camera_builder/camera_builder_ortho.rs:6:7
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct OrthoCamera {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  5 |   // view
[INFO] [stdout]  6 |   pub eye: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^
[INFO] [stdout]  7 |   pub target: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]  8 |   pub up: Vector3<GLfloat>,
[INFO] [stdout]    |       ^^
[INFO] [stdout]  9 |   pub view_matrix: Matrix4<GLfloat>,
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 10 |   // ortho
[INFO] [stdout] 11 |   pub aspect: GLfloat,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 12 |   pub height: GLfloat,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 13 |   pub near:   GLfloat,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 14 |   pub far:    GLfloat,
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 15 |   pub projection_matrix: Matrix4<GLfloat>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/camera_builder/camera_builder_perspective.rs:6:7
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct PerspectiveCamera {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout]  5 |   pub view_matrix: Matrix4<GLfloat>,
[INFO] [stdout]  6 |   pub eye: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^
[INFO] [stdout]  7 |   pub target: Point3<GLfloat>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]  8 |   pub up: Vector3<GLfloat>,
[INFO] [stdout]    |       ^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |   pub fovy: Rad<GLfloat>,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 12 |   pub aspect: GLfloat,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 13 |   pub near: GLfloat,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 14 |   pub far: GLfloat
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ibo` is never read
[INFO] [stdout]  --> src/vao_builder.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct BufferComponent {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |   pub ibo: GLuint
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `image`
[INFO] [stderr]  --> Cargo.toml:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | image = "*"
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `image`
[INFO] [stderr] warning: `rust_test_ecs` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.32s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0, glutin v0.9.2, syn v0.14.8, winit v0.7.6
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327", kill_on_drop: false }`
[INFO] [stdout] 02e6f063078cddc16cd430beb2c13e5724f75a991db7595962cc0aba0a614327
