[INFO] fetching crate app 0.6.5...
[INFO] testing app-0.6.5 against 1.83.0 for beta-1.84.0-4-retry
[INFO] extracting crate app 0.6.5 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate app 0.6.5 on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate app 0.6.5
[INFO] finished tweaking crates.io crate app 0.6.5
[INFO] tweaked toml for crates.io crate app 0.6.5 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 24 packages to latest compatible versions
[INFO] [stderr]       Adding quick-error v1.2.3 (available: v2.0.1)
[INFO] [stderr]       Adding term v0.5.2 (available: v1.0.1)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stderr v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 72d26c9d4fba41e89259651b38dafc8fe5b3cd68a4cfe041142edd359c9c8c09
[INFO] running `Command { std: "docker" "start" "-a" "72d26c9d4fba41e89259651b38dafc8fe5b3cd68a4cfe041142edd359c9c8c09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "72d26c9d4fba41e89259651b38dafc8fe5b3cd68a4cfe041142edd359c9c8c09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72d26c9d4fba41e89259651b38dafc8fe5b3cd68a4cfe041142edd359c9c8c09", kill_on_drop: false }`
[INFO] [stdout] 72d26c9d4fba41e89259651b38dafc8fe5b3cd68a4cfe041142edd359c9c8c09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a5efadc9e7c04b807180fa2f3f0603a9f0ca1aeab6bc651d3a18b17d031278e
[INFO] running `Command { std: "docker" "start" "-a" "1a5efadc9e7c04b807180fa2f3f0603a9f0ca1aeab6bc651d3a18b17d031278e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling stderr v0.8.0
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling app v0.6.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]    --> src/lib.rs:277:37
[INFO] [stdout]     |
[INFO] [stdout] 277 |         self.helper.home_dir = env::home_dir().map(|s| s.to_string_lossy().into_owned());
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/ovp.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/ovp.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<OptValueParse<'app> + 'app>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<dyn OptValueParse<'app> + 'app>,
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/avp.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<ArgsValueParse<'app> + 'app>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<dyn ArgsValueParse<'app> + 'app>,
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<OptValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<dyn OptValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<dyn ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fix_style_left` is never used
[INFO] [stdout]  --> src/help.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait FixStyle {
[INFO] [stdout]   |       -------- method in this trait
[INFO] [stdout] 2 |     fn fix_style(&self) -> String;
[INFO] [stdout] 3 |     fn fix_style_left(&self) -> String;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/help.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | /         dbln!(
[INFO] [stdout] 45 | |             "{:?}\n{:?}\n\n{:?},\n\n{:?}\n\n{:?}",
[INFO] [stdout] 46 | |             cmd_name,
[INFO] [stdout] 47 | |             self.cmd_infos,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |             self.cmd_args
[INFO] [stdout] 51 | |         );
[INFO] [stdout]    | |_________^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 .add_help(unsafe { &mut HELP })
[INFO] [stdout]     |                                    ^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 .add_help(unsafe { &raw mut HELP })
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         dbln!("parse_strings(): {:?}", args);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |         dbln!("$CARGO_HOME: {:?}", cargo_home_bin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         dbln!("$current_exe_dir: {:?}", current_exe_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 dbln!("{}", usage);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:490:42
[INFO] [stdout]     |
[INFO] [stdout] 490 |             Opt::new("version", unsafe { &mut VERSION })
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 490 |             Opt::new("version", unsafe { &raw mut VERSION })
[INFO] [stdout]     |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:503:29
[INFO] [stdout]     |
[INFO] [stdout] 503 |         c.add_help(unsafe { &mut HELP_SUBCMD })
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 503 |         c.add_help(unsafe { &raw mut HELP_SUBCMD })
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |             dbln!("i+1/args_len: {}/{}: {:?}", i + 1, args.len(), &args[i..]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:645:9
[INFO] [stdout]     |
[INFO] [stdout] 645 | /         dbln!(
[INFO] [stdout] 646 | |             "Args_len/argstr_len/argstr_used_len/a_len: {}/{}/{}/{}",
[INFO] [stdout] 647 | |             args.len(),
[INFO] [stdout] 648 | |             argstr.len(),
[INFO] [stdout] 649 | |             argstr_used_len,
[INFO] [stdout] 650 | |             a_len
[INFO] [stdout] 651 | |         );
[INFO] [stdout]     | |_________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |             dbln!("argstr_used_len == argstr.len() && a_len != 0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |             dbln!("argstr_used_len + a_len > argstr.len()");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             dbln!(
[INFO] [stdout] 690 | |                 "Some(len): {} {:?} + {:?}",
[INFO] [stdout] 691 | |                 len,
[INFO] [stdout] 692 | |                 argstr.slice(0..len),
[INFO] [stdout] 693 | |                 argstr.slice(len..)
[INFO] [stdout] 694 | |             );
[INFO] [stdout]     | |_____________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |         dbln!("len()>1:\nRaw: {:?}\nslice: {}", argstr, argstr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.14s
[INFO] running `Command { std: "docker" "inspect" "1a5efadc9e7c04b807180fa2f3f0603a9f0ca1aeab6bc651d3a18b17d031278e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a5efadc9e7c04b807180fa2f3f0603a9f0ca1aeab6bc651d3a18b17d031278e", kill_on_drop: false }`
[INFO] [stdout] 1a5efadc9e7c04b807180fa2f3f0603a9f0ca1aeab6bc651d3a18b17d031278e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bfd9bb3622b8f31b6abd31b46bc79e87e773c35d4df433a9da042bfd05cb1aad
[INFO] running `Command { std: "docker" "start" "-a" "bfd9bb3622b8f31b6abd31b46bc79e87e773c35d4df433a9da042bfd05cb1aad", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]    --> src/lib.rs:277:37
[INFO] [stdout]     |
[INFO] [stdout] 277 |         self.helper.home_dir = env::home_dir().map(|s| s.to_string_lossy().into_owned());
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/ovp.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/ovp.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<OptValueParse<'app> + 'app>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<dyn OptValueParse<'app> + 'app>,
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/avp.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<ArgsValueParse<'app> + 'app>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<dyn ArgsValueParse<'app> + 'app>,
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<OptValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<dyn OptValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<dyn ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fix_style_left` is never used
[INFO] [stdout]  --> src/help.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait FixStyle {
[INFO] [stdout]   |       -------- method in this trait
[INFO] [stdout] 2 |     fn fix_style(&self) -> String;
[INFO] [stdout] 3 |     fn fix_style_left(&self) -> String;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/help.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | /         dbln!(
[INFO] [stdout] 45 | |             "{:?}\n{:?}\n\n{:?},\n\n{:?}\n\n{:?}",
[INFO] [stdout] 46 | |             cmd_name,
[INFO] [stdout] 47 | |             self.cmd_infos,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |             self.cmd_args
[INFO] [stdout] 51 | |         );
[INFO] [stdout]    | |_________^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 .add_help(unsafe { &mut HELP })
[INFO] [stdout]     |                                    ^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 .add_help(unsafe { &raw mut HELP })
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         dbln!("parse_strings(): {:?}", args);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |         dbln!("$CARGO_HOME: {:?}", cargo_home_bin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         dbln!("$current_exe_dir: {:?}", current_exe_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 dbln!("{}", usage);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:490:42
[INFO] [stdout]     |
[INFO] [stdout] 490 |             Opt::new("version", unsafe { &mut VERSION })
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 490 |             Opt::new("version", unsafe { &raw mut VERSION })
[INFO] [stdout]     |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:503:29
[INFO] [stdout]     |
[INFO] [stdout] 503 |         c.add_help(unsafe { &mut HELP_SUBCMD })
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 503 |         c.add_help(unsafe { &raw mut HELP_SUBCMD })
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |             dbln!("i+1/args_len: {}/{}: {:?}", i + 1, args.len(), &args[i..]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:645:9
[INFO] [stdout]     |
[INFO] [stdout] 645 | /         dbln!(
[INFO] [stdout] 646 | |             "Args_len/argstr_len/argstr_used_len/a_len: {}/{}/{}/{}",
[INFO] [stdout] 647 | |             args.len(),
[INFO] [stdout] 648 | |             argstr.len(),
[INFO] [stdout] 649 | |             argstr_used_len,
[INFO] [stdout] 650 | |             a_len
[INFO] [stdout] 651 | |         );
[INFO] [stdout]     | |_________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |             dbln!("argstr_used_len == argstr.len() && a_len != 0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |             dbln!("argstr_used_len + a_len > argstr.len()");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling app v0.6.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             dbln!(
[INFO] [stdout] 690 | |                 "Some(len): {} {:?} + {:?}",
[INFO] [stdout] 691 | |                 len,
[INFO] [stdout] 692 | |                 argstr.slice(0..len),
[INFO] [stdout] 693 | |                 argstr.slice(len..)
[INFO] [stdout] 694 | |             );
[INFO] [stdout]     | |_____________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |         dbln!("len()>1:\nRaw: {:?}\nslice: {}", argstr, argstr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> tests/test.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     dbln!("msg_args: {:?}", args);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> tests/test.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     dbln!("rest: {:?}\t\trest_parse: {:?}", rest, rest_parse);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> tests/test.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     dbln!("fht2p_value: {:?}", value);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> tests/test.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     dbln!("fht2p_parse: {:?}", fht2p);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> tests/test.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     dbln!();
[INFO] [stdout]     |     ^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]    --> src/lib.rs:277:37
[INFO] [stdout]     |
[INFO] [stdout] 277 |         self.helper.home_dir = env::home_dir().map(|s| s.to_string_lossy().into_owned());
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/ovp.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/ovp.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<OptValueParse<'app> + 'app>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<dyn OptValueParse<'app> + 'app>,
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/avp.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<ArgsValueParse<'app> + 'app>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     inner: Box<dyn ArgsValueParse<'app> + 'app>,
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<OptValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<dyn OptValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(value: Box<dyn ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn as_ref(&self) -> &Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn as_mut(&mut self) -> &mut Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'app> AsRef<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ovp.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/avp.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'app> AsMut<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fix_style_left` is never used
[INFO] [stdout]  --> src/help.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait FixStyle {
[INFO] [stdout]   |       -------- method in this trait
[INFO] [stdout] 2 |     fn fix_style(&self) -> String;
[INFO] [stdout] 3 |     fn fix_style_left(&self) -> String;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/help.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | /         dbln!(
[INFO] [stdout] 45 | |             "{:?}\n{:?}\n\n{:?},\n\n{:?}\n\n{:?}",
[INFO] [stdout] 46 | |             cmd_name,
[INFO] [stdout] 47 | |             self.cmd_infos,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |             self.cmd_args
[INFO] [stdout] 51 | |         );
[INFO] [stdout]    | |_________^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 .add_help(unsafe { &mut HELP })
[INFO] [stdout]     |                                    ^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 .add_help(unsafe { &raw mut HELP })
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         dbln!("parse_strings(): {:?}", args);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |         dbln!("$CARGO_HOME: {:?}", cargo_home_bin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         dbln!("$current_exe_dir: {:?}", current_exe_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 dbln!("{}", usage);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:490:42
[INFO] [stdout]     |
[INFO] [stdout] 490 |             Opt::new("version", unsafe { &mut VERSION })
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 490 |             Opt::new("version", unsafe { &raw mut VERSION })
[INFO] [stdout]     |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/lib.rs:503:29
[INFO] [stdout]     |
[INFO] [stdout] 503 |         c.add_help(unsafe { &mut HELP_SUBCMD })
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 503 |         c.add_help(unsafe { &raw mut HELP_SUBCMD })
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |             dbln!("i+1/args_len: {}/{}: {:?}", i + 1, args.len(), &args[i..]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:645:9
[INFO] [stdout]     |
[INFO] [stdout] 645 | /         dbln!(
[INFO] [stdout] 646 | |             "Args_len/argstr_len/argstr_used_len/a_len: {}/{}/{}/{}",
[INFO] [stdout] 647 | |             args.len(),
[INFO] [stdout] 648 | |             argstr.len(),
[INFO] [stdout] 649 | |             argstr_used_len,
[INFO] [stdout] 650 | |             a_len
[INFO] [stdout] 651 | |         );
[INFO] [stdout]     | |_________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |             dbln!("argstr_used_len == argstr.len() && a_len != 0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |             dbln!("argstr_used_len + a_len > argstr.len()");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             dbln!(
[INFO] [stdout] 690 | |                 "Some(len): {} {:?} + {:?}",
[INFO] [stdout] 691 | |                 len,
[INFO] [stdout] 692 | |                 argstr.slice(0..len),
[INFO] [stdout] 693 | |                 argstr.slice(len..)
[INFO] [stdout] 694 | |             );
[INFO] [stdout]     | |_____________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |         dbln!("len()>1:\nRaw: {:?}\nslice: {}", argstr, argstr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.17s
[INFO] running `Command { std: "docker" "inspect" "bfd9bb3622b8f31b6abd31b46bc79e87e773c35d4df433a9da042bfd05cb1aad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bfd9bb3622b8f31b6abd31b46bc79e87e773c35d4df433a9da042bfd05cb1aad", kill_on_drop: false }`
[INFO] [stdout] bfd9bb3622b8f31b6abd31b46bc79e87e773c35d4df433a9da042bfd05cb1aad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] db4e9df469515de20b8cd0b2130196a9edfd9f3999a9fb317e653a4776e6aa91
[INFO] running `Command { std: "docker" "start" "-a" "db4e9df469515de20b8cd0b2130196a9edfd9f3999a9fb317e653a4776e6aa91", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stderr]    --> src/lib.rs:277:37
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.helper.home_dir = env::home_dir().map(|s| s.to_string_lossy().into_owned());
[INFO] [stderr]     |                                     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `#[inline]` is ignored on function prototypes
[INFO] [stderr]    --> src/ovp.rs:385:5
[INFO] [stderr]     |
[INFO] [stderr] 385 |     #[inline]
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/ovp.rs:8:16
[INFO] [stderr]   |
[INFO] [stderr] 8 |     inner: Box<OptValueParse<'app> + 'app>,
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 8 |     inner: Box<dyn OptValueParse<'app> + 'app>,
[INFO] [stderr]   |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/avp.rs:8:16
[INFO] [stderr]   |
[INFO] [stderr] 8 |     inner: Box<ArgsValueParse<'app> + 'app>,
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 8 |     inner: Box<dyn ArgsValueParse<'app> + 'app>,
[INFO] [stderr]   |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ovp.rs:12:27
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn new(value: Box<OptValueParse<'app> + 'app>) -> Self {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn new(value: Box<dyn OptValueParse<'app> + 'app>) -> Self {
[INFO] [stderr]    |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ovp.rs:18:30
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn as_ref(&self) -> &Box<OptValueParse<'app> + 'app> {
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn as_ref(&self) -> &Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ovp.rs:23:38
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn as_mut(&mut self) -> &mut Box<OptValueParse<'app> + 'app> {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn as_mut(&mut self) -> &mut Box<dyn OptValueParse<'app> + 'app> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/avp.rs:12:27
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn new(value: Box<ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn new(value: Box<dyn ArgsValueParse<'app> + 'app>) -> Self {
[INFO] [stderr]    |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/avp.rs:18:30
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn as_ref(&self) -> &Box<ArgsValueParse<'app> + 'app> {
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn as_ref(&self) -> &Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/avp.rs:23:38
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn as_mut(&mut self) -> &mut Box<ArgsValueParse<'app> + 'app> {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn as_mut(&mut self) -> &mut Box<dyn ArgsValueParse<'app> + 'app> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ovp.rs:17:22
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl<'app> AsRef<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl<'app> AsRef<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/avp.rs:17:22
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl<'app> AsRef<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl<'app> AsRef<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ovp.rs:22:22
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<'app> AsMut<Box<OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<'app> AsMut<Box<dyn OptValueParse<'app> + 'app>> for OptValue<'app> {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/avp.rs:22:22
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<'app> AsMut<Box<ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<'app> AsMut<Box<dyn ArgsValueParse<'app> + 'app>> for ArgsValue<'app> {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: method `fix_style_left` is never used
[INFO] [stderr]  --> src/help.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | trait FixStyle {
[INFO] [stderr]   |       -------- method in this trait
[INFO] [stderr] 2 |     fn fix_style(&self) -> String;
[INFO] [stderr] 3 |     fn fix_style_left(&self) -> String;
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/help.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | /         dbln!(
[INFO] [stderr] 45 | |             "{:?}\n{:?}\n\n{:?},\n\n{:?}\n\n{:?}",
[INFO] [stderr] 46 | |             cmd_name,
[INFO] [stderr] 47 | |             self.cmd_infos,
[INFO] [stderr] ...  |
[INFO] [stderr] 50 | |             self.cmd_args
[INFO] [stderr] 51 | |         );
[INFO] [stderr]    | |_________^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stderr]    --> src/lib.rs:129:36
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 .add_help(unsafe { &mut HELP })
[INFO] [stderr]     |                                    ^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 .add_help(unsafe { &raw mut HELP })
[INFO] [stderr]     |                                    ~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:268:9
[INFO] [stderr]     |
[INFO] [stderr] 268 |         dbln!("parse_strings(): {:?}", args);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:413:9
[INFO] [stderr]     |
[INFO] [stderr] 413 |         dbln!("$CARGO_HOME: {:?}", cargo_home_bin);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:414:9
[INFO] [stderr]     |
[INFO] [stderr] 414 |         dbln!("$current_exe_dir: {:?}", current_exe_dir);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:453:17
[INFO] [stderr]     |
[INFO] [stderr] 453 |                 dbln!("{}", usage);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stderr]    --> src/lib.rs:490:42
[INFO] [stderr]     |
[INFO] [stderr] 490 |             Opt::new("version", unsafe { &mut VERSION })
[INFO] [stderr]     |                                          ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 490 |             Opt::new("version", unsafe { &raw mut VERSION })
[INFO] [stderr]     |                                          ~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stderr]    --> src/lib.rs:503:29
[INFO] [stderr]     |
[INFO] [stderr] 503 |         c.add_help(unsafe { &mut HELP_SUBCMD })
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 503 |         c.add_help(unsafe { &raw mut HELP_SUBCMD })
[INFO] [stderr]     |                             ~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:564:13
[INFO] [stderr]     |
[INFO] [stderr] 564 |             dbln!("i+1/args_len: {}/{}: {:?}", i + 1, args.len(), &args[i..]);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:645:9
[INFO] [stderr]     |
[INFO] [stderr] 645 | /         dbln!(
[INFO] [stderr] 646 | |             "Args_len/argstr_len/argstr_used_len/a_len: {}/{}/{}/{}",
[INFO] [stderr] 647 | |             args.len(),
[INFO] [stderr] 648 | |             argstr.len(),
[INFO] [stderr] 649 | |             argstr_used_len,
[INFO] [stderr] 650 | |             a_len
[INFO] [stderr] 651 | |         );
[INFO] [stderr]     | |_________^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:653:13
[INFO] [stderr]     |
[INFO] [stderr] 653 |             dbln!("argstr_used_len == argstr.len() && a_len != 0");
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:656:13
[INFO] [stderr]     |
[INFO] [stderr] 656 |             dbln!("argstr_used_len + a_len > argstr.len()");
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:689:13
[INFO] [stderr]     |
[INFO] [stderr] 689 | /             dbln!(
[INFO] [stderr] 690 | |                 "Some(len): {} {:?} + {:?}",
[INFO] [stderr] 691 | |                 len,
[INFO] [stderr] 692 | |                 argstr.slice(0..len),
[INFO] [stderr] 693 | |                 argstr.slice(len..)
[INFO] [stderr] 694 | |             );
[INFO] [stderr]     | |_____________^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:710:9
[INFO] [stderr]     |
[INFO] [stderr] 710 |         dbln!("len()>1:\nRaw: {:?}\nslice: {}", argstr, argstr);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `app` (lib) generated 29 warnings (run `cargo fix --lib -p app` to apply 12 suggestions)
[INFO] [stderr] warning: `app` (lib test) generated 29 warnings (29 duplicates)
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> tests/test.rs:169:5
[INFO] [stderr]     |
[INFO] [stderr] 169 |     dbln!("msg_args: {:?}", args);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> tests/test.rs:170:5
[INFO] [stderr]     |
[INFO] [stderr] 170 |     dbln!("rest: {:?}\t\trest_parse: {:?}", rest, rest_parse);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> tests/test.rs:171:5
[INFO] [stderr]     |
[INFO] [stderr] 171 |     dbln!("fht2p_value: {:?}", value);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> tests/test.rs:172:5
[INFO] [stderr]     |
[INFO] [stderr] 172 |     dbln!("fht2p_parse: {:?}", fht2p);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> tests/test.rs:173:5
[INFO] [stderr]     |
[INFO] [stderr] 173 |     dbln!();
[INFO] [stderr]     |     ^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `db` which comes from the expansion of the macro `dbln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `app` (test "test") generated 5 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/app-8487bf8572e07a44)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test avp::tests::chars ... ok
[INFO] [stdout] test ovp::tests::chars ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/helps.rs (/opt/rustwide/target/debug/deps/helps-69ade5c518d787a3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test main ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/test.rs (/opt/rustwide/target/debug/deps/test-6a07204e4fd8f16f)
[INFO] [stdout] test inner ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr] pkg!: "test"
[INFO] [stderr]    Doc-tests app
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "db4e9df469515de20b8cd0b2130196a9edfd9f3999a9fb317e653a4776e6aa91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db4e9df469515de20b8cd0b2130196a9edfd9f3999a9fb317e653a4776e6aa91", kill_on_drop: false }`
[INFO] [stdout] db4e9df469515de20b8cd0b2130196a9edfd9f3999a9fb317e653a4776e6aa91
