[INFO] fetching crate password-rules-parser 1.1.0...
[INFO] testing password-rules-parser-1.1.0 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate password-rules-parser 1.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate password-rules-parser 1.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate password-rules-parser 1.1.0
[INFO] tweaked toml for crates.io crate password-rules-parser 1.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate password-rules-parser 1.1.0 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate password-rules-parser 1.1.0 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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ecb898fe853a5fab8b51f5044d1322c10ba68eb117ac7f0b0714a8f6cb27ac55
[INFO] running `Command { std: "docker" "start" "-a" "ecb898fe853a5fab8b51f5044d1322c10ba68eb117ac7f0b0714a8f6cb27ac55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ecb898fe853a5fab8b51f5044d1322c10ba68eb117ac7f0b0714a8f6cb27ac55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ecb898fe853a5fab8b51f5044d1322c10ba68eb117ac7f0b0714a8f6cb27ac55", kill_on_drop: false }`
[INFO] [stdout] ecb898fe853a5fab8b51f5044d1322c10ba68eb117ac7f0b0714a8f6cb27ac55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebd3d7812a9c45afd4b547f03850ba42df23fff599e8895f6232fba93c63de1a
[INFO] running `Command { std: "docker" "start" "-a" "ebd3d7812a9c45afd4b547f03850ba42df23fff599e8895f6232fba93c63de1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling pretty-lint v0.1.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling password-rules-parser v1.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:489:33
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext> {
[INFO] [stdout]     |                                 ^^^^             ^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is elided here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 |     input: &str,
[INFO] [stdout]     |            ^^^^ the lifetime is elided here
[INFO] [stdout] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext> {
[INFO] [stdout]     |              ^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:566:22
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext> {
[INFO] [stdout]     |                      ^^^^             ^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext> {
[INFO] [stdout]     |                           ^^^^             ^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.03s
[INFO] running `Command { std: "docker" "inspect" "ebd3d7812a9c45afd4b547f03850ba42df23fff599e8895f6232fba93c63de1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebd3d7812a9c45afd4b547f03850ba42df23fff599e8895f6232fba93c63de1a", kill_on_drop: false }`
[INFO] [stdout] ebd3d7812a9c45afd4b547f03850ba42df23fff599e8895f6232fba93c63de1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f32d3b8fab2ce7a95054024a400dab0811cbcfaeba9a7fba737f74b893f865c0
[INFO] running `Command { std: "docker" "start" "-a" "f32d3b8fab2ce7a95054024a400dab0811cbcfaeba9a7fba737f74b893f865c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling terminal_size v0.1.17
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:489:33
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext> {
[INFO] [stdout]     |                                 ^^^^             ^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is elided here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 |     input: &str,
[INFO] [stdout]     |            ^^^^ the lifetime is elided here
[INFO] [stdout] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext> {
[INFO] [stdout]     |              ^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:566:22
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext> {
[INFO] [stdout]     |                      ^^^^             ^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext> {
[INFO] [stdout]     |                           ^^^^             ^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling console v0.14.1
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling dialoguer v0.8.0
[INFO] [stderr]    Compiling password-rules-parser v1.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:489:33
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext> {
[INFO] [stdout]     |                                 ^^^^             ^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is elided here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 |     input: &str,
[INFO] [stdout]     |            ^^^^ the lifetime is elided here
[INFO] [stdout] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext> {
[INFO] [stdout]     |              ^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:566:22
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext> {
[INFO] [stdout]     |                      ^^^^             ^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext> {
[INFO] [stdout]     |                           ^^^^             ^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext<'_>> {
[INFO] [stdout]     |                                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.52s
[INFO] running `Command { std: "docker" "inspect" "f32d3b8fab2ce7a95054024a400dab0811cbcfaeba9a7fba737f74b893f865c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f32d3b8fab2ce7a95054024a400dab0811cbcfaeba9a7fba737f74b893f865c0", kill_on_drop: false }`
[INFO] [stdout] f32d3b8fab2ce7a95054024a400dab0811cbcfaeba9a7fba737f74b893f865c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 518f9bbea087c54ba53a4b1eca24841f2a8466f6e5011d74082a4255e60eaf6f
[INFO] running `Command { std: "docker" "start" "-a" "518f9bbea087c54ba53a4b1eca24841f2a8466f6e5011d74082a4255e60eaf6f", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:489:33
[INFO] [stderr]     |
[INFO] [stderr] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext> {
[INFO] [stderr]     |                                 ^^^^             ^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                 |                |
[INFO] [stderr]     |                                 |                the same lifetime is elided here
[INFO] [stderr]     |                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 489 | fn parse_character_class(input: &str) -> IResult<&str, CharacterClass, PasswordRulesErrorContext<'_>> {
[INFO] [stderr]     |                                                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:506:12
[INFO] [stderr]     |
[INFO] [stderr] 506 |     input: &str,
[INFO] [stderr]     |            ^^^^ the lifetime is elided here
[INFO] [stderr] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext> {
[INFO] [stderr]     |              ^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |              |
[INFO] [stderr]     |              the same lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 507 | ) -> IResult<&str, Vec<CharacterClass>, PasswordRulesErrorContext<'_>> {
[INFO] [stderr]     |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:566:22
[INFO] [stderr]     |
[INFO] [stderr] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext> {
[INFO] [stderr]     |                      ^^^^             ^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |                |
[INFO] [stderr]     |                      |                the same lifetime is elided here
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 566 | fn parse_rule(input: &str) -> IResult<&str, PasswordRule, PasswordRulesErrorContext<'_>> {
[INFO] [stderr]     |                                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:605:27
[INFO] [stderr]     |
[INFO] [stderr] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext> {
[INFO] [stderr]     |                           ^^^^             ^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |                |
[INFO] [stderr]     |                           |                the same lifetime is elided here
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 605 | fn parse_rule_list(input: &str) -> IResult<&str, PasswordRules, PasswordRulesErrorContext<'_>> {
[INFO] [stderr]     |                                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `password-rules-parser` (lib) generated 4 warnings (run `cargo fix --lib -p password-rules-parser` to apply 4 suggestions)
[INFO] [stderr] warning: `password-rules-parser` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/password_rules_parser-50cc39b11c3df4b9)
[INFO] [stdout] 
[INFO] [stdout] running 83 tests
[INFO] [stdout] test test::canonicalize::all_lower ... ok
[INFO] [stdout] test test::canonicalize::everything ... ok
[INFO] [stdout] test test::parser::allow_missing_trailing_semicolon ... ok
[INFO] [stdout] test test::canonicalize::alphanumeric_and_some_specials ... ok
[INFO] [stdout] test test::canonicalize::all_special ... ok
[INFO] [stdout] test test::canonicalize::few_characters ... ok
[INFO] [stdout] test test::parser::apple_suite::all_upper2 ... ok
[INFO] [stdout] test test::parser::apple_suite::allowed_reduction ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_custom_class1 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_custom_class4 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_custom_class2 ... ok
[INFO] [stdout] test test::parser::apple_suite::all_upper1 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_custom_class3 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_custom_class5 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax1 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax11 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax10 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax16 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax14 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax18 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax17 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax12 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax15 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax19 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax5 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax2 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax9 ... ok
[INFO] [stdout] test test::parser::apple_suite::collapse_allow1 ... ok
[INFO] [stdout] test test::canonicalize::digits_and_some_lowers ... ok
[INFO] [stdout] test test::parser::apple_suite::canonical1 ... ok
[INFO] [stdout] test test::parser::apple_suite::collapse_allow3 ... ok
[INFO] [stdout] test test::parser::apple_suite::canonical2 ... ok
[INFO] [stdout] test test::canonicalize::all_alpha ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax3 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax4 ... ok
[INFO] [stdout] test test::parser::apple_suite::custom_class4 ... ok
[INFO] [stdout] test test::parser::apple_suite::collapse_allow4 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax6 ... ok
[INFO] [stdout] test test::parser::apple_suite::custom_unicode_dropped1 ... ok
[INFO] [stdout] test test::parser::apple_suite::custom_class1 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax7 ... ok
[INFO] [stdout] test test::parser::apple_suite::custom_class3 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive2 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive3 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive_min1 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax13 ... ok
[INFO] [stdout] test test::parser::apple_suite::collapse_allow2 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive_min2 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive_min3 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive_min4 ... ok
[INFO] [stdout] test test::parser::apple_suite::custom_class2 ... ok
[INFO] [stdout] test test::parser::apple_suite::custom_unicode_dropped2 ... ok
[INFO] [stdout] test test::parser::apple_suite::max_consecutive1 ... ok
[INFO] [stdout] test test::parser::apple_suite::req_upper3 ... ok
[INFO] [stdout] test test::parser::apple_suite::minlength_max2 ... ok
[INFO] [stdout] test test::parser::apple_suite::minlength_max1 ... ok
[INFO] [stdout] test test::parser::apple_suite::req_upper1 ... ok
[INFO] [stdout] test test::parser::apple_suite::req_upper2 ... ok
[INFO] [stdout] test test::parser::apple_suite::req_upper6 ... ok
[INFO] [stdout] test test::parser::apple_suite::req_upper4 ... ok
[INFO] [stdout] test test::parser::apple_suite::bad_syntax8 ... ok
[INFO] [stdout] test test::parser::apple_suite::req_upper_case ... ok
[INFO] [stdout] test test::parser::apple_suite::require_allow1 ... ok
[INFO] [stdout] test test::parser::apple_suite::require_allow2 ... ok
[INFO] [stdout] test test::parser::apple_suite::required_allow3 ... ok
[INFO] [stdout] test test::parser::apple_suite::required_canonical ... ok
[INFO] [stdout] test test::parser::apple_suite::require_empty ... ok
[INFO] [stdout] test test::parser::apple_suite::empty_string ... ok
[INFO] [stdout] test test::parser::ascii_overpowers_everything_else ... ok
[INFO] [stdout] test test::parser::complex_input ... ok
[INFO] [stdout] test test::parser::invalid_bracket ... ok
[INFO] [stdout] test test::parser::multiple_classes ... ok
[INFO] [stdout] test test::parser::missing_property ... ok
[INFO] [stdout] test test::parser::skip_unicode_characters ... ok
[INFO] [stdout] test test::parser::unicode_overpowers_everything ... ok
[INFO] [stdout] test test::parser::empty_custom_class ... ok
[INFO] [stdout] test test::parser::multiple_length_constraints ... ok
[INFO] [stdout] test test::satisfies_required::test_satisfies_required ... ok
[INFO] [stdout] test test::parser::custom_class_bracket_hyphen ... ok
[INFO] [stdout] test test::parser::invalid_hyphen ... ok
[INFO] [stdout] test test::parser::missing_integers ... ok
[INFO] [stdout] test test::parser::empty_string ... ok
[INFO] [stdout] test test::parser::multiple_required_sets ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 83 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests password_rules_parser
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 52) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "518f9bbea087c54ba53a4b1eca24841f2a8466f6e5011d74082a4255e60eaf6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "518f9bbea087c54ba53a4b1eca24841f2a8466f6e5011d74082a4255e60eaf6f", kill_on_drop: false }`
[INFO] [stdout] 518f9bbea087c54ba53a4b1eca24841f2a8466f6e5011d74082a4255e60eaf6f
