[INFO] fetching crate covalent 0.1.2...
[INFO] checking covalent-0.1.2 against try#09eeb2bacb9b40b2ed1d47f03177442c0632cda1 for pr-157710
[INFO] extracting crate covalent 0.1.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate covalent 0.1.2
[INFO] finished tweaking crates.io crate covalent 0.1.2
[INFO] tweaked toml for crates.io crate covalent 0.1.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate covalent 0.1.2 on toolchain 09eeb2bacb9b40b2ed1d47f03177442c0632cda1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 30 packages to latest compatible versions
[INFO] [stderr]       Adding cgmath v0.17.0 (available: v0.18.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66
[INFO] running `Command { std: "docker" "start" "d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking cgmath v0.17.0
[INFO] [stderr]     Checking covalent v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::input::*`
[INFO] [stdout]   --> src/events/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::input::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::input::*`
[INFO] [stdout]   --> src/events/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::input::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graphics/pipeline.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |                         RenderTarget::Window => {
[INFO] [stdout]    |                         -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 49 |                         _ => {
[INFO] [stdout]    |                         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graphics/pipeline.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |                         RenderTarget::Window => {
[INFO] [stdout]    |                         -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 49 |                         _ => {
[INFO] [stdout]    |                         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos`, `rot`, `scl`, and `xform` are never read
[INFO] [stdout]   --> src/scene/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pos: Vector3<f32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     /// The rotation of the node.
[INFO] [stdout] 17 |     rot: Quaternion<f32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     /// The scale of the node (which can be different for each axis).
[INFO] [stdout] 19 |     scl: Vector3<f32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 20 |     /// The matrix that represents the transformation of this node.
[INFO] [stdout] 21 |     xform: Matrix4<f32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node` is never read
[INFO] [stdout]   --> src/scene/node.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct TickDebugComponent {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 64 |     node: Weak<RwLock<Node>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `delta` is never read
[INFO] [stdout]  --> src/events/common.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TickEvent {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 5 |     /// The time that has passed between this frame and the last frame, in seconds.
[INFO] [stdout] 6 |     pub(crate) delta: f64,
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub mod graphics;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/lib.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn new(interpolation_amount: usize) -> InterpolatedStopwatch {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/lib.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn average_time(&self) -> time::Duration {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:157:26
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...ases(&self) -> (Arc<RwLock<scene::Scene>>, std::collections::btree_map::Values<i32, (String, graphics::PipelinePhase)>) {
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn render_phases(&self) -> (Arc<RwLock<scene::Scene>>, std::collections::btree_map::Values<'_, i32, (String, graphics::PipelinePhase)>) {
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub pos: Vector3<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub col: Colour
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/graphics/pipeline.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new() -> Pipeline {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/graphics/pipeline.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn iter(&self) -> std::collections::btree_map::Values<i32, (String, PipelinePhase)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/graphics/pipeline.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn iter(&self) -> std::collections::btree_map::Values<i32, (String, PipelinePhase)> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn iter(&self) -> std::collections::btree_map::Values<'_, i32, (String, PipelinePhase)> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/pipeline.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         target: RenderTarget
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/pipeline.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         settings: RenderSettings,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/pipeline.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         target: RenderTarget
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/graphics/camera.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_projection_matrix(&self) -> Matrix4<f32>;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/graphics/camera.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn get_view_matrix(&self) -> Matrix4<f32>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/graphics/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn get_combined_matrix(&self) -> Matrix4<f32>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/camera.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub combined: Matrix4<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/camera.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub inverse: Matrix4<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scene/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub events: EventHandlers
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/scene/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new() -> Arc<RwLock<Scene>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/scene/node.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn scene(&self) -> &Weak<RwLock<Scene>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/scene/node.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct TickDebugComponent {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/scene/node.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn new(node: Arc<RwLock<Node>>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/scene/node.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct CameraMotionComponent {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/scene/node.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn new(node: Arc<RwLock<Node>>, mut cam: crate::graphics::PerspectiveCamera, camera_matrices: Arc<RwLock<crate::graphics::CameraMatrices>>) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub tick: Arc<RwLock<EventHandler<TickEvent>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub key: Arc<RwLock<EventHandler<KeyboardEvent>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub mouse_delta: Arc<RwLock<EventHandler<MouseDeltaEvent>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub window_resize: Arc<RwLock<EventHandler<WindowResizeEvent>>>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/events/event.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct EventHandler<E: Event> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/events/event.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn new_id(&mut self) -> ListenerID {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/events/event.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn insert(&mut self, l: Listener<E>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos`, `rot`, `scl`, and `xform` are never read
[INFO] [stdout]   --> src/scene/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pos: Vector3<f32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     /// The rotation of the node.
[INFO] [stdout] 17 |     rot: Quaternion<f32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     /// The scale of the node (which can be different for each axis).
[INFO] [stdout] 19 |     scl: Vector3<f32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 20 |     /// The matrix that represents the transformation of this node.
[INFO] [stdout] 21 |     xform: Matrix4<f32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node` is never read
[INFO] [stdout]   --> src/scene/node.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct TickDebugComponent {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 64 |     node: Weak<RwLock<Node>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `delta` is never read
[INFO] [stdout]  --> src/events/common.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TickEvent {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 5 |     /// The time that has passed between this frame and the last frame, in seconds.
[INFO] [stdout] 6 |     pub(crate) delta: f64,
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub mod graphics;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/lib.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn new(interpolation_amount: usize) -> InterpolatedStopwatch {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/lib.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn average_time(&self) -> time::Duration {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:157:26
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...ases(&self) -> (Arc<RwLock<scene::Scene>>, std::collections::btree_map::Values<i32, (String, graphics::PipelinePhase)>) {
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn render_phases(&self) -> (Arc<RwLock<scene::Scene>>, std::collections::btree_map::Values<'_, i32, (String, graphics::PipelinePhase)>) {
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub pos: Vector3<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub col: Colour
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/graphics/pipeline.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new() -> Pipeline {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/graphics/pipeline.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn iter(&self) -> std::collections::btree_map::Values<i32, (String, PipelinePhase)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/graphics/pipeline.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn iter(&self) -> std::collections::btree_map::Values<i32, (String, PipelinePhase)> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn iter(&self) -> std::collections::btree_map::Values<'_, i32, (String, PipelinePhase)> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/pipeline.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         target: RenderTarget
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/pipeline.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         settings: RenderSettings,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/pipeline.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         target: RenderTarget
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/graphics/camera.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_projection_matrix(&self) -> Matrix4<f32>;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/graphics/camera.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn get_view_matrix(&self) -> Matrix4<f32>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/graphics/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn get_combined_matrix(&self) -> Matrix4<f32>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/camera.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub combined: Matrix4<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/graphics/camera.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub inverse: Matrix4<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scene/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub events: EventHandlers
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/scene/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new() -> Arc<RwLock<Scene>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/scene/node.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn scene(&self) -> &Weak<RwLock<Scene>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/scene/node.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct TickDebugComponent {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/scene/node.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn new(node: Arc<RwLock<Node>>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/scene/node.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct CameraMotionComponent {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/scene/node.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn new(node: Arc<RwLock<Node>>, mut cam: crate::graphics::PerspectiveCamera, camera_matrices: Arc<RwLock<crate::graphics::CameraMatrices>>) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub tick: Arc<RwLock<EventHandler<TickEvent>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub key: Arc<RwLock<EventHandler<KeyboardEvent>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub mouse_delta: Arc<RwLock<EventHandler<MouseDeltaEvent>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/events/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub window_resize: Arc<RwLock<EventHandler<WindowResizeEvent>>>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/events/event.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct EventHandler<E: Event> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/events/event.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn new_id(&mut self) -> ListenerID {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/events/event.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn insert(&mut self, l: Listener<E>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.77s
[INFO] running `Command { std: "docker" "inspect" "d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66", kill_on_drop: false }`
[INFO] [stdout] d0f78f64804dd9bc2e0498d7402d1f67d0c2d490b8b3b5d8a50b310f8c015b66
