[INFO] cloning repository https://github.com/MarcoPolo/gltut-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MarcoPolo/gltut-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcoPolo%2Fgltut-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcoPolo%2Fgltut-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 22e820f4002c04afce9db57637981e9f3024f5af
[INFO] testing MarcoPolo/gltut-rs against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcoPolo%2Fgltut-rs" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/MarcoPolo/gltut-rs on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/MarcoPolo/gltut-rs
[INFO] finished tweaking git repo https://github.com/MarcoPolo/gltut-rs
[INFO] tweaked toml for git repo https://github.com/MarcoPolo/gltut-rs written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/MarcoPolo/gltut-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glfw-sys v3.3.2
[INFO] [stderr]   Downloaded glfw v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ed479a87b87c7160e6578295a25267795fd447104d1277b206eb3d1d4c457e08
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ed479a87b87c7160e6578295a25267795fd447104d1277b206eb3d1d4c457e08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed479a87b87c7160e6578295a25267795fd447104d1277b206eb3d1d4c457e08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed479a87b87c7160e6578295a25267795fd447104d1277b206eb3d1d4c457e08", kill_on_drop: false }`
[INFO] [stdout] ed479a87b87c7160e6578295a25267795fd447104d1277b206eb3d1d4c457e08
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86bacab34ba234fea33aa34e1ab6c1a866e57918fbdf5f4f39899ebd10e53e7f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "86bacab34ba234fea33aa34e1ab6c1a866e57918fbdf5f4f39899ebd10e53e7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling glfw-sys v3.3.2
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling glfw v0.38.0
[INFO] [stderr]    Compiling gltut v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Action`, `Context`, `Key`
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glfw::{Action, Context, Key};
[INFO] [stdout]   |            ^^^^^^  ^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]   --> src/ch_2/hello_color.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ffi::CString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_2/hello_color.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ffi::CString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]   --> src/ch_3/part1.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ffi::CString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part2.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part3.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part4.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part2.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part3.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part4.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/section_ii/ch_5_1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/section_ii/ch_5_1.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offsets`
[INFO] [stdout]    --> src/ch_3/part3.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let offsets = compute_position_offsets(&glfw);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offsets`
[INFO] [stdout]    --> src/ch_3/part4.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let offsets = compute_position_offsets(&glfw);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `VBO`
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:338:39
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let (shaderProgram, VAO_1, VAO_2, VBO) = unsafe {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_VBO`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn compute_position_offsets(glfw: glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `adjust_vertex_data`
[INFO] [stdout]   --> src/ch_3/part2.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `adjust_vertex_data`
[INFO] [stdout]   --> src/ch_3/part3.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `adjust_vertex_data`
[INFO] [stdout]   --> src/ch_3/part4.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]    --> src/ch_4/part1.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]    --> src/ch_4/part2.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]    --> src/ch_4/part3.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fLoopDuration` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let fLoopDuration = 5.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `f_loop_duration`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fScale` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let fScale = 3.14159 * 2.0 / fLoopDuration;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `f_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fElapsedTime` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let fElapsedTime = glfw.get_time() / 1000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `f_elapsed_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fCurrTimeThroughLoop` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let fCurrTimeThroughLoop: f64 = fElapsedTime % fLoopDuration;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `f_curr_time_through_loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part1.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part1.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part2.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part2.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part3.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part3.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part4.rs:67:23
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part4.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:186:43
[INFO] [stdout]     |
[INFO] [stdout] 186 | unsafe fn initialize_vertex_array_objects(VBO: u32, index_buffer_object: u32) -> (u32, u32) {
[INFO] [stdout]     |                                           ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_object_1` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut VAO_object_1 = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `vao_object_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_object_2` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let mut VAO_object_2 = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `vao_object_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_1` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 | unsafe fn display(shader: &Shader, VAO_1: u32, VAO_2: u32) {
[INFO] [stdout]     |                                    ^^^^^ help: convert the identifier to snake case: `vao_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_2` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:261:48
[INFO] [stdout]     |
[INFO] [stdout] 261 | unsafe fn display(shader: &Shader, VAO_1: u32, VAO_2: u32) {
[INFO] [stdout]     |                                                ^^^^^ help: convert the identifier to snake case: `vao_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 24.50s
[INFO] running `Command { std: "docker" "inspect" "86bacab34ba234fea33aa34e1ab6c1a866e57918fbdf5f4f39899ebd10e53e7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86bacab34ba234fea33aa34e1ab6c1a866e57918fbdf5f4f39899ebd10e53e7f", kill_on_drop: false }`
[INFO] [stdout] 86bacab34ba234fea33aa34e1ab6c1a866e57918fbdf5f4f39899ebd10e53e7f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 971462321caf000e9019013acaac7aad9c25ae0c847896c69a09559b5f28d647
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "971462321caf000e9019013acaac7aad9c25ae0c847896c69a09559b5f28d647", kill_on_drop: false }`
[INFO] [stderr]    Compiling gltut v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Action`, `Context`, `Key`
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glfw::{Action, Context, Key};
[INFO] [stdout]   |            ^^^^^^  ^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]   --> src/ch_2/hello_color.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ffi::CString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_2/hello_color.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ffi::CString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]   --> src/ch_3/part1.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ffi::CString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part2.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part3.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_3/part4.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part2.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part3.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/ch_4/part4.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/section_ii/ch_5_1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/section_ii/ch_5_1.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offsets`
[INFO] [stdout]    --> src/ch_3/part3.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let offsets = compute_position_offsets(&glfw);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offsets`
[INFO] [stdout]    --> src/ch_3/part4.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let offsets = compute_position_offsets(&glfw);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `VBO`
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:338:39
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let (shaderProgram, VAO_1, VAO_2, VBO) = unsafe {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_VBO`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn compute_position_offsets(glfw: glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `adjust_vertex_data`
[INFO] [stdout]   --> src/ch_3/part2.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `adjust_vertex_data`
[INFO] [stdout]   --> src/ch_3/part3.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `adjust_vertex_data`
[INFO] [stdout]   --> src/ch_3/part4.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]    --> src/ch_4/part1.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]    --> src/ch_4/part2.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_position_offsets`
[INFO] [stdout]    --> src/ch_4/part3.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fLoopDuration` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let fLoopDuration = 5.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `f_loop_duration`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fScale` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let fScale = 3.14159 * 2.0 / fLoopDuration;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `f_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fElapsedTime` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let fElapsedTime = glfw.get_time() / 1000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `f_elapsed_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fCurrTimeThroughLoop` should have a snake case name
[INFO] [stdout]   --> src/ch_2/vertex_attributes.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let fCurrTimeThroughLoop: f64 = fElapsedTime % fLoopDuration;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `f_curr_time_through_loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part1.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part1.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part2.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part2.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part3.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part3.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part4.rs:67:23
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stdout]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nextVertices` should have a snake case name
[INFO] [stdout]   --> src/ch_3/part4.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VBO` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:186:43
[INFO] [stdout]     |
[INFO] [stdout] 186 | unsafe fn initialize_vertex_array_objects(VBO: u32, index_buffer_object: u32) -> (u32, u32) {
[INFO] [stdout]     |                                           ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_object_1` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut VAO_object_1 = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `vao_object_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_object_2` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let mut VAO_object_2 = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `vao_object_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_1` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 | unsafe fn display(shader: &Shader, VAO_1: u32, VAO_2: u32) {
[INFO] [stdout]     |                                    ^^^^^ help: convert the identifier to snake case: `vao_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `VAO_2` should have a snake case name
[INFO] [stdout]    --> src/section_ii/ch_5_1.rs:261:48
[INFO] [stdout]     |
[INFO] [stdout] 261 | unsafe fn display(shader: &Shader, VAO_1: u32, VAO_2: u32) {
[INFO] [stdout]     |                                                ^^^^^ help: convert the identifier to snake case: `vao_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.40s
[INFO] running `Command { std: "docker" "inspect" "971462321caf000e9019013acaac7aad9c25ae0c847896c69a09559b5f28d647", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "971462321caf000e9019013acaac7aad9c25ae0c847896c69a09559b5f28d647", kill_on_drop: false }`
[INFO] [stdout] 971462321caf000e9019013acaac7aad9c25ae0c847896c69a09559b5f28d647
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6174570057d6c6b3e31e77bc1975465dd72fe73a88f3bd7cddb78f0722d2d2e8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6174570057d6c6b3e31e77bc1975465dd72fe73a88f3bd7cddb78f0722d2d2e8", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Action`, `Context`, `Key`
[INFO] [stderr]  --> src/main.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | use glfw::{Action, Context, Key};
[INFO] [stderr]   |            ^^^^^^  ^^^^^^^  ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi::CString`
[INFO] [stderr]   --> src/ch_2/hello_color.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::ffi::CString;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_2/hello_color.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi::CString`
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::ffi::CString;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi::CString`
[INFO] [stderr]   --> src/ch_3/part1.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::ffi::CString;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_3/part1.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_3/part2.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_3/part3.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_3/part4.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_4/part1.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_4/part2.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_4/part3.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/ch_4/part4.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]   --> src/section_ii/ch_5_1.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::ptr;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/section_ii/ch_5_1.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offsets`
[INFO] [stderr]    --> src/ch_3/part3.rs:161:17
[INFO] [stderr]     |
[INFO] [stderr] 161 |             let offsets = compute_position_offsets(&glfw);
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offsets`
[INFO] [stderr]    --> src/ch_3/part4.rs:165:17
[INFO] [stderr]     |
[INFO] [stderr] 165 |             let offsets = compute_position_offsets(&glfw);
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `VBO`
[INFO] [stderr]    --> src/section_ii/ch_5_1.rs:338:39
[INFO] [stderr]     |
[INFO] [stderr] 338 |     let (shaderProgram, VAO_1, VAO_2, VBO) = unsafe {
[INFO] [stderr]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_VBO`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `compute_position_offsets`
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn compute_position_offsets(glfw: glfw::Glfw) -> (f32, f32) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adjust_vertex_data`
[INFO] [stderr]   --> src/ch_3/part2.rs:64:4
[INFO] [stderr]    |
[INFO] [stderr] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adjust_vertex_data`
[INFO] [stderr]   --> src/ch_3/part3.rs:64:4
[INFO] [stderr]    |
[INFO] [stderr] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adjust_vertex_data`
[INFO] [stderr]   --> src/ch_3/part4.rs:67:4
[INFO] [stderr]    |
[INFO] [stderr] 67 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `compute_position_offsets`
[INFO] [stderr]    --> src/ch_4/part1.rs:144:4
[INFO] [stderr]     |
[INFO] [stderr] 144 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `compute_position_offsets`
[INFO] [stderr]    --> src/ch_4/part2.rs:144:4
[INFO] [stderr]     |
[INFO] [stderr] 144 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `compute_position_offsets`
[INFO] [stderr]    --> src/ch_4/part3.rs:145:4
[INFO] [stderr]     |
[INFO] [stderr] 145 | fn compute_position_offsets(glfw: &glfw::Glfw) -> (f32, f32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `fLoopDuration` should have a snake case name
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let fLoopDuration = 5.0;
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `f_loop_duration`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `fScale` should have a snake case name
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     let fScale = 3.14159 * 2.0 / fLoopDuration;
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `f_scale`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `fElapsedTime` should have a snake case name
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |     let fElapsedTime = glfw.get_time() / 1000.0;
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `f_elapsed_time`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `fCurrTimeThroughLoop` should have a snake case name
[INFO] [stderr]   --> src/ch_2/vertex_attributes.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let fCurrTimeThroughLoop: f64 = fElapsedTime % fLoopDuration;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `f_curr_time_through_loop`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VBO` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part1.rs:64:23
[INFO] [stderr]    |
[INFO] [stderr] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `nextVertices` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part1.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VBO` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part2.rs:64:23
[INFO] [stderr]    |
[INFO] [stderr] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `nextVertices` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part2.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VBO` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part3.rs:64:23
[INFO] [stderr]    |
[INFO] [stderr] 64 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `nextVertices` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part3.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VBO` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part4.rs:67:23
[INFO] [stderr]    |
[INFO] [stderr] 67 | fn adjust_vertex_data(VBO: u32, (x_offset, y_offset): (f32, f32)) {
[INFO] [stderr]    |                       ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `nextVertices` should have a snake case name
[INFO] [stderr]   --> src/ch_3/part4.rs:68:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |     let mut nextVertices = Vec::from(vertices);
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `next_vertices`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VBO` should have a snake case name
[INFO] [stderr]    --> src/section_ii/ch_5_1.rs:186:43
[INFO] [stderr]     |
[INFO] [stderr] 186 | unsafe fn initialize_vertex_array_objects(VBO: u32, index_buffer_object: u32) -> (u32, u32) {
[INFO] [stderr]     |                                           ^^^ help: convert the identifier to snake case: `vbo`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VAO_object_1` should have a snake case name
[INFO] [stderr]    --> src/section_ii/ch_5_1.rs:187:13
[INFO] [stderr]     |
[INFO] [stderr] 187 |     let mut VAO_object_1 = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `vao_object_1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VAO_object_2` should have a snake case name
[INFO] [stderr]    --> src/section_ii/ch_5_1.rs:188:13
[INFO] [stderr]     |
[INFO] [stderr] 188 |     let mut VAO_object_2 = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `vao_object_2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VAO_1` should have a snake case name
[INFO] [stderr]    --> src/section_ii/ch_5_1.rs:261:36
[INFO] [stderr]     |
[INFO] [stderr] 261 | unsafe fn display(shader: &Shader, VAO_1: u32, VAO_2: u32) {
[INFO] [stderr]     |                                    ^^^^^ help: convert the identifier to snake case: `vao_1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `VAO_2` should have a snake case name
[INFO] [stderr]    --> src/section_ii/ch_5_1.rs:261:48
[INFO] [stderr]     |
[INFO] [stderr] 261 | unsafe fn display(shader: &Shader, VAO_1: u32, VAO_2: u32) {
[INFO] [stderr]     |                                                ^^^^^ help: convert the identifier to snake case: `vao_2`
[INFO] [stderr] 
[INFO] [stderr] warning: 43 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/gltut-6970952fa169d833
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6174570057d6c6b3e31e77bc1975465dd72fe73a88f3bd7cddb78f0722d2d2e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6174570057d6c6b3e31e77bc1975465dd72fe73a88f3bd7cddb78f0722d2d2e8", kill_on_drop: false }`
[INFO] [stdout] 6174570057d6c6b3e31e77bc1975465dd72fe73a88f3bd7cddb78f0722d2d2e8
