[INFO] fetching crate rocfl 1.7.0...
[INFO] testing rocfl-1.7.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rocfl 1.7.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate rocfl 1.7.0
[INFO] finished tweaking crates.io crate rocfl 1.7.0
[INFO] tweaked toml for crates.io crate rocfl 1.7.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rocfl 1.7.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rocfl 1.7.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_core` dependency)
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_s3` dependency)
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 51511e68e6f6e17b35186b8faf2e688cf4f225c07273c7082b146637c5b633c9
[INFO] running `Command { std: "docker" "start" "-a" "51511e68e6f6e17b35186b8faf2e688cf4f225c07273c7082b146637c5b633c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "51511e68e6f6e17b35186b8faf2e688cf4f225c07273c7082b146637c5b633c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51511e68e6f6e17b35186b8faf2e688cf4f225c07273c7082b146637c5b633c9", kill_on_drop: false }`
[INFO] [stdout] 51511e68e6f6e17b35186b8faf2e688cf4f225c07273c7082b146637c5b633c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67b06845a4b016e7959e8378d0db1995bf36b549f3422c5c405982946eb150d4
[INFO] running `Command { std: "docker" "start" "-a" "67b06845a4b016e7959e8378d0db1995bf36b549f3422c5c405982946eb150d4", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_core` dependency)
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_s3` dependency)
[INFO] [stderr]    Compiling libc v0.2.134
[INFO] [stderr]    Compiling proc-macro2 v1.0.46
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling futures-core v0.3.24
[INFO] [stderr]    Compiling futures-sink v0.3.24
[INFO] [stderr]    Compiling bytes v1.2.1
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling futures-task v0.3.24
[INFO] [stderr]    Compiling futures-channel v0.3.24
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling futures-util v0.3.24
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling itoa v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.145
[INFO] [stderr]    Compiling futures-io v0.3.24
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling semver v1.0.14
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling http v0.2.8
[INFO] [stderr]    Compiling async-trait v0.1.57
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling rustls v0.20.6
[INFO] [stderr]    Compiling cpufeatures v0.2.5
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.10.3
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling iana-time-zone v0.1.50
[INFO] [stderr]    Compiling digest v0.10.5
[INFO] [stderr]    Compiling rustls-pemfile v1.0.1
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling aho-corasick v0.7.19
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling crypto-mac v0.11.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling shlex v1.1.0
[INFO] [stderr]    Compiling zeroize v1.5.7
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling rustls-native-certs v0.6.2
[INFO] [stderr]    Compiling hmac v0.11.0
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling md-5 v0.9.1
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling rustversion v1.0.9
[INFO] [stderr]    Compiling rusoto_core v0.48.0
[INFO] [stderr]    Compiling grep-matcher v0.1.5
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling fastrand v1.8.0
[INFO] [stderr]    Compiling thiserror v1.0.37
[INFO] [stderr]    Compiling os_str_bytes v6.3.0
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.22
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling clap_lex v0.3.0
[INFO] [stderr]    Compiling bytecount v0.6.3
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling blake2 v0.10.4
[INFO] [stderr]    Compiling md-5 v0.10.5
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]    Compiling sha-1 v0.10.0
[INFO] [stderr]    Compiling uriparse v0.6.4
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling natord v1.0.9
[INFO] [stderr]    Compiling pathdiff v0.2.1
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling socket2 v0.4.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling regex v1.6.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling which v4.3.0
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]    Compiling memmap2 v0.5.7
[INFO] [stderr]    Compiling nix v0.25.0
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling const_format v0.2.28
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling edit v0.1.4
[INFO] [stderr]    Compiling encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling grep-searcher v0.1.10
[INFO] [stderr]    Compiling directories v4.0.1
[INFO] [stderr]    Compiling sct v0.7.0
[INFO] [stderr]    Compiling webpki v0.22.0
[INFO] [stderr]    Compiling ctrlc v3.2.3
[INFO] [stderr]    Compiling globset v0.4.9
[INFO] [stderr]    Compiling env_logger v0.9.1
[INFO] [stderr]    Compiling grep-regex v0.1.10
[INFO] [stderr]    Compiling futures-macro v0.3.24
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling clap_derive v4.0.10
[INFO] [stderr]    Compiling enum_dispatch v0.3.8
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling clap v4.0.10
[INFO] [stderr]    Compiling futures-executor v0.3.24
[INFO] [stderr]    Compiling futures v0.3.24
[INFO] [stderr]    Compiling chrono v0.4.22
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling tokio-util v0.7.4
[INFO] [stderr]    Compiling tokio-rustls v0.23.4
[INFO] [stderr]    Compiling h2 v0.3.14
[INFO] [stderr]    Compiling hyper v0.14.20
[INFO] [stderr]    Compiling rusoto_credential v0.48.0
[INFO] [stderr]    Compiling hyper-rustls v0.23.0
[INFO] [stderr]    Compiling rusoto_signature v0.48.0
[INFO] [stderr]    Compiling rusoto_s3 v0.48.0
[INFO] [stderr]    Compiling rocfl v1.7.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cmd/diff.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView {
[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] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/diff.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn path_display(&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 path_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/list.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView {
[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] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/list.rs:256:29
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView {
[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] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/table.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn heading_cell(&self) -> TextCell {
[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] 149 |     fn heading_cell(&self) -> TextCell<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/bimap.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn iter(&self) -> Iter<Rc<P>, Rc<HexDigest>> {
[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] 156 |     pub fn iter(&self) -> Iter<'_, Rc<P>, Rc<HexDigest>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/bimap.rs:161:26
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter_id_paths(&self) -> Iter<Rc<HexDigest>, HashSet<Rc<P>>> {
[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] 161 |     pub fn iter_id_paths(&self) -> Iter<'_, Rc<HexDigest>, HashSet<Rc<P>>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/inventory.rs:644:23
[INFO] [stdout]     |
[INFO] [stdout] 644 |     pub fn state_iter(&self) -> Iter<Rc<LogicalPath>, Rc<HexDigest>> {
[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] 644 |     pub fn state_iter(&self) -> Iter<'_, Rc<LogicalPath>, Rc<HexDigest>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>>;
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>>;
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:211:23
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn file(path: &str) -> Listing {
[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] 211 |     pub fn file(path: &str) -> Listing<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:215:22
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn dir(path: &str) -> Listing {
[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] 215 |     pub fn dir(path: &str) -> Listing<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/fs.rs:964:13
[INFO] [stdout]     |
[INFO] [stdout] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/layout.rs:661:35
[INFO] [stdout]     |
[INFO] [stdout] 661 | fn lower_percent_escape(original: &str) -> 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] 661 | fn lower_percent_escape(original: &str) -> Cow<'_, str> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ocfl/store/s3.rs:1184:13
[INFO] [stdout]      |
[INFO] [stdout] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stdout]      |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stdout]      |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/types.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn parts(&self) -> Split<char>;
[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] 94 |     fn parts(&self) -> Split<'_, char>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:579:14
[INFO] [stdout]     |
[INFO] [stdout] 579 |     fn parts(&self) -> Split<char> {
[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] 579 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:637:14
[INFO] [stdout]     |
[INFO] [stdout] 637 |     fn parts(&self) -> Split<char> {
[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] 637 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn parts(&self) -> Split<char> {
[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] 689 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/util.rs:54:43
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn convert_forwardslash_to_back(path: &str) -> 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] 54 | pub fn convert_forwardslash_to_back(path: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/util.rs:62:43
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn convert_backslash_to_forward(path: &str) -> 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] 62 | pub fn convert_backslash_to_forward(path: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/validate/mod.rs:660:26
[INFO] [stdout]     |
[INFO] [stdout] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<S>> {
[INFO] [stdout]     |                          ^^^^^ the lifetime is elided here    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<'_, S>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ocfl/validate/mod.rs:2076:13
[INFO] [stdout]      |
[INFO] [stdout] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter {
[INFO] [stdout]      |             ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter<'_> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "67b06845a4b016e7959e8378d0db1995bf36b549f3422c5c405982946eb150d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67b06845a4b016e7959e8378d0db1995bf36b549f3422c5c405982946eb150d4", kill_on_drop: false }`
[INFO] [stdout] 67b06845a4b016e7959e8378d0db1995bf36b549f3422c5c405982946eb150d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49a572eaee883ffff3ba0fe2b24fa049b3f50c06cd43cf7965b930d64cbf4926
[INFO] running `Command { std: "docker" "start" "-a" "49a572eaee883ffff3ba0fe2b24fa049b3f50c06cd43cf7965b930d64cbf4926", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_core` dependency)
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_s3` dependency)
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.12
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.11
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling predicates-core v1.0.3
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling float-cmp v0.9.0
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling concolor-query v0.0.5
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling termtree v0.2.4
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]    Compiling predicates-tree v1.0.5
[INFO] [stderr]    Compiling concolor v0.0.8
[INFO] [stderr]    Compiling combine v4.6.6
[INFO] [stderr]    Compiling content_inspector v0.2.4
[INFO] [stderr]    Compiling filetime v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling os_pipe v1.1.1
[INFO] [stderr]    Compiling yansi v0.5.1
[INFO] [stderr]    Compiling snapbox-macros v0.3.1
[INFO] [stderr]    Compiling similar v2.2.0
[INFO] [stderr]    Compiling dunce v1.0.3
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling fs_extra v1.2.0
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling ignore v0.4.18
[INFO] [stderr]    Compiling async-stream v0.3.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling predicates v2.1.1
[INFO] [stderr]    Compiling assert_cmd v1.0.8
[INFO] [stderr]    Compiling assert_fs v1.0.7
[INFO] [stderr]    Compiling snapbox v0.4.0
[INFO] [stderr]    Compiling toml_edit v0.14.4
[INFO] [stderr]    Compiling tokio-util v0.7.4
[INFO] [stderr]    Compiling tokio-rustls v0.23.4
[INFO] [stderr]    Compiling tokio-stream v0.1.10
[INFO] [stderr]    Compiling h2 v0.3.14
[INFO] [stderr]    Compiling tokio-test v0.4.2
[INFO] [stderr]    Compiling hyper v0.14.20
[INFO] [stderr]    Compiling rusoto_credential v0.48.0
[INFO] [stderr]    Compiling hyper-rustls v0.23.0
[INFO] [stderr]    Compiling rusoto_signature v0.48.0
[INFO] [stderr]    Compiling rusoto_core v0.48.0
[INFO] [stderr]    Compiling rusoto_s3 v0.48.0
[INFO] [stderr]    Compiling rocfl v1.7.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling trycmd v0.14.0
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cmd/diff.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView {
[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] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/diff.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn path_display(&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 path_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/list.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView {
[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] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/list.rs:256:29
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView {
[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] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/table.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn heading_cell(&self) -> TextCell {
[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] 149 |     fn heading_cell(&self) -> TextCell<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/bimap.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn iter(&self) -> Iter<Rc<P>, Rc<HexDigest>> {
[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] 156 |     pub fn iter(&self) -> Iter<'_, Rc<P>, Rc<HexDigest>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/bimap.rs:161:26
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter_id_paths(&self) -> Iter<Rc<HexDigest>, HashSet<Rc<P>>> {
[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] 161 |     pub fn iter_id_paths(&self) -> Iter<'_, Rc<HexDigest>, HashSet<Rc<P>>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/inventory.rs:644:23
[INFO] [stdout]     |
[INFO] [stdout] 644 |     pub fn state_iter(&self) -> Iter<Rc<LogicalPath>, Rc<HexDigest>> {
[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] 644 |     pub fn state_iter(&self) -> Iter<'_, Rc<LogicalPath>, Rc<HexDigest>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>>;
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>>;
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:211:23
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn file(path: &str) -> Listing {
[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] 211 |     pub fn file(path: &str) -> Listing<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:215:22
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn dir(path: &str) -> Listing {
[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] 215 |     pub fn dir(path: &str) -> Listing<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/fs.rs:964:13
[INFO] [stdout]     |
[INFO] [stdout] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/layout.rs:661:35
[INFO] [stdout]     |
[INFO] [stdout] 661 | fn lower_percent_escape(original: &str) -> 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] 661 | fn lower_percent_escape(original: &str) -> Cow<'_, str> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ocfl/store/s3.rs:1184:13
[INFO] [stdout]      |
[INFO] [stdout] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stdout]      |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stdout]      |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/types.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn parts(&self) -> Split<char>;
[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] 94 |     fn parts(&self) -> Split<'_, char>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:579:14
[INFO] [stdout]     |
[INFO] [stdout] 579 |     fn parts(&self) -> Split<char> {
[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] 579 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:637:14
[INFO] [stdout]     |
[INFO] [stdout] 637 |     fn parts(&self) -> Split<char> {
[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] 637 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn parts(&self) -> Split<char> {
[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] 689 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/util.rs:54:43
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn convert_forwardslash_to_back(path: &str) -> 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] 54 | pub fn convert_forwardslash_to_back(path: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/util.rs:62:43
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn convert_backslash_to_forward(path: &str) -> 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] 62 | pub fn convert_backslash_to_forward(path: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/validate/mod.rs:660:26
[INFO] [stdout]     |
[INFO] [stdout] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<S>> {
[INFO] [stdout]     |                          ^^^^^ the lifetime is elided here    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<'_, S>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ocfl/validate/mod.rs:2076:13
[INFO] [stdout]      |
[INFO] [stdout] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter {
[INFO] [stdout]      |             ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter<'_> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cmd/diff.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView {
[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] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/diff.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn path_display(&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 path_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/list.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView {
[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] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/list.rs:256:29
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView {
[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] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cmd/table.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn heading_cell(&self) -> TextCell {
[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] 149 |     fn heading_cell(&self) -> TextCell<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/bimap.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn iter(&self) -> Iter<Rc<P>, Rc<HexDigest>> {
[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] 156 |     pub fn iter(&self) -> Iter<'_, Rc<P>, Rc<HexDigest>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/bimap.rs:161:26
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter_id_paths(&self) -> Iter<Rc<HexDigest>, HashSet<Rc<P>>> {
[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] 161 |     pub fn iter_id_paths(&self) -> Iter<'_, Rc<HexDigest>, HashSet<Rc<P>>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/inventory.rs:644:23
[INFO] [stdout]     |
[INFO] [stdout] 644 |     pub fn state_iter(&self) -> Iter<Rc<LogicalPath>, Rc<HexDigest>> {
[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] 644 |     pub fn state_iter(&self) -> Iter<'_, Rc<LogicalPath>, Rc<HexDigest>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>>;
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>>;
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:211:23
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn file(path: &str) -> Listing {
[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] 211 |     pub fn file(path: &str) -> Listing<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/mod.rs:215:22
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn dir(path: &str) -> Listing {
[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] 215 |     pub fn dir(path: &str) -> Listing<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/fs.rs:964:13
[INFO] [stdout]     |
[INFO] [stdout] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/store/layout.rs:661:35
[INFO] [stdout]     |
[INFO] [stdout] 661 | fn lower_percent_escape(original: &str) -> 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] 661 | fn lower_percent_escape(original: &str) -> Cow<'_, str> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ocfl/store/s3.rs:1184:13
[INFO] [stdout]      |
[INFO] [stdout] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stdout]      |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stdout]      |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/types.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn parts(&self) -> Split<char>;
[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] 94 |     fn parts(&self) -> Split<'_, char>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:579:14
[INFO] [stdout]     |
[INFO] [stdout] 579 |     fn parts(&self) -> Split<char> {
[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] 579 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:637:14
[INFO] [stdout]     |
[INFO] [stdout] 637 |     fn parts(&self) -> Split<char> {
[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] 637 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/types.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn parts(&self) -> Split<char> {
[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] 689 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/util.rs:54:43
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn convert_forwardslash_to_back(path: &str) -> 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] 54 | pub fn convert_forwardslash_to_back(path: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ocfl/util.rs:62:43
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn convert_backslash_to_forward(path: &str) -> 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] 62 | pub fn convert_backslash_to_forward(path: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ocfl/validate/mod.rs:660:26
[INFO] [stdout]     |
[INFO] [stdout] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<S>> {
[INFO] [stdout]     |                          ^^^^^ the lifetime is elided here    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<'_, S>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ocfl/validate/mod.rs:2076:13
[INFO] [stdout]      |
[INFO] [stdout] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter {
[INFO] [stdout]      |             ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter<'_> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.2.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "49a572eaee883ffff3ba0fe2b24fa049b3f50c06cd43cf7965b930d64cbf4926", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49a572eaee883ffff3ba0fe2b24fa049b3f50c06cd43cf7965b930d64cbf4926", kill_on_drop: false }`
[INFO] [stdout] 49a572eaee883ffff3ba0fe2b24fa049b3f50c06cd43cf7965b930d64cbf4926
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 403b2167b016c29cfb46e2307e84566eccecf26929665e36bbc4150907440021
[INFO] running `Command { std: "docker" "start" "-a" "403b2167b016c29cfb46e2307e84566eccecf26929665e36bbc4150907440021", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_core` dependency)
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `rusoto_s3` dependency)
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/cmd/diff.rs:63:22
[INFO] [stderr]    |
[INFO] [stderr] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView {
[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] 63 |     fn version_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stderr]    |                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cmd/diff.rs:246:21
[INFO] [stderr]     |
[INFO] [stderr] 246 |     fn path_display(&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 path_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cmd/list.rs:235:21
[INFO] [stderr]     |
[INFO] [stderr] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView {
[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] 235 |     fn object_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stderr]     |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cmd/list.rs:256:29
[INFO] [stderr]     |
[INFO] [stderr] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView {
[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] 256 |     fn object_content_table(&self, args: GlobalArgs) -> TableView<'_> {
[INFO] [stderr]     |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cmd/table.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |     fn heading_cell(&self) -> TextCell {
[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] 149 |     fn heading_cell(&self) -> TextCell<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/bimap.rs:156:17
[INFO] [stderr]     |
[INFO] [stderr] 156 |     pub fn iter(&self) -> Iter<Rc<P>, Rc<HexDigest>> {
[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] 156 |     pub fn iter(&self) -> Iter<'_, Rc<P>, Rc<HexDigest>> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/bimap.rs:161:26
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn iter_id_paths(&self) -> Iter<Rc<HexDigest>, HashSet<Rc<P>>> {
[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] 161 |     pub fn iter_id_paths(&self) -> Iter<'_, Rc<HexDigest>, HashSet<Rc<P>>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/inventory.rs:644:23
[INFO] [stderr]     |
[INFO] [stderr] 644 |     pub fn state_iter(&self) -> Iter<Rc<LogicalPath>, Rc<HexDigest>> {
[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] 644 |     pub fn state_iter(&self) -> Iter<'_, Rc<LogicalPath>, Rc<HexDigest>> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/store/mod.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>>;
[INFO] [stderr]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 193 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>>;
[INFO] [stderr]     |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/store/mod.rs:211:23
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub fn file(path: &str) -> Listing {
[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] 211 |     pub fn file(path: &str) -> Listing<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/store/mod.rs:215:22
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn dir(path: &str) -> Listing {
[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] 215 |     pub fn dir(path: &str) -> Listing<'_> {
[INFO] [stderr]     |                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/store/fs.rs:964:13
[INFO] [stderr]     |
[INFO] [stderr] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stderr]     |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 964 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stderr]     |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/store/layout.rs:661:35
[INFO] [stderr]     |
[INFO] [stderr] 661 | fn lower_percent_escape(original: &str) -> 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] 661 | fn lower_percent_escape(original: &str) -> Cow<'_, str> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/ocfl/store/s3.rs:1184:13
[INFO] [stderr]      |
[INFO] [stderr] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing>> {
[INFO] [stderr]      |             ^^^^^ the lifetime is elided here                 ^^^^^^^ the same lifetime is hidden 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] 1184 |     fn list(&self, path: &str, recursive: bool) -> Result<Vec<Listing<'_>>> {
[INFO] [stderr]      |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ocfl/types.rs:94:14
[INFO] [stderr]    |
[INFO] [stderr] 94 |     fn parts(&self) -> Split<char>;
[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] 94 |     fn parts(&self) -> Split<'_, char>;
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/types.rs:579:14
[INFO] [stderr]     |
[INFO] [stderr] 579 |     fn parts(&self) -> Split<char> {
[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] 579 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/types.rs:637:14
[INFO] [stderr]     |
[INFO] [stderr] 637 |     fn parts(&self) -> Split<char> {
[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] 637 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/types.rs:689:14
[INFO] [stderr]     |
[INFO] [stderr] 689 |     fn parts(&self) -> Split<char> {
[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] 689 |     fn parts(&self) -> Split<'_, char> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ocfl/util.rs:54:43
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn convert_forwardslash_to_back(path: &str) -> 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] 54 | pub fn convert_forwardslash_to_back(path: &str) -> Cow<'_, str> {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ocfl/util.rs:62:43
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub fn convert_backslash_to_forward(path: &str) -> 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] 62 | pub fn convert_backslash_to_forward(path: &str) -> Cow<'_, str> {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ocfl/validate/mod.rs:660:26
[INFO] [stderr]     |
[INFO] [stderr] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<S>> {
[INFO] [stderr]     |                          ^^^^^ the lifetime is elided here    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 660 |     pub fn validate_repo(&self, fixity_check: bool) -> Result<IncrementalValidatorImpl<'_, S>> {
[INFO] [stderr]     |                                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/ocfl/validate/mod.rs:2076:13
[INFO] [stderr]      |
[INFO] [stderr] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter {
[INFO] [stderr]      |             ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 2076 |     fn iter(&self, version_num: VersionNum) -> ContentPathsIter<'_> {
[INFO] [stderr]      |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rocfl` (lib) generated 22 warnings (run `cargo fix --lib -p rocfl` to apply 22 suggestions)
[INFO] [stderr] warning: `rocfl` (lib test) generated 22 warnings (22 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.2.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rocfl-39e80cb3c3c25914)
[INFO] [stdout] 
[INFO] [stdout] running 94 tests
[INFO] [stdout] test ocfl::bimap::tests::serialize_empty ... ok
[INFO] [stdout] test ocfl::digest::tests::calculate_digest_while_writing ... ok
[INFO] [stdout] test ocfl::digest::tests::calculate_multiple_digests_while_writing ... ok
[INFO] [stdout] test ocfl::bimap::tests::insert_retrieve_remove ... ok
[INFO] [stdout] test ocfl::digest::tests::calculate_digest_while_reading ... ok
[INFO] [stdout] test ocfl::bimap::tests::insert_existing_path ... ok
[INFO] [stdout] test ocfl::bimap::tests::serialize ... ok
[INFO] [stdout] test ocfl::serde::tests::all_fields_mapped_minimal ... ok
[INFO] [stdout] test ocfl::serde::tests::all_fields_mapped ... ok
[INFO] [stdout] test ocfl::digest::tests::blake2b_test ... ok
[INFO] [stdout] test ocfl::serde::tests::deserialize_dedup ... ok
[INFO] [stdout] test ocfl::lock::tests::release_lock_when_out_of_scope ... ok
[INFO] [stdout] test ocfl::lock::tests::acquire_multiple_locks ... ok
[INFO] [stdout] test ocfl::lock::tests::acquire_lock_when_available ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_type_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_head_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_algorithm_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_state_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_type_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_state_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_message_field - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0003_init_when_invalid_digest - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0003_init_when_invalid_tuple_2 - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::unknown_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_content_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_created_field - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0003_init_when_digest_not_long_enough - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_id_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_user_field - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::flat_omit_fail_when_delimiter_empty - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_algorithm_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_id_field - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_head_field - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0004_init_when_invalid_digest - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_versions_field - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0003_init_when_invalid_tuple_1 - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0004_init_when_invalid_tuple_2 - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::flat_omit_mapping_single_char ... ok
[INFO] [stdout] test ocfl::store::layout::tests::lower_case_percent_escape ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_default_config_0003 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_default_config_0004 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_different_algorithm_0003 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_different_tuple_count_0003 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_different_tuple_count_0004 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_short_root_0004 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_different_tuple_size_0003 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_different_tuple_size_0004 ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_flat_omit_mapping_when_ends_with_delimiter - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::ntuple_omit_mapping_multi_char ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_manifest_field - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::ntuple_omit_mapping_single_char ... ok
[INFO] [stdout] test ocfl::store::layout::tests::map_id_with_different_algorithm_0004 ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_both_have_slashes ... ok
[INFO] [stdout] test ocfl::store::s3::tests::is_root_when_not_has_object_marker_key ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_created_field - should panic ... ok
[INFO] [stdout] test ocfl::store::s3::tests::is_root_when_has_object_marker_key ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_first_has_slash ... ok
[INFO] [stdout] test ocfl::serde::tests::duplicate_versions_field - should panic ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_both_no_slashes ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_first_empty ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_both_empty ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0004_init_when_digest_not_long_enough - should panic ... ok
[INFO] [stdout] test ocfl::serde::tests::missing_manifest_field - should panic ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_first_is_only_slash ... ok
[INFO] [stdout] test ocfl::types::tests::create_logical_path_when_root ... ok
[INFO] [stdout] test ocfl::store::s3::tests::join_path_when_second_empty ... ok
[INFO] [stdout] test ocfl::types::tests::create_logical_path_when_valid ... ok
[INFO] [stdout] test ocfl::store::layout::tests::ntuple_omit_fail_when_contains_non_ascii_chars - should panic ... ok
[INFO] [stdout] test ocfl::types::tests::allow_next_version_when_zero_padded_and_less_than_max ... ok
[INFO] [stdout] test ocfl::types::tests::remove_leading_and_trailing_slashes_from_logical_paths ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::empty_json ... ok
[INFO] [stdout] test ocfl::types::tests::reject_logical_paths_with_double_dot - should panic ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::bad_key ... ok
[INFO] [stdout] test ocfl::store::layout::tests::ntuple_omit_fail_when_delimiter_empty - should panic ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::head_wrong_type ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::manifest_invalid_path_object ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::head_object ... ok
[INFO] [stdout] test ocfl::types::tests::enforce_max_version_when_padded - should panic ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::manifest_invalid_path_type ... ok
[INFO] [stdout] test ocfl::types::tests::reject_logical_paths_with_double_dot_leading - should panic ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::manifest_wrong_key_type ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::manifest_wrong_type ... ok
[INFO] [stdout] test ocfl::types::tests::reject_logical_paths_with_single_dot - should panic ... ok
[INFO] [stdout] test ocfl::store::layout::tests::fail_0004_init_when_invalid_tuple_1 - should panic ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::invalid_version_object ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::state_invalid_type ... ok
[INFO] [stdout] test ocfl::types::tests::reject_logical_paths_with_empty_parts - should panic ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::fixity_invalid_type ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::unknown_key ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::user_address_invalid_type ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::duplicate_key ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::invalid_version_type ... ok
[INFO] [stdout] test ocfl::validate::serde::tests::user_wrong_type ... ok
[INFO] [stdout] test ocfl::store::layout::tests::flat_omit_mapping_multi_char ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 94 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/rocfl.rs (/opt/rustwide/target/debug/deps/rocfl-e2e7fbb23396bd46)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli-tests.rs (/opt/rustwide/target/debug/deps/cli_tests-2547290d545710c0)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test validate_repo_sanity ... ok
[INFO] [stdout] test validate_repo_quiet ... ok
[INFO] [stdout] test basic_create_sanity_check ... ok
[INFO] [stdout] test list_multiple_objects ... ok
[INFO] [stderr]      Running tests/fs-tests.rs (/opt/rustwide/target/debug/deps/fs_tests-caac428da218a620)
[INFO] [stdout] test logical_directory_listing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 126 tests
[INFO] [stdout] test commit_should_pretty_print_inventory ... ok
[INFO] [stdout] test commit_should_use_custom_meta_when_mixture_provided ... ok
[INFO] [stdout] test copy_files_into_new_object ... ok
[INFO] [stdout] test copy_into_dir_when_dest_is_existing_dir ... ok
[INFO] [stdout] test copy_should_partially_succeed_when_multiple_src_and_some_fail ... ok
[INFO] [stdout] test commit_should_remove_staged_object ... ok
[INFO] [stdout] test commit_should_use_custom_meta_when_provided ... ok
[INFO] [stdout] test copy_multiple_sources ... ok
[INFO] [stdout] test create_1_1_object ... ok
[INFO] [stdout] test copy_to_dir_when_dst_ends_in_slash ... ok
[INFO] [stdout] test copy_files_into_existing_object ... ok
[INFO] [stdout] test create_new_repo_empty_dir_custom_layout ... ok
[INFO] [stdout] test create_new_flat_repo_empty_dir ... ok
[INFO] [stdout] test copied_files_should_dedup_on_commit ... ok
[INFO] [stdout] test diff_first_version_all_adds ... ok
[INFO] [stdout] test create_and_update_object_in_repo_with_no_layout ... ok
[INFO] [stdout] test diff_same_version_no_diff ... ok
[INFO] [stdout] test create_object_with_non_standard_config ... ok
[INFO] [stdout] test create_new_hash_id_repo_empty_dir ... ok
[INFO] [stdout] test diff_when_left_and_right_specified ... ok
[INFO] [stdout] test create_new_repo_empty_dir ... ok
[INFO] [stdout] test diff_with_previous_when_left_not_specified ... ok
[INFO] [stdout] test diff_should_detect_multi_dest_rename ... ok
[INFO] [stdout] test diff_should_detect_multi_src_multi_dest_rename ... ok
[INFO] [stdout] test diff_empty_when_no_staged_changes ... ok
[INFO] [stdout] test diff_staged_changes_when_some ... ok
[INFO] [stdout] test diff_version_not_exists - should panic ... ok
[INFO] [stdout] test error_when_get_invalid_object - should panic ... ok
[INFO] [stdout] test diff_object_not_exists - should panic ... ok
[INFO] [stdout] test error_when_object_not_exists - should panic ... ok
[INFO] [stdout] test error_when_version_not_exists - should panic ... ok
[INFO] [stdout] test error_when_object_not_exists_with_layout - should panic ... ok
[INFO] [stdout] test commit_should_fail_when_object_has_no_changes - should panic ... ok
[INFO] [stdout] test copy_should_reject_conflicting_files - should panic ... ok
[INFO] [stdout] test commit_should_fail_when_address_and_no_name - should panic ... ok
[INFO] [stdout] test do_not_stage_changes_for_objects_with_mutable_heads - should panic ... ok
[INFO] [stdout] test copy_should_reject_conflicting_dirs - should panic ... ok
[INFO] [stdout] test fail_get_object_file_when_does_not_exist - should panic ... ok
[INFO] [stdout] test fail_move_when_target_obj_does_not_exist - should panic ... ok
[INFO] [stdout] test get_object_file_when_exists ... ok
[INFO] [stdout] test get_object_version_when_exists ... ok
[INFO] [stdout] test diff_should_detect_multi_origin_rename ... ok
[INFO] [stdout] test get_object_when_exists ... ok
[INFO] [stdout] test commit_should_fail_when_object_does_not_exist - should panic ... ok
[INFO] [stdout] test fail_copy_when_target_obj_does_not_exist - should panic ... ok
[INFO] [stdout] test get_object_when_exists_using_layout ... ok
[INFO] [stdout] test get_object_with_mutable_head ... ok
[INFO] [stdout] test fail_new_repo_creation_when_non_empty_root - should panic ... ok
[INFO] [stdout] test fail_copy_when_src_dir_and_recursion_not_enabled - should panic ... ok
[INFO] [stdout] test fail_copy_when_src_does_not_exist - should panic ... ok
[INFO] [stdout] test fail_move_when_src_does_not_exist - should panic ... ok
[INFO] [stdout] test fail_when_incorrect_object_in_root - should panic ... ok
[INFO] [stdout] test fail_copy_when_conflicting_src ... ok
[INFO] [stdout] test copy_should_reject_bad_dst - should panic ... ok
[INFO] [stdout] test internal_copy_of_new_file_should_copy_file_on_disk ... ok
[INFO] [stdout] test fail_object_commit_when_no_known_storage_layout_and_root_specified_and_obj_already_there - should panic ... ok
[INFO] [stdout] test internal_copy_of_duplicate_file_should_operate_on_staged_version ... ok
[INFO] [stdout] test internal_copy_should_reject_conflicting_dirs - should panic ... ok
[INFO] [stdout] test internal_move_of_new_file_should_move_file_on_disk ... ok
[INFO] [stdout] test diff_should_detect_simple_rename ... ok
[INFO] [stdout] test internal_copy_should_reject_conflicting_files - should panic ... ok
[INFO] [stdout] test internal_move_of_new_file_should_move_file_on_disk_and_not_leave_empty_dirs ... ok
[INFO] [stdout] test get_staged_object_file_when_exists_in_prior_version ... ok
[INFO] [stdout] test fail_reset_when_conflicted - should panic ... ok
[INFO] [stdout] test internal_copy_should_reject_bad_dst - should panic ... ok
[INFO] [stdout] test list_all_objects ... ok
[INFO] [stdout] test internal_copy_multiple_existing_file ... ok
[INFO] [stdout] test list_empty_repo ... ok
[INFO] [stdout] test list_file_versions_when_multiple ... ok
[INFO] [stdout] test list_file_versions_not_exists - should panic ... ok
[INFO] [stdout] test list_single_object_from_glob ... ok
[INFO] [stdout] test list_repo_with_invalid_objects ... ok
[INFO] [stdout] test fail_commit_when_staged_version_out_of_sync_with_main ... ok
[INFO] [stdout] test list_versions_when_multiple ... ok
[INFO] [stdout] test list_versions_not_exists - should panic ... ok
[INFO] [stdout] test internal_copy_files_with_recursive_glob ... ok
[INFO] [stdout] test internal_copy_should_continue_on_partial_success ... ok
[INFO] [stdout] test move_into_dir_when_dst_ends_with_slash ... ok
[INFO] [stdout] test move_into_dir_when_dest_is_existing_dir ... ok
[INFO] [stdout] test internal_move_should_continue_on_partial_success ... ok
[INFO] [stdout] test fail_get_staged_object_file_when_does_not_exist - should panic ... ok
[INFO] [stdout] test get_staged_object_file_when_exists_in_staged_version ... ok
[INFO] [stdout] test internal_move_should_reject_conflicting_dirs - should panic ... ok
[INFO] [stdout] test purge_should_do_nothing_when_obj_does_not_exist ... ok
[INFO] [stdout] test object_commit_when_no_known_storage_layout_and_root_specified ... ok
[INFO] [stdout] test move_should_partially_succeed_when_multiple_src_and_some_fail ... ok
[INFO] [stdout] test move_should_reject_conflicting_dirs - should panic ... ok
[INFO] [stdout] test internal_move_single_existing_file ... ok
[INFO] [stdout] test move_files_into_new_object ... ok
[INFO] [stdout] test internal_move_should_reject_bad_dst - should panic ... ok
[INFO] [stdout] test move_should_reject_conflicting_files - should panic ... ok
[INFO] [stdout] test reject_object_creation_when_object_already_exists_in_staging - should panic ... ok
[INFO] [stdout] test reject_object_creation_when_object_version_greater_than_repo - should panic ... ok
[INFO] [stdout] test reject_object_creation_with_empty_id - should panic ... ok
[INFO] [stdout] test reject_object_creation_with_invalid_algorithm - should panic ... ok
[INFO] [stdout] test move_files_should_dedup_on_commit ... ok
[INFO] [stdout] test reject_object_creation_with_invalid_content_dir_dot_dot - should panic ... ok
[INFO] [stdout] test reject_object_creation_with_invalid_content_dir_dot - should panic ... ok
[INFO] [stdout] test reject_object_creation_when_object_already_exists_in_main - should panic ... ok
[INFO] [stdout] test reject_object_commit_when_no_known_storage_layout - should panic ... ok
[INFO] [stdout] test reject_object_creation_with_invalid_content_dir_slash - should panic ... ok
[INFO] [stdout] test internal_copy_files_added_in_staged_version ... ok
[INFO] [stdout] test internal_move_multiple_existing_file ... ok
[INFO] [stdout] test internal_copy_single_existing_file ... ok
[INFO] [stdout] test internal_move_should_reject_conflicting_files - should panic ... ok
[INFO] [stdout] test internal_move_files_added_in_staged_version ... ok
[INFO] [stdout] test move_should_reject_bad_dst - should panic ... ok
[INFO] [stdout] test reset_should_do_nothing_if_object_does_not_exist ... ok
[INFO] [stdout] test purge_should_remove_object_from_repo ... ok
[INFO] [stdout] test use_latest_version_when_object_and_repo_version_no_specified ... ok
[INFO] [stdout] test remove_files_that_do_not_exist_should_do_nothing ... ok
[INFO] [stdout] test use_repo_version_when_object_version_no_specified ... ok
[INFO] [stdout] test move_files_into_existing_object ... ok
[INFO] [stdout] test purge_should_remove_object_from_repo_and_staging ... ok
[INFO] [stdout] test reset_newly_added_files ... ok
[INFO] [stdout] test reset_changes_to_existing_files ... ok
[INFO] [stdout] test reset_all - should panic ... ok
[INFO] [stdout] test reset_removed_file ... ok
[INFO] [stdout] test reset_should_do_nothing_if_object_has_no_changes ... ok
[INFO] [stdout] test remove_recursive ... ok
[INFO] [stdout] test remove_existing_file ... ok
[INFO] [stdout] test remove_globs ... ok
[INFO] [stdout] test reset_complex_changes_without_conflict ... ok
[INFO] [stdout] test reset_copied_file ... ok
[INFO] [stdout] test remove_multiple_existing_files ... ok
[INFO] [stdout] test reset_should_do_nothing_when_path_does_not_exist ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 126 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.74s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/s3-tests.rs (/opt/rustwide/target/debug/deps/s3_tests-c7a62cc3eccde886)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test create_and_update_object ... ok
[INFO] [stdout] test create_new_object ... ok
[INFO] [stdout] test create_new_repo_empty_dir ... ok
[INFO] [stdout] test validate_invalid_object ... ok
[INFO] [stdout] test validate_valid_object ... ok
[INFO] [stdout] test purge_object ... ok
[INFO] [stdout] test purge_object_when_not_exists ... ok
[INFO] [stdout] test fail_commit_when_out_of_sync - should panic ... ok
[INFO] [stdout] test fail_create_new_object_when_already_exists - should panic ... ok
[INFO] [stdout] test fail_create_new_repo_when_repo_already_exists - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trycmd-tests.rs (/opt/rustwide/target/debug/deps/trycmd_tests-a6860e98fc1a2d35)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] Testing tests/trycmd/fs/repo-init-1.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-init-1.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-2.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-2.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-3.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-3.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-1.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-1.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-info-1.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-info-1.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-upgrade-2.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-upgrade-2.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-5.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-5.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-3.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-3.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-1.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-1.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-4.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-4.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-4.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-info-4.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-info-2.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-info-2.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-6.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-6.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-upgrade-1.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/repo-upgrade-1.toml:teardown ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-2.toml ... ok
[INFO] [stderr] Testing tests/trycmd/fs/obj-upgrade-2.toml:teardown ... ok
[INFO] [stdout] test fs_tests ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/validate-tests.rs (/opt/rustwide/target/debug/deps/validate_tests-180b124e1e4de8ce)
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test bad_version_block_values ... ok
[INFO] [stdout] test created_not_to_seconds ... ok
[INFO] [stdout] test conflicting_logical_paths ... ok
[INFO] [stdout] test created_no_timezone ... ok
[INFO] [stdout] test bad_declaration_contents ... ok
[INFO] [stdout] test different_root_and_latest_inventories ... ok
[INFO] [stdout] test extra_dir_in_root ... ok
[INFO] [stdout] test extra_dir_in_version_dir ... ok
[INFO] [stdout] test fixity_invalid_content_paths ... ok
[INFO] [stdout] test algorithm_change_incorrect_digest ... ok
[INFO] [stdout] test empty_object ... ok
[INFO] [stdout] test file_in_manifest_not_used ... ok
[INFO] [stdout] test extra_file_in_root ... ok
[INFO] [stdout] test head_not_most_recent ... ok
[INFO] [stdout] test fixity_duplicate_digests ... ok
[INFO] [stdout] test file_in_extensions_dir ... ok
[INFO] [stdout] test algorithm_change_state_mismatch ... ok
[INFO] [stdout] test invalid_content_dir ... ok
[INFO] [stdout] test id_not_uri ... ok
[INFO] [stdout] test content_file_digest_mismatch ... ok
[INFO] [stdout] test content_path_does_not_exist ... ok
[INFO] [stdout] test invalid_logical_paths ... ok
[INFO] [stdout] test extra_file ... ok
[INFO] [stdout] test manifest_digest_wrong_case ... ok
[INFO] [stdout] test manifest_duplicate_digests ... ok
[INFO] [stdout] test invalid_padded_head_version ... ok
[INFO] [stdout] test inconsistent_content_dir ... ok
[INFO] [stdout] test multiple_root_version_declarations ... ok
[INFO] [stdout] test inconsistent_id ... ok
[INFO] [stdout] test invalid_version_format ... ok
[INFO] [stdout] test invalid_sidecar ... ok
[INFO] [stdout] test no_manifest ... ok
[INFO] [stdout] test missing_file ... ok
[INFO] [stdout] test manifest_invalid_content_paths ... ok
[INFO] [stdout] test no_head ... ok
[INFO] [stdout] test no_decl ... ok
[INFO] [stdout] test no_inv ... ok
[INFO] [stdout] test non_unique_content_paths ... ok
[INFO] [stdout] test no_sidecar ... ok
[INFO] [stdout] test non_unique_logical_paths ... ok
[INFO] [stdout] test fixity_digest_mismatch ... ok
[INFO] [stdout] test no_message_or_user ... ok
[INFO] [stdout] test no_version_inventory ... ok
[INFO] [stdout] test skipped_versions ... ok
[INFO] [stdout] test inconsistent_version_state ... ok
[INFO] [stdout] test root_inventory_digest_mismatch ... ok
[INFO] [stdout] test no_id ... ok
[INFO] [stdout] test missing_versions ... ok
[INFO] [stdout] test unregistered_extension ... ok
[INFO] [stdout] test user_no_address ... ok
[INFO] [stdout] test monotonically_increasing_versions ... ok
[INFO] [stdout] test v2_file_in_root ... ok
[INFO] [stdout] test old_manifest_missing_entries ... ok
[INFO] [stdout] test content_not_in_content_dir ... ok
[INFO] [stdout] test wrong_digest_algorithm ... ok
[INFO] [stdout] test version_inventory_digest_mismatch ... ok
[INFO] [stdout] test wrong_head_doesnt_exist ... ok
[INFO] [stdout] test user_address_not_uri ... ok
[INFO] [stdout] test wrong_head_format ... ok
[INFO] [stdout] test uses_sha256 ... ok
[INFO] [stdout] test root_no_most_recent ... ok
[INFO] [stdout] test version_inv_diff_metadata ... ok
[INFO] [stdout] test versions_diff_digests ... ok
[INFO] [stdout] test zero_padded_versions_2 ... ok
[INFO] [stdout] test old_manifest_digest_incorrect ... ok
[INFO] [stdout] test wrong_version_in_version_dir ... ok
[INFO] [stdout] test multiple_object_version_declarations ... ok
[INFO] [stdout] test validate_valid_repo ... ok
[INFO] [stdout] test validate_invalid_repo ... ok
[INFO] [stdout] test validate_object_does_not_exist - should panic ... ok
[INFO] [stdout] test zero_padded_versions ... ok
[INFO] [stdout] test official_valid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rocfl
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/ocfl/mod.rs - ocfl (line 5) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.21s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "403b2167b016c29cfb46e2307e84566eccecf26929665e36bbc4150907440021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "403b2167b016c29cfb46e2307e84566eccecf26929665e36bbc4150907440021", kill_on_drop: false }`
[INFO] [stdout] 403b2167b016c29cfb46e2307e84566eccecf26929665e36bbc4150907440021
