[INFO] fetching crate libscroll 0.2.4...
[INFO] checking libscroll-0.2.4 against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] extracting crate libscroll 0.2.4 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate libscroll 0.2.4
[INFO] finished tweaking crates.io crate libscroll 0.2.4
[INFO] tweaked toml for crates.io crate libscroll 0.2.4 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate libscroll 0.2.4 on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 21 packages to latest compatible versions
[INFO] [stderr]       Adding app_dirs v1.2.1 (available: v2.0.1)
[INFO] [stderr]       Adding flo_curves v0.3.1 (available: v0.8.0)
[INFO] [stderr]       Adding num v0.2.1 (available: v0.4.3)
[INFO] [stderr]       Adding tini v0.1.1 (available: v1.3.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3cb41055fce53e31d6305425135bf15ade0c7b9c22d3122c741d2874257d0bde
[INFO] running `Command { std: "docker" "start" "-a" "3cb41055fce53e31d6305425135bf15ade0c7b9c22d3122c741d2874257d0bde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3cb41055fce53e31d6305425135bf15ade0c7b9c22d3122c741d2874257d0bde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cb41055fce53e31d6305425135bf15ade0c7b9c22d3122c741d2874257d0bde", kill_on_drop: false }`
[INFO] [stdout] 3cb41055fce53e31d6305425135bf15ade0c7b9c22d3122c741d2874257d0bde
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d4b63a6d4af4090ed420e8838c352c33fe5757767ec2f8e201cc91d8764e7ed
[INFO] running `Command { std: "docker" "start" "-a" "3d4b63a6d4af4090ed420e8838c352c33fe5757767ec2f8e201cc91d8764e7ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking roots v0.0.6
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking tini v0.1.1
[INFO] [stderr]     Checking app_dirs v1.2.1
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking flo_curves v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking libscroll v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/interpolate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[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: `std::fs::File`
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/interpolate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[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: `std::fs::File`
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `half_open_range_patterns` has been stable since 1.66.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(half_open_range_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `map_first_last` has been stable since 1.66.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(map_first_last)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `half_open_range_patterns` has been stable since 1.66.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(half_open_range_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `map_first_last` has been stable since 1.66.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(map_first_last)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/interpolate.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |           return;
[INFO] [stdout]     |           ------ any code following this expression is unreachable
[INFO] [stdout] 156 |
[INFO] [stdout] 157 | /         println!("Current events are {{{}}}",
[INFO] [stdout] 158 | |                  self.events.iter().fold(
[INFO] [stdout] 159 | |                      String::new(), |s, evt| { s.to_owned() + &evt.to_string()[..] }));
[INFO] [stdout]     | |______________________________________________________________________________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/interpolate.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |           return;
[INFO] [stdout]     |           ------ any code following this expression is unreachable
[INFO] [stdout] 156 |
[INFO] [stdout] 157 | /         println!("Current events are {{{}}}",
[INFO] [stdout] 158 | |                  self.events.iter().fold(
[INFO] [stdout] 159 | |                      String::new(), |s, evt| { s.to_owned() + &evt.to_string()[..] }));
[INFO] [stdout]     | |______________________________________________________________________________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/interpolate.rs:806:9
[INFO] [stdout]     |
[INFO] [stdout] 805 |         panic!("not implemented");
[INFO] [stdout]     |         ------------------------- any code following this expression is unreachable
[INFO] [stdout] 806 |         0.0
[INFO] [stdout]     |         ^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/interpolate.rs:806:9
[INFO] [stdout]     |
[INFO] [stdout] 805 |         panic!("not implemented");
[INFO] [stdout]     |         ------------------------- any code following this expression is unreachable
[INFO] [stdout] 806 |         0.0
[INFO] [stdout]     |         ^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/interpolate.rs:343:25
[INFO] [stdout]     |
[INFO] [stdout] 343 |     fn flush(&mut self, time: Time) {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/interpolate.rs:343:25
[INFO] [stdout]     |
[INFO] [stdout] 343 |     fn flush(&mut self, time: Time) {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second_after`
[INFO] [stdout]    --> src/interpolate.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let second_after = match first_after {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/interpolate.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let config = sconfig.read().unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/interpolate.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let config = sconfig.read().unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abs_vel`
[INFO] [stdout]    --> src/interpolate.rs:516:21
[INFO] [stdout]     |
[INFO] [stdout] 516 |                 let abs_vel = velocity.abs();
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abs_vel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timedelta`
[INFO] [stdout]    --> src/interpolate.rs:517:21
[INFO] [stdout]     |
[INFO] [stdout] 517 |                 let timedelta = end - start;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timedelta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second_after`
[INFO] [stdout]    --> src/interpolate.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let second_after = match first_after {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/interpolate.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let config = sconfig.read().unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/interpolate.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let config = sconfig.read().unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abs_vel`
[INFO] [stdout]    --> src/interpolate.rs:516:21
[INFO] [stdout]     |
[INFO] [stdout] 516 |                 let abs_vel = velocity.abs();
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abs_vel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timedelta`
[INFO] [stdout]    --> src/interpolate.rs:517:21
[INFO] [stdout]     |
[INFO] [stdout] 517 |                 let timedelta = end - start;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timedelta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `at`
[INFO] [stdout]    --> src/interpolate.rs:760:51
[INFO] [stdout]     |
[INFO] [stdout] 760 |     fn interpolate_constant(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |                                                   ^^ help: if this is intentional, prefix it with an underscore: `_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `at`
[INFO] [stdout]    --> src/interpolate.rs:760:51
[INFO] [stdout]     |
[INFO] [stdout] 760 |     fn interpolate_constant(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |                                                   ^^ help: if this is intentional, prefix it with an underscore: `_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/interpolate.rs:803:28
[INFO] [stdout]     |
[INFO] [stdout] 803 |     fn interpolate_hermite(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `at`
[INFO] [stdout]    --> src/interpolate.rs:803:50
[INFO] [stdout]     |
[INFO] [stdout] 803 |     fn interpolate_hermite(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/interpolate.rs:803:28
[INFO] [stdout]     |
[INFO] [stdout] 803 |     fn interpolate_hermite(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `at`
[INFO] [stdout]    --> src/interpolate.rs:803:50
[INFO] [stdout]     |
[INFO] [stdout] 803 |     fn interpolate_hermite(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MULTIPLIER` is never used
[INFO] [stdout]    --> src/lib.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 | const VALUE_MULTIPLIER: f64 = 6.0;
[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 `input_per_frame_log` is never read
[INFO] [stdout]    --> src/lib.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Scrollview {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 165 |     input_per_frame_log: circular_backqueue::ForgetfulLogQueue<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x_threshold`, `y_threshold`, and `decaying` are never read
[INFO] [stdout]    --> src/lib.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct AxisVector<T> where T: num::Num, T: PartialOrd, T: Copy {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 180 |     x_threshold: T,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 181 |     y_threshold: T,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 182 |     
[INFO] [stdout] 183 |     decaying: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AxisVector` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `kinetic` is never used
[INFO] [stdout]    --> src/lib.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl Source {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn kinetic(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `head`, `size`, `capacity`, and `data` are never read
[INFO] [stdout]  --> src/circular_backqueue.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ForgetfulLogQueue<T> {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 3 |     head: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     size: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     capacity: usize,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     data: Vec<T>, // vec presized to capacity
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/circular_backqueue.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<T> ForgetfulLogQueue<T> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get(&self, position: usize) -> Option<&T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn push(&mut self, object: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn replace_cur(&mut self, object: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn all(&self) -> &Vec<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn size(&self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_or_avg` is never used
[INFO] [stdout]   --> src/circular_backqueue.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl ForgetfulLogQueue<(u64, f64)> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 72 |     pub fn get_or_avg(&self, position: usize) -> (u64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Timestamp` is never used
[INFO] [stdout]  --> src/interpolate.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Timestamp = u64;
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TimeDeltaMicros` is never used
[INFO] [stdout]  --> src/interpolate.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type TimeDeltaMicros = u64;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `redistributable` and `pan_start_time` are never read
[INFO] [stdout]    --> src/interpolate.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct Interpolator {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 121 |     redistributable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pan_start_time: Time,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_events` is never used
[INFO] [stdout]    --> src/interpolate.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl Interpolator {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn print_events(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `short_circuit_single_event` and `set_inactive` are never used
[INFO] [stdout]    --> src/interpolate.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl Interpolator {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 484 |     fn short_circuit_single_event(&self) -> Position /* delta */ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 731 |     fn set_inactive(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `rounds_to_zero` and `interpolate_constant` are never used
[INFO] [stdout]    --> src/interpolate.rs:756:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | impl Interpolator {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 756 |     fn rounds_to_zero(val: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 760 |     fn interpolate_constant(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToKey` is never used
[INFO] [stdout]  --> src/ranged_map.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait ToKey<KeyType> {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangedMap` is never constructed
[INFO] [stdout]  --> src/ranged_map.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RangedMap<Key, Val> where Key: Ord + Copy, Val: ToKey<Key> + Copy {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_neighbors_to`, and `get_2nd_neighbors_to` are never used
[INFO] [stdout]   --> src/ranged_map.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<Key, Val> RangedMap<Key, Val> where Key: Ord + Copy, Val: ToKey<Key> + Copy {
[INFO] [stdout]    | -------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> RangedMap<Key, Val> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_neighbors_to(&self, point: Key) -> (Val, Val) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_2nd_neighbors_to(&self, point: Key) -> (Val, Val, Val, Val) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MULTIPLIER` is never used
[INFO] [stdout]    --> src/lib.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 | const VALUE_MULTIPLIER: f64 = 6.0;
[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 `input_per_frame_log` is never read
[INFO] [stdout]    --> src/lib.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Scrollview {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 165 |     input_per_frame_log: circular_backqueue::ForgetfulLogQueue<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x_threshold`, `y_threshold`, and `decaying` are never read
[INFO] [stdout]    --> src/lib.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct AxisVector<T> where T: num::Num, T: PartialOrd, T: Copy {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 180 |     x_threshold: T,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 181 |     y_threshold: T,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 182 |     
[INFO] [stdout] 183 |     decaying: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AxisVector` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `kinetic` is never used
[INFO] [stdout]    --> src/lib.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl Source {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn kinetic(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `head`, `size`, `capacity`, and `data` are never read
[INFO] [stdout]  --> src/circular_backqueue.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ForgetfulLogQueue<T> {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 3 |     head: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     size: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     capacity: usize,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     data: Vec<T>, // vec presized to capacity
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/circular_backqueue.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<T> ForgetfulLogQueue<T> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get(&self, position: usize) -> Option<&T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn push(&mut self, object: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn replace_cur(&mut self, object: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn all(&self) -> &Vec<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn size(&self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_or_avg` is never used
[INFO] [stdout]   --> src/circular_backqueue.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl ForgetfulLogQueue<(u64, f64)> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 72 |     pub fn get_or_avg(&self, position: usize) -> (u64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Timestamp` is never used
[INFO] [stdout]  --> src/interpolate.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Timestamp = u64;
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TimeDeltaMicros` is never used
[INFO] [stdout]  --> src/interpolate.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type TimeDeltaMicros = u64;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `redistributable` and `pan_start_time` are never read
[INFO] [stdout]    --> src/interpolate.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct Interpolator {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 121 |     redistributable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pan_start_time: Time,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_events` is never used
[INFO] [stdout]    --> src/interpolate.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl Interpolator {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn print_events(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `short_circuit_single_event` and `set_inactive` are never used
[INFO] [stdout]    --> src/interpolate.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl Interpolator {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 484 |     fn short_circuit_single_event(&self) -> Position /* delta */ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 731 |     fn set_inactive(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `rounds_to_zero` and `interpolate_constant` are never used
[INFO] [stdout]    --> src/interpolate.rs:756:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | impl Interpolator {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 756 |     fn rounds_to_zero(val: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 760 |     fn interpolate_constant(events: &Vec<&Event>, at: Time) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToKey` is never used
[INFO] [stdout]  --> src/ranged_map.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait ToKey<KeyType> {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangedMap` is never constructed
[INFO] [stdout]  --> src/ranged_map.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RangedMap<Key, Val> where Key: Ord + Copy, Val: ToKey<Key> + Copy {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_neighbors_to`, and `get_2nd_neighbors_to` are never used
[INFO] [stdout]   --> src/ranged_map.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<Key, Val> RangedMap<Key, Val> where Key: Ord + Copy, Val: ToKey<Key> + Copy {
[INFO] [stdout]    | -------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> RangedMap<Key, Val> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_neighbors_to(&self, point: Key) -> (Val, Val) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_2nd_neighbors_to(&self, point: Key) -> (Val, Val, Val, Val) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.50s
[INFO] running `Command { std: "docker" "inspect" "3d4b63a6d4af4090ed420e8838c352c33fe5757767ec2f8e201cc91d8764e7ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d4b63a6d4af4090ed420e8838c352c33fe5757767ec2f8e201cc91d8764e7ed", kill_on_drop: false }`
[INFO] [stdout] 3d4b63a6d4af4090ed420e8838c352c33fe5757767ec2f8e201cc91d8764e7ed
