[INFO] cloning repository https://github.com/ayourtch/tbpatch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ayourtch/tbpatch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fayourtch%2Ftbpatch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fayourtch%2Ftbpatch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 804d03cf5f5d18d1f7a5afe90d32241bc83b1ec3
[INFO] checking ayourtch/tbpatch 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%2Fayourtch%2Ftbpatch" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ayourtch/tbpatch
[INFO] finished tweaking git repo https://github.com/ayourtch/tbpatch
[INFO] tweaked toml for git repo https://github.com/ayourtch/tbpatch written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ayourtch/tbpatch 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/ayourtch/tbpatch 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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 328a223e12ced22b63a0a43969ceece10e66259eb83993a05c868c62935835e4
[INFO] running `Command { std: "docker" "start" "-a" "328a223e12ced22b63a0a43969ceece10e66259eb83993a05c868c62935835e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "328a223e12ced22b63a0a43969ceece10e66259eb83993a05c868c62935835e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "328a223e12ced22b63a0a43969ceece10e66259eb83993a05c868c62935835e4", kill_on_drop: false }`
[INFO] [stdout] 328a223e12ced22b63a0a43969ceece10e66259eb83993a05c868c62935835e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 448a936b608dd6f75ebe7c5cdeae60a88409f9fe8a07017dd4497412af398bb8
[INFO] running `Command { std: "docker" "start" "-a" "448a936b608dd6f75ebe7c5cdeae60a88409f9fe8a07017dd4497412af398bb8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling encoding_rs v0.8.28
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking textwrap v0.12.1
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking os_str_bytes v2.4.0
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking diffus v0.10.0
[INFO] [stderr]     Checking unidiff v0.3.3
[INFO] [stderr]    Compiling diffus-derive v0.10.0
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.2
[INFO] [stderr]     Checking clap v3.0.0-beta.2
[INFO] [stderr]     Checking tbpatch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:538:5
[INFO] [stdout]     |
[INFO] [stdout] 529 |         return out_file;
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 538 |     return src_file.clone();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uuid`
[INFO] [stdout]    --> src/main.rs:273:37
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...                   token_uuid,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `token_uuid: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leading_ws`
[INFO] [stdout]    --> src/main.rs:274:37
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...                   leading_ws,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `leading_ws: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]    --> src/main.rs:279:49
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   let tok = &right.atoms[atom_index].token_value;
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]    --> src/main.rs:346:14
[INFO] [stdout]     |
[INFO] [stdout] 346 |     for (hi, ch) in haystack.into_iter().enumerate() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |     for i in 0..p {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uuid`
[INFO] [stdout]    --> src/main.rs:442:37
[INFO] [stdout]     |
[INFO] [stdout] 442 | ...                   token_uuid,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `token_uuid: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leading_ws`
[INFO] [stdout]    --> src/main.rs:443:37
[INFO] [stdout]     |
[INFO] [stdout] 443 | ...                   leading_ws,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `leading_ws: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:446:58
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   edit::Edit::Copy(x) => {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:404:26
[INFO] [stdout]     |
[INFO] [stdout] 404 |         edit::Edit::Copy(x) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/main.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     file: &unidiff::PatchedFile,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_pos`
[INFO] [stdout]    --> src/main.rs:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |         let find_pos = find_needle(&src.atoms, &src_file.atoms, true);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/main.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let res = res.unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `strip` are never read
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Opts {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     config: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     strip: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Opts` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Test(Test),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubCommand` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Test(Test),
[INFO] [stdout] 37 +     Test(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `debug` is never read
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Test {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Test` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_nth_arg` is never used
[INFO] [stdout]    --> src/main.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn read_nth_arg(i: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_nth_arg` is never used
[INFO] [stdout]    --> src/main.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn parse_nth_arg(i: usize) -> ParseStruct {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_diffus` is never used
[INFO] [stdout]    --> src/main.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn test_diffus() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HunkOp` is never used
[INFO] [stdout]    --> src/main.rs:336:6
[INFO] [stdout]     |
[INFO] [stdout] 336 | enum HunkOp {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:538:5
[INFO] [stdout]     |
[INFO] [stdout] 529 |         return out_file;
[INFO] [stdout]     |         --------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 538 |     return src_file.clone();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /     /// Sets a custom config file. Could have been an Option<T> with no default too
[INFO] [stdout] 13 | |     #[clap(short, long, default_value = "default.conf")]
[INFO] [stdout] 14 | |     config: String,
[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<String, Infallible>
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /     /// file name with a diff to apply
[INFO] [stdout] 25 | |     diff_fname: Option<String>,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/main.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 | /                     diff.into_iter()
[INFO] [stdout] 196 | |                         .map(|edit| {
[INFO] [stdout] 197 | |                             match edit {
[INFO] [stdout] 198 | |                                 collection::Edit::Copy(elem) => println!("copy: {:?}", elem),
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |                         })
[INFO] [stdout] 230 | |                         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     let _ = diff.into_iter()
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Map` that must be used
[INFO] [stdout]    --> src/main.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                     x.into_iter().map(|xx| {
[INFO] [stdout] 252 | |                         print!("{}", &atom2str(&xx));
[INFO] [stdout] 253 | |                         atom_index = atom_index + 1;
[INFO] [stdout] 254 | |                     });
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     let _ = x.into_iter().map(|xx| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/main.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 | /                     diff.into_iter()
[INFO] [stdout] 258 | |                         .map(|edit| {
[INFO] [stdout] 259 | |                             match edit {
[INFO] [stdout] 260 | |                                 collection::Edit::Copy(elem) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |                         })
[INFO] [stdout] 309 | |                         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     let _ = diff.into_iter()
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Map` that must be used
[INFO] [stdout]    --> src/main.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 | /                     x.into_iter().map(|xx| {
[INFO] [stdout] 416 | |                         assert!(&src_file.atoms[p + src_skip] == xx);
[INFO] [stdout] 417 | |                         out_file.atoms.push(xx.clone());
[INFO] [stdout] 418 | |                         src_skip = src_skip + 1;
[INFO] [stdout] 419 | |                     });
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 415 |                     let _ = x.into_iter().map(|xx| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/main.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 | /                     diff.into_iter()
[INFO] [stdout] 423 | |                         .map(|edit| {
[INFO] [stdout] 424 | |                             match edit {
[INFO] [stdout] 425 | |                                 collection::Edit::Copy(elem) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 483 | |                         })
[INFO] [stdout] 484 | |                         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     let _ = diff.into_iter()
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uuid`
[INFO] [stdout]    --> src/main.rs:273:37
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...                   token_uuid,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `token_uuid: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leading_ws`
[INFO] [stdout]    --> src/main.rs:274:37
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...                   leading_ws,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `leading_ws: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]    --> src/main.rs:279:49
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   let tok = &right.atoms[atom_index].token_value;
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]    --> src/main.rs:346:14
[INFO] [stdout]     |
[INFO] [stdout] 346 |     for (hi, ch) in haystack.into_iter().enumerate() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |     for i in 0..p {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uuid`
[INFO] [stdout]    --> src/main.rs:442:37
[INFO] [stdout]     |
[INFO] [stdout] 442 | ...                   token_uuid,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `token_uuid: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leading_ws`
[INFO] [stdout]    --> src/main.rs:443:37
[INFO] [stdout]     |
[INFO] [stdout] 443 | ...                   leading_ws,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: try ignoring the field: `leading_ws: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:446:58
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   edit::Edit::Copy(x) => {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:404:26
[INFO] [stdout]     |
[INFO] [stdout] 404 |         edit::Edit::Copy(x) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/main.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     file: &unidiff::PatchedFile,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_pos`
[INFO] [stdout]    --> src/main.rs:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |         let find_pos = find_needle(&src.atoms, &src_file.atoms, true);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/main.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let res = res.unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `strip` are never read
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Opts {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     config: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     strip: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Opts` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Test(Test),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubCommand` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Test(Test),
[INFO] [stdout] 37 +     Test(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `debug` is never read
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Test {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Test` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_nth_arg` is never used
[INFO] [stdout]    --> src/main.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn read_nth_arg(i: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_nth_arg` is never used
[INFO] [stdout]    --> src/main.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn parse_nth_arg(i: usize) -> ParseStruct {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_diffus` is never used
[INFO] [stdout]    --> src/main.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn test_diffus() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HunkOp` is never used
[INFO] [stdout]    --> src/main.rs:336:6
[INFO] [stdout]     |
[INFO] [stdout] 336 | enum HunkOp {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /     /// Sets a custom config file. Could have been an Option<T> with no default too
[INFO] [stdout] 13 | |     #[clap(short, long, default_value = "default.conf")]
[INFO] [stdout] 14 | |     config: String,
[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<String, Infallible>
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /     /// file name with a diff to apply
[INFO] [stdout] 25 | |     diff_fname: Option<String>,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/main.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 | /                     diff.into_iter()
[INFO] [stdout] 196 | |                         .map(|edit| {
[INFO] [stdout] 197 | |                             match edit {
[INFO] [stdout] 198 | |                                 collection::Edit::Copy(elem) => println!("copy: {:?}", elem),
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |                         })
[INFO] [stdout] 230 | |                         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     let _ = diff.into_iter()
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Map` that must be used
[INFO] [stdout]    --> src/main.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                     x.into_iter().map(|xx| {
[INFO] [stdout] 252 | |                         print!("{}", &atom2str(&xx));
[INFO] [stdout] 253 | |                         atom_index = atom_index + 1;
[INFO] [stdout] 254 | |                     });
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     let _ = x.into_iter().map(|xx| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/main.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 | /                     diff.into_iter()
[INFO] [stdout] 258 | |                         .map(|edit| {
[INFO] [stdout] 259 | |                             match edit {
[INFO] [stdout] 260 | |                                 collection::Edit::Copy(elem) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |                         })
[INFO] [stdout] 309 | |                         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     let _ = diff.into_iter()
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Map` that must be used
[INFO] [stdout]    --> src/main.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 | /                     x.into_iter().map(|xx| {
[INFO] [stdout] 416 | |                         assert!(&src_file.atoms[p + src_skip] == xx);
[INFO] [stdout] 417 | |                         out_file.atoms.push(xx.clone());
[INFO] [stdout] 418 | |                         src_skip = src_skip + 1;
[INFO] [stdout] 419 | |                     });
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 415 |                     let _ = x.into_iter().map(|xx| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/main.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 | /                     diff.into_iter()
[INFO] [stdout] 423 | |                         .map(|edit| {
[INFO] [stdout] 424 | |                             match edit {
[INFO] [stdout] 425 | |                                 collection::Edit::Copy(elem) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 483 | |                         })
[INFO] [stdout] 484 | |                         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     let _ = diff.into_iter()
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tbpatch` (bin "tbpatch") due to 2 previous errors; 25 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `tbpatch` (bin "tbpatch" test) due to 2 previous errors; 25 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "448a936b608dd6f75ebe7c5cdeae60a88409f9fe8a07017dd4497412af398bb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "448a936b608dd6f75ebe7c5cdeae60a88409f9fe8a07017dd4497412af398bb8", kill_on_drop: false }`
[INFO] [stdout] 448a936b608dd6f75ebe7c5cdeae60a88409f9fe8a07017dd4497412af398bb8
