[INFO] fetching crate shi 0.1.5... [INFO] testing shi-0.1.5 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate shi 0.1.5 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate shi 0.1.5 [INFO] finished tweaking crates.io crate shi 0.1.5 [INFO] tweaked toml for crates.io crate shi 0.1.5 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate shi 0.1.5 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate shi 0.1.5 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustyline-derive v0.4.0 [INFO] [stderr] Downloaded syn v1.0.55 [INFO] [stderr] Downloaded rustyline v7.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 10a531ffd92bb6947d2b9bf7945311d5fd78cfb95e7104ab619ae4e0968b4f24 [INFO] running `Command { std: "docker" "start" "-a" "10a531ffd92bb6947d2b9bf7945311d5fd78cfb95e7104ab619ae4e0968b4f24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "10a531ffd92bb6947d2b9bf7945311d5fd78cfb95e7104ab619ae4e0968b4f24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10a531ffd92bb6947d2b9bf7945311d5fd78cfb95e7104ab619ae4e0968b4f24", kill_on_drop: false }` [INFO] [stdout] 10a531ffd92bb6947d2b9bf7945311d5fd78cfb95e7104ab619ae4e0968b4f24 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 1e368f18ec14c0783f50209d34c3280fec672fd244912dc8854badcf6ae51193 [INFO] running `Command { std: "docker" "start" "-a" "1e368f18ec14c0783f50209d34c3280fec672fd244912dc8854badcf6ae51193", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.55 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling utf8parse v0.2.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling dirs-sys-next v0.1.1 [INFO] [stderr] Compiling nix v0.19.1 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling colored v2.0.0 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling rustyline v7.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling rustyline-derive v0.4.0 [INFO] [stderr] Compiling thiserror v1.0.24 [INFO] [stderr] Compiling shi v0.1.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> src/command/help.rs:339:85 [INFO] [stdout] | [INFO] [stdout] 339 | command failed to parse: \'DNE\' is not a recognized command.\n\n\t \ [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] ... | [INFO] [stdout] 342 | | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stdout] | |____________________^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> src/command/help.rs:342:64 [INFO] [stdout] | [INFO] [stdout] 342 | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stdout] | ________________________________________________________________^ [INFO] [stdout] ... | [INFO] [stdout] 345 | | Run \'helptree\' for more info on the entire command tree.\n\ [INFO] [stdout] | |________________^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/exit.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ExitCommand<'a, S> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 12 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExitCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/help.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct HelpCommand<'a, S> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | // TODO: Not sure if we need this crap. [INFO] [stdout] 18 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HelpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/helptree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct HelpTreeCommand<'a, S> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 35 | // TODO: Not sure if we need this crap. [INFO] [stdout] 36 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HelpTreeCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/history.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct HistoryCommand<'a, S> { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 16 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistoryCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `quotation` is never read [INFO] [stdout] --> src/tokenizer.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct QuotePair { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | quotation: char, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuotePair` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command/parent.rs:59:29 [INFO] [stdout] | [INFO] [stdout] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command> { [INFO] [stdout] | ^^^^^ ----------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command<'_, S>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command/parent.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn sub_commands(&self) -> &CommandSet { [INFO] [stdout] | ^^^^^ -------------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn sub_commands(&self) -> &CommandSet<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command_set.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn iter(&self) -> CommandSetIterator { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 97 | pub fn iter(&self) -> CommandSetIterator<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/shell.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn new(prompt: &'a str) -> Shell<()> { [INFO] [stdout] | ^^ --------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 50 | pub fn new(prompt: &'a str) -> Shell<'a, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/shell.rs:86:36 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell [INFO] [stdout] | ^^ -------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell<'a, S> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.92s [INFO] running `Command { std: "docker" "inspect" "1e368f18ec14c0783f50209d34c3280fec672fd244912dc8854badcf6ae51193", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e368f18ec14c0783f50209d34c3280fec672fd244912dc8854badcf6ae51193", kill_on_drop: false }` [INFO] [stdout] 1e368f18ec14c0783f50209d34c3280fec672fd244912dc8854badcf6ae51193 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 1668022c6dd4ea1ea570a237f8281c89f8bddf458bad4999a5937f389e468029 [INFO] running `Command { std: "docker" "start" "-a" "1668022c6dd4ea1ea570a237f8281c89f8bddf458bad4999a5937f389e468029", kill_on_drop: false }` [INFO] [stderr] Compiling anyhow v1.0.40 [INFO] [stderr] Compiling difference v2.0.0 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> src/command/help.rs:339:85 [INFO] [stdout] | [INFO] [stdout] 339 | command failed to parse: \'DNE\' is not a recognized command.\n\n\t \ [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] ... | [INFO] [stdout] 342 | | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stdout] | |____________________^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> src/command/help.rs:342:64 [INFO] [stdout] | [INFO] [stdout] 342 | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stdout] | ________________________________________________________________^ [INFO] [stdout] ... | [INFO] [stdout] 345 | | Run \'helptree\' for more info on the entire command tree.\n\ [INFO] [stdout] | |________________^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/exit.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ExitCommand<'a, S> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 12 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExitCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/help.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct HelpCommand<'a, S> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | // TODO: Not sure if we need this crap. [INFO] [stdout] 18 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HelpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/helptree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct HelpTreeCommand<'a, S> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 35 | // TODO: Not sure if we need this crap. [INFO] [stdout] 36 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HelpTreeCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/history.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct HistoryCommand<'a, S> { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 16 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistoryCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `quotation` is never read [INFO] [stdout] --> src/tokenizer.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct QuotePair { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | quotation: char, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuotePair` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command/parent.rs:59:29 [INFO] [stdout] | [INFO] [stdout] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command> { [INFO] [stdout] | ^^^^^ ----------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command<'_, S>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command/parent.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn sub_commands(&self) -> &CommandSet { [INFO] [stdout] | ^^^^^ -------------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn sub_commands(&self) -> &CommandSet<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command_set.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn iter(&self) -> CommandSetIterator { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 97 | pub fn iter(&self) -> CommandSetIterator<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/shell.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn new(prompt: &'a str) -> Shell<()> { [INFO] [stdout] | ^^ --------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 50 | pub fn new(prompt: &'a str) -> Shell<'a, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/shell.rs:86:36 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell [INFO] [stdout] | ^^ -------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell<'a, S> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling pretty_assertions v0.6.1 [INFO] [stderr] Compiling shi v0.1.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> src/command/help.rs:339:85 [INFO] [stdout] | [INFO] [stdout] 339 | command failed to parse: \'DNE\' is not a recognized command.\n\n\t \ [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] ... | [INFO] [stdout] 342 | | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stdout] | |____________________^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> src/command/help.rs:342:64 [INFO] [stdout] | [INFO] [stdout] 342 | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stdout] | ________________________________________________________________^ [INFO] [stdout] ... | [INFO] [stdout] 345 | | Run \'helptree\' for more info on the entire command tree.\n\ [INFO] [stdout] | |________________^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stdout] --> src/command/help.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | #[cfg(not(tarpaulin_include))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stdout] --> src/command/help.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | #[cfg(not(tarpaulin_include))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stdout] --> src/command_set.rs:158:19 [INFO] [stdout] | [INFO] [stdout] 158 | #[cfg(not(tarpaulin_include))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stdout] --> src/command_set.rs:163:19 [INFO] [stdout] | [INFO] [stdout] 163 | #[cfg(not(tarpaulin_include))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stdout] --> src/parser.rs:328:19 [INFO] [stdout] | [INFO] [stdout] 328 | #[cfg(not(tarpaulin_include))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stdout] --> src/parser.rs:368:19 [INFO] [stdout] | [INFO] [stdout] 368 | #[cfg(not(tarpaulin_include))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/exit.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ExitCommand<'a, S> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 12 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExitCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/help.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct HelpCommand<'a, S> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | // TODO: Not sure if we need this crap. [INFO] [stdout] 18 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HelpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/helptree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct HelpTreeCommand<'a, S> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 35 | // TODO: Not sure if we need this crap. [INFO] [stdout] 36 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HelpTreeCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phantom` is never read [INFO] [stdout] --> src/command/history.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct HistoryCommand<'a, S> { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 16 | phantom: &'a PhantomData, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HistoryCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `quotation` is never read [INFO] [stdout] --> src/tokenizer.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct QuotePair { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | quotation: char, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuotePair` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command/parent.rs:59:29 [INFO] [stdout] | [INFO] [stdout] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command> { [INFO] [stdout] | ^^^^^ ----------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command<'_, S>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command/parent.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn sub_commands(&self) -> &CommandSet { [INFO] [stdout] | ^^^^^ -------------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn sub_commands(&self) -> &CommandSet<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/command_set.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn iter(&self) -> CommandSetIterator { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 97 | pub fn iter(&self) -> CommandSetIterator<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:301:22 [INFO] [stdout] | [INFO] [stdout] 301 | fn new(name: &str) -> ParseTestCommand { [INFO] [stdout] | ^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 301 | fn new(name: &str) -> ParseTestCommand<'_, S> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/shell.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn new(prompt: &'a str) -> Shell<()> { [INFO] [stdout] | ^^ --------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 50 | pub fn new(prompt: &'a str) -> Shell<'a, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/shell.rs:86:36 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell [INFO] [stdout] | ^^ -------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell<'a, S> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/tokenizer.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | fn n(s: &str) -> Blob { [INFO] [stdout] | ^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 57 | fn n(s: &str) -> Blob<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/tokenizer.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | fn q(s: &str) -> Blob { [INFO] [stdout] | ^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 62 | fn q(s: &str) -> Blob<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.07s [INFO] running `Command { std: "docker" "inspect" "1668022c6dd4ea1ea570a237f8281c89f8bddf458bad4999a5937f389e468029", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1668022c6dd4ea1ea570a237f8281c89f8bddf458bad4999a5937f389e468029", kill_on_drop: false }` [INFO] [stdout] 1668022c6dd4ea1ea570a237f8281c89f8bddf458bad4999a5937f389e468029 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 87ead31e0fdc1cd3c86c0642706dc9dfb55539d7b74c597bc4902e5b43816825 [INFO] running `Command { std: "docker" "start" "-a" "87ead31e0fdc1cd3c86c0642706dc9dfb55539d7b74c597bc4902e5b43816825", kill_on_drop: false }` [INFO] [stderr] warning: multiple lines skipped by escaped newline [INFO] [stderr] --> src/command/help.rs:339:85 [INFO] [stderr] | [INFO] [stderr] 339 | command failed to parse: \'DNE\' is not a recognized command.\n\n\t \ [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] ... | [INFO] [stderr] 342 | | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stderr] | |____________________^ skipping everything up to and including this point [INFO] [stderr] [INFO] [stderr] warning: multiple lines skipped by escaped newline [INFO] [stderr] --> src/command/help.rs:342:64 [INFO] [stderr] | [INFO] [stderr] 342 | => expected one of \'leaf\' or \'foo\'.\n\n\ [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] ... | [INFO] [stderr] 345 | | Run \'helptree\' for more info on the entire command tree.\n\ [INFO] [stderr] | |________________^ skipping everything up to and including this point [INFO] [stderr] [INFO] [stderr] warning: field `phantom` is never read [INFO] [stderr] --> src/command/exit.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct ExitCommand<'a, S> { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 12 | phantom: &'a PhantomData, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ExitCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `phantom` is never read [INFO] [stderr] --> src/command/help.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct HelpCommand<'a, S> { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 17 | // TODO: Not sure if we need this crap. [INFO] [stderr] 18 | phantom: &'a PhantomData, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HelpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `phantom` is never read [INFO] [stderr] --> src/command/helptree.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct HelpTreeCommand<'a, S> { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 35 | // TODO: Not sure if we need this crap. [INFO] [stderr] 36 | phantom: &'a PhantomData, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HelpTreeCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `phantom` is never read [INFO] [stderr] --> src/command/history.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct HistoryCommand<'a, S> { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] 16 | phantom: &'a PhantomData, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HistoryCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `quotation` is never read [INFO] [stderr] --> src/tokenizer.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 36 | struct QuotePair { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | quotation: char, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `QuotePair` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/command/parent.rs:59:29 [INFO] [stderr] | [INFO] [stderr] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command> { [INFO] [stderr] | ^^^^^ ----------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 59 | fn get_sub_cmd_for_args(&self, args: &[String]) -> Result<&Command<'_, S>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/command/parent.rs:81:25 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn sub_commands(&self) -> &CommandSet { [INFO] [stderr] | ^^^^^ -------------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 81 | pub fn sub_commands(&self) -> &CommandSet<'_, S> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/command_set.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn iter(&self) -> CommandSetIterator { [INFO] [stderr] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 97 | pub fn iter(&self) -> CommandSetIterator<'_, S> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/shell.rs:50:25 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn new(prompt: &'a str) -> Shell<()> { [INFO] [stderr] | ^^ --------- the lifetime gets resolved as `'a` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 50 | pub fn new(prompt: &'a str) -> Shell<'a, ()> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/shell.rs:86:36 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell [INFO] [stderr] | ^^ -------- the lifetime gets resolved as `'a` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 86 | pub fn new_with_state(prompt: &'a str, state: S) -> Shell<'a, S> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stderr] --> src/command/help.rs:179:19 [INFO] [stderr] | [INFO] [stderr] 179 | #[cfg(not(tarpaulin_include))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stderr] --> src/command/help.rs:184:19 [INFO] [stderr] | [INFO] [stderr] 184 | #[cfg(not(tarpaulin_include))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stderr] --> src/command_set.rs:158:19 [INFO] [stderr] | [INFO] [stderr] 158 | #[cfg(not(tarpaulin_include))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stderr] --> src/command_set.rs:163:19 [INFO] [stderr] | [INFO] [stderr] 163 | #[cfg(not(tarpaulin_include))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stderr] --> src/parser.rs:328:19 [INFO] [stderr] | [INFO] [stderr] 328 | #[cfg(not(tarpaulin_include))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include` [INFO] [stderr] --> src/parser.rs:368:19 [INFO] [stderr] | [INFO] [stderr] 368 | #[cfg(not(tarpaulin_include))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/parser.rs:301:22 [INFO] [stderr] | [INFO] [stderr] 301 | fn new(name: &str) -> ParseTestCommand { [INFO] [stderr] | ^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 301 | fn new(name: &str) -> ParseTestCommand<'_, S> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tokenizer.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | fn n(s: &str) -> Blob { [INFO] [stderr] | ^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 57 | fn n(s: &str) -> Blob<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tokenizer.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | fn q(s: &str) -> Blob { [INFO] [stderr] | ^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 62 | fn q(s: &str) -> Blob<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `shi` (lib) generated 12 warnings (run `cargo fix --lib -p shi` to apply 5 suggestions) [INFO] [stderr] warning: `shi` (lib test) generated 21 warnings (12 duplicates) (run `cargo fix --lib -p shi --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stdout] [INFO] [stdout] running 104 tests [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/shi-d79a521734c57015) [INFO] [stdout] test command_set::test::add ... ok [INFO] [stdout] test command_set::test::get ... ok [INFO] [stdout] test command_set::test::contains ... ok [INFO] [stdout] test command::help::test::help_on_depth_2 ... ok [INFO] [stdout] test command::help::test::invalid_command_invocation ... ok [INFO] [stdout] test command::help::test::help_on_depth_2_with_1_leaf_arg ... ok [INFO] [stdout] test command::help::test::help_on_root_parent_cmd ... ok [INFO] [stdout] test command::help::test::help_with_no_args_and_no_cmds ... ok [INFO] [stdout] test command_set::test::len ... ok [INFO] [stdout] test command::help::test::help_with_no_args_gives_list ... ok [INFO] [stdout] test command::help::test::help_on_root_leaf_cmd ... ok [INFO] [stdout] test command::help::test::help_on_depth_3 ... ok [INFO] [stdout] test command_set::test::names ... ok [INFO] [stdout] test parser::test::args_with_nonexistent_cmd ... ok [INFO] [stdout] test command::help::test::help_on_depth_2_with_2_leaf_args ... ok [INFO] [stdout] test parser::test::builtin_nesting ... ok [INFO] [stdout] test command_set::test::iter ... ok [INFO] [stdout] test parser::test::cmd_has_args_that_match_other_cmds ... ok [INFO] [stdout] test parser::test::cmd_level_completion_all_options ... ok [INFO] [stdout] test parser::test::cmd_level_completion_already_complete ... ok [INFO] [stdout] test parser::test::cmd_level_completion_no_matches ... ok [INFO] [stdout] test parser::test::cmd_level_partial_autocompletion_single_choice ... ok [INFO] [stdout] test parser::test::invalid_subcmd ... ok [INFO] [stdout] test parser::test::conflict_but_builtin_has_longer_match ... ok [INFO] [stdout] test parser::test::conflict_but_custom_has_longer_match ... ok [INFO] [stdout] test parser::test::empty ... ok [INFO] [stdout] test parser::test::end_with_no_args_but_is_parent ... ok [INFO] [stdout] test parser::test::cmd_level_partial_autocompletion_multiple_choices ... ok [INFO] [stdout] test parser::test::nesting ... ok [INFO] [stdout] test parser::test::no_args_no_nesting ... ok [INFO] [stdout] test parser::test::no_nesting ... ok [INFO] [stdout] test parser::test::nonexistent_cmd ... ok [INFO] [stdout] test parser::test::no_nesting_no_args ... ok [INFO] [stdout] test parser::test::outcome::empty ... ok [INFO] [stdout] test parser::test::outcome::empty_remaining_in_outcome ... ok [INFO] [stdout] test parser::test::outcome::error_msg_is_blank_for_complete_parse ... ok [INFO] [stdout] test parser::test::outcome::outcome_error_msg ... ok [INFO] [stdout] test parser::test::outcome::unrecognized_first_cmd ... ok [INFO] [stdout] test parser::test::perfect_tie_custom_wins_tie_breaker ... ok [INFO] [stdout] test parser::test::three_levels_deep ... ok [INFO] [stdout] test readline::test::completions::already_completed ... ok [INFO] [stdout] test readline::test::completions::completion_includes_a_space ... ok [INFO] [stdout] test readline::test::completions::multiple_matches ... ok [INFO] [stdout] test readline::test::completions::nested_non_end_pos ... ok [INFO] [stdout] test readline::test::completions::no_matches ... ok [INFO] [stdout] test readline::test::completions::completely_blank_for_last_command ... ok [INFO] [stdout] test readline::test::completions::nested ... ok [INFO] [stdout] test readline::test::completions::non_end_pos ... ok [INFO] [stdout] test readline::test::completions::nothing_typed ... ok [INFO] [stdout] test readline::test::validator::balanced_but_mismatched_quote_types_is_incomplete ... ok [INFO] [stdout] test readline::test::completions::simple ... ok [INFO] [stdout] test readline::test::validator::balanced_double ... ok [INFO] [stdout] test readline::test::validator::balanced_single ... ok [INFO] [stdout] test readline::test::validator::many_quoted_blocks ... ok [INFO] [stdout] test readline::test::validator::nested_quotes_unbalanced_still_incomplete ... ok [INFO] [stdout] test readline::test::validator::closed_quote_block_with_unmatched_quote_inside_is_valid ... ok [INFO] [stdout] test readline::test::validator::no_issues_is_complete ... ok [INFO] [stdout] test readline::test::validator::multiple_escapes_valid ... ok [INFO] [stdout] test readline::test::validator::one_double_quote ... ok [INFO] [stdout] test readline::test::validator::multiple_escapes_incomplete ... ok [INFO] [stdout] test readline::test::validator::one_single_quote ... ok [INFO] [stdout] test readline::test::validator::overlapping_but_balanced_quotes_is_incomplete ... ok [INFO] [stdout] test readline::test::validator::slash_at_end_is_incomplete ... ok [INFO] [stdout] test readline::test::validator::slash_with_trailing_character_is_complete ... ok [INFO] [stdout] test readline::test::validator::slash_with_trailing_space_is_complete ... ok [INFO] [stdout] test readline::test::validator::unbalanced_but_escaped_is_ok ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::basic_double ... ok [INFO] [stdout] test shell::test::issue6 ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::basic_single ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_at_end_with_pair ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_at_start ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_after_matched_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_at_end ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_at_start_with_pair ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_before_matched_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::dangling_inside_matched_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::many_kinds_of_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::mixture_of_only_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::multiple_non_overlapping_pairs ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::empty_string ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::multiple_dangling ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::no_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::multiple_kinds_of_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::one_success_amongst_dangling ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::only_one_quote ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::quote_at_left ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::single_dangling ... ok [INFO] [stdout] test tokenizer::test::split_by_space::empty_string ... ok [INFO] [stdout] test tokenizer::test::split_by_space::multiple_empty_blobs ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::only_quotes ... ok [INFO] [stdout] test tokenizer::test::glob_quotes::quote_at_right ... ok [INFO] [stdout] test tokenizer::test::split_by_space::multiple_spaces ... ok [INFO] [stdout] test tokenizer::test::split_by_space::empty_blob ... ok [INFO] [stdout] test tokenizer::test::split_by_space::normal_then_quoted ... ok [INFO] [stdout] test tokenizer::test::split_by_space::normal_surrounded_by_quoteds ... ok [INFO] [stdout] test tokenizer::test::split_by_space::only_normals ... ok [INFO] [stdout] test tokenizer::test::split_by_space::quoted_surrounded_by_normals ... ok [INFO] [stdout] test tokenizer::test::split_by_space::only_quoteds ... ok [INFO] [stdout] test tokenizer::test::split_by_space::quoted_then_normal ... ok [INFO] [stdout] test tokenizer::test::split_by_space::with_newline ... ok [INFO] [stdout] test tokenizer::test::split_by_space::trailing_spaces ... ok [INFO] [stdout] test tokenizer::test::split_by_space::with_tab ... ok [INFO] [stdout] test tokenizer::test::tokenize ... ok [INFO] [stdout] test tokenizer::test_find_quotes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 104 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "87ead31e0fdc1cd3c86c0642706dc9dfb55539d7b74c597bc4902e5b43816825", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "87ead31e0fdc1cd3c86c0642706dc9dfb55539d7b74c597bc4902e5b43816825", kill_on_drop: false }` [INFO] [stdout] 87ead31e0fdc1cd3c86c0642706dc9dfb55539d7b74c597bc4902e5b43816825