[INFO] fetching crate purl 0.1.6... [INFO] testing purl-0.1.6 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate purl 0.1.6 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate purl 0.1.6 [INFO] finished tweaking crates.io crate purl 0.1.6 [INFO] tweaked toml for crates.io crate purl 0.1.6 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate purl 0.1.6 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate purl 0.1.6 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6f79aabb870d4afade45ed5011d77ce769fd4488cd6213d879cb8499914d7be5 [INFO] running `Command { std: "docker" "start" "-a" "6f79aabb870d4afade45ed5011d77ce769fd4488cd6213d879cb8499914d7be5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6f79aabb870d4afade45ed5011d77ce769fd4488cd6213d879cb8499914d7be5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f79aabb870d4afade45ed5011d77ce769fd4488cd6213d879cb8499914d7be5", kill_on_drop: false }` [INFO] [stdout] 6f79aabb870d4afade45ed5011d77ce769fd4488cd6213d879cb8499914d7be5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ee6f2d10c54a2375cfeb012d10a9e15a5e33561ed69819be95f56024ca934823 [INFO] running `Command { std: "docker" "start" "-a" "ee6f2d10c54a2375cfeb012d10a9e15a5e33561ed69819be95f56024ca934823", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling smartstring v1.0.1 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling purl v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | fn package_type(&self) -> Cow; [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 120 | fn package_type(&self) -> Cow<'_, str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 139 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 158 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 191 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/package_type.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 246 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:300:18 [INFO] [stdout] | [INFO] [stdout] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stdout] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_mut(&mut self) -> IterMut<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stdout] | ^^^^^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers/well_known.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn iter(&self) -> ChecksumIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 219 | pub fn iter(&self) -> ChecksumIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.72s [INFO] running `Command { std: "docker" "inspect" "ee6f2d10c54a2375cfeb012d10a9e15a5e33561ed69819be95f56024ca934823", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ee6f2d10c54a2375cfeb012d10a9e15a5e33561ed69819be95f56024ca934823", kill_on_drop: false }` [INFO] [stdout] ee6f2d10c54a2375cfeb012d10a9e15a5e33561ed69819be95f56024ca934823 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] d44d35daf05681791ca21610e04f624ce5ac1d5eb7ffc20efd999194ba73d77d [INFO] running `Command { std: "docker" "start" "-a" "d44d35daf05681791ca21610e04f624ce5ac1d5eb7ffc20efd999194ba73d77d", kill_on_drop: false }` [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | fn package_type(&self) -> Cow; [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 120 | fn package_type(&self) -> Cow<'_, str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 139 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 158 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 191 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/package_type.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 246 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:300:18 [INFO] [stdout] | [INFO] [stdout] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stdout] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_mut(&mut self) -> IterMut<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stdout] | ^^^^^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers/well_known.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn iter(&self) -> ChecksumIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 219 | pub fn iter(&self) -> ChecksumIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling purl v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | fn package_type(&self) -> Cow; [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 120 | fn package_type(&self) -> Cow<'_, str>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 139 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 158 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 191 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/format.rs:122:29 [INFO] [stdout] | [INFO] [stdout] 122 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 122 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/package_type.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | fn package_type(&self) -> Cow { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 246 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:300:18 [INFO] [stdout] | [INFO] [stdout] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stdout] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_mut(&mut self) -> IterMut<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stdout] | ^^^^^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/qualifiers/well_known.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn iter(&self) -> ChecksumIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 219 | pub fn iter(&self) -> ChecksumIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.12s [INFO] running `Command { std: "docker" "inspect" "d44d35daf05681791ca21610e04f624ce5ac1d5eb7ffc20efd999194ba73d77d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d44d35daf05681791ca21610e04f624ce5ac1d5eb7ffc20efd999194ba73d77d", kill_on_drop: false }` [INFO] [stdout] d44d35daf05681791ca21610e04f624ce5ac1d5eb7ffc20efd999194ba73d77d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5d53ddb39f1096dc424cc6546baefb17f0b67f76f9e137e8e97a8cc248673494 [INFO] running `Command { std: "docker" "start" "-a" "5d53ddb39f1096dc424cc6546baefb17f0b67f76f9e137e8e97a8cc248673494", kill_on_drop: false }` [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:120:21 [INFO] [stderr] | [INFO] [stderr] 120 | fn package_type(&self) -> Cow; [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 120 | fn package_type(&self) -> Cow<'_, str>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | fn package_type(&self) -> Cow { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 139 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:158:21 [INFO] [stderr] | [INFO] [stderr] 158 | fn package_type(&self) -> Cow { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 158 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | fn package_type(&self) -> Cow { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 191 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/package_type.rs:246:21 [INFO] [stderr] | [INFO] [stderr] 246 | fn package_type(&self) -> Cow { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 246 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/parse.rs:300:18 [INFO] [stderr] | [INFO] [stderr] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stderr] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 300 | fn decode(input: &str) -> Result, ParseError> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/qualifiers.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 66 | pub fn iter(&self) -> Iter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/qualifiers.rs:73:21 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 73 | pub fn iter_mut(&mut self) -> IterMut<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/qualifiers.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stderr] | ^^^^^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 162 | pub fn entry(&mut self, key: K) -> Result, ParseError> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/qualifiers/well_known.rs:219:17 [INFO] [stderr] | [INFO] [stderr] 219 | pub fn iter(&self) -> ChecksumIter { [INFO] [stderr] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 219 | pub fn iter(&self) -> ChecksumIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/format.rs:122:29 [INFO] [stderr] | [INFO] [stderr] 122 | fn package_type(&self) -> Cow { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 122 | fn package_type(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `purl` (lib) generated 10 warnings (run `cargo fix --lib -p purl` to apply 10 suggestions) [INFO] [stderr] warning: `purl` (lib test) generated 11 warnings (10 duplicates) (run `cargo fix --lib -p purl --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/purl-4f3ca9dadeeece60) [INFO] [stdout] [INFO] [stdout] running 131 tests [INFO] [stdout] test builder::tests::empty_package_name_is_invalid ... ok [INFO] [stdout] test builder::tests::build_works ... ok [INFO] [stdout] test builder::tests::try_with_typed_qualifier_with_new_key_and_some_value_sets_qualifier ... ok [INFO] [stdout] test builder::tests::with_namespace_some_sets_namespace ... ok [INFO] [stdout] test builder::tests::with_name_sets_name ... ok [INFO] [stdout] test builder::tests::with_package_type_sets_type ... ok [INFO] [stdout] test builder::tests::with_qualifier_with_new_invalid_key_returns_error ... ok [INFO] [stdout] test builder::tests::with_qualifier_with_existing_key_sets_qualifier ... ok [INFO] [stdout] test builder::tests::with_qualifier_with_new_valid_key_sets_qualifier ... ok [INFO] [stdout] test builder::tests::with_subpath_some_normalizes_subpath ... ok [INFO] [stdout] test builder::tests::with_subpath_some_sets_subpath ... ok [INFO] [stdout] test builder::tests::with_typed_qualifier_with_existing_key_and_none_value_unsets_qualifier ... ok [INFO] [stdout] test builder::tests::with_typed_qualifier_with_new_key_and_some_value_sets_qualifier ... ok [INFO] [stdout] test builder::tests::without_namespace_unsets_namespace ... ok [INFO] [stdout] test builder::tests::with_version_some_sets_version ... ok [INFO] [stdout] test builder::tests::without_qualifier_with_existing_key_unsets_qualifier ... ok [INFO] [stdout] test builder::tests::without_subpath_unsets_subpath ... ok [INFO] [stdout] test builder::tests::without_version_unsets_version ... ok [INFO] [stdout] test format::tests::display_encodes_name_correctly ... ok [INFO] [stdout] test format::tests::display_encodes_namespace_correctly ... ok [INFO] [stdout] test format::tests::display_encodes_qualifiers_correctly ... ok [INFO] [stdout] test format::tests::display_encodes_subpath_correctly ... ok [INFO] [stdout] test builder::tests::try_with_typed_qualifier_with_existing_key_and_none_value_unsets_qualifier ... ok [INFO] [stdout] test package_type::tests::maven_requires_namespace ... ok [INFO] [stdout] test parse::tests::parse_parses_fields ... ok [INFO] [stdout] test parse::tests::parse_when_checksum_contains_invalid_hex_char_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_checksum_is_duplicated_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_checksum_is_malformed_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_empty_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_escape_contains_illegal_chars_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_escaped_namespace_component_contains_path_separator_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_escaped_subpath_component_contains_path_separator_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_namespace_contains_weird_components_preserves_them ... ok [INFO] [stdout] test parse::tests::parse_when_qualifier_has_no_value_skips_it ... ok [INFO] [stdout] test parse::tests::parse_when_qualifier_invalid_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_qualifiers_are_duplicated_returns_error ... ok [INFO] [stdout] test parse::tests::parse_when_qualifiers_contains_checksums_normalizes_them ... ok [INFO] [stdout] test parse::tests::parse_when_subpath_contains_weird_components_preserves_them ... ok [INFO] [stdout] test parse::tests::parse_when_type_invalid_returns_error ... ok [INFO] [stdout] test qualifiers::tests::contains_key_when_key_invalid_returns_false ... ok [INFO] [stdout] test parse::tests::parse_when_subpath_contains_invalid_components_skips_them ... ok [INFO] [stdout] test parse::tests::parse_without_name_returns_error ... ok [INFO] [stdout] test parse::tests::parse_without_type_returns_error ... ok [INFO] [stdout] test qualifiers::tests::contains_key_when_key_exists_returns_true ... ok [INFO] [stdout] test qualifiers::tests::contains_key_when_lowercased_key_exists_returns_true ... ok [INFO] [stdout] test qualifiers::tests::entry_or_insert_when_does_not_exist_returns_inserted ... ok [INFO] [stdout] test qualifiers::tests::entry_or_insert_when_exists_returns_existing ... ok [INFO] [stdout] test qualifiers::tests::entry_or_insert_with_when_does_not_exist_inserts ... ok [INFO] [stdout] test qualifiers::tests::entry_or_insert_with_when_exists_does_not_call_function ... ok [INFO] [stdout] test qualifiers::tests::contains_key_when_key_does_not_exist_returns_false ... ok [INFO] [stdout] test qualifiers::tests::clear_removes_all_entries ... ok [INFO] [stdout] test qualifiers::tests::get_mut_for_missing_key_returns_none ... ok [INFO] [stdout] test qualifiers::tests::get_mut_with_uppercase_key_returns_value ... ok [INFO] [stdout] test qualifiers::tests::entry_or_modify_when_exists_modifies ... ok [INFO] [stdout] test qualifiers::tests::get_returns_value ... ok [INFO] [stdout] test qualifiers::tests::get_with_missing_key_returns_none ... ok [INFO] [stdout] test qualifiers::tests::index_mut_can_set ... ok [INFO] [stdout] test qualifiers::tests::insert_converts_to_lower ... ok [INFO] [stdout] test qualifiers::tests::get_mut_for_invalid_key_returns_none ... ok [INFO] [stdout] test qualifiers::tests::entry_or_modify_when_does_not_exist_does_not_call_function ... ok [INFO] [stdout] test qualifiers::tests::insert_with_empty_key_returns_error ... ok [INFO] [stdout] test qualifiers::tests::get_mut_returns_mutable_value ... ok [INFO] [stdout] test qualifiers::tests::iter_iterates_qualifiers ... ok [INFO] [stdout] test qualifiers::tests::insert_inserts_in_order ... ok [INFO] [stdout] test qualifiers::tests::get_with_invalid_key_returns_none ... ok [INFO] [stdout] test qualifiers::tests::insert_with_invalid_key_returns_error ... ok [INFO] [stdout] test qualifiers::tests::get_with_uppercase_key_returns_value ... ok [INFO] [stdout] test qualifiers::tests::iter_mut_iterates_qualifiers ... ok [INFO] [stdout] test qualifiers::tests::occupied_entry_remove_entry_removes ... ok [INFO] [stdout] test qualifiers::tests::remove_unsets_qualifier ... ok [INFO] [stdout] test qualifiers::tests::remove_with_empty_key_does_nothing ... ok [INFO] [stdout] test qualifiers::tests::len_returns_length ... ok [INFO] [stdout] test qualifiers::tests::occupied_entry_insert_overwrites ... ok [INFO] [stdout] test qualifiers::tests::occupied_entry_remove_removes ... ok [INFO] [stdout] test qualifiers::tests::remove_with_unset_qualifier_does_nothing ... ok [INFO] [stdout] test qualifiers::tests::remove_with_uppercase_key_unsets_qualifier ... ok [INFO] [stdout] test qualifiers::tests::retain_mut_can_modify ... ok [INFO] [stdout] test qualifiers::tests::retain_removes_other_qualifiers ... ok [INFO] [stdout] test qualifiers::tests::try_insert_typed_when_successful_inserts_and_returns_ok ... ok [INFO] [stdout] test qualifiers::tests::try_insert_typed_when_unsuccessful_does_insert_and_returns_error ... ok [INFO] [stdout] test qualifiers::well_known::tests::can_remove_repository_url ... ok [INFO] [stdout] test qualifiers::well_known::tests::can_set_repository_url ... ok [INFO] [stdout] test qualifiers::tests::try_from_iter_with_duplicates_returns_error ... ok [INFO] [stdout] test qualifiers::tests::retain_is_case_insensitive ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::decode_when_invalid_returns_error ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::get_raw_when_set_gets_whatever_value ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::get_raw_when_unset_returns_none ... ok [INFO] [stdout] test qualifiers::well_known::tests::can_get_repository_url ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::algorithms_returns_algorithms ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::get_when_set_and_invalid_returns_error ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::get_when_set_and_valid_returns_value ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::get_when_unset_returns_none ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_inserts_encoded ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_raw_when_already_set_replaces ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_raw_when_already_set_with_different_case_replaces ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_raw_when_not_set_inserts ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_raw_lowercases_algorithm ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::iter_iterates_entries ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::remove_removes ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::try_from_str_when_algorithm_is_duplicated_returns_error ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::try_from_str_when_invalid_returns_error ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::try_into_str_returns_algorithms_in_order_with_lowercase_hex_bytes ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::try_from_str_when_valid_parses ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::try_into_str_when_partial_byte_returns_error ... ok [INFO] [stdout] test qualifiers::tests::remove_with_invalid_key_does_nothing ... ok [INFO] [stdout] test qualifiers::well_known::tests::checksum::try_into_str_when_non_hex_returns_error ... ok [INFO] [stdout] test tests::copy_as_lowercase_when_lower_does_nothing ... ok [INFO] [stdout] test tests::cow_shape_does_not_clone_owned ... ok [INFO] [stdout] test tests::empty_package_type_is_invalid ... ok [INFO] [stdout] test tests::cow_shape_borrowed_converts_to_lower ... ok [INFO] [stdout] test tests::copy_as_lowercase_when_upper_ascii_lowercases ... ok [INFO] [stdout] test tests::cow_shape_does_not_clone_lower ... ok [INFO] [stdout] test tests::into_builder_build_produces_same_purl ... ok [INFO] [stdout] test tests::copy_as_lowercase_when_upper_unicode_lowercases ... ok [INFO] [stdout] test tests::lowercase_in_place_when_upper_unicode_lowercases ... ok [INFO] [stdout] test tests::namespace_when_empty_is_none ... ok [INFO] [stdout] test tests::smallstring_shape_disallows_invalid_names ... ok [INFO] [stdout] test tests::string_shape_disallows_invalid_names ... ok [INFO] [stdout] test tests::subpath_when_empty_is_none ... ok [INFO] [stdout] test tests::cow_shape_disallows_invalid_names ... ok [INFO] [stdout] test tests::lowercase_in_place_when_upper_ascii_lowercases ... ok [INFO] [stdout] test tests::lowercase_in_place_when_lower_does_nothing ... ok [INFO] [stdout] test tests::namespaced_name ... ok [INFO] [stdout] test tests::smallstring_shape_converts_to_lower ... ok [INFO] [stdout] test tests::string_shape_converts_to_lower ... ok [INFO] [stdout] test tests::cow_shape_owned_converts_to_lower ... ok [INFO] [stdout] test tests::version_when_empty_is_none ... ok [INFO] [stdout] test format::tests::display_disallows_invalid_package_types - should panic ... ok [INFO] [stdout] test qualifiers::tests::insert_typed_when_key_is_invalid_panics - should panic ... ok [INFO] [stdout] test qualifiers::tests::index_mut_does_not_exist_panics - should panic ... ok [INFO] [stdout] test qualifiers::tests::index_does_not_exist_panics - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 131 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5d53ddb39f1096dc424cc6546baefb17f0b67f76f9e137e8e97a8cc248673494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d53ddb39f1096dc424cc6546baefb17f0b67f76f9e137e8e97a8cc248673494", kill_on_drop: false }` [INFO] [stdout] 5d53ddb39f1096dc424cc6546baefb17f0b67f76f9e137e8e97a8cc248673494