[INFO] fetching crate argparsnip 0.1.6... [INFO] testing argparsnip-0.1.6 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate argparsnip 0.1.6 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate argparsnip 0.1.6 [INFO] finished tweaking crates.io crate argparsnip 0.1.6 [INFO] tweaked toml for crates.io crate argparsnip 0.1.6 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate argparsnip 0.1.6 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 151 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.2.1 (available: v1.3.2) [INFO] [stderr] Adding criterion v0.3.6 (available: v0.6.0) [INFO] [stderr] Adding hashbrown v0.11.2 (available: v0.15.4) [INFO] [stderr] Adding pprof v0.4.5 (available: v0.15.0) [INFO] [stderr] Adding pretty_assertions v0.7.2 (available: v1.4.1) [INFO] [stderr] Adding simple_logger v1.16.0 (available: v5.0.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded colored v1.9.4 [INFO] [stderr] Downloaded pprof v0.4.5 [INFO] [stderr] Downloaded debugid v0.7.3 [INFO] [stderr] Downloaded symbolic-common v8.8.0 [INFO] [stderr] Downloaded inferno v0.10.12 [INFO] [stderr] Downloaded pretty_assertions v0.7.2 [INFO] [stderr] Downloaded quick-xml v0.22.0 [INFO] [stderr] Downloaded symbolic-demangle v8.8.0 [INFO] [stderr] Downloaded nix v0.20.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2b9111e6297b4cf19099e680094a860d07f62897f75b3ff7bd27d491fc74090d [INFO] running `Command { std: "docker" "start" "-a" "2b9111e6297b4cf19099e680094a860d07f62897f75b3ff7bd27d491fc74090d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2b9111e6297b4cf19099e680094a860d07f62897f75b3ff7bd27d491fc74090d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b9111e6297b4cf19099e680094a860d07f62897f75b3ff7bd27d491fc74090d", kill_on_drop: false }` [INFO] [stdout] 2b9111e6297b4cf19099e680094a860d07f62897f75b3ff7bd27d491fc74090d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] e9ba08ab96c40a5a054c1349dd520a1cf2ffb5756f3cb0424b81a4d1ae361cdb [INFO] running `Command { std: "docker" "start" "-a" "e9ba08ab96c40a5a054c1349dd520a1cf2ffb5756f3cb0424b81a4d1ae361cdb", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling argparsnip v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:333:29 [INFO] [stdout] | [INFO] [stdout] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:335:27 [INFO] [stdout] | [INFO] [stdout] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:338:23 [INFO] [stdout] | [INFO] [stdout] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stdout] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | | [INFO] [stdout] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:342:20 [INFO] [stdout] | [INFO] [stdout] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stdout] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 344 | fn apply(&'a self, args: T) -> Result; [INFO] [stdout] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 344 | fn apply(&'a self, args: T) -> Result>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:348:29 [INFO] [stdout] | [INFO] [stdout] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:386:23 [INFO] [stdout] | [INFO] [stdout] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | | [INFO] [stdout] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:434:20 [INFO] [stdout] | [INFO] [stdout] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:476:15 [INFO] [stdout] | [INFO] [stdout] 476 | fn apply(&'a self, args: T) -> Result { [INFO] [stdout] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 476 | fn apply(&'a self, args: T) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:653:25 [INFO] [stdout] | [INFO] [stdout] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:668:24 [INFO] [stdout] | [INFO] [stdout] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:691:27 [INFO] [stdout] | [INFO] [stdout] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/value.rs:218:52 [INFO] [stdout] | [INFO] [stdout] 218 | Type::Any | Type::String => Value::from(val.clone()), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.46s [INFO] running `Command { std: "docker" "inspect" "e9ba08ab96c40a5a054c1349dd520a1cf2ffb5756f3cb0424b81a4d1ae361cdb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e9ba08ab96c40a5a054c1349dd520a1cf2ffb5756f3cb0424b81a4d1ae361cdb", kill_on_drop: false }` [INFO] [stdout] e9ba08ab96c40a5a054c1349dd520a1cf2ffb5756f3cb0424b81a4d1ae361cdb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] dc54908607ed84fed6d80d8c4d7aedf51c0ecf679cdb5036d0124530115ad077 [INFO] running `Command { std: "docker" "start" "-a" "dc54908607ed84fed6d80d8c4d7aedf51c0ecf679cdb5036d0124530115ad077", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling cpp_demangle v0.3.5 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling debugid v0.7.3 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling symbolic-demangle v8.8.0 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling bytemuck v1.23.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling rgb v0.8.50 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling quick-xml v0.22.0 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling memmap2 v0.5.10 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling symbolic-common v8.8.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling str_stack v0.1.0 [INFO] [stderr] Compiling pprof v0.4.5 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling inferno v0.10.12 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling nix v0.20.2 [INFO] [stderr] Compiling colored v1.9.4 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:333:29 [INFO] [stdout] | [INFO] [stdout] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:335:27 [INFO] [stdout] | [INFO] [stdout] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:338:23 [INFO] [stdout] | [INFO] [stdout] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stdout] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | | [INFO] [stdout] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:342:20 [INFO] [stdout] | [INFO] [stdout] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stdout] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 344 | fn apply(&'a self, args: T) -> Result; [INFO] [stdout] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 344 | fn apply(&'a self, args: T) -> Result>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:348:29 [INFO] [stdout] | [INFO] [stdout] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:386:23 [INFO] [stdout] | [INFO] [stdout] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | | [INFO] [stdout] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:434:20 [INFO] [stdout] | [INFO] [stdout] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:476:15 [INFO] [stdout] | [INFO] [stdout] 476 | fn apply(&'a self, args: T) -> Result { [INFO] [stdout] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 476 | fn apply(&'a self, args: T) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:653:25 [INFO] [stdout] | [INFO] [stdout] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:668:24 [INFO] [stdout] | [INFO] [stdout] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:691:27 [INFO] [stdout] | [INFO] [stdout] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/value.rs:218:52 [INFO] [stdout] | [INFO] [stdout] 218 | Type::Any | Type::String => Value::from(val.clone()), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling simple_logger v1.16.0 [INFO] [stderr] Compiling pretty_assertions v0.7.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling criterion v0.3.6 [INFO] [stderr] Compiling argparsnip v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:333:29 [INFO] [stdout] | [INFO] [stdout] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:335:27 [INFO] [stdout] | [INFO] [stdout] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:338:23 [INFO] [stdout] | [INFO] [stdout] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stdout] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | | [INFO] [stdout] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:342:20 [INFO] [stdout] | [INFO] [stdout] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stdout] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 344 | fn apply(&'a self, args: T) -> Result; [INFO] [stdout] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 344 | fn apply(&'a self, args: T) -> Result>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:348:29 [INFO] [stdout] | [INFO] [stdout] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:367:27 [INFO] [stdout] | [INFO] [stdout] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:386:23 [INFO] [stdout] | [INFO] [stdout] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | | [INFO] [stdout] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:434:20 [INFO] [stdout] | [INFO] [stdout] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:476:15 [INFO] [stdout] | [INFO] [stdout] 476 | fn apply(&'a self, args: T) -> Result { [INFO] [stdout] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 476 | fn apply(&'a self, args: T) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:653:25 [INFO] [stdout] | [INFO] [stdout] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:668:24 [INFO] [stdout] | [INFO] [stdout] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:691:27 [INFO] [stdout] | [INFO] [stdout] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/value.rs:218:52 [INFO] [stdout] | [INFO] [stdout] 218 | Type::Any | Type::String => Value::from(val.clone()), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.22.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "dc54908607ed84fed6d80d8c4d7aedf51c0ecf679cdb5036d0124530115ad077", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc54908607ed84fed6d80d8c4d7aedf51c0ecf679cdb5036d0124530115ad077", kill_on_drop: false }` [INFO] [stdout] dc54908607ed84fed6d80d8c4d7aedf51c0ecf679cdb5036d0124530115ad077 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5d8c928231b0f492a70c6fcadbeb82b7e56c6c188f97d8b07bbe6a89d662f183 [INFO] running `Command { std: "docker" "start" "-a" "5d8c928231b0f492a70c6fcadbeb82b7e56c6c188f97d8b07bbe6a89d662f183", kill_on_drop: false }` [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:333:29 [INFO] [stderr] | [INFO] [stderr] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 333 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:335:27 [INFO] [stderr] | [INFO] [stderr] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error>; [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 335 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:338:23 [INFO] [stderr] | [INFO] [stderr] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stderr] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stderr] | | | | [INFO] [stderr] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stderr] | these lifetimes flow to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 338 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:342:20 [INFO] [stderr] | [INFO] [stderr] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error>; [INFO] [stderr] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stderr] | | | [INFO] [stderr] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 342 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:344:15 [INFO] [stderr] | [INFO] [stderr] 344 | fn apply(&'a self, args: T) -> Result; [INFO] [stderr] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 344 | fn apply(&'a self, args: T) -> Result>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:348:29 [INFO] [stderr] | [INFO] [stderr] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 348 | fn get_values_unbounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:367:27 [INFO] [stderr] | [INFO] [stderr] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 367 | fn get_values_bounded(&self, arg: &Arg, args: &mut Peekable, est: usize) -> Result, Error<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:386:23 [INFO] [stderr] | [INFO] [stderr] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stderr] | ^^ ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stderr] | | | | [INFO] [stderr] | | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stderr] | these lifetimes flow to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 386 | fn update_values(&'a self, arg: &'a Arg, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] running 55 tests [INFO] [stderr] --> src/lib.rs:434:20 [INFO] [stdout] test tests::test_arg_with_any_values_multiple ... ok [INFO] [stderr] | [INFO] [stdout] test tests::test_arg_with_any_values_single ... ok [INFO] [stderr] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stdout] test tests::test_arg_with_fixed_num_values_and_other_args ... ok [INFO] [stderr] | ^^ ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] test tests::test_arg_with_fixed_num_values ... ok [INFO] [stderr] | | | [INFO] [stdout] test tests::test_arg_with_fixed_num_values_and_other_args_double_dash ... ok [INFO] [stderr] | these lifetimes flow to the output these lifetimes flow to the output [INFO] [stdout] test tests::test_arg_with_fixed_num_values_fails_on_none ... ok [INFO] [stderr] | [INFO] [stdout] test tests::test_arg_with_fixed_num_values_too_many_values ... ok [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stdout] test tests::test_combinations ... ok [INFO] [stderr] | [INFO] [stdout] test tests::test_default_arg ... ok [INFO] [stderr] 434 | fn handle_arg(&'a self, arg: &str, args: &mut Peekable, out: &mut Builder<'a>) -> Result<(), Error<'a>> { [INFO] [stdout] test tests::test_arg_with_any_values_none ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test tests::test_long_arg_ignores_single_dash ... ok [INFO] [stderr] [INFO] [stdout] test tests::test_default_returns_wrong_type ... ok [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] test tests::test_flag ... ok [INFO] [stderr] --> src/lib.rs:476:15 [INFO] [stdout] test tests::test_fail_on_unknown_args ... ok [INFO] [stderr] | [INFO] [stdout] test tests::test_flag_repeats ... ok [INFO] [stderr] 476 | fn apply(&'a self, args: T) -> Result { [INFO] [stdout] test tests::test_missing_arg ... ok [INFO] [stderr] | ^^ ----- the lifetime gets resolved as `'a` [INFO] [stdout] test tests::test_multiple_args ... ok [INFO] [stderr] | | [INFO] [stdout] test tests::test_multiple_filters_all_not ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 476 | fn apply(&'a self, args: T) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:653:25 [INFO] [stderr] | [INFO] [stderr] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 653 | fn try_insert_param(&self, key: &'a str, value: Value, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:668:24 [INFO] [stderr] | [INFO] [stderr] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] test tests::test_multiple_filters_all ... ok [INFO] [stderr] | [INFO] [stdout] test tests::test_multiple_filters_any ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test tests::test_multiple_values_split_unsupported ... ok [INFO] [stderr] | [INFO] [stdout] test tests::test_property ... ok [INFO] [stderr] 668 | fn try_insert_flag(&self, key: &'a str, out: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stdout] test tests::test_positional_after_double_dash ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test tests::test_property_after_arg ... ok [INFO] [stderr] [INFO] [stdout] test tests::test_multiple_filters_any_not ... ok [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] test tests::test_fail_duplicate_arg ... ok [INFO] [stderr] --> src/lib.rs:691:27 [INFO] [stdout] test tests::test_required_arg ... ok [INFO] [stderr] | [INFO] [stderr] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 691 | fn handle_arg_missing(&self, arg: &str, _: &mut Builder<'a>) -> Result<(), Error<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/value.rs:218:52 [INFO] [stderr] | [INFO] [stderr] 218 | Type::Any | Type::String => Value::from(val.clone()), [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `argparsnip` (lib) generated 14 warnings (run `cargo fix --lib -p argparsnip` to apply 14 suggestions) [INFO] [stderr] warning: `argparsnip` (lib test) generated 14 warnings (14 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.22.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/argparsnip-94cb70d2a53dd5fc) [INFO] [stdout] test tests::test_right_type_array ... ok [INFO] [stdout] test tests::test_required_arg_missing ... ok [INFO] [stdout] test tests::test_right_type_array_single ... ok [INFO] [stdout] test tests::test_right_type_bool ... ok [INFO] [stdout] test tests::test_right_type_double ... ok [INFO] [stdout] test tests::test_returning_results ... ok [INFO] [stdout] test tests::test_right_type_int ... ok [INFO] [stdout] test tests::test_right_type_float ... ok [INFO] [stdout] test tests::test_right_type_long ... ok [INFO] [stdout] test tests::test_right_type_string ... ok [INFO] [stdout] test tests::test_simple_or_filter ... ok [INFO] [stdout] test tests::test_simple_or_filter_fails ... ok [INFO] [stdout] test tests::test_simple_and_filter_fails ... ok [INFO] [stdout] test tests::test_sub_command_not_called ... ok [INFO] [stdout] test tests::test_sub_commands ... ok [INFO] [stdout] test tests::test_sub_commands_after_arg_is_not_called ... ok [INFO] [stdout] test tests::test_unicode_short_arg ... ok [INFO] [stdout] test tests::test_unicode_short_arg_no_match ... ok [INFO] [stdout] test tests::test_validation ... ok [INFO] [stdout] test tests::test_validation_fails ... ok [INFO] [stdout] test tests::test_validation_fails_unbounded ... ok [INFO] [stdout] test tests::test_short_arg ... ok [INFO] [stdout] test tests::test_short_arg_ignores_mario_kart_double_dash ... ok [INFO] [stdout] test tests::test_validation_unbounded ... ok [INFO] [stdout] test tests::test_simple_and_filter ... ok [INFO] [stdout] test tests::test_validation_vec ... ok [INFO] [stdout] test tests::test_wrong_type_array ... ok [INFO] [stdout] test tests::test_wrong_type ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5d8c928231b0f492a70c6fcadbeb82b7e56c6c188f97d8b07bbe6a89d662f183", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d8c928231b0f492a70c6fcadbeb82b7e56c6c188f97d8b07bbe6a89d662f183", kill_on_drop: false }` [INFO] [stdout] 5d8c928231b0f492a70c6fcadbeb82b7e56c6c188f97d8b07bbe6a89d662f183