[INFO] fetching crate deflake-rs 0.1.0...
[INFO] checking deflake-rs-0.1.0 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] extracting crate deflake-rs 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain
[INFO] started tweaking crates.io crate deflake-rs 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate deflake-rs 0.1.0
[INFO] tweaked toml for crates.io crate deflake-rs 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate deflake-rs 0.1.0 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate deflake-rs 0.1.0 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 20de7bbe9353aad0579a96fb13d2c93b11afec32c50044cf4360a3602767fdf7
[INFO] running `Command { std: "docker" "start" "-a" "20de7bbe9353aad0579a96fb13d2c93b11afec32c50044cf4360a3602767fdf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "20de7bbe9353aad0579a96fb13d2c93b11afec32c50044cf4360a3602767fdf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20de7bbe9353aad0579a96fb13d2c93b11afec32c50044cf4360a3602767fdf7", kill_on_drop: false }`
[INFO] [stdout] 20de7bbe9353aad0579a96fb13d2c93b11afec32c50044cf4360a3602767fdf7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb7f5a3bb8dfffa5c975a752b23582012308d989c9915bdc2bd442eadea760be
[INFO] running `Command { std: "docker" "start" "-a" "cb7f5a3bb8dfffa5c975a752b23582012308d989c9915bdc2bd442eadea760be", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking unicode-ident v1.0.13
[INFO] [stderr]    Compiling syn v2.0.93
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking winnow v0.7.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking indexmap v2.8.0
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking term v0.5.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling cc v1.2.6
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]     Checking encode_unicode v0.3.6
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking shared_child v1.0.1
[INFO] [stderr]     Checking os_pipe v1.2.1
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking duct v0.13.7
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling libz-sys v1.1.20
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling libssh2-sys v0.3.0
[INFO] [stderr]    Compiling libgit2-sys v0.17.0+1.8.1
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking glob v0.3.2
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling timed_proc_macros v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling duplicate v2.0.0
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking clap v4.5.20
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking toml_edit v0.22.24
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking prettytable-rs v0.8.0
[INFO] [stderr]     Checking timed v0.2.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stderr]     Checking cargo_toml v0.22.1
[INFO] [stderr]     Checking git2 v0.19.0
[INFO] [stderr]     Checking deflake-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `EditType` and `Edit`
[INFO] [stdout]   --> src/ast.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::git::{Edit, EditType};
[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: `process::ExitStatus`
[INFO] [stdout]  --> src/cov.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, env::current_dir, process::ExitStatus};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timed::timed`
[INFO] [stdout]  --> src/cov.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use timed::timed;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EditType` and `Edit`
[INFO] [stdout]   --> src/ast.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::git::{Edit, EditType};
[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: `process::ExitStatus`
[INFO] [stdout]  --> src/cov.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, env::current_dir, process::ExitStatus};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timed::timed`
[INFO] [stdout]  --> src/cov.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use timed::timed;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::read_to_string`
[INFO] [stdout]  --> src/git.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, env::current_dir, fs, io::read_to_string, str::FromStr};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blob`
[INFO] [stdout]  --> src/git.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use git2::{Blob, Delta, DiffLineType, DiffOptions, Oid, Repository};
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::read_to_string`
[INFO] [stdout]  --> src/git.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, env::current_dir, fs, io::read_to_string, str::FromStr};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blob`
[INFO] [stdout]  --> src/git.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use git2::{Blob, Delta, DiffLineType, DiffOptions, Oid, Repository};
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/git.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 panic!("error loading git repository: {}", e);
[INFO] [stdout]    |                 --------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 39 |                 return None;
[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: unused import: `Write`
[INFO] [stdout]  --> src/test_interface.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fmt::{Display, Write},
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/test_interface.rs:295:23
[INFO] [stdout]     |
[INFO] [stdout] 295 |             .filter(|(id, (case, result))| *result == res)
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `case`
[INFO] [stdout]    --> src/test_interface.rs:295:28
[INFO] [stdout]     |
[INFO] [stdout] 295 |             .filter(|(id, (case, result))| *result == res)
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/test_interface.rs:324:20
[INFO] [stdout]     |
[INFO] [stdout] 324 |             .map(|(k, v)| format!("{} = {}\n", v.0.id(), v.1.to_string()))
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/test_interface.rs:692:17
[INFO] [stdout]     |
[INFO] [stdout] 692 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ast.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             (Item::Fn(x, _), Item::Fn(y, _)) => x.eq(y),
[INFO] [stdout]     |             -------------------------------- matches all the relevant values
[INFO] [stdout] 188 |             _ => false,
[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: unused variable: `i`
[INFO] [stdout]    --> src/ast.rs:298:30
[INFO] [stdout]     |
[INFO] [stdout] 298 |             NestedItem::Impl(i) => panic!("Unexpected"),
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/git.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 panic!("error loading git repository: {}", e);
[INFO] [stdout]    |                 --------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 39 |                 return None;
[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: unused import: `Write`
[INFO] [stdout]  --> src/test_interface.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fmt::{Display, Write},
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]   --> src/deflake.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let elapsed = now.elapsed();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_result`
[INFO] [stdout]   --> src/deflake.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |         for (id, (test_case, test_result)) in failed {
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/git.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Some(&mut |a, b, c| {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Module` is more private than the item `NestedItem::Module::0`
[INFO] [stdout]    --> src/ast.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 283 |     Module(Module), // span, mod name, attribute list
[INFO] [stdout]     |            ^^^^^^ field `NestedItem::Module::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Module` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ast.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Module {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ast::Impl` is more private than the item `NestedItem::Impl::0`
[INFO] [stdout]    --> src/ast.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 |     Impl(Impl),     // span, struct name, trait?
[INFO] [stdout]     |          ^^^^ field `NestedItem::Impl::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ast::Impl` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ast.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Impl {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `opt_level`, `debug_assertions`, and `overflow_checks` are never read
[INFO] [stdout]   --> src/test_interface.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct CompilerArtifactProfile {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 26 |     opt_level: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     debug_assertions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     overflow_checks: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerArtifactProfile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `crate_types`, `src_path`, `doc`, and `doctest` are never read
[INFO] [stdout]   --> src/test_interface.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct CompilerArtifactTarget {
[INFO] [stdout]    |        ---------------------- fields in this struct
[INFO] [stdout] 34 |     kind: Vec<String>,
[INFO] [stdout] 35 |     crate_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     name: String,
[INFO] [stdout] 37 |     src_path: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     doc: bool,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     doctest: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerArtifactTarget` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reason`, `package_id`, `manifest_path`, `filenames`, `features`, and `fresh` are never read
[INFO] [stdout]   --> src/test_interface.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct CompilerArtifact {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 45 |     reason: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     package_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 47 |     manifest_path: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     executable: Option<String>,
[INFO] [stdout] 49 |     filenames: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 50 |     features: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fresh: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerArtifact` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Lib` and `Proc` are never constructed
[INFO] [stdout]   --> src/test_interface.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BinaryType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     Lib,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 77 |     Bench,
[INFO] [stdout] 78 |     Proc,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test_type` is never read
[INFO] [stdout]   --> src/test_interface.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct TestBinary {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub test_type: BinaryType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestBinary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `case_type` is never read
[INFO] [stdout]    --> src/test_interface.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct TestCase {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 165 |     pub name: String,
[INFO] [stdout] 166 |     pub case_type: CaseType,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestCase` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wait_handle` is never used
[INFO] [stdout]    --> src/test_interface.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl TestCase {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn wait_handle(&self, handle: Handle) -> TestResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serialise_old` is never used
[INFO] [stdout]    --> src/test_interface.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<'a> TestResults<'a> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn serialise_old(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `failures` is never used
[INFO] [stdout]    --> src/test_interface.rs:430:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl TestRunner {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn failures(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Span` is never constructed
[INFO] [stdout]    --> src/test_interface.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub enum Track {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 524 |     Span(usize, usize, usize, usize), // line start, line end, col start, col end
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Track` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `line_in_span` is never used
[INFO] [stdout]   --> src/ast.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl AST {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 73 |     pub fn line_in_span(span: Span, line: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sig` is never read
[INFO] [stdout]    --> src/ast.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct ItemFn {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub sig: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ItemFn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/ast.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |     Fn(ItemFn, Span),
[INFO] [stdout]     |     --         ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 148 -     Fn(ItemFn, Span),
[INFO] [stdout] 148 +     Fn(ItemFn, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Module {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 195 |     name: String,
[INFO] [stdout] 196 |     span: Option<Span>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Module` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Impl {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 242 |     name: String,
[INFO] [stdout] 243 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Impl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_version` is never read
[INFO] [stdout]    --> src/ast.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub struct ModificationVisitor {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 378 |     //pub highlevel_track: Vec<Track>,
[INFO] [stdout] 379 |     new_version: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModificationVisitor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_function` is never used
[INFO] [stdout]    --> src/ast.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl ModificationVisitor {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn find_function(&self, line: usize) -> Option<ItemFn> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file_id` and `expanded_file_id` are never used
[INFO] [stdout]    --> src/cov.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl JsonCovFunctionRegion {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn file_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn expanded_file_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         remove_file(self.profraw_filename());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 236 |         let _ = remove_file(self.profraw_filename());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | /         f.write_str(match self {
[INFO] [stdout] 252 | |             TestResult::Success => "Pass",
[INFO] [stdout] 253 | |             TestResult::Error => "Fail",
[INFO] [stdout] 254 | |             TestResult::Flaky => "Fail (flaky)",
[INFO] [stdout] 255 | |             TestResult::Timeout => "Fail (timeout)",
[INFO] [stdout] 256 | |         });
[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] 251 |         let _ = f.write_str(match self {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/test_interface.rs:346:30
[INFO] [stdout]     |
[INFO] [stdout] 346 |     pub fn exec_batch(tests: &Vec<TestCase>, max: usize, timeout: u64) -> TestResults {
[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] 346 |     pub fn exec_batch(tests: &Vec<TestCase>, max: usize, timeout: u64) -> TestResults<'_> {
[INFO] [stdout]     |                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:403:21
[INFO] [stdout]     |
[INFO] [stdout] 403 |                     child.kill();
[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] 403 |                     let _ = child.kill();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |         remove_file(format!("{}/{}", COVERAGE_FOLDER, IGNORE_FILE));
[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] 478 |         let _ = remove_file(format!("{}/{}", COVERAGE_FOLDER, IGNORE_FILE));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:481:17
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 remove_file(format!("{}/{}/{}", path, COVERAGE_FOLDER, IGNORE_FILE));
[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] 481 |                 let _ = remove_file(format!("{}/{}/{}", path, COVERAGE_FOLDER, IGNORE_FILE));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cov.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             dbg!(String::from_utf8(res.stderr));
[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] 29 |             let _ = dbg!(String::from_utf8(res.stderr));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cov.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             dbg!(String::from_utf8(res.stdout));
[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] 31 |             let _ = dbg!(String::from_utf8(res.stdout));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/git.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                         String::from_str(a.new_file().path().unwrap().to_str().unwrap()).unwrap(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/git.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         String::from_str(a.new_file().path().unwrap().to_str().unwrap()).unwrap(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `deflake-rs` (bin "cargo-deflake" test) due to 2 previous errors; 44 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/test_interface.rs:295:23
[INFO] [stdout]     |
[INFO] [stdout] 295 |             .filter(|(id, (case, result))| *result == res)
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `case`
[INFO] [stdout]    --> src/test_interface.rs:295:28
[INFO] [stdout]     |
[INFO] [stdout] 295 |             .filter(|(id, (case, result))| *result == res)
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/test_interface.rs:324:20
[INFO] [stdout]     |
[INFO] [stdout] 324 |             .map(|(k, v)| format!("{} = {}\n", v.0.id(), v.1.to_string()))
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/test_interface.rs:692:17
[INFO] [stdout]     |
[INFO] [stdout] 692 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ast.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             (Item::Fn(x, _), Item::Fn(y, _)) => x.eq(y),
[INFO] [stdout]     |             -------------------------------- matches all the relevant values
[INFO] [stdout] 188 |             _ => false,
[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: unused variable: `i`
[INFO] [stdout]    --> src/ast.rs:298:30
[INFO] [stdout]     |
[INFO] [stdout] 298 |             NestedItem::Impl(i) => panic!("Unexpected"),
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]   --> src/deflake.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let elapsed = now.elapsed();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_result`
[INFO] [stdout]   --> src/deflake.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |         for (id, (test_case, test_result)) in failed {
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/git.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Some(&mut |a, b, c| {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Module` is more private than the item `NestedItem::Module::0`
[INFO] [stdout]    --> src/ast.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 283 |     Module(Module), // span, mod name, attribute list
[INFO] [stdout]     |            ^^^^^^ field `NestedItem::Module::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Module` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ast.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Module {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ast::Impl` is more private than the item `NestedItem::Impl::0`
[INFO] [stdout]    --> src/ast.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 |     Impl(Impl),     // span, struct name, trait?
[INFO] [stdout]     |          ^^^^ field `NestedItem::Impl::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ast::Impl` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ast.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Impl {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `opt_level`, `debug_assertions`, and `overflow_checks` are never read
[INFO] [stdout]   --> src/test_interface.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct CompilerArtifactProfile {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 26 |     opt_level: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     debug_assertions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     overflow_checks: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerArtifactProfile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `crate_types`, `src_path`, `doc`, and `doctest` are never read
[INFO] [stdout]   --> src/test_interface.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct CompilerArtifactTarget {
[INFO] [stdout]    |        ---------------------- fields in this struct
[INFO] [stdout] 34 |     kind: Vec<String>,
[INFO] [stdout] 35 |     crate_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     name: String,
[INFO] [stdout] 37 |     src_path: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     doc: bool,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     doctest: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerArtifactTarget` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reason`, `package_id`, `manifest_path`, `filenames`, `features`, and `fresh` are never read
[INFO] [stdout]   --> src/test_interface.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct CompilerArtifact {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 45 |     reason: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     package_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 47 |     manifest_path: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     executable: Option<String>,
[INFO] [stdout] 49 |     filenames: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 50 |     features: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fresh: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerArtifact` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Lib` and `Proc` are never constructed
[INFO] [stdout]   --> src/test_interface.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BinaryType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     Lib,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 77 |     Bench,
[INFO] [stdout] 78 |     Proc,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test_type` is never read
[INFO] [stdout]   --> src/test_interface.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct TestBinary {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub test_type: BinaryType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestBinary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `case_type` is never read
[INFO] [stdout]    --> src/test_interface.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct TestCase {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 165 |     pub name: String,
[INFO] [stdout] 166 |     pub case_type: CaseType,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestCase` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wait_handle` is never used
[INFO] [stdout]    --> src/test_interface.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl TestCase {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn wait_handle(&self, handle: Handle) -> TestResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serialise_old` is never used
[INFO] [stdout]    --> src/test_interface.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl<'a> TestResults<'a> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn serialise_old(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `failures` is never used
[INFO] [stdout]    --> src/test_interface.rs:430:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl TestRunner {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn failures(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Span` is never constructed
[INFO] [stdout]    --> src/test_interface.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub enum Track {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 524 |     Span(usize, usize, usize, usize), // line start, line end, col start, col end
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Track` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `covers` is never used
[INFO] [stdout]    --> src/test_interface.rs:528:12
[INFO] [stdout]     |
[INFO] [stdout] 527 | impl Track {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 528 |     pub fn covers(&self, l: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `line_in_span` is never used
[INFO] [stdout]   --> src/ast.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl AST {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 73 |     pub fn line_in_span(span: Span, line: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sig` is never read
[INFO] [stdout]    --> src/ast.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct ItemFn {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub sig: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ItemFn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/ast.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |     Fn(ItemFn, Span),
[INFO] [stdout]     |     --         ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 148 -     Fn(ItemFn, Span),
[INFO] [stdout] 148 +     Fn(ItemFn, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Module {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 195 |     name: String,
[INFO] [stdout] 196 |     span: Option<Span>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Module` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Impl {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 242 |     name: String,
[INFO] [stdout] 243 |     span: Span,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Impl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_version` is never read
[INFO] [stdout]    --> src/ast.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub struct ModificationVisitor {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 378 |     //pub highlevel_track: Vec<Track>,
[INFO] [stdout] 379 |     new_version: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModificationVisitor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_function` is never used
[INFO] [stdout]    --> src/ast.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl ModificationVisitor {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn find_function(&self, line: usize) -> Option<ItemFn> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file_id` and `expanded_file_id` are never used
[INFO] [stdout]    --> src/cov.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl JsonCovFunctionRegion {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn file_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn expanded_file_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         remove_file(self.profraw_filename());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 236 |         let _ = remove_file(self.profraw_filename());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | /         f.write_str(match self {
[INFO] [stdout] 252 | |             TestResult::Success => "Pass",
[INFO] [stdout] 253 | |             TestResult::Error => "Fail",
[INFO] [stdout] 254 | |             TestResult::Flaky => "Fail (flaky)",
[INFO] [stdout] 255 | |             TestResult::Timeout => "Fail (timeout)",
[INFO] [stdout] 256 | |         });
[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] 251 |         let _ = f.write_str(match self {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/test_interface.rs:346:30
[INFO] [stdout]     |
[INFO] [stdout] 346 |     pub fn exec_batch(tests: &Vec<TestCase>, max: usize, timeout: u64) -> TestResults {
[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] 346 |     pub fn exec_batch(tests: &Vec<TestCase>, max: usize, timeout: u64) -> TestResults<'_> {
[INFO] [stdout]     |                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:403:21
[INFO] [stdout]     |
[INFO] [stdout] 403 |                     child.kill();
[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] 403 |                     let _ = child.kill();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |         remove_file(format!("{}/{}", COVERAGE_FOLDER, IGNORE_FILE));
[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] 478 |         let _ = remove_file(format!("{}/{}", COVERAGE_FOLDER, IGNORE_FILE));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/test_interface.rs:481:17
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 remove_file(format!("{}/{}/{}", path, COVERAGE_FOLDER, IGNORE_FILE));
[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] 481 |                 let _ = remove_file(format!("{}/{}/{}", path, COVERAGE_FOLDER, IGNORE_FILE));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cov.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             dbg!(String::from_utf8(res.stderr));
[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] 29 |             let _ = dbg!(String::from_utf8(res.stderr));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cov.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             dbg!(String::from_utf8(res.stdout));
[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] 31 |             let _ = dbg!(String::from_utf8(res.stdout));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/git.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                         String::from_str(a.new_file().path().unwrap().to_str().unwrap()).unwrap(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/git.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         String::from_str(a.new_file().path().unwrap().to_str().unwrap()).unwrap(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `deflake-rs` (bin "cargo-deflake") due to 2 previous errors; 45 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "cb7f5a3bb8dfffa5c975a752b23582012308d989c9915bdc2bd442eadea760be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb7f5a3bb8dfffa5c975a752b23582012308d989c9915bdc2bd442eadea760be", kill_on_drop: false }`
[INFO] [stdout] cb7f5a3bb8dfffa5c975a752b23582012308d989c9915bdc2bd442eadea760be
