[INFO] cloning repository https://github.com/spacemonkeyrocks/pam-args
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/spacemonkeyrocks/pam-args" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspacemonkeyrocks%2Fpam-args", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspacemonkeyrocks%2Fpam-args'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8dbf807077a3c42add28fab2dd1180a745dd5b0d
[INFO] checking spacemonkeyrocks/pam-args 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%2Fspacemonkeyrocks%2Fpam-args" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/spacemonkeyrocks/pam-args
[INFO] finished tweaking git repo https://github.com/spacemonkeyrocks/pam-args
[INFO] tweaked toml for git repo https://github.com/spacemonkeyrocks/pam-args written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/spacemonkeyrocks/pam-args 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/spacemonkeyrocks/pam-args 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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] ec3d016f85969ceb5dee73346b989005d4d6045ff9dfd48b8d93b0248b9a2cf5
[INFO] running `Command { std: "docker" "start" "-a" "ec3d016f85969ceb5dee73346b989005d4d6045ff9dfd48b8d93b0248b9a2cf5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec3d016f85969ceb5dee73346b989005d4d6045ff9dfd48b8d93b0248b9a2cf5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec3d016f85969ceb5dee73346b989005d4d6045ff9dfd48b8d93b0248b9a2cf5", kill_on_drop: false }`
[INFO] [stdout] ec3d016f85969ceb5dee73346b989005d4d6045ff9dfd48b8d93b0248b9a2cf5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] fa98358b1607ec4ed380692cdc299c5dd8bc042d0678f424219ffe0366f697ef
[INFO] running `Command { std: "docker" "start" "-a" "fa98358b1607ec4ed380692cdc299c5dd8bc042d0678f424219ffe0366f697ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking log v0.4.26
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]     Checking time-core v0.1.3
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking jiff v0.2.4
[INFO] [stderr]     Checking colored v3.0.0
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]     Checking time v0.3.38
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking syslog v6.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling enum-repr v0.2.6
[INFO] [stderr]     Checking env_logger v0.11.7
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling pam-sys v1.0.0-alpha5
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking rpassword v6.0.1
[INFO] [stderr]     Checking pam-client v0.5.0
[INFO] [stderr]     Checking pam-args v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Level`
[INFO] [stdout]     --> src/logging.rs:1034:15
[INFO] [stdout]      |
[INFO] [stdout] 1034 |     use log::{Level, LevelFilter, Log, Metadata, Record, SetLoggerError};
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LogConfig`
[INFO] [stdout]     --> src/tokenizer.rs:1206:26
[INFO] [stdout]      |
[INFO] [stdout] 1206 |     use crate::logging::{LogConfig, LogDestination, LogOptions};
[INFO] [stdout]      |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `test_case`
[INFO] [stdout]    --> src/testing.rs:599:14
[INFO] [stdout]     |
[INFO] [stdout] 599 | macro_rules! test_case {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `with_brackets_start`
[INFO] [stdout]    --> src/tokenizer.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let with_brackets_start = start_position;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_with_brackets_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `with_brackets_end`
[INFO] [stdout]    --> src/tokenizer.rs:464:21
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let with_brackets_end = self.position + 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_with_brackets_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tokenizer.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 |         for (i, (item, item_start, item_end)) in items.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `token_type` is never read
[INFO] [stdout]    --> src/tokenizer.rs:563:34
[INFO] [stdout]     |
[INFO] [stdout] 563 |             let mut token_type = TokenType::Basic;
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tokenizer.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Token {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 39 |     // Constructor for creating new tokens
[INFO] [stdout] 40 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input`, `position`, `tokens`, and `in_multi_key_value` are never read
[INFO] [stdout]    --> src/tokenizer.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Tokenizer {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 180 |     input: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 181 |     position: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 182 |     tokens: Vec<Token>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 183 |     in_multi_key_value: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/tokenizer.rs:196:8
[INFO] [stdout]      |
[INFO] [stdout]  186 | impl Tokenizer {
[INFO] [stdout]      | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  196 |     fn tokenize(&mut self) -> TokenizerResult<Vec<Token>> {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  316 |     fn is_start_of_multi_key_value(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  435 |     fn parse_multi_key_value(&mut self) -> TokenizerResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  657 |     fn process_escapes_in_item(&self, item: &str) -> TokenizerResult<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  687 |     fn process_value_with_escapes(&self, value: &str) -> TokenizerResult<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  729 |     fn process_value(&self, value: &str) -> TokenizerResult<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  746 |     fn process_delimited_text(&self, text: &str, delimiter: char) -> TokenizerResult<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  801 |     fn parse_token(&mut self) -> TokenizerResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1003 |     fn parse_delimited_text(&mut self, delimiter: char) -> TokenizerResult<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     fn parse_basic_token(&mut self) -> TokenizerResult<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1153 |     fn is_valid_key_name(&self, key: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1177 |     fn current_char(&self) -> TokenizerResult<char> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1190 |     fn skip_whitespace(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `with_brackets_start`
[INFO] [stdout]    --> src/tokenizer.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let with_brackets_start = start_position;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_with_brackets_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `with_brackets_end`
[INFO] [stdout]    --> src/tokenizer.rs:464:21
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let with_brackets_end = self.position + 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_with_brackets_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tokenizer.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 |         for (i, (item, item_start, item_end)) in items.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `token_type` is never read
[INFO] [stdout]    --> src/tokenizer.rs:563:34
[INFO] [stdout]     |
[INFO] [stdout] 563 |             let mut token_type = TokenType::Basic;
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]     --> src/testing.rs:1016:13
[INFO] [stdout]      |
[INFO] [stdout] 1016 |         let parser = create_test_parser();
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParseResult` is more private than the item `TestAssertions::<'a>::new`
[INFO] [stdout]    --> src/testing.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn new(parse_result: &'a ParseResult) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TestAssertions::<'a>::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ParseResult` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/testing.rs:255:1
[INFO] [stdout]     |
[INFO] [stdout] 255 | struct ParseResult {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/testing.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |     #[warn(private_interfaces)]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]     --> src/conversion.rs:1029:13
[INFO] [stdout]      |
[INFO] [stdout] 1027 |         struct MockKeyValue {
[INFO] [stdout]      |                ------------ field in this struct
[INFO] [stdout] 1028 |             key: String,
[INFO] [stdout] 1029 |             value: Option<String>,
[INFO] [stdout]      |             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_value` is never used
[INFO] [stdout]    --> src/tokenizer.rs:729:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl Tokenizer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 729 |     fn process_value(&self, value: &str) -> TokenizerResult<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: std::result::Result<String, Infallible>
[INFO] [stdout]    --> src/conversion.rs:820:20
[INFO] [stdout]     |
[INFO] [stdout] 820 |         assert_eq!(from_str_string("hello").unwrap(), "hello");
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pam-args` (lib test) due to 1 previous error; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "fa98358b1607ec4ed380692cdc299c5dd8bc042d0678f424219ffe0366f697ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa98358b1607ec4ed380692cdc299c5dd8bc042d0678f424219ffe0366f697ef", kill_on_drop: false }`
[INFO] [stdout] fa98358b1607ec4ed380692cdc299c5dd8bc042d0678f424219ffe0366f697ef
