[INFO] fetching crate bowtie 0.2.2...
[INFO] testing bowtie-0.2.2 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate bowtie 0.2.2 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate bowtie 0.2.2 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 33 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding deflate v0.7.20 (latest: v1.0.0)
[INFO] [stderr]       Adding png v0.14.1 (latest: v0.17.13)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded png v0.14.1
[INFO] [stderr]   Downloaded inflate v0.4.5
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7d3c7bdf7d018c2b09887a90bdb67bc41c49446dc282e13dd798097b5612897c
[INFO] running `Command { std: "docker" "start" "-a" "7d3c7bdf7d018c2b09887a90bdb67bc41c49446dc282e13dd798097b5612897c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d3c7bdf7d018c2b09887a90bdb67bc41c49446dc282e13dd798097b5612897c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d3c7bdf7d018c2b09887a90bdb67bc41c49446dc282e13dd798097b5612897c", kill_on_drop: false }`
[INFO] [stdout] 7d3c7bdf7d018c2b09887a90bdb67bc41c49446dc282e13dd798097b5612897c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67be56c2b2890720317e335920efb3d6f37683154bea8057c7d8057a08a58a8c
[INFO] running `Command { std: "docker" "start" "-a" "67be56c2b2890720317e335920efb3d6f37683154bea8057c7d8057a08a58a8c", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.83
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling bowtie v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling png v0.14.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling 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: `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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.59s
[INFO] running `Command { std: "docker" "inspect" "67be56c2b2890720317e335920efb3d6f37683154bea8057c7d8057a08a58a8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67be56c2b2890720317e335920efb3d6f37683154bea8057c7d8057a08a58a8c", kill_on_drop: false }`
[INFO] [stdout] 67be56c2b2890720317e335920efb3d6f37683154bea8057c7d8057a08a58a8c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 01f621a656ac06a807a772ba0fe66e6e4d17fbbbc5feda2a8ab22a7b6348e6c6
[INFO] running `Command { std: "docker" "start" "-a" "01f621a656ac06a807a772ba0fe66e6e4d17fbbbc5feda2a8ab22a7b6348e6c6", kill_on_drop: false }`
[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: 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] [stderr]    Compiling bowtie v0.2.2 (/opt/rustwide/workdir)
[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: 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: 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 `test` profile [unoptimized + debuginfo] target(s) in 0.87s
[INFO] running `Command { std: "docker" "inspect" "01f621a656ac06a807a772ba0fe66e6e4d17fbbbc5feda2a8ab22a7b6348e6c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01f621a656ac06a807a772ba0fe66e6e4d17fbbbc5feda2a8ab22a7b6348e6c6", kill_on_drop: false }`
[INFO] [stdout] 01f621a656ac06a807a772ba0fe66e6e4d17fbbbc5feda2a8ab22a7b6348e6c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b9b02c13cbd37bc303e5dd4a337733b2322dc559cf305bdf9b8da283417f011e
[INFO] running `Command { std: "docker" "start" "-a" "b9b02c13cbd37bc303e5dd4a337733b2322dc559cf305bdf9b8da283417f011e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `fmt::Display`
[INFO] [stderr]  --> src/gl_utils/gl_translation.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::{fmt::Display, mem};
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ToGl`
[INFO] [stderr]  --> src/gl_utils/uniform.rs:3:39
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::gl_translation::{DataType, ToGl};
[INFO] [stderr]   |                                       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SettableUniform`
[INFO] [stderr]  --> src/gl_utils/gl_texture.rs:8:22
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::uniform::{SettableUniform, UniformInteger};
[INFO] [stderr]   |                      ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `elements` is never read
[INFO] [stderr]  --> src/gl_utils/element_array_buffer.rs:7:3
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct ElementArrayBuffer<T> {
[INFO] [stderr]   |            ------------------ field in this struct
[INFO] [stderr] 6 |   pub data_type: DataType,
[INFO] [stderr] 7 |   elements: Vec<T>,
[INFO] [stderr]   |   ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `draw` is never used
[INFO] [stderr]   --> src/gl_utils/element_array_buffer.rs:47:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl<T> ElementArrayBuffer<T> {
[INFO] [stderr]    | ----------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 47 |   pub fn draw(&self, mode: DrawingMode) {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pull_errors` is never used
[INFO] [stderr]   --> src/gl_utils/gl_error_reader.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn pull_errors() {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `debug_message_callback` is never used
[INFO] [stderr]   --> src/gl_utils/gl_error_reader.rs:61:20
[INFO] [stderr]    |
[INFO] [stderr] 61 | extern "system" fn debug_message_callback(
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_debug_callback` is never used
[INFO] [stderr]   --> src/gl_utils/gl_error_reader.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub fn init_debug_callback() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_type` is never read
[INFO] [stderr]   --> src/gl_utils/uniform.rs:14:3
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct UniformFloatVector {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 14 |   data_type: DataType,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/gl_utils/uniform.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl UniformFloatVector {
[INFO] [stderr]    | ----------------------- associated function in this implementation
[INFO] [stderr] 18 |   pub fn new(name: &str, count: i8, values: Vec<f32>) -> UniformFloatVector {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_type` is never read
[INFO] [stderr]   --> src/gl_utils/uniform.rs:57:3
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct UniformInteger {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 57 |   data_type: DataType,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_type` is never read
[INFO] [stderr]   --> src/gl_utils/uniform.rs:85:3
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct UniformMatrixFloat {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 85 |   data_type: DataType,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/gl_utils/uniform.rs:89:10
[INFO] [stderr]    |
[INFO] [stderr] 88 | impl UniformMatrixFloat {
[INFO] [stderr]    | ----------------------- associated function in this implementation
[INFO] [stderr] 89 |   pub fn new(name: &str, value: Matrix<f32>) -> UniformMatrixFloat {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `data_type` and `vertices` are never read
[INFO] [stderr]  --> src/gl_utils/vertex_array_buffer.rs:7:3
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct VertexArrayBuffer<T> {
[INFO] [stderr]   |            ----------------- fields in this struct
[INFO] [stderr] 6 |   id: u32,
[INFO] [stderr] 7 |   data_type: DataType,
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr] 8 |   vertices: Vec<T>,
[INFO] [stderr]   |   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_vertices_len` and `draw` are never used
[INFO] [stderr]   --> src/gl_utils/vertex_array_buffer.rs:34:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl<T> VertexArrayBuffer<T> {
[INFO] [stderr]    | ---------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |   pub fn get_vertices_len(&self) -> usize {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |   pub fn draw(&self, drawing_mode: DrawingMode) {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `push_message` are never used
[INFO] [stderr]   --> src/components/event.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl<'s> EventComponent<'s> {
[INFO] [stderr]    | --------------------------- associated items in this implementation
[INFO] [stderr] 10 |   pub fn new() -> EventComponent<'s> {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |   pub fn push_message(&mut self, entity: *mut dyn Entity<'s>, message: Message) {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr]    --> src/bowtie/controller.rs:107:65
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let pos_option = self.entities.iter().position(|entity_ref| entity_ref.to_owned() == entity.to_owned());
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let pos_option = self.entities.iter().position(|entity_ref| std::ptr::addr_eq(entity_ref.to_owned(), entity.to_owned()));
[INFO] [stderr]     |                                                                 ++++++++++++++++++                     ~                  +
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr]    --> src/components/collide.rs:143:10
[INFO] [stderr]     |
[INFO] [stderr] 143 |         if other_entity.as_ref().unwrap() as *const _
[INFO] [stderr]     |  __________^
[INFO] [stderr] 144 | |         == entity.as_ref().unwrap() as *const _
[INFO] [stderr]     | |_______________________________________________^
[INFO] [stderr]     |
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr]     |
[INFO] [stderr] 143 |       if std::ptr::addr_eq(other_entity.as_ref().unwrap() as *const _, entity.as_ref().unwrap() as *const _)
[INFO] [stderr]     |          ++++++++++++++++++                                          ~                                     +
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr]    --> src/components/collide.rs:175:45
[INFO] [stderr]     |
[INFO] [stderr] 175 |         .position(|(ex_collided_entity, _)| *ex_collided_entity == other_entity);
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr]     |
[INFO] [stderr] 175 |         .position(|(ex_collided_entity, _)| std::ptr::addr_eq(*ex_collided_entity, other_entity));
[INFO] [stderr]     |                                             ++++++++++++++++++                   ~             +
[INFO] [stderr] 
[INFO] [stderr] warning: `bowtie` (lib) generated 19 warnings (run `cargo fix --lib -p bowtie` to apply 2 suggestions)
[INFO] [stderr] warning: `bowtie` (lib test) generated 19 warnings (19 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bowtie-5bba34b1e7e8a2e8)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test math::test::matrix_tests::matrix_2x1_dot_1x2_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_3x3_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_2x2_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_2x3_dot_3x2_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_3x3_dot_3x3_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_4x4_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_5x5_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_identity ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_matrix_add_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_matrix_add_bad ... ok
[INFO] [stdout] test math::test::matrix_tests::scalar_matrix_multiply_bad ... ok
[INFO] [stdout] test math::test::matrix_tests::scalar_matrix_multiply_ok ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_sin ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_factorial ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_cos ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_radian ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_creation_validates - should panic ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_dot_validates - should panic ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_determinant_validates - should panic ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_matrix_add_validation - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bowtie
[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; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b9b02c13cbd37bc303e5dd4a337733b2322dc559cf305bdf9b8da283417f011e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9b02c13cbd37bc303e5dd4a337733b2322dc559cf305bdf9b8da283417f011e", kill_on_drop: false }`
[INFO] [stdout] b9b02c13cbd37bc303e5dd4a337733b2322dc559cf305bdf9b8da283417f011e
[INFO] testing bowtie-0.2.2 against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] extracting crate bowtie 0.2.2 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate bowtie 0.2.2 on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "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-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 33 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding deflate v0.7.20 (latest: v1.0.0)
[INFO] [stderr]       Adding png v0.14.1 (latest: v0.17.13)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89e3fe93ca5585328429522368602dd9eadbcf8ba064f9d33160228d86186b46
[INFO] running `Command { std: "docker" "start" "-a" "89e3fe93ca5585328429522368602dd9eadbcf8ba064f9d33160228d86186b46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89e3fe93ca5585328429522368602dd9eadbcf8ba064f9d33160228d86186b46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89e3fe93ca5585328429522368602dd9eadbcf8ba064f9d33160228d86186b46", kill_on_drop: false }`
[INFO] [stdout] 89e3fe93ca5585328429522368602dd9eadbcf8ba064f9d33160228d86186b46
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a6e9a6f14686d854ba7775e756da8ebe9fcac381cb384f3a7dbee6c16f077a5
[INFO] running `Command { std: "docker" "start" "-a" "5a6e9a6f14686d854ba7775e756da8ebe9fcac381cb384f3a7dbee6c16f077a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.83
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling bowtie v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling png v0.14.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling 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: `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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.76s
[INFO] running `Command { std: "docker" "inspect" "5a6e9a6f14686d854ba7775e756da8ebe9fcac381cb384f3a7dbee6c16f077a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a6e9a6f14686d854ba7775e756da8ebe9fcac381cb384f3a7dbee6c16f077a5", kill_on_drop: false }`
[INFO] [stdout] 5a6e9a6f14686d854ba7775e756da8ebe9fcac381cb384f3a7dbee6c16f077a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2dfdb16c69eab33d1778ddcd8f35f75efae66b17fa439c1f85ce9aa069170292
[INFO] running `Command { std: "docker" "start" "-a" "2dfdb16c69eab33d1778ddcd8f35f75efae66b17fa439c1f85ce9aa069170292", kill_on_drop: false }`
[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: 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] [stderr]    Compiling bowtie v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 19 warnings emitted
[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: 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 `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] running `Command { std: "docker" "inspect" "2dfdb16c69eab33d1778ddcd8f35f75efae66b17fa439c1f85ce9aa069170292", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2dfdb16c69eab33d1778ddcd8f35f75efae66b17fa439c1f85ce9aa069170292", kill_on_drop: false }`
[INFO] [stdout] 2dfdb16c69eab33d1778ddcd8f35f75efae66b17fa439c1f85ce9aa069170292
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ff060b14f643d34578d9a793c5b145d480bd69b59f158a283fe01b7b96b1bf86
[INFO] running `Command { std: "docker" "start" "-a" "ff060b14f643d34578d9a793c5b145d480bd69b59f158a283fe01b7b96b1bf86", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `fmt::Display`
[INFO] [stderr]  --> src/gl_utils/gl_translation.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::{fmt::Display, mem};
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ToGl`
[INFO] [stderr]  --> src/gl_utils/uniform.rs:3:39
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::gl_translation::{DataType, ToGl};
[INFO] [stderr]   |                                       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SettableUniform`
[INFO] [stderr]  --> src/gl_utils/gl_texture.rs:8:22
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::uniform::{SettableUniform, UniformInteger};
[INFO] [stderr]   |                      ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `elements` is never read
[INFO] [stderr]  --> src/gl_utils/element_array_buffer.rs:7:3
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct ElementArrayBuffer<T> {
[INFO] [stderr]   |            ------------------ field in this struct
[INFO] [stderr] 6 |   pub data_type: DataType,
[INFO] [stderr] 7 |   elements: Vec<T>,
[INFO] [stderr]   |   ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `draw` is never used
[INFO] [stderr]   --> src/gl_utils/element_array_buffer.rs:47:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl<T> ElementArrayBuffer<T> {
[INFO] [stderr]    | ----------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 47 |   pub fn draw(&self, mode: DrawingMode) {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pull_errors` is never used
[INFO] [stderr]   --> src/gl_utils/gl_error_reader.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn pull_errors() {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `debug_message_callback` is never used
[INFO] [stderr]   --> src/gl_utils/gl_error_reader.rs:61:20
[INFO] [stderr]    |
[INFO] [stderr] 61 | extern "system" fn debug_message_callback(
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_debug_callback` is never used
[INFO] [stderr]   --> src/gl_utils/gl_error_reader.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub fn init_debug_callback() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_type` is never read
[INFO] [stderr]   --> src/gl_utils/uniform.rs:14:3
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct UniformFloatVector {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 14 |   data_type: DataType,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/gl_utils/uniform.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl UniformFloatVector {
[INFO] [stderr]    | ----------------------- associated function in this implementation
[INFO] [stderr] 18 |   pub fn new(name: &str, count: i8, values: Vec<f32>) -> UniformFloatVector {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_type` is never read
[INFO] [stderr]   --> src/gl_utils/uniform.rs:57:3
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct UniformInteger {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 57 |   data_type: DataType,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data_type` is never read
[INFO] [stderr]   --> src/gl_utils/uniform.rs:85:3
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct UniformMatrixFloat {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 85 |   data_type: DataType,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/gl_utils/uniform.rs:89:10
[INFO] [stderr]    |
[INFO] [stderr] 88 | impl UniformMatrixFloat {
[INFO] [stderr]    | ----------------------- associated function in this implementation
[INFO] [stderr] 89 |   pub fn new(name: &str, value: Matrix<f32>) -> UniformMatrixFloat {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `data_type` and `vertices` are never read
[INFO] [stderr]  --> src/gl_utils/vertex_array_buffer.rs:7:3
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct VertexArrayBuffer<T> {
[INFO] [stderr]   |            ----------------- fields in this struct
[INFO] [stderr] 6 |   id: u32,
[INFO] [stderr] 7 |   data_type: DataType,
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr] 8 |   vertices: Vec<T>,
[INFO] [stderr]   |   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_vertices_len` and `draw` are never used
[INFO] [stderr]   --> src/gl_utils/vertex_array_buffer.rs:34:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl<T> VertexArrayBuffer<T> {
[INFO] [stderr]    | ---------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |   pub fn get_vertices_len(&self) -> usize {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |   pub fn draw(&self, drawing_mode: DrawingMode) {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `push_message` are never used
[INFO] [stderr]   --> src/components/event.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl<'s> EventComponent<'s> {
[INFO] [stderr]    | --------------------------- associated items in this implementation
[INFO] [stderr] 10 |   pub fn new() -> EventComponent<'s> {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |   pub fn push_message(&mut self, entity: *mut dyn Entity<'s>, message: Message) {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr]    --> src/bowtie/controller.rs:107:65
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let pos_option = self.entities.iter().position(|entity_ref| entity_ref.to_owned() == entity.to_owned());
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let pos_option = self.entities.iter().position(|entity_ref| std::ptr::addr_eq(entity_ref.to_owned(), entity.to_owned()));
[INFO] [stderr]     |                                                                 ++++++++++++++++++                     ~                  +
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr]    --> src/components/collide.rs:143:10
[INFO] [stderr]     |
[INFO] [stderr] 143 |         if other_entity.as_ref().unwrap() as *const _
[INFO] [stderr]     |  __________^
[INFO] [stderr] 144 | |         == entity.as_ref().unwrap() as *const _
[INFO] [stderr]     | |_______________________________________________^
[INFO] [stderr]     |
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr]     |
[INFO] [stderr] 143 |       if std::ptr::addr_eq(other_entity.as_ref().unwrap() as *const _, entity.as_ref().unwrap() as *const _)
[INFO] [stderr]     |          ++++++++++++++++++                                          ~                                     +
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr]    --> src/components/collide.rs:175:45
[INFO] [stderr]     |
[INFO] [stderr] 175 |         .position(|(ex_collided_entity, _)| *ex_collided_entity == other_entity);
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr]     |
[INFO] [stderr] 175 |         .position(|(ex_collided_entity, _)| std::ptr::addr_eq(*ex_collided_entity, other_entity));
[INFO] [stderr]     |                                             ++++++++++++++++++                   ~             +
[INFO] [stderr] 
[INFO] [stderr] warning: `bowtie` (lib) generated 19 warnings (run `cargo fix --lib -p bowtie` to apply 2 suggestions)
[INFO] [stderr] warning: `bowtie` (lib test) generated 19 warnings (19 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bowtie-5bba34b1e7e8a2e8)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test math::test::matrix_tests::matrix_2x1_dot_1x2_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_3x3_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_2x2_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_2x3_dot_3x2_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_3x3_dot_3x3_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_4x4_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_5x5_determinant ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_identity ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_matrix_add_bad ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_matrix_add_ok ... ok
[INFO] [stdout] test math::test::matrix_tests::scalar_matrix_multiply_bad ... ok
[INFO] [stdout] test math::test::matrix_tests::scalar_matrix_multiply_ok ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_cos ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_radian ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_factorial ... ok
[INFO] [stdout] test math::test::trig_tests::test_get_sin ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_creation_validates - should panic ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_determinant_validates - should panic ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_dot_validates - should panic ... ok
[INFO] [stdout] test math::test::matrix_tests::matrix_matrix_add_validation - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bowtie
[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; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ff060b14f643d34578d9a793c5b145d480bd69b59f158a283fe01b7b96b1bf86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff060b14f643d34578d9a793c5b145d480bd69b59f158a283fe01b7b96b1bf86", kill_on_drop: false }`
[INFO] [stdout] ff060b14f643d34578d9a793c5b145d480bd69b59f158a283fe01b7b96b1bf86
