[INFO] fetching crate purl 0.1.6...
[INFO] testing purl-0.1.6 against 1.91.0 for beta-1.92-2
[INFO] extracting crate purl 0.1.6 into /workspace/builds/worker-5-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-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate purl 0.1.6 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "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" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 04fa53a2187115a1f732658d772b77aa378cce5551a8b0f045eb8d4ba78015c3
[INFO] running `Command { std: "docker" "start" "-a" "04fa53a2187115a1f732658d772b77aa378cce5551a8b0f045eb8d4ba78015c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04fa53a2187115a1f732658d772b77aa378cce5551a8b0f045eb8d4ba78015c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04fa53a2187115a1f732658d772b77aa378cce5551a8b0f045eb8d4ba78015c3", kill_on_drop: false }`
[INFO] [stdout] 04fa53a2187115a1f732658d772b77aa378cce5551a8b0f045eb8d4ba78015c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3ba9c11c8fe0ddb55d3451513f1d3b6cca02aaf65b5c4e4db5a0cf79cabc1120
[INFO] running `Command { std: "docker" "start" "-a" "3ba9c11c8fe0ddb55d3451513f1d3b6cca02aaf65b5c4e4db5a0cf79cabc1120", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling purl v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn package_type(&self) -> Cow<str>;
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 120 |     fn package_type(&self) -> Cow<'_, str>;
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 139 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 158 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 191 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/package_type.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 246 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:300:18
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn decode(input: &str) -> Result<Cow<str>, ParseError> {
[INFO] [stdout]     |                  ^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[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] 300 | fn decode(input: &str) -> Result<Cow<'_, str>, ParseError> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/qualifiers.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[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] 66 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/qualifiers.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn iter_mut(&mut self) -> IterMut {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[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] 73 |     pub fn iter_mut(&mut self) -> IterMut<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qualifiers.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<K>, ParseError>
[INFO] [stdout]     |                     ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<'_, K>, ParseError>
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qualifiers/well_known.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn iter(&self) -> ChecksumIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[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] 219 |     pub fn iter(&self) -> ChecksumIter<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.66s
[INFO] running `Command { std: "docker" "inspect" "3ba9c11c8fe0ddb55d3451513f1d3b6cca02aaf65b5c4e4db5a0cf79cabc1120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ba9c11c8fe0ddb55d3451513f1d3b6cca02aaf65b5c4e4db5a0cf79cabc1120", kill_on_drop: false }`
[INFO] [stdout] 3ba9c11c8fe0ddb55d3451513f1d3b6cca02aaf65b5c4e4db5a0cf79cabc1120
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 681544a33130d77da2896e70a2429ae3f3db1733667da389b35f48fc48554470
[INFO] running `Command { std: "docker" "start" "-a" "681544a33130d77da2896e70a2429ae3f3db1733667da389b35f48fc48554470", kill_on_drop: false }`
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn package_type(&self) -> Cow<str>;
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 120 |     fn package_type(&self) -> Cow<'_, str>;
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 139 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 158 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 191 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/package_type.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 246 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:300:18
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn decode(input: &str) -> Result<Cow<str>, ParseError> {
[INFO] [stdout]     |                  ^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[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] 300 | fn decode(input: &str) -> Result<Cow<'_, str>, ParseError> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/qualifiers.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[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] 66 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/qualifiers.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn iter_mut(&mut self) -> IterMut {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[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] 73 |     pub fn iter_mut(&mut self) -> IterMut<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qualifiers.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<K>, ParseError>
[INFO] [stdout]     |                     ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<'_, K>, ParseError>
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qualifiers/well_known.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn iter(&self) -> ChecksumIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[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] 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn package_type(&self) -> Cow<str>;
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 120 |     fn package_type(&self) -> Cow<'_, str>;
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 139 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 158 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 191 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/format.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |             fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[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] 122 |             fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/package_type.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn package_type(&self) -> Cow<str> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 246 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:300:18
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn decode(input: &str) -> Result<Cow<str>, ParseError> {
[INFO] [stdout]     |                  ^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[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] 300 | fn decode(input: &str) -> Result<Cow<'_, str>, ParseError> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/qualifiers.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[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] 66 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/qualifiers.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn iter_mut(&mut self) -> IterMut {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[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] 73 |     pub fn iter_mut(&mut self) -> IterMut<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qualifiers.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<K>, ParseError>
[INFO] [stdout]     |                     ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[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] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<'_, K>, ParseError>
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/qualifiers/well_known.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn iter(&self) -> ChecksumIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[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] 219 |     pub fn iter(&self) -> ChecksumIter<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.62s
[INFO] running `Command { std: "docker" "inspect" "681544a33130d77da2896e70a2429ae3f3db1733667da389b35f48fc48554470", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "681544a33130d77da2896e70a2429ae3f3db1733667da389b35f48fc48554470", kill_on_drop: false }`
[INFO] [stdout] 681544a33130d77da2896e70a2429ae3f3db1733667da389b35f48fc48554470
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f922cb04840bbed52ac9054a17cd6530745551973fae058130a451d5ba60341f
[INFO] running `Command { std: "docker" "start" "-a" "f922cb04840bbed52ac9054a17cd6530745551973fae058130a451d5ba60341f", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:120:21
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn package_type(&self) -> Cow<str>;
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[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] 120 |     fn package_type(&self) -> Cow<'_, str>;
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:139:21
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn package_type(&self) -> Cow<str> {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[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] 139 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:158:21
[INFO] [stderr]     |
[INFO] [stderr] 158 |     fn package_type(&self) -> Cow<str> {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[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] 158 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:191:21
[INFO] [stderr]     |
[INFO] [stderr] 191 |     fn package_type(&self) -> Cow<str> {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[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] 191 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/package_type.rs:246:21
[INFO] [stderr]     |
[INFO] [stderr] 246 |     fn package_type(&self) -> Cow<str> {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[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] 246 |     fn package_type(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parse.rs:300:18
[INFO] [stderr]     |
[INFO] [stderr] 300 | fn decode(input: &str) -> Result<Cow<str>, ParseError> {
[INFO] [stderr]     |                  ^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[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] 300 | fn decode(input: &str) -> Result<Cow<'_, str>, ParseError> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/qualifiers.rs:66:17
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn iter(&self) -> Iter {
[INFO] [stderr]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[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] 66 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stderr]    |                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/qualifiers.rs:73:21
[INFO] [stderr]    |
[INFO] [stderr] 73 |     pub fn iter_mut(&mut self) -> IterMut {
[INFO] [stderr]    |                     ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[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] 73 |     pub fn iter_mut(&mut self) -> IterMut<'_> {
[INFO] [stderr]    |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/qualifiers.rs:162:21
[INFO] [stderr]     |
[INFO] [stderr] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<K>, ParseError>
[INFO] [stderr]     |                     ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[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] 162 |     pub fn entry<K>(&mut self, key: K) -> Result<Entry<'_, K>, ParseError>
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/qualifiers/well_known.rs:219:17
[INFO] [stderr]     |
[INFO] [stderr] 219 |     pub fn iter(&self) -> ChecksumIter {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[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] 219 |     pub fn iter(&self) -> ChecksumIter<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/format.rs:122:29
[INFO] [stderr]     |
[INFO] [stderr] 122 |             fn package_type(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[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] 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.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/purl-6d5f39f9fb00123e)
[INFO] [stdout] 
[INFO] [stdout] running 131 tests
[INFO] [stdout] test builder::tests::empty_package_name_is_invalid ... ok
[INFO] [stdout] test builder::tests::try_with_typed_qualifier_with_existing_key_and_none_value_unsets_qualifier ... ok
[INFO] [stdout] test builder::tests::with_qualifier_with_existing_key_sets_qualifier ... 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::build_works ... ok
[INFO] [stdout] test builder::tests::with_qualifier_with_new_invalid_key_returns_error ... ok
[INFO] [stdout] test builder::tests::with_subpath_some_sets_subpath ... ok
[INFO] [stdout] test builder::tests::with_qualifier_with_new_valid_key_sets_qualifier ... ok
[INFO] [stdout] test builder::tests::with_version_some_sets_version ... ok
[INFO] [stdout] test builder::tests::with_typed_qualifier_with_new_key_and_some_value_sets_qualifier ... 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 parse::tests::parse_when_checksum_is_duplicated_returns_error ... ok
[INFO] [stdout] test package_type::tests::maven_requires_namespace ... ok
[INFO] [stdout] test parse::tests::parse_parses_fields ... ok
[INFO] [stdout] test format::tests::display_encodes_subpath_correctly ... ok
[INFO] [stdout] test parse::tests::parse_when_checksum_contains_invalid_hex_char_returns_error ... ok
[INFO] [stdout] test builder::tests::with_typed_qualifier_with_existing_key_and_none_value_unsets_qualifier ... ok
[INFO] [stdout] test builder::tests::without_namespace_unsets_namespace ... ok
[INFO] [stdout] test builder::tests::with_subpath_some_normalizes_subpath ... 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_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 format::tests::display_encodes_qualifiers_correctly ... 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_when_subpath_contains_weird_components_preserves_them ... ok
[INFO] [stdout] test parse::tests::parse_without_type_returns_error ... 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 parse::tests::parse_when_escaped_namespace_component_contains_path_separator_returns_error ... ok
[INFO] [stdout] test parse::tests::parse_when_type_invalid_returns_error ... ok
[INFO] [stdout] test qualifiers::tests::contains_key_when_key_exists_returns_true ... ok
[INFO] [stdout] test qualifiers::tests::contains_key_when_key_invalid_returns_false ... ok
[INFO] [stdout] test qualifiers::tests::contains_key_when_lowercased_key_exists_returns_true ... 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_modify_when_does_not_exist_does_not_call_function ... ok
[INFO] [stdout] test qualifiers::tests::entry_or_insert_with_when_exists_does_not_call_function ... ok
[INFO] [stdout] test qualifiers::tests::entry_or_modify_when_exists_modifies ... ok
[INFO] [stdout] test qualifiers::tests::get_mut_for_invalid_key_returns_none ... ok
[INFO] [stdout] test qualifiers::tests::get_mut_returns_mutable_value ... ok
[INFO] [stdout] test qualifiers::tests::get_with_missing_key_returns_none ... ok
[INFO] [stdout] test qualifiers::tests::insert_converts_to_lower ... ok
[INFO] [stdout] test qualifiers::tests::insert_inserts_in_order ... ok
[INFO] [stdout] test qualifiers::tests::insert_with_empty_key_returns_error ... ok
[INFO] [stdout] test qualifiers::tests::iter_mut_iterates_qualifiers ... 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::insert_with_invalid_key_returns_error ... ok
[INFO] [stdout] test qualifiers::tests::index_mut_can_set ... ok
[INFO] [stdout] test qualifiers::tests::get_returns_value ... ok
[INFO] [stdout] test qualifiers::tests::iter_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::occupied_entry_remove_removes ... ok
[INFO] [stdout] test qualifiers::tests::retain_is_case_insensitive ... 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_unsuccessful_does_insert_and_returns_error ... ok
[INFO] [stdout] test qualifiers::tests::remove_with_invalid_key_does_nothing ... ok
[INFO] [stdout] test qualifiers::well_known::tests::can_get_repository_url ... ok
[INFO] [stdout] test qualifiers::tests::remove_with_unset_qualifier_does_nothing ... ok
[INFO] [stdout] test qualifiers::well_known::tests::can_set_repository_url ... ok
[INFO] [stdout] test qualifiers::well_known::tests::checksum::algorithms_returns_algorithms ... 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_unset_returns_none ... ok
[INFO] [stdout] test qualifiers::well_known::tests::checksum::get_when_set_and_invalid_returns_error ... ok
[INFO] [stdout] test qualifiers::tests::try_from_iter_with_duplicates_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::get_raw_when_set_gets_whatever_value ... ok
[INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_inserts_encoded ... ok
[INFO] [stdout] test qualifiers::tests::try_insert_typed_when_successful_inserts_and_returns_ok ... ok
[INFO] [stdout] test qualifiers::well_known::tests::can_remove_repository_url ... ok
[INFO] [stdout] test qualifiers::well_known::tests::checksum::insert_raw_lowercases_algorithm ... 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::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_when_non_hex_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 tests::copy_as_lowercase_when_upper_ascii_lowercases ... ok
[INFO] [stdout] test qualifiers::well_known::tests::checksum::try_into_str_when_partial_byte_returns_error ... ok
[INFO] [stdout] test tests::copy_as_lowercase_when_lower_does_nothing ... ok
[INFO] [stdout] test tests::copy_as_lowercase_when_upper_unicode_lowercases ... ok
[INFO] [stdout] test tests::cow_shape_borrowed_converts_to_lower ... ok
[INFO] [stdout] test tests::cow_shape_disallows_invalid_names ... ok
[INFO] [stdout] test tests::cow_shape_does_not_clone_lower ... ok
[INFO] [stdout] test qualifiers::tests::entry_or_insert_when_does_not_exist_returns_inserted ... ok
[INFO] [stdout] test tests::cow_shape_owned_converts_to_lower ... ok
[INFO] [stdout] test qualifiers::tests::remove_with_uppercase_key_unsets_qualifier ... ok
[INFO] [stdout] test tests::empty_package_type_is_invalid ... ok
[INFO] [stdout] test tests::cow_shape_does_not_clone_owned ... ok
[INFO] [stdout] test tests::into_builder_build_produces_same_purl ... ok
[INFO] [stdout] test tests::lowercase_in_place_when_lower_does_nothing ... ok
[INFO] [stdout] test tests::lowercase_in_place_when_upper_ascii_lowercases ... ok
[INFO] [stdout] test tests::namespace_when_empty_is_none ... ok
[INFO] [stdout] test tests::namespaced_name ... ok
[INFO] [stdout] test tests::smallstring_shape_disallows_invalid_names ... ok
[INFO] [stdout] test tests::string_shape_converts_to_lower ... ok
[INFO] [stdout] test tests::version_when_empty_is_none ... ok
[INFO] [stdout] test tests::smallstring_shape_converts_to_lower ... 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::lowercase_in_place_when_upper_unicode_lowercases ... ok
[INFO] [stdout] test qualifiers::tests::get_mut_with_uppercase_key_returns_value ... ok
[INFO] [stdout] test qualifiers::tests::get_with_invalid_key_returns_none ... ok
[INFO] [stdout] test qualifiers::tests::get_with_uppercase_key_returns_value ... ok
[INFO] [stdout] test format::tests::display_disallows_invalid_package_types - 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] test qualifiers::tests::insert_typed_when_key_is_invalid_panics - should panic ... ok
[INFO] [stdout] test qualifiers::tests::get_mut_for_missing_key_returns_none ... ok
[INFO] [stderr]    Doc-tests purl
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 131 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test src/parse.rs - parse::ParseError::InvalidQualifier (line 72) ... ok
[INFO] [stdout] test src/qualifiers/well_known.rs - qualifiers::well_known::Checksum (line 79) ... ok
[INFO] [stdout] test src/lib.rs - GenericPurl (line 232) ... ok
[INFO] [stdout] test src/parse.rs - parse::ParseError::InvalidEscape (line 88) ... ok
[INFO] [stdout] test src/parse.rs - parse::ParseError::MissingRequiredField (line 38) ... ok
[INFO] [stdout] test src/package_type.rs - package_type::Purl (line 72) ... ok
[INFO] [stdout] test src/parse.rs - parse::ParseError::UnsupportedUrlScheme (line 22) ... ok
[INFO] [stdout] test src/package_type.rs - package_type::PackageError::MissingRequiredField (line 217) ... ok
[INFO] [stdout] test src/lib.rs - (line 20) ... ok
[INFO] [stdout] test src/builder.rs - builder::GenericPurlBuilder (line 12) ... ok
[INFO] [stdout] test src/parse.rs - parse::ParseError::InvalidPackageType (line 54) ... ok
[INFO] [stdout] test src/lib.rs - PurlShape (line 41) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f922cb04840bbed52ac9054a17cd6530745551973fae058130a451d5ba60341f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f922cb04840bbed52ac9054a17cd6530745551973fae058130a451d5ba60341f", kill_on_drop: false }`
[INFO] [stdout] f922cb04840bbed52ac9054a17cd6530745551973fae058130a451d5ba60341f
