[INFO] cloning repository https://github.com/zeichenreihe/feather-build-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zeichenreihe/feather-build-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeichenreihe%2Ffeather-build-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeichenreihe%2Ffeather-build-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 00485327fc42a644e62ed3c136e102ccf73fa846
[INFO] testing zeichenreihe/feather-build-rs against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeichenreihe%2Ffeather-build-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/zeichenreihe/feather-build-rs
[INFO] finished tweaking git repo https://github.com/zeichenreihe/feather-build-rs
[INFO] tweaked toml for git repo https://github.com/zeichenreihe/feather-build-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zeichenreihe/feather-build-rs on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zeichenreihe/feather-build-rs 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zopfli v0.8.1
[INFO] [stderr]   Downloaded serde-xml-rs v0.6.0
[INFO] [stderr]   Downloaded deflate64 v0.1.8
[INFO] [stderr]   Downloaded lockfree-object-pool v0.1.6
[INFO] [stderr]   Downloaded clap_derive v4.5.5
[INFO] [stderr]   Downloaded clap v4.5.7
[INFO] [stderr]   Downloaded java_string v0.1.2
[INFO] [stderr]   Downloaded cc v1.0.100
[INFO] [stderr]   Downloaded zip v2.1.3
[INFO] [stderr]   Downloaded pretty_assertions v1.4.0
[INFO] [stderr]   Downloaded lzma-rs v0.3.0
[INFO] [stderr]   Downloaded clap_builder v4.5.7
[INFO] [stderr]   Downloaded fern v0.6.2
[INFO] [stderr]   Downloaded tokio v1.44.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 64d41c60e2f5644d4ba6cfc6820e4a7c75237f1582eca9b8a0e1993bf73b3eaf
[INFO] running `Command { std: "docker" "start" "-a" "64d41c60e2f5644d4ba6cfc6820e4a7c75237f1582eca9b8a0e1993bf73b3eaf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64d41c60e2f5644d4ba6cfc6820e4a7c75237f1582eca9b8a0e1993bf73b3eaf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64d41c60e2f5644d4ba6cfc6820e4a7c75237f1582eca9b8a0e1993bf73b3eaf", kill_on_drop: false }`
[INFO] [stdout] 64d41c60e2f5644d4ba6cfc6820e4a7c75237f1582eca9b8a0e1993bf73b3eaf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ee900a2cc89d1b3cbc619a2ade006286636ffec36d0719ac1f3e70cd97bf525a
[INFO] running `Command { std: "docker" "start" "-a" "ee900a2cc89d1b3cbc619a2ade006286636ffec36d0719ac1f3e70cd97bf525a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling miniz_oxide v0.7.4
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling gimli v0.29.0
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling object v0.36.0
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling zstd-safe v7.1.0
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling httparse v1.9.4
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling zip v2.1.3
[INFO] [stderr]    Compiling lockfree-object-pool v0.1.6
[INFO] [stderr]    Compiling java_string v0.1.2
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling zopfli v0.8.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling flate2 v1.0.30
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling jobserver v0.1.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling cc v1.0.100
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling unicode-normalization v0.1.23
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling anstyle-query v1.1.0
[INFO] [stderr]    Compiling colorchoice v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling deflate64 v0.1.8
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling yansi v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling constant_time_eq v0.3.0
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling clap_lex v0.7.1
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling encoding_rs v0.8.34
[INFO] [stderr]    Compiling pretty_assertions v1.4.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling ipnet v2.9.0
[INFO] [stderr]    Compiling fern v0.6.2
[INFO] [stderr]    Compiling clap_builder v4.5.7
[INFO] [stderr]    Compiling addr2line v0.22.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling zstd-sys v2.0.11+zstd.1.5.6
[INFO] [stderr]    Compiling backtrace v0.3.73
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling url v2.5.2
[INFO] [stderr]    Compiling bzip2 v0.4.4
[INFO] [stderr]    Compiling duke v0.1.0 (/opt/rustwide/workdir/duke)
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/class.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/field.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/field.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio v1.44.0
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/method.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/method.rs:320:17
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]   --> duke/src/tree/module.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]   --> duke/src/tree/module.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/descriptor.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/record.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> duke/src/visitor/method/code.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 |         label: Option<Label>,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]   --> duke/src/visitor/method/code.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |         frame: Option<StackMapData>,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction`
[INFO] [stdout]   --> duke/src/visitor/method/code.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |         instruction: Instruction,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zstd v0.13.1
[INFO] [stdout] warning: method `read_u32_as_usize` is never used
[INFO] [stdout]    --> duke/src/lib.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout]  58 | trait ClassRead {
[INFO] [stdout]     |       --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn read_u32_as_usize(&mut self) -> Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `none` is never used
[INFO] [stdout]   --> duke/src/visitor/field.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl FieldInterests {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 50 |     pub fn none() -> FieldInterests {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `none` is never used
[INFO] [stdout]   --> duke/src/visitor/record.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl RecordComponentInterests {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn none() -> RecordComponentInterests {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> duke/src/jstring.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn from_string_to_vec(string: &JavaStr) -> Cow<[u8]> {
[INFO] [stdout]    |                                          ^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn from_string_to_vec(string: &JavaStr) -> Cow<'_, [u8]> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> duke/src/simple_class_writer/pool.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn from_utf8(string: &JavaStr) -> PoolEntry {
[INFO] [stdout]    |                          ^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn from_utf8(string: &JavaStr) -> PoolEntry<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quill v0.1.0 (/opt/rustwide/workdir/quill)
[INFO] [stderr]    Compiling clap v4.5.7
[INFO] [stdout] warning: unused import: `JavaStr`
[INFO] [stdout]   --> quill/src/tiny_v2.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use java_string::{JavaStr, JavaString};
[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: `JavaCodePoint`
[INFO] [stdout]   --> quill/src/remapper.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use java_string::{JavaCodePoint, JavaStr, JavaString};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner_name`
[INFO] [stdout]    --> quill/src/remapper.rs:455:27
[INFO] [stdout]     |
[INFO] [stdout] 455 |     fn map_field_fail(&self, owner_name: &ObjClassNameSlice, field_name: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Res...
[INFO] [stdout]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_name`
[INFO] [stdout]    --> quill/src/remapper.rs:455:59
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...: &ObjClassNameSlice, field_name: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Result<Option<FieldNameAndDesc>> {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_desc`
[INFO] [stdout]    --> quill/src/remapper.rs:455:88
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...ame: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Result<Option<FieldNameAndDesc>> {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner_name`
[INFO] [stdout]    --> quill/src/remapper.rs:459:28
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stdout]     |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> quill/src/remapper.rs:459:60
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_desc`
[INFO] [stdout]    --> quill/src/remapper.rs:459:91
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> quill/src/remapper.rs:497:30
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn get_super_classes(&self, class: &ObjClassNameSlice) -> Result<Option<&IndexSet<ObjClassName>>> {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dbg` is never used
[INFO] [stdout]    --> quill/src/enigma_file.rs:377:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | impl Placement<'_> {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 377 |     fn dbg(&self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClassKey` is never constructed
[INFO] [stdout]    --> quill/src/tree/mappings.rs:309:19
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub(crate) struct ClassKey {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dukebox v0.1.0 (/opt/rustwide/workdir/dukebox)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:133:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |         return Ok(self);
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] 133 |         todo!("remap class signature for {self:?}")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:195:3
[INFO] [stdout]     |
[INFO] [stdout] 194 |         return Ok(self);
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] 195 |         todo!("remap field signature for {self:?}")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:215:3
[INFO] [stdout]     |
[INFO] [stdout] 214 |         return Ok(self);
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] 215 |         todo!("remap method signature for {self:?}")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 274 |             return Ok(inner_name.clone());
[INFO] [stdout]     |             ----------------------------- any code following this expression is unreachable
[INFO] [stdout] 275 |             todo!()
[INFO] [stdout]     |             ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_attr`
[INFO] [stdout]    --> dukebox/src/merge.rs:393:10
[INFO] [stdout]     |
[INFO] [stdout] 393 |                     let server_attr = server.attrs();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_attr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]   --> dukebox/src/remap.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn remap_other<FromNs, ToNs>(remapper: &impl BRemapper<FromNs, ToNs>, other: impl IsOther) -> Result<Vec<u8>> {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:273:41
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...   fn map_inner_class_name<FromNs, ToNs>(remapper: &impl BRemapper<FromNs, ToNs>, name: &ClassName, outer_class: Option<&ClassNa...
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> dukebox/src/remap.rs:273:82
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...pl BRemapper<FromNs, ToNs>, name: &ClassName, outer_class: Option<&ClassName>, inner_name: &JavaString) -> Result<JavaString> {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outer_class`
[INFO] [stdout]    --> dukebox/src/remap.rs:273:100
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...>, name: &ClassName, outer_class: Option<&ClassName>, inner_name: &JavaString) -> Result<JavaString> {
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:584:17
[INFO] [stdout]     |
[INFO] [stdout] 584 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_jar` and `add_dirs_to` are never used
[INFO] [stdout]    --> dukebox/src/storage/parsed.rs:73:16
[INFO] [stdout]     |
[INFO] [stdout]  68 | / impl<Ns, Class, Other> ParsedJar<Ns, Class, Other>
[INFO] [stdout]  69 | |     where
[INFO] [stdout]  70 | |         Class: IsClass,
[INFO] [stdout]  71 | |         Other: IsOther,
[INFO] [stdout]     | |_______________________- associated functions in this implementation
[INFO] [stdout]  72 |   {
[INFO] [stdout]  73 |       pub(crate) fn from_jar(jar: &impl Jar<Ns>) -> Result<ParsedJar<Ns, ClassRepr, Vec<u8>>> {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |       fn add_dirs_to<W: Write + Seek>(path: &str, mut zip_out: ZipWriter<W>) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> dukebox/src/storage/is_other.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn as_cow(&self) -> Cow<[u8]> {
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |               |
[INFO] [stdout]   |               the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn as_cow(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dukenest v0.1.0 (/opt/rustwide/workdir/dukenest)
[INFO] [stderr]    Compiling tokio-util v0.7.11
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde-xml-rs v0.6.0
[INFO] [stderr]    Compiling maven_dependency_resolver v0.1.0 (/opt/rustwide/workdir/maven_dependency_resolver)
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> maven_dependency_resolver/src/resolver.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         |pom, url, resolver| -> Result<(&'a Resolver<'a>, MavenPom)>{
[INFO] [stdout]    |               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gradle` is never constructed
[INFO] [stdout]    --> maven_dependency_resolver/src/lib.rs:114:2
[INFO] [stdout]     |
[INFO] [stdout] 112 | enum DepCleanBehavior {
[INFO] [stdout]     |      ---------------- variant in this enum
[INFO] [stdout] 113 |     Maven,
[INFO] [stdout] 114 |     Gradle,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DepCleanBehavior` has derived impls for the traits `Debug` and `Clone`, but these are 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: associated functions `type_to_language`, `type_to_added_to_classpath`, and `type_to_includes_dependencies` are never used
[INFO] [stdout]    --> maven_dependency_resolver/src/coord.rs:268:16
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl Types {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub(crate) fn type_to_language(type_: &str) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub(crate) fn type_to_added_to_classpath(type_: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub(crate) fn type_to_includes_dependencies(type_: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_resolvers` is never used
[INFO] [stdout]   --> maven_dependency_resolver/src/resolver.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) async fn try_resolvers<'a, T, F: Future<Output = Result<Option<T>>>>(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_metadata_url` is never used
[INFO] [stdout]   --> maven_dependency_resolver/src/resolver.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn make_metadata_url(maven: &str, group: &str, artifact: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> maven_dependency_resolver/src/coord.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub(crate) fn base_version(&self) -> Cow<str> {
[INFO] [stdout]    |                                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub(crate) fn base_version(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> maven_dependency_resolver/src/coord.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn to_snapshot_version(version: &str) -> Cow<str> {
[INFO] [stdout]     |                                 ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn to_snapshot_version(version: &str) -> Cow<'_, str> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper v0.14.29
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling feather-build-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dukebox::storage::Jar`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use dukebox::storage::Jar;
[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: `Write`
[INFO] [stdout]  --> src/download/mod.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Cursor, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/enigma.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VersionEntry`
[INFO] [stdout]   --> src/enigma.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::version_graph::{VersionEntry, VersionGraph};
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/sus.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/version_graph.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stdout]   --> src/build.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::version_graph::{Environment, VersionEntrySplit, VersionGraph};
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/build.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         Environment::Merged => {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stdout]    --> src/build.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         Environment::Client => {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stdout]    --> src/build.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |         Environment::Server => {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stdout]   --> src/download/mod.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::version_graph::{Environment, VersionEntrySplit};
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/download/mod.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout] 195 |             if Environment::Merged != environment {
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/download/mod.rs:200:18
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 Environment::Merged => {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stdout]    --> src/download/mod.rs:203:18
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 Environment::Client if !version_details.client => {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stdout]    --> src/download/mod.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 Environment::Server if !version_details.server => {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stdout]    --> src/version_graph.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |     pub(crate) fn get_environment(&self) -> Environment {
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stdout]    --> src/version_graph.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |             Environment::Client
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stdout]    --> src/version_graph.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 |             Environment::Server
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/version_graph.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Environment::Merged
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntry::<'_>::get_environment`
[INFO] [stdout]    --> src/build.rs:114:58
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let main_jar: EnumJar<Official> = match version.inner().get_environment() {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download/cache.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let mut guard = inner.cache.write().await;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntry::<'_>::get_environment`
[INFO] [stdout]    --> src/download/mod.rs:182:37
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let environment = version.inner().get_environment();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tokio_ext.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     async fn try_join_all(mut self) -> Result<Vec<T>, E> {
[INFO] [stdout]     |                           ----^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/version_graph.rs:280:3
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...   todo!("needs to be like .versions() but in case of split != Split::None have two elements, one for Split::First and one for Split::Second");
[INFO] [stdout]     |       ------------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 280 | ...   vec![].into_iter()
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/insert_mappings.rs:688:23
[INFO] [stdout]     |
[INFO] [stdout] 688 |             if parent_children.remove(key).is_some() {
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ofrom_stem`
[INFO] [stdout]    --> src/insert_mappings.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 | ...                   let (ofrom_stem, ofrom_simple) = make_class_name_stem_and_simple(ofrom);
[INFO] [stdout]     |                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ofrom_stem`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_stem`
[INFO] [stdout]    --> src/insert_mappings.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   let (to_stem, to_simple) = make_class_name_stem_and_simple(to);
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_stem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/insert_mappings.rs:687:18
[INFO] [stdout]     |
[INFO] [stdout] 687 |         Action::Remove(a) => {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `downloader`
[INFO] [stdout]  --> src/sus.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) async fn sus(downloader: Downloader, options: Options, args: Sus) -> Result<()> {
[INFO] [stdout]   |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_downloader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]  --> src/sus.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) async fn sus(downloader: Downloader, options: Options, args: Sus) -> Result<()> {
[INFO] [stdout]   |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/version_graph.rs:135:7
[INFO] [stdout]     |
[INFO] [stdout] 135 |         for v in self.graph.node_indices() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InnerCache<T>` is more private than the item `Cache::lock`
[INFO] [stdout]   --> src/download/cache.rs:15:2
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub(crate) lock: Arc<RwLock<InnerCache<T>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Cache::lock` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `InnerCache<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/download/cache.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct InnerCache<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `Cache<T>`
[INFO] [stdout]    --> src/download/cache.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl<T: Clone + FileCacheable> Cache<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `Cache<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CacheEntry`
[INFO] [stdout]    --> src/download/cache.rs:57:1
[INFO] [stdout]     |
[INFO] [stdout]  57 | pub(crate) enum CacheEntry<'a, T: FileCacheable> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ enum `CacheEntry` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CacheEntry<'_, T>`
[INFO] [stdout]    --> src/download/cache.rs:62:1
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl<T: FileCacheable> CacheEntry<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CacheEntry<'_, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CacheEntry<'_, T>`
[INFO] [stdout]    --> src/download/cache.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl<T: Clone + FileCacheable> CacheEntry<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CacheEntry<'_, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `MissEntry`
[INFO] [stdout]    --> src/download/cache.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub(crate) struct MissEntry<'a, T: FileCacheable> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `MissEntry` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `MissEntry<'a, T>`
[INFO] [stdout]    --> src/download/cache.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<'a, T: FileCacheable> MissEntry<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `MissEntry<'a, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `MissEntry<'a, T>`
[INFO] [stdout]    --> src/download/cache.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl<'a, T: Clone + FileCacheable> MissEntry<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `MissEntry<'a, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CommitOption`
[INFO] [stdout]    --> src/download/cache.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) struct CommitOption<T: FileCacheable> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `CommitOption` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CommitOption<T>`
[INFO] [stdout]    --> src/download/cache.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl<T: FileCacheable> CommitOption<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CommitOption<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CommitOption<T>`
[INFO] [stdout]    --> src/download/cache.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl<T: Clone + FileCacheable> CommitOption<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CommitOption<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join_all` is never used
[INFO] [stdout]   --> src/tokio_ext.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<T: 'static> OrderedJoinSet<T> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub async fn join_all(self) -> Vec<T> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JoinSetExt` is never used
[INFO] [stdout]   --> src/tokio_ext.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub trait JoinSetExt<T, E> {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FuturesIteratorExt` is never used
[INFO] [stdout]    --> src/tokio_ext.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait FuturesIteratorExt<T> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_join_all_unordered` is never used
[INFO] [stdout]    --> src/tokio_ext.rs:132:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait TryFuturesIterator<T, E> {
[INFO] [stdout]     |           ------------------ method in this trait
[INFO] [stdout] 131 |     /// [`TryFuturesIterator::try_join_all`], but without the order guarantee.
[INFO] [stdout] 132 |     async fn try_join_all_unordered(self) -> Result<Vec<T>, E>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Mem` is never constructed
[INFO] [stdout]   --> src/version_graph.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum DiffSource {
[INFO] [stdout]    |      ---------- variant in this enum
[INFO] [stdout] 22 |     Mem(MappingsDiff),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `versions` is never used
[INFO] [stdout]    --> src/version_graph.rs:270:16
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl VersionGraph {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub(crate) fn versions(&self) -> impl Iterator<Item=VersionEntry<'_>> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decompose` is never used
[INFO] [stdout]    --> src/version_graph.rs:370:5
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<'a> VersionEntrySplit<'a> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn decompose(self) -> (Split, VersionEntry<'a>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "ee900a2cc89d1b3cbc619a2ade006286636ffec36d0719ac1f3e70cd97bf525a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee900a2cc89d1b3cbc619a2ade006286636ffec36d0719ac1f3e70cd97bf525a", kill_on_drop: false }`
[INFO] [stdout] ee900a2cc89d1b3cbc619a2ade006286636ffec36d0719ac1f3e70cd97bf525a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2754965dc7f196dceff74a9686bca546c34fad2191fb8c88c29de96f1d1c7498
[INFO] running `Command { std: "docker" "start" "-a" "2754965dc7f196dceff74a9686bca546c34fad2191fb8c88c29de96f1d1c7498", kill_on_drop: false }`
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/class.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/field.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/field.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/method.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/method.rs:320:17
[INFO] [stdout]     |
[INFO] [stdout] 320 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]   --> duke/src/tree/module.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]   --> duke/src/tree/module.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/descriptor.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]    --> duke/src/tree/record.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> duke/src/visitor/method/code.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 |         label: Option<Label>,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]   --> duke/src/visitor/method/code.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |         frame: Option<StackMapData>,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction`
[INFO] [stdout]   --> duke/src/visitor/method/code.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |         instruction: Instruction,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_u32_as_usize` is never used
[INFO] [stdout]    --> duke/src/lib.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout]  58 | trait ClassRead {
[INFO] [stdout]     |       --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn read_u32_as_usize(&mut self) -> Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `none` is never used
[INFO] [stdout]   --> duke/src/visitor/field.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl FieldInterests {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 50 |     pub fn none() -> FieldInterests {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `none` is never used
[INFO] [stdout]   --> duke/src/visitor/record.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl RecordComponentInterests {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn none() -> RecordComponentInterests {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> duke/src/jstring.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn from_string_to_vec(string: &JavaStr) -> Cow<[u8]> {
[INFO] [stdout]    |                                          ^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn from_string_to_vec(string: &JavaStr) -> Cow<'_, [u8]> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> duke/src/simple_class_writer/pool.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn from_utf8(string: &JavaStr) -> PoolEntry {
[INFO] [stdout]    |                          ^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn from_utf8(string: &JavaStr) -> PoolEntry<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JavaStr`
[INFO] [stdout]   --> quill/src/tiny_v2.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use java_string::{JavaStr, JavaString};
[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: `JavaCodePoint`
[INFO] [stdout]   --> quill/src/remapper.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use java_string::{JavaCodePoint, JavaStr, JavaString};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner_name`
[INFO] [stdout]    --> quill/src/remapper.rs:455:27
[INFO] [stdout]     |
[INFO] [stdout] 455 |     fn map_field_fail(&self, owner_name: &ObjClassNameSlice, field_name: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Res...
[INFO] [stdout]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_name`
[INFO] [stdout]    --> quill/src/remapper.rs:455:59
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...: &ObjClassNameSlice, field_name: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Result<Option<FieldNameAndDesc>> {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_desc`
[INFO] [stdout]    --> quill/src/remapper.rs:455:88
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...ame: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Result<Option<FieldNameAndDesc>> {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner_name`
[INFO] [stdout]    --> quill/src/remapper.rs:459:28
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stdout]     |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> quill/src/remapper.rs:459:60
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_desc`
[INFO] [stdout]    --> quill/src/remapper.rs:459:91
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> quill/src/remapper.rs:497:30
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn get_super_classes(&self, class: &ObjClassNameSlice) -> Result<Option<&IndexSet<ObjClassName>>> {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dbg` is never used
[INFO] [stdout]    --> quill/src/enigma_file.rs:377:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | impl Placement<'_> {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 377 |     fn dbg(&self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClassKey` is never constructed
[INFO] [stdout]    --> quill/src/tree/mappings.rs:309:19
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub(crate) struct ClassKey {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:133:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |         return Ok(self);
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] 133 |         todo!("remap class signature for {self:?}")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:195:3
[INFO] [stdout]     |
[INFO] [stdout] 194 |         return Ok(self);
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] 195 |         todo!("remap field signature for {self:?}")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:215:3
[INFO] [stdout]     |
[INFO] [stdout] 214 |         return Ok(self);
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] 215 |         todo!("remap method signature for {self:?}")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> dukebox/src/remap.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 274 |             return Ok(inner_name.clone());
[INFO] [stdout]     |             ----------------------------- any code following this expression is unreachable
[INFO] [stdout] 275 |             todo!()
[INFO] [stdout]     |             ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling raw_class_file v0.1.0 (/opt/rustwide/workdir/raw_class_file)
[INFO] [stdout] warning: unused variable: `server_attr`
[INFO] [stdout]    --> dukebox/src/merge.rs:393:10
[INFO] [stdout]     |
[INFO] [stdout] 393 |                     let server_attr = server.attrs();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_attr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]   --> dukebox/src/remap.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn remap_other<FromNs, ToNs>(remapper: &impl BRemapper<FromNs, ToNs>, other: impl IsOther) -> Result<Vec<u8>> {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:273:41
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...   fn map_inner_class_name<FromNs, ToNs>(remapper: &impl BRemapper<FromNs, ToNs>, name: &ClassName, outer_class: Option<&ClassNa...
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> dukebox/src/remap.rs:273:82
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...pl BRemapper<FromNs, ToNs>, name: &ClassName, outer_class: Option<&ClassName>, inner_name: &JavaString) -> Result<JavaString> {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outer_class`
[INFO] [stdout]    --> dukebox/src/remap.rs:273:100
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...>, name: &ClassName, outer_class: Option<&ClassName>, inner_name: &JavaString) -> Result<JavaString> {
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remapper`
[INFO] [stdout]    --> dukebox/src/remap.rs:584:17
[INFO] [stdout]     |
[INFO] [stdout] 584 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_jar` and `add_dirs_to` are never used
[INFO] [stdout]    --> dukebox/src/storage/parsed.rs:73:16
[INFO] [stdout]     |
[INFO] [stdout]  68 | / impl<Ns, Class, Other> ParsedJar<Ns, Class, Other>
[INFO] [stdout]  69 | |     where
[INFO] [stdout]  70 | |         Class: IsClass,
[INFO] [stdout]  71 | |         Other: IsOther,
[INFO] [stdout]     | |_______________________- associated functions in this implementation
[INFO] [stdout]  72 |   {
[INFO] [stdout]  73 |       pub(crate) fn from_jar(jar: &impl Jar<Ns>) -> Result<ParsedJar<Ns, ClassRepr, Vec<u8>>> {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |       fn add_dirs_to<W: Write + Seek>(path: &str, mut zip_out: ZipWriter<W>) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> dukebox/src/storage/is_other.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn as_cow(&self) -> Cow<[u8]> {
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |               |
[INFO] [stdout]   |               the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn as_cow(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> maven_dependency_resolver/src/resolver.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         |pom, url, resolver| -> Result<(&'a Resolver<'a>, MavenPom)>{
[INFO] [stdout]    |               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gradle` is never constructed
[INFO] [stdout]    --> maven_dependency_resolver/src/lib.rs:114:2
[INFO] [stdout]     |
[INFO] [stdout] 112 | enum DepCleanBehavior {
[INFO] [stdout]     |      ---------------- variant in this enum
[INFO] [stdout] 113 |     Maven,
[INFO] [stdout] 114 |     Gradle,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DepCleanBehavior` has derived impls for the traits `Debug` and `Clone`, but these are 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: associated functions `type_to_language`, `type_to_added_to_classpath`, and `type_to_includes_dependencies` are never used
[INFO] [stdout]    --> maven_dependency_resolver/src/coord.rs:268:16
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl Types {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub(crate) fn type_to_language(type_: &str) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub(crate) fn type_to_added_to_classpath(type_: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub(crate) fn type_to_includes_dependencies(type_: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_resolvers` is never used
[INFO] [stdout]   --> maven_dependency_resolver/src/resolver.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) async fn try_resolvers<'a, T, F: Future<Output = Result<Option<T>>>>(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_metadata_url` is never used
[INFO] [stdout]   --> maven_dependency_resolver/src/resolver.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn make_metadata_url(maven: &str, group: &str, artifact: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> maven_dependency_resolver/src/coord.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub(crate) fn base_version(&self) -> Cow<str> {
[INFO] [stdout]    |                                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub(crate) fn base_version(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> maven_dependency_resolver/src/coord.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn to_snapshot_version(version: &str) -> Cow<str> {
[INFO] [stdout]     |                                 ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn to_snapshot_version(version: &str) -> Cow<'_, str> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling feather-build-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dukebox::storage::Jar`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use dukebox::storage::Jar;
[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: `Write`
[INFO] [stdout]  --> src/download/mod.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Cursor, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/enigma.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VersionEntry`
[INFO] [stdout]   --> src/enigma.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::version_graph::{VersionEntry, VersionGraph};
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/sus.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/version_graph.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/version_graph.rs:467:88
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let versions: HashSet<_> = graph.versions().map(|x| x.as_str().to_owned()).collect();;
[INFO] [stdout]     |                                                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stdout]   --> src/build.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::version_graph::{Environment, VersionEntrySplit, VersionGraph};
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/build.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         Environment::Merged => {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stdout]    --> src/build.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         Environment::Client => {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stdout]    --> src/build.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |         Environment::Server => {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stdout]   --> src/download/mod.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::version_graph::{Environment, VersionEntrySplit};
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/download/mod.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout] 195 |             if Environment::Merged != environment {
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/download/mod.rs:200:18
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 Environment::Merged => {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stdout]    --> src/download/mod.rs:203:18
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 Environment::Client if !version_details.client => {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stdout]    --> src/download/mod.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 Environment::Server if !version_details.server => {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stdout]    --> src/version_graph.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |     pub(crate) fn get_environment(&self) -> Environment {
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stdout]    --> src/version_graph.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |             Environment::Client
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stdout]    --> src/version_graph.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 |             Environment::Server
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stdout]    --> src/version_graph.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Environment::Merged
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntry::<'_>::get_environment`
[INFO] [stdout]    --> src/build.rs:114:58
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let main_jar: EnumJar<Official> = match version.inner().get_environment() {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download/cache.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let mut guard = inner.cache.write().await;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntry::<'_>::get_environment`
[INFO] [stdout]    --> src/download/mod.rs:182:37
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let environment = version.inner().get_environment();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tokio_ext.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     async fn try_join_all(mut self) -> Result<Vec<T>, E> {
[INFO] [stdout]     |                           ----^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/version_graph.rs:280:3
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...   todo!("needs to be like .versions() but in case of split != Split::None have two elements, one for Split::First and one for Split::Second");
[INFO] [stdout]     |       ------------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 280 | ...   vec![].into_iter()
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/insert_mappings.rs:688:23
[INFO] [stdout]     |
[INFO] [stdout] 688 |             if parent_children.remove(key).is_some() {
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntrySplit::<'a>::decompose`
[INFO] [stdout]    --> src/version_graph.rs:479:46
[INFO] [stdout]     |
[INFO] [stdout] 479 |                     let (split, v) = graph.get(get_string)?.decompose();
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntrySplit::<'a>::decompose`
[INFO] [stdout]    --> src/version_graph.rs:486:48
[INFO] [stdout]     |
[INFO] [stdout] 486 |                     let (split, v) = graph.get(get_string_a)?.decompose();
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `version_graph::VersionEntrySplit::<'a>::decompose`
[INFO] [stdout]    --> src/version_graph.rs:490:48
[INFO] [stdout]     |
[INFO] [stdout] 490 |                     let (split, v) = graph.get(get_string_b)?.decompose();
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quill::tree::NodeInfo`
[INFO] [stdout]    --> src/version_graph.rs:455:6
[INFO] [stdout]     |
[INFO] [stdout] 455 |     use quill::tree::NodeInfo;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ofrom_stem`
[INFO] [stdout]    --> src/insert_mappings.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 | ...                   let (ofrom_stem, ofrom_simple) = make_class_name_stem_and_simple(ofrom);
[INFO] [stdout]     |                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ofrom_stem`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_stem`
[INFO] [stdout]    --> src/insert_mappings.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   let (to_stem, to_simple) = make_class_name_stem_and_simple(to);
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_stem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/insert_mappings.rs:687:18
[INFO] [stdout]     |
[INFO] [stdout] 687 |         Action::Remove(a) => {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `downloader`
[INFO] [stdout]  --> src/sus.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) async fn sus(downloader: Downloader, options: Options, args: Sus) -> Result<()> {
[INFO] [stdout]   |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_downloader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]  --> src/sus.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) async fn sus(downloader: Downloader, options: Options, args: Sus) -> Result<()> {
[INFO] [stdout]   |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/version_graph.rs:135:7
[INFO] [stdout]     |
[INFO] [stdout] 135 |         for v in self.graph.node_indices() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InnerCache<T>` is more private than the item `Cache::lock`
[INFO] [stdout]   --> src/download/cache.rs:15:2
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub(crate) lock: Arc<RwLock<InnerCache<T>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Cache::lock` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `InnerCache<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/download/cache.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct InnerCache<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `Cache<T>`
[INFO] [stdout]    --> src/download/cache.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl<T: Clone + FileCacheable> Cache<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `Cache<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CacheEntry`
[INFO] [stdout]    --> src/download/cache.rs:57:1
[INFO] [stdout]     |
[INFO] [stdout]  57 | pub(crate) enum CacheEntry<'a, T: FileCacheable> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ enum `CacheEntry` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CacheEntry<'_, T>`
[INFO] [stdout]    --> src/download/cache.rs:62:1
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl<T: FileCacheable> CacheEntry<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CacheEntry<'_, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CacheEntry<'_, T>`
[INFO] [stdout]    --> src/download/cache.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl<T: Clone + FileCacheable> CacheEntry<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CacheEntry<'_, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `MissEntry`
[INFO] [stdout]    --> src/download/cache.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub(crate) struct MissEntry<'a, T: FileCacheable> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `MissEntry` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `MissEntry<'a, T>`
[INFO] [stdout]    --> src/download/cache.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<'a, T: FileCacheable> MissEntry<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `MissEntry<'a, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `MissEntry<'a, T>`
[INFO] [stdout]    --> src/download/cache.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl<'a, T: Clone + FileCacheable> MissEntry<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `MissEntry<'a, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CommitOption`
[INFO] [stdout]    --> src/download/cache.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) struct CommitOption<T: FileCacheable> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `CommitOption` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CommitOption<T>`
[INFO] [stdout]    --> src/download/cache.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl<T: FileCacheable> CommitOption<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CommitOption<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileCacheable` is more private than the item `CommitOption<T>`
[INFO] [stdout]    --> src/download/cache.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl<T: Clone + FileCacheable> CommitOption<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CommitOption<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/download/cache.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait FileCacheable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join_all` is never used
[INFO] [stdout]   --> src/tokio_ext.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<T: 'static> OrderedJoinSet<T> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub async fn join_all(self) -> Vec<T> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JoinSetExt` is never used
[INFO] [stdout]   --> src/tokio_ext.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub trait JoinSetExt<T, E> {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FuturesIteratorExt` is never used
[INFO] [stdout]    --> src/tokio_ext.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait FuturesIteratorExt<T> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_join_all_unordered` is never used
[INFO] [stdout]    --> src/tokio_ext.rs:132:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait TryFuturesIterator<T, E> {
[INFO] [stdout]     |           ------------------ method in this trait
[INFO] [stdout] 131 |     /// [`TryFuturesIterator::try_join_all`], but without the order guarantee.
[INFO] [stdout] 132 |     async fn try_join_all_unordered(self) -> Result<Vec<T>, E>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Mem` is never constructed
[INFO] [stdout]   --> src/version_graph.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum DiffSource {
[INFO] [stdout]    |      ---------- variant in this enum
[INFO] [stdout] 22 |     Mem(MappingsDiff),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.08s
[INFO] running `Command { std: "docker" "inspect" "2754965dc7f196dceff74a9686bca546c34fad2191fb8c88c29de96f1d1c7498", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2754965dc7f196dceff74a9686bca546c34fad2191fb8c88c29de96f1d1c7498", kill_on_drop: false }`
[INFO] [stdout] 2754965dc7f196dceff74a9686bca546c34fad2191fb8c88c29de96f1d1c7498
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 04649e67f4779a59ecb58e30c5fee2c6659b737cbbe651347cf351908bf3ede6
[INFO] running `Command { std: "docker" "start" "-a" "04649e67f4779a59ecb58e30c5fee2c6659b737cbbe651347cf351908bf3ede6", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/class.rs:606:17
[INFO] [stderr]     |
[INFO] [stderr] 606 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/field.rs:235:17
[INFO] [stderr]     |
[INFO] [stderr] 235 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/field.rs:246:17
[INFO] [stderr]     |
[INFO] [stderr] 246 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/method.rs:309:17
[INFO] [stderr]     |
[INFO] [stderr] 309 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/method.rs:320:17
[INFO] [stderr]     |
[INFO] [stderr] 320 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]   --> duke/src/tree/module.rs:29:17
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]   --> duke/src/tree/module.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/descriptor.rs:399:17
[INFO] [stderr]     |
[INFO] [stderr] 399 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner`
[INFO] [stderr]    --> duke/src/tree/record.rs:108:17
[INFO] [stderr]     |
[INFO] [stderr] 108 |     fn check_valid(inner: &JavaStr) -> Result<()> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]   --> duke/src/visitor/method/code.rs:24:3
[INFO] [stderr]    |
[INFO] [stderr] 24 |         label: Option<Label>,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `frame`
[INFO] [stderr]   --> duke/src/visitor/method/code.rs:25:3
[INFO] [stderr]    |
[INFO] [stderr] 25 |         frame: Option<StackMapData>,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instruction`
[INFO] [stderr]   --> duke/src/visitor/method/code.rs:26:3
[INFO] [stderr]    |
[INFO] [stderr] 26 |         instruction: Instruction,
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_u32_as_usize` is never used
[INFO] [stderr]    --> duke/src/lib.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr]  58 | trait ClassRead {
[INFO] [stderr]     |       --------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 102 |     fn read_u32_as_usize(&mut self) -> Result<usize> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `none` is never used
[INFO] [stderr]   --> duke/src/visitor/field.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl FieldInterests {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] 50 |     pub fn none() -> FieldInterests {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `none` is never used
[INFO] [stderr]   --> duke/src/visitor/record.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | impl RecordComponentInterests {
[INFO] [stderr]    | ----------------------------- associated function in this implementation
[INFO] [stderr] 45 |     pub fn none() -> RecordComponentInterests {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> duke/src/jstring.rs:21:42
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub(crate) fn from_string_to_vec(string: &JavaStr) -> Cow<[u8]> {
[INFO] [stderr]    |                                          ^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                          |
[INFO] [stderr]    |                                          the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub(crate) fn from_string_to_vec(string: &JavaStr) -> Cow<'_, [u8]> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> duke/src/simple_class_writer/pool.rs:46:23
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn from_utf8(string: &JavaStr) -> PoolEntry {
[INFO] [stderr]    |                          ^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn from_utf8(string: &JavaStr) -> PoolEntry<'_> {
[INFO] [stderr]    |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `duke` (lib) generated 17 warnings (run `cargo fix --lib -p duke` to apply 14 suggestions)
[INFO] [stderr] warning: unused import: `JavaStr`
[INFO] [stderr]   --> quill/src/tiny_v2.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 | use java_string::{JavaStr, JavaString};
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `JavaCodePoint`
[INFO] [stderr]   --> quill/src/remapper.rs:22:19
[INFO] [stderr]    |
[INFO] [stderr] 22 | use java_string::{JavaCodePoint, JavaStr, JavaString};
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `owner_name`
[INFO] [stderr]    --> quill/src/remapper.rs:455:27
[INFO] [stderr]     |
[INFO] [stderr] 455 |     fn map_field_fail(&self, owner_name: &ObjClassNameSlice, field_name: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Res...
[INFO] [stderr]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_name`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field_name`
[INFO] [stderr]    --> quill/src/remapper.rs:455:59
[INFO] [stderr]     |
[INFO] [stderr] 455 | ...: &ObjClassNameSlice, field_name: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Result<Option<FieldNameAndDesc>> {
[INFO] [stderr]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field_desc`
[INFO] [stderr]    --> quill/src/remapper.rs:455:88
[INFO] [stderr]     |
[INFO] [stderr] 455 | ...ame: &FieldNameSlice, field_desc: &FieldDescriptorSlice) -> Result<Option<FieldNameAndDesc>> {
[INFO] [stderr]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_desc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `owner_name`
[INFO] [stderr]    --> quill/src/remapper.rs:459:28
[INFO] [stderr]     |
[INFO] [stderr] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stderr]     |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `method_name`
[INFO] [stderr]    --> quill/src/remapper.rs:459:60
[INFO] [stderr]     |
[INFO] [stderr] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stderr]     |                                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `method_desc`
[INFO] [stderr]    --> quill/src/remapper.rs:459:91
[INFO] [stderr]     |
[INFO] [stderr] 459 |     fn map_method_fail(&self, owner_name: &ObjClassNameSlice, method_name: &MethodNameSlice, method_desc: &MethodDescriptorSlice)
[INFO] [stderr]     |                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_desc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `class`
[INFO] [stderr]    --> quill/src/remapper.rs:497:30
[INFO] [stderr]     |
[INFO] [stderr] 497 |     fn get_super_classes(&self, class: &ObjClassNameSlice) -> Result<Option<&IndexSet<ObjClassName>>> {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stderr] 
[INFO] [stderr] warning: method `dbg` is never used
[INFO] [stderr]    --> quill/src/enigma_file.rs:377:5
[INFO] [stderr]     |
[INFO] [stderr] 376 | impl Placement<'_> {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] 377 |     fn dbg(&self) {
[INFO] [stderr]     |        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ClassKey` is never constructed
[INFO] [stderr]    --> quill/src/tree/mappings.rs:309:19
[INFO] [stderr]     |
[INFO] [stderr] 309 | pub(crate) struct ClassKey {
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `quill` (lib) generated 11 warnings (run `cargo fix --lib -p quill` to apply 9 suggestions)
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> dukebox/src/remap.rs:133:3
[INFO] [stderr]     |
[INFO] [stderr] 132 |         return Ok(self);
[INFO] [stderr]     |         --------------- any code following this expression is unreachable
[INFO] [stderr] 133 |         todo!("remap class signature for {self:?}")
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> dukebox/src/remap.rs:195:3
[INFO] [stderr]     |
[INFO] [stderr] 194 |         return Ok(self);
[INFO] [stderr]     |         --------------- any code following this expression is unreachable
[INFO] [stderr] 195 |         todo!("remap field signature for {self:?}")
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> dukebox/src/remap.rs:215:3
[INFO] [stderr]     |
[INFO] [stderr] 214 |         return Ok(self);
[INFO] [stderr]     |         --------------- any code following this expression is unreachable
[INFO] [stderr] 215 |         todo!("remap method signature for {self:?}")
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> dukebox/src/remap.rs:275:4
[INFO] [stderr]     |
[INFO] [stderr] 274 |             return Ok(inner_name.clone());
[INFO] [stderr]     |             ----------------------------- any code following this expression is unreachable
[INFO] [stderr] 275 |             todo!()
[INFO] [stderr]     |             ^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `server_attr`
[INFO] [stderr]    --> dukebox/src/merge.rs:393:10
[INFO] [stderr]     |
[INFO] [stderr] 393 |                     let server_attr = server.attrs();
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_attr`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remapper`
[INFO] [stderr]   --> dukebox/src/remap.rs:67:34
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub fn remap_other<FromNs, ToNs>(remapper: &impl BRemapper<FromNs, ToNs>, other: impl IsOther) -> Result<Vec<u8>> {
[INFO] [stderr]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remapper`
[INFO] [stderr]    --> dukebox/src/remap.rs:130:17
[INFO] [stderr]     |
[INFO] [stderr] 130 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remapper`
[INFO] [stderr]    --> dukebox/src/remap.rs:192:17
[INFO] [stderr]     |
[INFO] [stderr] 192 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remapper`
[INFO] [stderr]    --> dukebox/src/remap.rs:212:17
[INFO] [stderr]     |
[INFO] [stderr] 212 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remapper`
[INFO] [stderr]    --> dukebox/src/remap.rs:273:41
[INFO] [stderr]     |
[INFO] [stderr] 273 | ...   fn map_inner_class_name<FromNs, ToNs>(remapper: &impl BRemapper<FromNs, ToNs>, name: &ClassName, outer_class: Option<&ClassNa...
[INFO] [stderr]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> dukebox/src/remap.rs:273:82
[INFO] [stderr]     |
[INFO] [stderr] 273 | ...pl BRemapper<FromNs, ToNs>, name: &ClassName, outer_class: Option<&ClassName>, inner_name: &JavaString) -> Result<JavaString> {
[INFO] [stderr]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outer_class`
[INFO] [stderr]    --> dukebox/src/remap.rs:273:100
[INFO] [stderr]     |
[INFO] [stderr] 273 | ...>, name: &ClassName, outer_class: Option<&ClassName>, inner_name: &JavaString) -> Result<JavaString> {
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_class`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remapper`
[INFO] [stderr]    --> dukebox/src/remap.rs:584:17
[INFO] [stderr]     |
[INFO] [stderr] 584 |     fn remap(self, remapper: &impl BRemapper<FromNs, ToNs>) -> Result<Self> {
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remapper`
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `from_jar` and `add_dirs_to` are never used
[INFO] [stderr]    --> dukebox/src/storage/parsed.rs:73:16
[INFO] [stderr]     |
[INFO] [stderr]  68 | / impl<Ns, Class, Other> ParsedJar<Ns, Class, Other>
[INFO] [stderr]  69 | |     where
[INFO] [stderr]  70 | |         Class: IsClass,
[INFO] [stderr]  71 | |         Other: IsOther,
[INFO] [stderr]     | |_______________________- associated functions in this implementation
[INFO] [stderr]  72 |   {
[INFO] [stderr]  73 |       pub(crate) fn from_jar(jar: &impl Jar<Ns>) -> Result<ParsedJar<Ns, ClassRepr, Vec<u8>>> {
[INFO] [stderr]     |                     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 |       fn add_dirs_to<W: Write + Seek>(path: &str, mut zip_out: ZipWriter<W>) -> Result<()> {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]  --> dukebox/src/storage/is_other.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn as_cow(&self) -> Cow<[u8]> {
[INFO] [stderr]   |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |               |
[INFO] [stderr]   |               the lifetime is elided here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn as_cow(&self) -> Cow<'_, [u8]> {
[INFO] [stderr]   |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]   --> maven_dependency_resolver/src/resolver.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |         |pom, url, resolver| -> Result<(&'a Resolver<'a>, MavenPom)>{
[INFO] [stderr]    |               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Gradle` is never constructed
[INFO] [stderr]    --> maven_dependency_resolver/src/lib.rs:114:2
[INFO] [stderr]     |
[INFO] [stderr] 112 | enum DepCleanBehavior {
[INFO] [stderr]     |      ---------------- variant in this enum
[INFO] [stderr] 113 |     Maven,
[INFO] [stderr] 114 |     Gradle,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DepCleanBehavior` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `type_to_language`, `type_to_added_to_classpath`, and `type_to_includes_dependencies` are never used
[INFO] [stderr]    --> maven_dependency_resolver/src/coord.rs:268:16
[INFO] [stderr]     |
[INFO] [stderr] 211 | impl Types {
[INFO] [stderr]     | ---------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub(crate) fn type_to_language(type_: &str) -> &str {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 284 |     pub(crate) fn type_to_added_to_classpath(type_: &str) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 300 |     pub(crate) fn type_to_includes_dependencies(type_: &str) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_resolvers` is never used
[INFO] [stderr]   --> maven_dependency_resolver/src/resolver.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub(crate) async fn try_resolvers<'a, T, F: Future<Output = Result<Option<T>>>>(
[INFO] [stderr]    |                     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_metadata_url` is never used
[INFO] [stderr]   --> maven_dependency_resolver/src/resolver.rs:46:4
[INFO] [stderr]    |
[INFO] [stderr] 46 | fn make_metadata_url(maven: &str, group: &str, artifact: &str) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> maven_dependency_resolver/src/coord.rs:98:29
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub(crate) fn base_version(&self) -> Cow<str> {
[INFO] [stderr]    |                                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub(crate) fn base_version(&self) -> Cow<'_, str> {
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> maven_dependency_resolver/src/coord.rs:191:33
[INFO] [stderr]     |
[INFO] [stderr] 191 | fn to_snapshot_version(version: &str) -> Cow<str> {
[INFO] [stderr]     |                                 ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 191 | fn to_snapshot_version(version: &str) -> Cow<'_, str> {
[INFO] [stderr]     |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: `dukebox` (lib) generated 15 warnings (run `cargo fix --lib -p dukebox` to apply 10 suggestions)
[INFO] [stderr] warning: `maven_dependency_resolver` (lib) generated 7 warnings (run `cargo fix --lib -p maven_dependency_resolver` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `dukebox::storage::Jar`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use dukebox::storage::Jar;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/download/mod.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io::{Cursor, Write};
[INFO] [stderr]   |                       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> src/enigma.rs:4:17
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `VersionEntry`
[INFO] [stderr]   --> src/enigma.rs:15:28
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::version_graph::{VersionEntry, VersionGraph};
[INFO] [stderr]    |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/sus.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/version_graph.rs:4:23
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/version_graph.rs:467:88
[INFO] [stderr]     |
[INFO] [stderr] 467 |         let versions: HashSet<_> = graph.versions().map(|x| x.as_str().to_owned()).collect();;
[INFO] [stderr]     |                                                                                              ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stderr]   --> src/build.rs:23:28
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::version_graph::{Environment, VersionEntrySplit, VersionGraph};
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stderr]    --> src/build.rs:115:16
[INFO] [stderr]     |
[INFO] [stderr] 115 |         Environment::Merged => {
[INFO] [stderr]     |                      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stderr]    --> src/build.rs:128:16
[INFO] [stderr]     |
[INFO] [stderr] 128 |         Environment::Client => {
[INFO] [stderr]     |                      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stderr]    --> src/build.rs:133:16
[INFO] [stderr]     |
[INFO] [stderr] 133 |         Environment::Server => {
[INFO] [stderr]     |                      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stderr]   --> src/download/mod.rs:20:28
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::version_graph::{Environment, VersionEntrySplit};
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stderr]    --> src/download/mod.rs:195:20
[INFO] [stderr]     |
[INFO] [stderr] 195 |             if Environment::Merged != environment {
[INFO] [stderr]     |                             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stderr]    --> src/download/mod.rs:200:18
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 Environment::Merged => {
[INFO] [stderr]     |                              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stderr]    --> src/download/mod.rs:203:18
[INFO] [stderr]     |
[INFO] [stderr] 203 |                 Environment::Client if !version_details.client => {
[INFO] [stderr]     |                              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stderr]    --> src/download/mod.rs:206:18
[INFO] [stderr]     |
[INFO] [stderr] 206 |                 Environment::Server if !version_details.server => {
[INFO] [stderr]     |                              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated enum `version_graph::Environment`
[INFO] [stderr]    --> src/version_graph.rs:402:42
[INFO] [stderr]     |
[INFO] [stderr] 402 |     pub(crate) fn get_environment(&self) -> Environment {
[INFO] [stderr]     |                                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Client`
[INFO] [stderr]    --> src/version_graph.rs:404:17
[INFO] [stderr]     |
[INFO] [stderr] 404 |             Environment::Client
[INFO] [stderr]     |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Server`
[INFO] [stderr]    --> src/version_graph.rs:406:17
[INFO] [stderr]     |
[INFO] [stderr] 406 |             Environment::Server
[INFO] [stderr]     |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated unit variant `version_graph::Environment::Merged`
[INFO] [stderr]    --> src/version_graph.rs:408:17
[INFO] [stderr]     |
[INFO] [stderr] 408 |             Environment::Merged
[INFO] [stderr]     |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `version_graph::VersionEntry::<'_>::get_environment`
[INFO] [stderr]    --> src/build.rs:114:58
[INFO] [stderr]     |
[INFO] [stderr] 114 |     let main_jar: EnumJar<Official> = match version.inner().get_environment() {
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/download/cache.rs:186:8
[INFO] [stderr]     |
[INFO] [stderr] 186 |             let mut guard = inner.cache.write().await;
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `version_graph::VersionEntry::<'_>::get_environment`
[INFO] [stderr]    --> src/download/mod.rs:182:37
[INFO] [stderr]     |
[INFO] [stderr] 182 |         let environment = version.inner().get_environment();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/tokio_ext.rs:100:24
[INFO] [stderr]     |
[INFO] [stderr] 100 |     async fn try_join_all(mut self) -> Result<Vec<T>, E> {
[INFO] [stderr]     |                           ----^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/version_graph.rs:280:3
[INFO] [stderr]     |
[INFO] [stderr] 279 | ...   todo!("needs to be like .versions() but in case of split != Split::None have two elements, one for Split::First and one for Split::Second");
[INFO] [stderr]     |       ------------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stderr] 280 | ...   vec![].into_iter()
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `indexmap::IndexMap::<K, V, S>::remove`: `remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stderr]    --> src/insert_mappings.rs:688:23
[INFO] [stderr]     |
[INFO] [stderr] 688 |             if parent_children.remove(key).is_some() {
[INFO] [stderr]     |                                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `version_graph::VersionEntrySplit::<'a>::decompose`
[INFO] [stderr]    --> src/version_graph.rs:479:46
[INFO] [stderr]     |
[INFO] [stderr] 479 |                     let (split, v) = graph.get(get_string)?.decompose();
[INFO] [stderr]     |                                                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `version_graph::VersionEntrySplit::<'a>::decompose`
[INFO] [stderr]    --> src/version_graph.rs:486:48
[INFO] [stderr]     |
[INFO] [stderr] 486 |                     let (split, v) = graph.get(get_string_a)?.decompose();
[INFO] [stderr]     |                                                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `version_graph::VersionEntrySplit::<'a>::decompose`
[INFO] [stderr]    --> src/version_graph.rs:490:48
[INFO] [stderr]     |
[INFO] [stderr] 490 |                     let (split, v) = graph.get(get_string_b)?.decompose();
[INFO] [stderr]     |                                                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `quill::tree::NodeInfo`
[INFO] [stderr]    --> src/version_graph.rs:455:6
[INFO] [stderr]     |
[INFO] [stderr] 455 |     use quill::tree::NodeInfo;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ofrom_stem`
[INFO] [stderr]    --> src/insert_mappings.rs:195:17
[INFO] [stderr]     |
[INFO] [stderr] 195 | ...                   let (ofrom_stem, ofrom_simple) = make_class_name_stem_and_simple(ofrom);
[INFO] [stderr]     |                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ofrom_stem`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to_stem`
[INFO] [stderr]    --> src/insert_mappings.rs:197:17
[INFO] [stderr]     |
[INFO] [stderr] 197 | ...                   let (to_stem, to_simple) = make_class_name_stem_and_simple(to);
[INFO] [stderr]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_stem`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/insert_mappings.rs:687:18
[INFO] [stderr]     |
[INFO] [stderr] 687 |         Action::Remove(a) => {
[INFO] [stderr]     |                        ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `downloader`
[INFO] [stderr]  --> src/sus.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub(crate) async fn sus(downloader: Downloader, options: Options, args: Sus) -> Result<()> {
[INFO] [stderr]   |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_downloader`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]  --> src/sus.rs:7:49
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub(crate) async fn sus(downloader: Downloader, options: Options, args: Sus) -> Result<()> {
[INFO] [stderr]   |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/version_graph.rs:135:7
[INFO] [stderr]     |
[INFO] [stderr] 135 |         for v in self.graph.node_indices() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: type `InnerCache<T>` is more private than the item `Cache::lock`
[INFO] [stderr]   --> src/download/cache.rs:15:2
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub(crate) lock: Arc<RwLock<InnerCache<T>>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Cache::lock` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `InnerCache<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/download/cache.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct InnerCache<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `Cache<T>`
[INFO] [stderr]    --> src/download/cache.rs:36:1
[INFO] [stderr]     |
[INFO] [stderr]  36 | impl<T: Clone + FileCacheable> Cache<T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `Cache<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `CacheEntry`
[INFO] [stderr]    --> src/download/cache.rs:57:1
[INFO] [stderr]     |
[INFO] [stderr]  57 | pub(crate) enum CacheEntry<'a, T: FileCacheable> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ enum `CacheEntry` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `CacheEntry<'_, T>`
[INFO] [stderr]    --> src/download/cache.rs:62:1
[INFO] [stderr]     |
[INFO] [stderr]  62 | impl<T: FileCacheable> CacheEntry<'_, T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CacheEntry<'_, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `CacheEntry<'_, T>`
[INFO] [stderr]    --> src/download/cache.rs:77:1
[INFO] [stderr]     |
[INFO] [stderr]  77 | impl<T: Clone + FileCacheable> CacheEntry<'_, T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CacheEntry<'_, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `MissEntry`
[INFO] [stderr]    --> src/download/cache.rs:131:1
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub(crate) struct MissEntry<'a, T: FileCacheable> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `MissEntry` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `MissEntry<'a, T>`
[INFO] [stderr]    --> src/download/cache.rs:137:1
[INFO] [stderr]     |
[INFO] [stderr] 137 | impl<'a, T: FileCacheable> MissEntry<'a, T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `MissEntry<'a, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `MissEntry<'a, T>`
[INFO] [stderr]    --> src/download/cache.rs:141:1
[INFO] [stderr]     |
[INFO] [stderr] 141 | impl<'a, T: Clone + FileCacheable> MissEntry<'a, T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `MissEntry<'a, T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `CommitOption`
[INFO] [stderr]    --> src/download/cache.rs:173:1
[INFO] [stderr]     |
[INFO] [stderr] 173 | pub(crate) struct CommitOption<T: FileCacheable> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `CommitOption` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `CommitOption<T>`
[INFO] [stderr]    --> src/download/cache.rs:177:1
[INFO] [stderr]     |
[INFO] [stderr] 177 | impl<T: FileCacheable> CommitOption<T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CommitOption<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileCacheable` is more private than the item `CommitOption<T>`
[INFO] [stderr]    --> src/download/cache.rs:183:1
[INFO] [stderr]     |
[INFO] [stderr] 183 | impl<T: Clone + FileCacheable> CommitOption<T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `CommitOption<T>` is reachable at visibility `pub(in crate::download)`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `FileCacheable` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/download/cache.rs:208:1
[INFO] [stderr]     |
[INFO] [stderr] 208 | trait FileCacheable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `join_all` is never used
[INFO] [stderr]   --> src/tokio_ext.rs:75:15
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl<T: 'static> OrderedJoinSet<T> {
[INFO] [stderr]    | ---------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub async fn join_all(self) -> Vec<T> {
[INFO] [stderr]    |                  ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JoinSetExt` is never used
[INFO] [stderr]   --> src/tokio_ext.rs:90:11
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub trait JoinSetExt<T, E> {
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FuturesIteratorExt` is never used
[INFO] [stderr]    --> src/tokio_ext.rs:105:11
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub trait FuturesIteratorExt<T> {
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `try_join_all_unordered` is never used
[INFO] [stderr]    --> src/tokio_ext.rs:132:11
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub trait TryFuturesIterator<T, E> {
[INFO] [stderr]     |           ------------------ method in this trait
[INFO] [stderr] 131 |     /// [`TryFuturesIterator::try_join_all`], but without the order guarantee.
[INFO] [stderr] 132 |     async fn try_join_all_unordered(self) -> Result<Vec<T>, E>;
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Mem` is never constructed
[INFO] [stderr]   --> src/version_graph.rs:22:2
[INFO] [stderr]    |
[INFO] [stderr] 21 | enum DiffSource {
[INFO] [stderr]    |      ---------- variant in this enum
[INFO] [stderr] 22 |     Mem(MappingsDiff),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `feather-build-rs` (bin "feather-build-rs" test) generated 52 warnings (run `cargo fix --bin "feather-build-rs" -p feather-build-rs --tests` to apply 14 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/feather_build_rs-d8369e0d6b963eda)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test dukelaunch::testing::parse_java_version_java_11 ... ok
[INFO] [stdout] test dukelaunch::testing::parse_java_version_java_22 ... ok
[INFO] [stdout] test dukelaunch::testing::parse_java_version_java_8 ... ok
[INFO] [stdout] test specialized_methods::testing::class_files_2 ... ok
[INFO] [stdout] test specialized_methods::testing::class_files ... ok
[INFO] [stdout] test dukelaunch::testing::parse_java_version_java_17 ... ok
[INFO] [stdout] test version_graph::testing::versions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "04649e67f4779a59ecb58e30c5fee2c6659b737cbbe651347cf351908bf3ede6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04649e67f4779a59ecb58e30c5fee2c6659b737cbbe651347cf351908bf3ede6", kill_on_drop: false }`
[INFO] [stdout] 04649e67f4779a59ecb58e30c5fee2c6659b737cbbe651347cf351908bf3ede6
