[INFO] cloning repository https://github.com/marcpabst/directx-tests
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marcpabst/directx-tests" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcpabst%2Fdirectx-tests", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcpabst%2Fdirectx-tests'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4c9cd3a1095351edb3588bcf6620f2bbd49bfe27
[INFO] checking marcpabst/directx-tests against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcpabst%2Fdirectx-tests" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/marcpabst/directx-tests
[INFO] finished tweaking git repo https://github.com/marcpabst/directx-tests
[INFO] tweaked toml for git repo https://github.com/marcpabst/directx-tests written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/marcpabst/directx-tests on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/marcpabst/directx-tests already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num_threads v0.1.7
[INFO] [stderr]   Downloaded thread-priority v1.1.0
[INFO] [stderr]   Downloaded simple_logger v5.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cabe808e5404cb7a3fece3f18138224595d18ef1c02cccf243009244653620c1
[INFO] running `Command { std: "docker" "start" "-a" "cabe808e5404cb7a3fece3f18138224595d18ef1c02cccf243009244653620c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cabe808e5404cb7a3fece3f18138224595d18ef1c02cccf243009244653620c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cabe808e5404cb7a3fece3f18138224595d18ef1c02cccf243009244653620c1", kill_on_drop: false }`
[INFO] [stdout] cabe808e5404cb7a3fece3f18138224595d18ef1c02cccf243009244653620c1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3a87258995e4b09cbcb20478bfc49781e0897e1d134a43625fd8fca97c1ece7e
[INFO] running `Command { std: "docker" "start" "-a" "3a87258995e4b09cbcb20478bfc49781e0897e1d134a43625fd8fca97c1ece7e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.84
[INFO] [stderr]    Compiling windows_x86_64_gnu v0.52.5
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking colored v2.1.0
[INFO] [stderr]    Compiling directx-tests v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking thread-priority v1.1.0
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking windows-targets v0.52.5
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking windows-result v0.1.1
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking simple_logger v5.0.0
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]    Compiling windows-interface v0.56.0
[INFO] [stderr]    Compiling windows-implement v0.56.0
[INFO] [stderr]     Checking windows-core v0.56.0
[INFO] [stderr]     Checking windows v0.56.0
[INFO] [stdout] warning: unused macro definition: `time`
[INFO] [stdout]   --> src/main.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | macro_rules! time {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]    --> src/main.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout] 353 |     use std::f32::consts::E;
[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 variable: `report_delay1`
[INFO] [stdout]     --> src/main.rs:1034:13
[INFO] [stdout]      |
[INFO] [stdout] 1034 |         let report_delay1 = (vblanc_timestamp_interupt - vblank_timestamp_wait) as f64
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_report_delay1`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report_delay2`
[INFO] [stdout]     --> src/main.rs:1037:13
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let report_delay2 =
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_report_delay2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_vblank_ms`
[INFO] [stdout]     --> src/main.rs:1051:13
[INFO] [stdout]      |
[INFO] [stdout] 1051 |         let last_vblank_ms = vblanc_timestamp_interupt as f64 / qpc_frequency as f64 * 1000.0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_vblank_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `variance` is never used
[INFO] [stdout]   --> src/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn variance(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_dev` is never used
[INFO] [stdout]   --> src/main.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn std_dev(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean` is never used
[INFO] [stdout]   --> src/main.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn mean(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mininum` is never used
[INFO] [stdout]   --> src/main.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn mininum(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maximum` is never used
[INFO] [stdout]   --> src/main.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn maximum(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `report_stats` is never used
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn report_stats(data: &Vec<f64>, name: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VBlankEvent` is never used
[INFO] [stdout]     --> src/main.rs:1110:6
[INFO] [stdout]      |
[INFO] [stdout] 1110 | enum VBlankEvent {
[INFO] [stdout]      |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `validatems`, `tightgroupms`, `mschange`, `maxstore`, `lowestvalidhz`, and `javascript_skip` are never read
[INFO] [stdout]   --> src/refresh_rates.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RefreshRateCalculator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 20 |     validatems: f64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     tightgroupms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     mschange: f64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     maxstore: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     lowestvalidhz: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 25 |     javascript_skip: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/refresh_rates.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl RefreshRateCalculator {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn restart_measuring(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn count_cycle(&mut self, current_time: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn ignore_next_cycle(&mut self, cycles: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn get_minimum_frequency(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn set_minimum_frequency(&mut self, hz: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn get_current_frequency(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_filtered_cycle_timestamp(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_count(&self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_raster_scanout_percentage(&self, current_time: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn cut(&self, arr: &[f64]) -> Vec<f64> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     fn add(&mut self, t_frame: f64) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn calc(&self) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn validate(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn snap(&self) -> Option<Snap> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Snap` is never constructed
[INFO] [stdout]    --> src/refresh_rates.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | struct Snap {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `adapter` and `frame_rate_calc` are never read
[INFO] [stdout]    --> src/main.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |     struct Resources {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |         adapter: IDXGIAdapter1,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |         frame_rate_calc: refresh_rates::RefreshRateCalculator,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `BOOL` that must be used
[INFO] [stdout]    --> src/main.rs:130:18
[INFO] [stdout]     |
[INFO] [stdout] 130 |         unsafe { DeleteDC(hdc) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |         unsafe { let _ = DeleteDC(hdc); };
[INFO] [stdout]     |                  +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `BOOL` that must be used
[INFO] [stdout]    --> src/main.rs:132:18
[INFO] [stdout]     |
[INFO] [stdout] 132 |         unsafe { DeleteDC(hdc) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 132 |         unsafe { let _ = DeleteDC(hdc); };
[INFO] [stdout]     |                  +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/main.rs:944:18
[INFO] [stdout]     |
[INFO] [stdout] 944 |         unsafe { swap_chain.GetFrameStatistics(&mut present_stats) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 944 |         unsafe { let _ = swap_chain.GetFrameStatistics(&mut present_stats); };
[INFO] [stdout]     |                  +++++++                                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]    --> src/main.rs:949:18
[INFO] [stdout]     |
[INFO] [stdout] 949 |         unsafe { D3DKMTGetScanLine(scanline) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 949 |         unsafe { let _ = D3DKMTGetScanLine(scanline); };
[INFO] [stdout]     |                  +++++++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]    --> src/main.rs:952:22
[INFO] [stdout]     |
[INFO] [stdout] 952 |             unsafe { D3DKMTGetScanLine(scanline) };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 952 |             unsafe { let _ = D3DKMTGetScanLine(scanline); };
[INFO] [stdout]     |                      +++++++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]    --> src/main.rs:958:22
[INFO] [stdout]     |
[INFO] [stdout] 958 |             unsafe { D3DKMTGetScanLine(scanline) };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 958 |             unsafe { let _ = D3DKMTGetScanLine(scanline); };
[INFO] [stdout]     |                      +++++++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/main.rs:1005:18
[INFO] [stdout]      |
[INFO] [stdout] 1005 |         unsafe { QueryPerformanceFrequency(&mut qpc_frequency) };
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1005 |         unsafe { let _ = QueryPerformanceFrequency(&mut qpc_frequency); };
[INFO] [stdout]      |                  +++++++                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]     --> src/main.rs:1008:22
[INFO] [stdout]      |
[INFO] [stdout] 1008 |             unsafe { D3DKMTGetScanLine(&mut scanline) };
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1008 |             unsafe { let _ = D3DKMTGetScanLine(&mut scanline); };
[INFO] [stdout]      |                      +++++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]     --> src/main.rs:1012:22
[INFO] [stdout]      |
[INFO] [stdout] 1012 |             unsafe { D3DKMTGetScanLine(&mut scanline) };
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1012 |             unsafe { let _ = D3DKMTGetScanLine(&mut scanline); };
[INFO] [stdout]      |                      +++++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/main.rs:1021:18
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         unsafe { QueryPerformanceCounter(&mut vblank_timestamp_wait) };
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         unsafe { let _ = QueryPerformanceCounter(&mut vblank_timestamp_wait); };
[INFO] [stdout]      |                  +++++++                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/main.rs:1031:18
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         unsafe { QueryPerformanceCounter(&mut later) };
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         unsafe { let _ = QueryPerformanceCounter(&mut later); };
[INFO] [stdout]      |                  +++++++                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `time`
[INFO] [stdout]   --> src/main.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | macro_rules! time {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]    --> src/main.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout] 353 |     use std::f32::consts::E;
[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 variable: `report_delay1`
[INFO] [stdout]     --> src/main.rs:1034:13
[INFO] [stdout]      |
[INFO] [stdout] 1034 |         let report_delay1 = (vblanc_timestamp_interupt - vblank_timestamp_wait) as f64
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_report_delay1`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report_delay2`
[INFO] [stdout]     --> src/main.rs:1037:13
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let report_delay2 =
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_report_delay2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_vblank_ms`
[INFO] [stdout]     --> src/main.rs:1051:13
[INFO] [stdout]      |
[INFO] [stdout] 1051 |         let last_vblank_ms = vblanc_timestamp_interupt as f64 / qpc_frequency as f64 * 1000.0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_vblank_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `variance` is never used
[INFO] [stdout]   --> src/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn variance(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `std_dev` is never used
[INFO] [stdout]   --> src/main.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn std_dev(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean` is never used
[INFO] [stdout]   --> src/main.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn mean(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mininum` is never used
[INFO] [stdout]   --> src/main.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn mininum(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maximum` is never used
[INFO] [stdout]   --> src/main.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn maximum(data: &Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `report_stats` is never used
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn report_stats(data: &Vec<f64>, name: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VBlankEvent` is never used
[INFO] [stdout]     --> src/main.rs:1110:6
[INFO] [stdout]      |
[INFO] [stdout] 1110 | enum VBlankEvent {
[INFO] [stdout]      |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `validatems`, `tightgroupms`, `mschange`, `maxstore`, `lowestvalidhz`, and `javascript_skip` are never read
[INFO] [stdout]   --> src/refresh_rates.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RefreshRateCalculator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 20 |     validatems: f64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     tightgroupms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     mschange: f64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     maxstore: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     lowestvalidhz: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 25 |     javascript_skip: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/refresh_rates.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl RefreshRateCalculator {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn restart_measuring(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn count_cycle(&mut self, current_time: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn ignore_next_cycle(&mut self, cycles: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn get_minimum_frequency(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn set_minimum_frequency(&mut self, hz: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn get_current_frequency(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_filtered_cycle_timestamp(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_count(&self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_raster_scanout_percentage(&self, current_time: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn cut(&self, arr: &[f64]) -> Vec<f64> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     fn add(&mut self, t_frame: f64) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn calc(&self) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn validate(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn snap(&self) -> Option<Snap> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Snap` is never constructed
[INFO] [stdout]    --> src/refresh_rates.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | struct Snap {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `adapter` and `frame_rate_calc` are never read
[INFO] [stdout]    --> src/main.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |     struct Resources {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |         adapter: IDXGIAdapter1,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |         frame_rate_calc: refresh_rates::RefreshRateCalculator,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `BOOL` that must be used
[INFO] [stdout]    --> src/main.rs:130:18
[INFO] [stdout]     |
[INFO] [stdout] 130 |         unsafe { DeleteDC(hdc) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |         unsafe { let _ = DeleteDC(hdc); };
[INFO] [stdout]     |                  +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `BOOL` that must be used
[INFO] [stdout]    --> src/main.rs:132:18
[INFO] [stdout]     |
[INFO] [stdout] 132 |         unsafe { DeleteDC(hdc) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 132 |         unsafe { let _ = DeleteDC(hdc); };
[INFO] [stdout]     |                  +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/main.rs:944:18
[INFO] [stdout]     |
[INFO] [stdout] 944 |         unsafe { swap_chain.GetFrameStatistics(&mut present_stats) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 944 |         unsafe { let _ = swap_chain.GetFrameStatistics(&mut present_stats); };
[INFO] [stdout]     |                  +++++++                                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]    --> src/main.rs:949:18
[INFO] [stdout]     |
[INFO] [stdout] 949 |         unsafe { D3DKMTGetScanLine(scanline) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 949 |         unsafe { let _ = D3DKMTGetScanLine(scanline); };
[INFO] [stdout]     |                  +++++++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]    --> src/main.rs:952:22
[INFO] [stdout]     |
[INFO] [stdout] 952 |             unsafe { D3DKMTGetScanLine(scanline) };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 952 |             unsafe { let _ = D3DKMTGetScanLine(scanline); };
[INFO] [stdout]     |                      +++++++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]    --> src/main.rs:958:22
[INFO] [stdout]     |
[INFO] [stdout] 958 |             unsafe { D3DKMTGetScanLine(scanline) };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 958 |             unsafe { let _ = D3DKMTGetScanLine(scanline); };
[INFO] [stdout]     |                      +++++++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/main.rs:1005:18
[INFO] [stdout]      |
[INFO] [stdout] 1005 |         unsafe { QueryPerformanceFrequency(&mut qpc_frequency) };
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1005 |         unsafe { let _ = QueryPerformanceFrequency(&mut qpc_frequency); };
[INFO] [stdout]      |                  +++++++                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]     --> src/main.rs:1008:22
[INFO] [stdout]      |
[INFO] [stdout] 1008 |             unsafe { D3DKMTGetScanLine(&mut scanline) };
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1008 |             unsafe { let _ = D3DKMTGetScanLine(&mut scanline); };
[INFO] [stdout]      |                      +++++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `NTSTATUS` that must be used
[INFO] [stdout]     --> src/main.rs:1012:22
[INFO] [stdout]      |
[INFO] [stdout] 1012 |             unsafe { D3DKMTGetScanLine(&mut scanline) };
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1012 |             unsafe { let _ = D3DKMTGetScanLine(&mut scanline); };
[INFO] [stdout]      |                      +++++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/main.rs:1021:18
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         unsafe { QueryPerformanceCounter(&mut vblank_timestamp_wait) };
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         unsafe { let _ = QueryPerformanceCounter(&mut vblank_timestamp_wait); };
[INFO] [stdout]      |                  +++++++                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/main.rs:1031:18
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         unsafe { QueryPerformanceCounter(&mut later) };
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         unsafe { let _ = QueryPerformanceCounter(&mut later); };
[INFO] [stdout]      |                  +++++++                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.97s
[INFO] running `Command { std: "docker" "inspect" "3a87258995e4b09cbcb20478bfc49781e0897e1d134a43625fd8fca97c1ece7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a87258995e4b09cbcb20478bfc49781e0897e1d134a43625fd8fca97c1ece7e", kill_on_drop: false }`
[INFO] [stdout] 3a87258995e4b09cbcb20478bfc49781e0897e1d134a43625fd8fca97c1ece7e
