[INFO] fetching crate bowtie 0.2.2...
[INFO] checking bowtie-0.2.2 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate bowtie 0.2.2 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate bowtie 0.2.2 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bowtie 0.2.2
[INFO] finished tweaking crates.io crate bowtie 0.2.2
[INFO] tweaked toml for crates.io crate bowtie 0.2.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded png v0.14.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9fd47e7562fcedb6d9eae279bde27b07b893108e9fa6f827d957a504b18a46d3
[INFO] running `Command { std: "docker" "start" "-a" "9fd47e7562fcedb6d9eae279bde27b07b893108e9fa6f827d957a504b18a46d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fd47e7562fcedb6d9eae279bde27b07b893108e9fa6f827d957a504b18a46d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fd47e7562fcedb6d9eae279bde27b07b893108e9fa6f827d957a504b18a46d3", kill_on_drop: false }`
[INFO] [stdout] 9fd47e7562fcedb6d9eae279bde27b07b893108e9fa6f827d957a504b18a46d3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4177f30ba766d1f5bbafb7ee01922dc7cb6738b0b557782a06cbc8f6a654f893
[INFO] running `Command { std: "docker" "start" "-a" "4177f30ba766d1f5bbafb7ee01922dc7cb6738b0b557782a06cbc8f6a654f893", kill_on_drop: false }`
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]    Compiling bowtie v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking png v0.14.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stdout] warning: unused import: `fmt::Display`
[INFO] [stdout]  --> src/gl_utils/gl_translation.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt::Display, mem};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToGl`
[INFO] [stdout]  --> src/gl_utils/uniform.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::gl_translation::{DataType, ToGl};
[INFO] [stdout]   |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::Display`
[INFO] [stdout]  --> src/gl_utils/gl_translation.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt::Display, mem};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToGl`
[INFO] [stdout]  --> src/gl_utils/uniform.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::gl_translation::{DataType, ToGl};
[INFO] [stdout]   |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SettableUniform`
[INFO] [stdout]  --> src/gl_utils/gl_texture.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::uniform::{SettableUniform, UniformInteger};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SettableUniform`
[INFO] [stdout]  --> src/gl_utils/gl_texture.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::uniform::{SettableUniform, UniformInteger};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elements` is never read
[INFO] [stdout]  --> src/gl_utils/element_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ElementArrayBuffer<T> {
[INFO] [stdout]   |            ------------------ field in this struct
[INFO] [stdout] 6 |   pub data_type: DataType,
[INFO] [stdout] 7 |   elements: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]   --> src/gl_utils/element_array_buffer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> ElementArrayBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn draw(&self, mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pull_errors` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn pull_errors() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_message_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 | extern "system" fn debug_message_callback(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_debug_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn init_debug_callback() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UniformFloatVector {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl UniformFloatVector {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 18 |   pub fn new(name: &str, count: i8, values: Vec<f32>) -> UniformFloatVector {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct UniformInteger {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:85:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct UniformMatrixFloat {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl UniformMatrixFloat {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 89 |   pub fn new(name: &str, value: Matrix<f32>) -> UniformMatrixFloat {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data_type` and `vertices` are never read
[INFO] [stdout]  --> src/gl_utils/vertex_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct VertexArrayBuffer<T> {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 6 |   id: u32,
[INFO] [stdout] 7 |   data_type: DataType,
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout] 8 |   vertices: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_vertices_len` and `draw` are never used
[INFO] [stdout]   --> src/gl_utils/vertex_array_buffer.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> VertexArrayBuffer<T> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn get_vertices_len(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn draw(&self, drawing_mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `push_message` are never used
[INFO] [stdout]   --> src/components/event.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'s> EventComponent<'s> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 10 |   pub fn new() -> EventComponent<'s> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn push_message(&mut self, entity: *mut dyn Entity<'s>, message: Message) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/bowtie/controller.rs:107:65
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| entity_ref.to_owned() == entity.to_owned());
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| std::ptr::addr_eq(entity_ref.to_owned(), entity.to_owned()));
[INFO] [stdout]     |                                                                 ++++++++++++++++++                     ~                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 |         if other_entity.as_ref().unwrap() as *const _
[INFO] [stdout]     |  __________^
[INFO] [stdout] 144 | |         == entity.as_ref().unwrap() as *const _
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 143 |       if std::ptr::addr_eq(other_entity.as_ref().unwrap() as *const _, entity.as_ref().unwrap() as *const _)
[INFO] [stdout]     |          ++++++++++++++++++                                          ~                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:175:45
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| *ex_collided_entity == other_entity);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| std::ptr::addr_eq(*ex_collided_entity, other_entity));
[INFO] [stdout]     |                                             ++++++++++++++++++                   ~             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elements` is never read
[INFO] [stdout]  --> src/gl_utils/element_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ElementArrayBuffer<T> {
[INFO] [stdout]   |            ------------------ field in this struct
[INFO] [stdout] 6 |   pub data_type: DataType,
[INFO] [stdout] 7 |   elements: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]   --> src/gl_utils/element_array_buffer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> ElementArrayBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn draw(&self, mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pull_errors` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn pull_errors() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_message_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 | extern "system" fn debug_message_callback(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_debug_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn init_debug_callback() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UniformFloatVector {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl UniformFloatVector {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 18 |   pub fn new(name: &str, count: i8, values: Vec<f32>) -> UniformFloatVector {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct UniformInteger {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:85:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct UniformMatrixFloat {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl UniformMatrixFloat {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 89 |   pub fn new(name: &str, value: Matrix<f32>) -> UniformMatrixFloat {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data_type` and `vertices` are never read
[INFO] [stdout]  --> src/gl_utils/vertex_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct VertexArrayBuffer<T> {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 6 |   id: u32,
[INFO] [stdout] 7 |   data_type: DataType,
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout] 8 |   vertices: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_vertices_len` and `draw` are never used
[INFO] [stdout]   --> src/gl_utils/vertex_array_buffer.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> VertexArrayBuffer<T> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn get_vertices_len(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn draw(&self, drawing_mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `push_message` are never used
[INFO] [stdout]   --> src/components/event.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'s> EventComponent<'s> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 10 |   pub fn new() -> EventComponent<'s> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn push_message(&mut self, entity: *mut dyn Entity<'s>, message: Message) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/bowtie/controller.rs:107:65
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| entity_ref.to_owned() == entity.to_owned());
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| std::ptr::addr_eq(entity_ref.to_owned(), entity.to_owned()));
[INFO] [stdout]     |                                                                 ++++++++++++++++++                     ~                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 |         if other_entity.as_ref().unwrap() as *const _
[INFO] [stdout]     |  __________^
[INFO] [stdout] 144 | |         == entity.as_ref().unwrap() as *const _
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 143 |       if std::ptr::addr_eq(other_entity.as_ref().unwrap() as *const _, entity.as_ref().unwrap() as *const _)
[INFO] [stdout]     |          ++++++++++++++++++                                          ~                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:175:45
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| *ex_collided_entity == other_entity);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| std::ptr::addr_eq(*ex_collided_entity, other_entity));
[INFO] [stdout]     |                                             ++++++++++++++++++                   ~             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.63s
[INFO] running `Command { std: "docker" "inspect" "4177f30ba766d1f5bbafb7ee01922dc7cb6738b0b557782a06cbc8f6a654f893", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4177f30ba766d1f5bbafb7ee01922dc7cb6738b0b557782a06cbc8f6a654f893", kill_on_drop: false }`
[INFO] [stdout] 4177f30ba766d1f5bbafb7ee01922dc7cb6738b0b557782a06cbc8f6a654f893
[INFO] checking bowtie-0.2.2 against try#bfe97fcae016881ad333f0ff8cea2cadb9cf136c for pr-121848
[INFO] extracting crate bowtie 0.2.2 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate bowtie 0.2.2 on toolchain bfe97fcae016881ad333f0ff8cea2cadb9cf136c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bowtie 0.2.2
[INFO] finished tweaking crates.io crate bowtie 0.2.2
[INFO] tweaked toml for crates.io crate bowtie 0.2.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e788c063790a1a0e0b0bc742649d02c3bc1dd7d6ae23fe19dbf90dc1a3444843
[INFO] running `Command { std: "docker" "start" "-a" "e788c063790a1a0e0b0bc742649d02c3bc1dd7d6ae23fe19dbf90dc1a3444843", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e788c063790a1a0e0b0bc742649d02c3bc1dd7d6ae23fe19dbf90dc1a3444843", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e788c063790a1a0e0b0bc742649d02c3bc1dd7d6ae23fe19dbf90dc1a3444843", kill_on_drop: false }`
[INFO] [stdout] e788c063790a1a0e0b0bc742649d02c3bc1dd7d6ae23fe19dbf90dc1a3444843
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 73d700461c3249add65e9e31178c1a7dd230a25a5b0aa478b80219ff2671c47a
[INFO] running `Command { std: "docker" "start" "-a" "73d700461c3249add65e9e31178c1a7dd230a25a5b0aa478b80219ff2671c47a", kill_on_drop: false }`
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]    Compiling bowtie v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking png v0.14.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stdout] warning: unused import: `fmt::Display`
[INFO] [stdout]  --> src/gl_utils/gl_translation.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt::Display, mem};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToGl`
[INFO] [stdout]  --> src/gl_utils/uniform.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::gl_translation::{DataType, ToGl};
[INFO] [stdout]   |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::Display`
[INFO] [stdout]  --> src/gl_utils/gl_translation.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt::Display, mem};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToGl`
[INFO] [stdout]  --> src/gl_utils/uniform.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::gl_translation::{DataType, ToGl};
[INFO] [stdout]   |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SettableUniform`
[INFO] [stdout]  --> src/gl_utils/gl_texture.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::uniform::{SettableUniform, UniformInteger};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SettableUniform`
[INFO] [stdout]  --> src/gl_utils/gl_texture.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::uniform::{SettableUniform, UniformInteger};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elements` is never read
[INFO] [stdout]  --> src/gl_utils/element_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ElementArrayBuffer<T> {
[INFO] [stdout]   |            ------------------ field in this struct
[INFO] [stdout] 6 |   pub data_type: DataType,
[INFO] [stdout] 7 |   elements: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]   --> src/gl_utils/element_array_buffer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> ElementArrayBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn draw(&self, mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pull_errors` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn pull_errors() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_message_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 | extern "system" fn debug_message_callback(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_debug_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn init_debug_callback() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UniformFloatVector {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl UniformFloatVector {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 18 |   pub fn new(name: &str, count: i8, values: Vec<f32>) -> UniformFloatVector {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct UniformInteger {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:85:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct UniformMatrixFloat {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl UniformMatrixFloat {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 89 |   pub fn new(name: &str, value: Matrix<f32>) -> UniformMatrixFloat {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data_type` and `vertices` are never read
[INFO] [stdout]  --> src/gl_utils/vertex_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct VertexArrayBuffer<T> {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 6 |   id: u32,
[INFO] [stdout] 7 |   data_type: DataType,
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout] 8 |   vertices: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_vertices_len` and `draw` are never used
[INFO] [stdout]   --> src/gl_utils/vertex_array_buffer.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> VertexArrayBuffer<T> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn get_vertices_len(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn draw(&self, drawing_mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `push_message` are never used
[INFO] [stdout]   --> src/components/event.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'s> EventComponent<'s> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 10 |   pub fn new() -> EventComponent<'s> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn push_message(&mut self, entity: *mut dyn Entity<'s>, message: Message) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/bowtie/controller.rs:107:65
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| entity_ref.to_owned() == entity.to_owned());
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| std::ptr::addr_eq(entity_ref.to_owned(), entity.to_owned()));
[INFO] [stdout]     |                                                                 ++++++++++++++++++                     ~                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 |         if other_entity.as_ref().unwrap() as *const _
[INFO] [stdout]     |  __________^
[INFO] [stdout] 144 | |         == entity.as_ref().unwrap() as *const _
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 143 |       if std::ptr::addr_eq(other_entity.as_ref().unwrap() as *const _, entity.as_ref().unwrap() as *const _)
[INFO] [stdout]     |          ++++++++++++++++++                                          ~                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:175:45
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| *ex_collided_entity == other_entity);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| std::ptr::addr_eq(*ex_collided_entity, other_entity));
[INFO] [stdout]     |                                             ++++++++++++++++++                   ~             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elements` is never read
[INFO] [stdout]  --> src/gl_utils/element_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ElementArrayBuffer<T> {
[INFO] [stdout]   |            ------------------ field in this struct
[INFO] [stdout] 6 |   pub data_type: DataType,
[INFO] [stdout] 7 |   elements: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]   --> src/gl_utils/element_array_buffer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> ElementArrayBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn draw(&self, mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pull_errors` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn pull_errors() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_message_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 | extern "system" fn debug_message_callback(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_debug_callback` is never used
[INFO] [stdout]   --> src/gl_utils/gl_error_reader.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn init_debug_callback() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UniformFloatVector {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl UniformFloatVector {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 18 |   pub fn new(name: &str, count: i8, values: Vec<f32>) -> UniformFloatVector {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct UniformInteger {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_type` is never read
[INFO] [stdout]   --> src/gl_utils/uniform.rs:85:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct UniformMatrixFloat {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |   data_type: DataType,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gl_utils/uniform.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl UniformMatrixFloat {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 89 |   pub fn new(name: &str, value: Matrix<f32>) -> UniformMatrixFloat {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data_type` and `vertices` are never read
[INFO] [stdout]  --> src/gl_utils/vertex_array_buffer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct VertexArrayBuffer<T> {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 6 |   id: u32,
[INFO] [stdout] 7 |   data_type: DataType,
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout] 8 |   vertices: Vec<T>,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_vertices_len` and `draw` are never used
[INFO] [stdout]   --> src/gl_utils/vertex_array_buffer.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> VertexArrayBuffer<T> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn get_vertices_len(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn draw(&self, drawing_mode: DrawingMode) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `push_message` are never used
[INFO] [stdout]   --> src/components/event.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'s> EventComponent<'s> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 10 |   pub fn new() -> EventComponent<'s> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn push_message(&mut self, entity: *mut dyn Entity<'s>, message: Message) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/bowtie/controller.rs:107:65
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| entity_ref.to_owned() == entity.to_owned());
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let pos_option = self.entities.iter().position(|entity_ref| std::ptr::addr_eq(entity_ref.to_owned(), entity.to_owned()));
[INFO] [stdout]     |                                                                 ++++++++++++++++++                     ~                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 |         if other_entity.as_ref().unwrap() as *const _
[INFO] [stdout]     |  __________^
[INFO] [stdout] 144 | |         == entity.as_ref().unwrap() as *const _
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 143 |       if std::ptr::addr_eq(other_entity.as_ref().unwrap() as *const _, entity.as_ref().unwrap() as *const _)
[INFO] [stdout]     |          ++++++++++++++++++                                          ~                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/components/collide.rs:175:45
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| *ex_collided_entity == other_entity);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .position(|(ex_collided_entity, _)| std::ptr::addr_eq(*ex_collided_entity, other_entity));
[INFO] [stdout]     |                                             ++++++++++++++++++                   ~             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.67s
[INFO] running `Command { std: "docker" "inspect" "73d700461c3249add65e9e31178c1a7dd230a25a5b0aa478b80219ff2671c47a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73d700461c3249add65e9e31178c1a7dd230a25a5b0aa478b80219ff2671c47a", kill_on_drop: false }`
[INFO] [stdout] 73d700461c3249add65e9e31178c1a7dd230a25a5b0aa478b80219ff2671c47a
