[INFO] cloning repository https://github.com/Bwen/kurisu-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bwen/kurisu-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBwen%2Fkurisu-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBwen%2Fkurisu-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e2b55c368a9ad9cc2910252f6f662ea1d953bdf4
[INFO] checking Bwen/kurisu-rs against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBwen%2Fkurisu-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Bwen/kurisu-rs
[INFO] finished tweaking git repo https://github.com/Bwen/kurisu-rs
[INFO] tweaked toml for git repo https://github.com/Bwen/kurisu-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Bwen/kurisu-rs on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Bwen/kurisu-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 23170634b79ea6a6c5198f3f40a45a4f7c16117f23ab14b42d3cda270eb79a84
[INFO] running `Command { std: "docker" "start" "-a" "23170634b79ea6a6c5198f3f40a45a4f7c16117f23ab14b42d3cda270eb79a84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23170634b79ea6a6c5198f3f40a45a4f7c16117f23ab14b42d3cda270eb79a84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23170634b79ea6a6c5198f3f40a45a4f7c16117f23ab14b42d3cda270eb79a84", kill_on_drop: false }`
[INFO] [stdout] 23170634b79ea6a6c5198f3f40a45a4f7c16117f23ab14b42d3cda270eb79a84
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 43e30fd56f7ea267363db3b5ede0adaf7645103d4bf1f293eadc87dcb2f6c6b6
[INFO] running `Command { std: "docker" "start" "-a" "43e30fd56f7ea267363db3b5ede0adaf7645103d4bf1f293eadc87dcb2f6c6b6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling unicode-ident v1.0.0
[INFO] [stderr]    Compiling syn v1.0.95
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking once_cell v1.11.0
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking quote v1.0.18
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking textwrap v0.12.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking proc-macro-error v1.0.4
[INFO] [stderr]     Checking kurisu-derive v0.1.5 (/opt/rustwide/workdir/kurisu-derive)
[INFO] [stderr]     Checking toml v0.5.9
[INFO] [stderr]     Checking kurisu v0.1.5 (/opt/rustwide/workdir/kurisu)
[INFO] [stderr]     Checking tuturu v0.1.0 (/opt/rustwide/workdir/kurisu/examples)
[INFO] [stdout] warning: fields `subcommand` and `args` are never read
[INFO] [stdout]  --> kurisu/examples/src/bin/cabi.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Yargs {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 6 |     #[kurisu(pos = 1)]
[INFO] [stdout] 7 |     subcommand: String,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 8 |     #[kurisu(pos)]
[INFO] [stdout] 9 |     args: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Yargs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test`, `target_dir`, `source_dir`, `zob`, and `short` are never read
[INFO] [stdout]   --> kurisu/examples/src/bin/tldr.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Yargs {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     test: Vec<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     target_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     source_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     #[kurisu(exit = "my_func")]
[INFO] [stdout] 26 |     zob: bool,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     short: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Yargs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> kurisu/examples/src/bin/grep.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  20 | struct Grep {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout]  21 |     #[kurisu(pos = 1, doc = "PATTERN is, by default, a basic regular expression (BRE).")]
[INFO] [stdout]  22 |     pattern: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  23 |     #[kurisu(pos, doc = "File paths")]
[INFO] [stdout]  24 |     files: Vec<PathBuf>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     extended_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  28 |     #[kurisu(short = "F", doc = "PATTERN is a set of newline-separated strings")]
[INFO] [stdout]  29 |     fixed_strings: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  30 |     #[kurisu(short = "G", doc = "PATTERN is a basic regular expression (BRE)")]
[INFO] [stdout]  31 |     basic_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  32 |     #[kurisu(short = "P", doc = "PATTERN is a Perl regular expression")]
[INFO] [stdout]  33 |     perl_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  34 |     #[kurisu(short = "e", vname = "PATTERN", doc = "use PATTERN for matching")]
[INFO] [stdout]  35 |     regexp: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  36 |     #[kurisu(short, doc = "obtain PATTERN from FILE")]
[INFO] [stdout]  37 |     file: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  38 |     #[kurisu(short, doc = "ignore case distinctions")]
[INFO] [stdout]  39 |     ignore_case: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  40 |     #[kurisu(short, doc = "force PATTERN to match only whole words")]
[INFO] [stdout]  41 |     word_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  42 |     #[kurisu(short = "x", doc = "force PATTERN to match only whole lines")]
[INFO] [stdout]  43 |     line_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  44 |     #[kurisu(short = "z", doc = "a data line ends in 0 byte, not newline")]
[INFO] [stdout]  45 |     null_data: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     no_message: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  49 |     #[kurisu(short = "v", doc = "select non-matching lines")]
[INFO] [stdout]  50 |     invert_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     max_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  54 |     #[kurisu(short = "b", doc = "print the byte offset with output lines")]
[INFO] [stdout]  55 |     byte_offset: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  56 |     #[kurisu(short = "n", doc = "print line number with output lines")]
[INFO] [stdout]  57 |     line_number: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  58 |     #[kurisu(doc = "flush output on every line")]
[INFO] [stdout]  59 |     line_buffered: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  60 |     #[kurisu(short = "H", doc = "print the file name for each match")]
[INFO] [stdout]  61 |     with_filename: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  62 |     #[kurisu(doc = "suppress the file name prefix on output")]
[INFO] [stdout]  63 |     no_filename: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  64 |     #[kurisu(vname = "LABEL", doc = "use LABEL as the standard input file name prefix")]
[INFO] [stdout]  65 |     label: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  66 |     #[kurisu(short, doc = "use LABEL as the standard input file name prefix")]
[INFO] [stdout]  67 |     only_matching: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  68 |     #[kurisu(short, doc = "suppress all normal output", aliases = "silent")]
[INFO] [stdout]  69 |     quiet: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  70 |     #[kurisu(vname = "TYPE", doc = "assume that binary files are TYPE; TYPE is 'binary', 'text', or 'without-match'")]
[INFO] [stdout]  71 |     binary_files: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  72 |     #[kurisu(short = "a", doc = "equivalent to --binary-files=text")]
[INFO] [stdout]  73 |     text: bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  74 |     #[kurisu(short = "I", nolong, doc = "equivalent to --binary-files=without-match")]
[INFO] [stdout]  75 |     bin_without_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  76 |     #[kurisu(short = "d", vname = "ACTION", doc = "how to handle directories; ACTION is 'read', 'recurse', or 'skip'")]
[INFO] [stdout]  77 |     directories: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     devices: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  84 |     #[kurisu(short = "r", nolong, doc = "like --directories=recurse")]
[INFO] [stdout]  85 |     recursive: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  86 |     #[kurisu(short = "R", nolong, doc = "likewise, but follow all symlinks")]
[INFO] [stdout]  87 |     dereference_recursive: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  88 |     #[kurisu(vname = "FILE_PATTERN", doc = "search only files that match FILE_PATTERN")]
[INFO] [stdout]  89 |     include: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  90 |     #[kurisu(vname = "FILE_PATTERN", doc = "skip files and directories matching FILE_PATTERN")]
[INFO] [stdout]  91 |     exclude: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  92 |     #[kurisu(vname = "FILE", doc = "skip files matching any file pattern from FILE")]
[INFO] [stdout]  93 |     exclude_from: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  94 |     #[kurisu(vname = "FILE", doc = "directories that match PATTERN will be skipped.")]
[INFO] [stdout]  95 |     exclude_dir: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  96 |     #[kurisu(short = "L", doc = "print only names of FILEs containing no match")]
[INFO] [stdout]  97 |     files_without_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     #[kurisu(short = "l", doc = "print only names of FILEs containing matches")]
[INFO] [stdout]  99 |     files_with_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     #[kurisu(short = "c", doc = "print only a count of matching lines per FILE")]
[INFO] [stdout] 101 |     count: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 102 |     #[kurisu(short = "T", doc = "make tabs line up (if needed)")]
[INFO] [stdout] 103 |     initial_tab: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     #[kurisu(short = "Z", doc = "print 0 byte after FILE name")]
[INFO] [stdout] 105 |     null: bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     before_context: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     #[kurisu(short = "A", vname = "NUM", doc = "print NUM lines of trailing context")]
[INFO] [stdout] 110 |     after_context: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 111 |     #[kurisu(short = "C", vname = "NUM", doc = "print NUM lines of output context")]
[INFO] [stdout] 112 |     context: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     color: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 121 |     #[kurisu(short = "U", doc = "do not strip CR characters at EOL (MSDOS/Windows)")]
[INFO] [stdout] 122 |     binary: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 123 |     #[kurisu(short = "u", doc = "report offsets as if CRs were not there (MSDOS/Windows)")]
[INFO] [stdout] 124 |     unix_byte_offsets: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Grep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test`, `target_dir`, `source_dir`, `zob`, and `short` are never read
[INFO] [stdout]   --> kurisu/examples/src/bin/tldr.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Yargs {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     test: Vec<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     target_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     source_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     #[kurisu(exit = "my_func")]
[INFO] [stdout] 26 |     zob: bool,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     short: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Yargs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subcommand` and `args` are never read
[INFO] [stdout]  --> kurisu/examples/src/bin/cabi.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Yargs {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 6 |     #[kurisu(pos = 1)]
[INFO] [stdout] 7 |     subcommand: String,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 8 |     #[kurisu(pos)]
[INFO] [stdout] 9 |     args: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Yargs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> kurisu/examples/src/bin/grep.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  20 | struct Grep {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout]  21 |     #[kurisu(pos = 1, doc = "PATTERN is, by default, a basic regular expression (BRE).")]
[INFO] [stdout]  22 |     pattern: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  23 |     #[kurisu(pos, doc = "File paths")]
[INFO] [stdout]  24 |     files: Vec<PathBuf>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     extended_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  28 |     #[kurisu(short = "F", doc = "PATTERN is a set of newline-separated strings")]
[INFO] [stdout]  29 |     fixed_strings: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  30 |     #[kurisu(short = "G", doc = "PATTERN is a basic regular expression (BRE)")]
[INFO] [stdout]  31 |     basic_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  32 |     #[kurisu(short = "P", doc = "PATTERN is a Perl regular expression")]
[INFO] [stdout]  33 |     perl_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  34 |     #[kurisu(short = "e", vname = "PATTERN", doc = "use PATTERN for matching")]
[INFO] [stdout]  35 |     regexp: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  36 |     #[kurisu(short, doc = "obtain PATTERN from FILE")]
[INFO] [stdout]  37 |     file: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  38 |     #[kurisu(short, doc = "ignore case distinctions")]
[INFO] [stdout]  39 |     ignore_case: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  40 |     #[kurisu(short, doc = "force PATTERN to match only whole words")]
[INFO] [stdout]  41 |     word_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  42 |     #[kurisu(short = "x", doc = "force PATTERN to match only whole lines")]
[INFO] [stdout]  43 |     line_regexp: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  44 |     #[kurisu(short = "z", doc = "a data line ends in 0 byte, not newline")]
[INFO] [stdout]  45 |     null_data: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     no_message: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  49 |     #[kurisu(short = "v", doc = "select non-matching lines")]
[INFO] [stdout]  50 |     invert_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     max_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  54 |     #[kurisu(short = "b", doc = "print the byte offset with output lines")]
[INFO] [stdout]  55 |     byte_offset: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  56 |     #[kurisu(short = "n", doc = "print line number with output lines")]
[INFO] [stdout]  57 |     line_number: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  58 |     #[kurisu(doc = "flush output on every line")]
[INFO] [stdout]  59 |     line_buffered: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  60 |     #[kurisu(short = "H", doc = "print the file name for each match")]
[INFO] [stdout]  61 |     with_filename: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  62 |     #[kurisu(doc = "suppress the file name prefix on output")]
[INFO] [stdout]  63 |     no_filename: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  64 |     #[kurisu(vname = "LABEL", doc = "use LABEL as the standard input file name prefix")]
[INFO] [stdout]  65 |     label: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  66 |     #[kurisu(short, doc = "use LABEL as the standard input file name prefix")]
[INFO] [stdout]  67 |     only_matching: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]  68 |     #[kurisu(short, doc = "suppress all normal output", aliases = "silent")]
[INFO] [stdout]  69 |     quiet: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  70 |     #[kurisu(vname = "TYPE", doc = "assume that binary files are TYPE; TYPE is 'binary', 'text', or 'without-match'")]
[INFO] [stdout]  71 |     binary_files: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  72 |     #[kurisu(short = "a", doc = "equivalent to --binary-files=text")]
[INFO] [stdout]  73 |     text: bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  74 |     #[kurisu(short = "I", nolong, doc = "equivalent to --binary-files=without-match")]
[INFO] [stdout]  75 |     bin_without_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  76 |     #[kurisu(short = "d", vname = "ACTION", doc = "how to handle directories; ACTION is 'read', 'recurse', or 'skip'")]
[INFO] [stdout]  77 |     directories: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     devices: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  84 |     #[kurisu(short = "r", nolong, doc = "like --directories=recurse")]
[INFO] [stdout]  85 |     recursive: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  86 |     #[kurisu(short = "R", nolong, doc = "likewise, but follow all symlinks")]
[INFO] [stdout]  87 |     dereference_recursive: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  88 |     #[kurisu(vname = "FILE_PATTERN", doc = "search only files that match FILE_PATTERN")]
[INFO] [stdout]  89 |     include: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  90 |     #[kurisu(vname = "FILE_PATTERN", doc = "skip files and directories matching FILE_PATTERN")]
[INFO] [stdout]  91 |     exclude: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  92 |     #[kurisu(vname = "FILE", doc = "skip files matching any file pattern from FILE")]
[INFO] [stdout]  93 |     exclude_from: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  94 |     #[kurisu(vname = "FILE", doc = "directories that match PATTERN will be skipped.")]
[INFO] [stdout]  95 |     exclude_dir: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]  96 |     #[kurisu(short = "L", doc = "print only names of FILEs containing no match")]
[INFO] [stdout]  97 |     files_without_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     #[kurisu(short = "l", doc = "print only names of FILEs containing matches")]
[INFO] [stdout]  99 |     files_with_match: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     #[kurisu(short = "c", doc = "print only a count of matching lines per FILE")]
[INFO] [stdout] 101 |     count: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 102 |     #[kurisu(short = "T", doc = "make tabs line up (if needed)")]
[INFO] [stdout] 103 |     initial_tab: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     #[kurisu(short = "Z", doc = "print 0 byte after FILE name")]
[INFO] [stdout] 105 |     null: bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     before_context: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     #[kurisu(short = "A", vname = "NUM", doc = "print NUM lines of trailing context")]
[INFO] [stdout] 110 |     after_context: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 111 |     #[kurisu(short = "C", vname = "NUM", doc = "print NUM lines of output context")]
[INFO] [stdout] 112 |     context: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     color: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 121 |     #[kurisu(short = "U", doc = "do not strip CR characters at EOL (MSDOS/Windows)")]
[INFO] [stdout] 122 |     binary: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 123 |     #[kurisu(short = "u", doc = "report offsets as if CRs were not there (MSDOS/Windows)")]
[INFO] [stdout] 124 |     unix_byte_offsets: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Grep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:168:32
[INFO] [stdout]     |
[INFO] [stdout] 168 |     assert_eq!(yargs.path_buf, PathBuf::from_str("").unwrap());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:235:32
[INFO] [stdout]     |
[INFO] [stdout] 235 |     assert_eq!(yargs.path_buf, PathBuf::from_str("/dir/file.txt").unwrap());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:249:28
[INFO] [stdout]     |
[INFO] [stdout] 249 |     assert_eq!(yargs.file, PathBuf::from_str("/dir/file.txt").unwrap());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |             PathBuf::from_str("/dir1/file1.txt").unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |             PathBuf::from_str("/dir2/file2.txt").unwrap()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |             PathBuf::from_str("/dir1/file1.txt").unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |             PathBuf::from_str("/dir1/file2.txt").unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |             PathBuf::from_str("/dir1/file3.txt").unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]    --> kurisu/tests/struct_args.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |             PathBuf::from_str("/dir1/file4.txt").unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kurisu` (test "struct_args") due to 9 previous errors
[INFO] running `Command { std: "docker" "inspect" "43e30fd56f7ea267363db3b5ede0adaf7645103d4bf1f293eadc87dcb2f6c6b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43e30fd56f7ea267363db3b5ede0adaf7645103d4bf1f293eadc87dcb2f6c6b6", kill_on_drop: false }`
[INFO] [stdout] 43e30fd56f7ea267363db3b5ede0adaf7645103d4bf1f293eadc87dcb2f6c6b6
