[INFO] cloning repository https://github.com/phiresky/rga [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/phiresky/rga" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphiresky%2Frga", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphiresky%2Frga'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bcc01f7a62fea3f5cc49247fc8cc510fe30441ff [INFO] checking phiresky/rga against master#a874956d940ecb3ed524b6176a171219ac4787ea for pr-76104 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphiresky%2Frga" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/phiresky/rga on toolchain a874956d940ecb3ed524b6176a171219ac4787ea [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/phiresky/rga [INFO] removed path dependency zip from git repo https://github.com/phiresky/rga [INFO] finished tweaking git repo https://github.com/phiresky/rga [INFO] tweaked toml for git repo https://github.com/phiresky/rga written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/phiresky/rga already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: dependency (zip) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /workspace/builds/worker-8/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: dependency (zip) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eaf7a8af1213005960c2355b2a997579a33b3e5a53817b1b0be4bf5afd642ac7 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "eaf7a8af1213005960c2355b2a997579a33b3e5a53817b1b0be4bf5afd642ac7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eaf7a8af1213005960c2355b2a997579a33b3e5a53817b1b0be4bf5afd642ac7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eaf7a8af1213005960c2355b2a997579a33b3e5a53817b1b0be4bf5afd642ac7", kill_on_drop: false }` [INFO] [stdout] eaf7a8af1213005960c2355b2a997579a33b3e5a53817b1b0be4bf5afd642ac7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b9c772e3e13b243595f7fa9b4194dad9a7c4bc025f55a3e05b880bb1a6522cf6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b9c772e3e13b243595f7fa9b4194dad9a7c4bc025f55a3e05b880bb1a6522cf6", kill_on_drop: false }` [INFO] [stderr] warning: dependency (zip) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.77 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.21 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling serde_derive v1.0.116 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling lexical-core v0.7.4 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Checking ppv-lite86 v0.2.9 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Compiling serde_json v1.0.57 [INFO] [stderr] Compiling schemars v0.8.0-alpha-4 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking regex-syntax v0.6.18 [INFO] [stderr] Compiling anyhow v1.0.32 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking dyn-clone v1.0.2 [INFO] [stderr] Checking itoa v0.4.6 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking smallvec v1.4.2 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking termcolor v1.1.0 [INFO] [stderr] Checking podio v0.1.7 [INFO] [stderr] Checking path-clean v0.1.0 [INFO] [stderr] Checking glob v0.3.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Compiling itertools v0.9.0 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking encoding_rs v0.8.24 [INFO] [stderr] Checking log v0.4.11 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling indexmap v1.6.0 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling miniz_oxide v0.4.2 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking aho-corasick v0.7.13 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling jobserver v0.1.21 [INFO] [stderr] Compiling syn v1.0.41 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking term_size v0.3.2 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking dirs-sys-next v0.1.0 [INFO] [stderr] Checking xattr v0.2.2 [INFO] [stderr] Checking filetime v0.2.12 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Checking pretty-bytes v0.2.2 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking directories-next v1.0.1 [INFO] [stderr] Compiling cc v1.0.60 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking tar v0.4.30 [INFO] [stderr] Checking flate2 v1.0.17 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking ordered-float v1.1.0 [INFO] [stderr] Checking crossbeam v0.7.3 [INFO] [stderr] Checking chrono v0.4.15 [INFO] [stderr] Checking encoding_rs_io v0.1.7 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Compiling bzip2-sys v0.1.9+1.0.8 [INFO] [stderr] Compiling lmdb-rkv-sys v0.11.0 [INFO] [stderr] Compiling zstd-sys v1.4.17+zstd.1.4.5 [INFO] [stderr] Compiling lzma-sys v0.1.16 [INFO] [stderr] Compiling libsqlite3-sys v0.20.0 [INFO] [stderr] Checking size_format v1.0.2 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking xz2 v0.1.6 [INFO] [stderr] Checking bzip2 v0.3.3 [INFO] [stderr] Checking bzip2 v0.4.1 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking zip v0.5.6 [INFO] [stderr] Checking lmdb-rkv v0.14.0 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling serde_derive_internals v0.25.0 [INFO] [stderr] Compiling dyn-clonable-impl v0.9.0 [INFO] [stderr] Compiling schemars_derive v0.8.0-alpha-4 [INFO] [stderr] Compiling structopt-derive v0.4.10 [INFO] [stderr] Compiling derive_more v0.99.10 [INFO] [stderr] Checking dyn-clonable v0.9.0 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking rusqlite v0.24.0 [INFO] [stderr] Checking structopt v0.3.17 [INFO] [stderr] Checking serde v1.0.116 [INFO] [stderr] Checking bincode v1.3.1 [INFO] [stderr] Checking rkv v0.10.4 [INFO] [stderr] Checking petgraph v0.5.1 [INFO] [stderr] Checking tree_magic_mini v1.0.0 [INFO] [stderr] Checking zstd-safe v2.0.5+zstd.1.4.5 [INFO] [stderr] Checking zstd v0.5.3+zstd.1.4.5 [INFO] [stderr] Checking ripgrep_all v0.9.7-alpha.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(specialization)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] = note: see issue #31844 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader` [INFO] [stdout] --> src/adapters/fns.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{BufRead, BufReader}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/adapters/fns.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | io::{Read, Write}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/adapters/decompress.rs:51:65 [INFO] [stdout] | [INFO] [stdout] 51 | fn decompress_any(reason: &FileMatcher, inp: ReadBox) -> Result { [INFO] [stdout] | ------------ ------- ^^^^^^^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `reason` or `inp` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 51 | fn decompress_any<'a>(reason: &'a FileMatcher, inp: ReadBox) -> Result> { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(specialization)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] = note: see issue #31844 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader` [INFO] [stdout] --> src/adapters/fns.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{BufRead, BufReader}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/test_utils.rs:14:61 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn simple_adapt_info(filepath: &Path, inp: ReadBox) -> (AdaptInfo, FileMatcher) { [INFO] [stdout] | ----- ------- ^^^^^^^^^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `filepath` or `inp` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 14 | pub fn simple_adapt_info<'a>(filepath: &'a Path, inp: ReadBox) -> (AdaptInfo<'a>, FileMatcher) { [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/adapters/fns.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | io::{Read, Write}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/adapters/decompress.rs:51:65 [INFO] [stdout] | [INFO] [stdout] 51 | fn decompress_any(reason: &FileMatcher, inp: ReadBox) -> Result { [INFO] [stdout] | ------------ ------- ^^^^^^^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `reason` or `inp` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 51 | fn decompress_any<'a>(reason: &'a FileMatcher, inp: ReadBox) -> Result> { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `impl` item signature doesn't match `trait` item signature [INFO] [stdout] --> src/adapters/decompress.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | fn adapt(&self, ai: AdaptInfo, detection_reason: &FileMatcher) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(&DecompressAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher) -> std::result::Result, anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | fn adapt<'a>(&self, a: AdaptInfo<'a>, detection_reason: &FileMatcher) -> Result>; [INFO] [stdout] | --------------------------------------------------------------------------------------------- expected `fn(&DecompressAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher) -> std::result::Result, anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected `fn(&DecompressAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher) -> std::result::Result, _>` [INFO] [stdout] found `fn(&DecompressAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher) -> std::result::Result, _>` [INFO] [stdout] = help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` [INFO] [stdout] = help: verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `impl` item signature doesn't match `trait` item signature [INFO] [stdout] --> src/adapters/decompress.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | fn adapt(&self, ai: AdaptInfo, detection_reason: &FileMatcher) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(&decompress::DecompressAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher) -> std::result::Result, anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | fn adapt<'a>(&self, a: AdaptInfo<'a>, detection_reason: &FileMatcher) -> Result>; [INFO] [stdout] | --------------------------------------------------------------------------------------------- expected `fn(&decompress::DecompressAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher) -> std::result::Result, anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected `fn(&decompress::DecompressAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher) -> std::result::Result, _>` [INFO] [stdout] found `fn(&decompress::DecompressAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher) -> std::result::Result, _>` [INFO] [stdout] = help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` [INFO] [stdout] = help: verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `impl` item signature doesn't match `trait` item signature [INFO] [stdout] --> src/adapters/ffmpeg.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / fn adapt_write( [INFO] [stdout] 56 | | &self, [INFO] [stdout] 57 | | ai: AdaptInfo, [INFO] [stdout] 58 | | _detection_reason: &FileMatcher, [INFO] [stdout] ... | [INFO] [stdout] 156 | | Ok(()) [INFO] [stdout] 157 | | } [INFO] [stdout] | |_____^ found `fn(&FFmpegAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/writing.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | / fn adapt_write<'a>( [INFO] [stdout] 9 | | &self, [INFO] [stdout] 10 | | a: super::AdaptInfo<'a>, [INFO] [stdout] 11 | | detection_reason: &crate::matching::FileMatcher, [INFO] [stdout] 12 | | oup: &mut (dyn Write + 'a), [INFO] [stdout] 13 | | ) -> Result<()>; [INFO] [stdout] | |____________________- expected `fn(&FFmpegAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected `fn(&FFmpegAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<_, _>` [INFO] [stdout] found `fn(&FFmpegAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<_, _>` [INFO] [stdout] = help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` [INFO] [stdout] = help: verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `impl` item signature doesn't match `trait` item signature [INFO] [stdout] --> src/adapters/ffmpeg.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / fn adapt_write( [INFO] [stdout] 56 | | &self, [INFO] [stdout] 57 | | ai: AdaptInfo, [INFO] [stdout] 58 | | _detection_reason: &FileMatcher, [INFO] [stdout] ... | [INFO] [stdout] 156 | | Ok(()) [INFO] [stdout] 157 | | } [INFO] [stdout] | |_____^ found `fn(&FFmpegAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/writing.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | / fn adapt_write<'a>( [INFO] [stdout] 9 | | &self, [INFO] [stdout] 10 | | a: super::AdaptInfo<'a>, [INFO] [stdout] 11 | | detection_reason: &crate::matching::FileMatcher, [INFO] [stdout] 12 | | oup: &mut (dyn Write + 'a), [INFO] [stdout] 13 | | ) -> Result<()>; [INFO] [stdout] | |____________________- expected `fn(&FFmpegAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected `fn(&FFmpegAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<_, _>` [INFO] [stdout] found `fn(&FFmpegAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<_, _>` [INFO] [stdout] = help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` [INFO] [stdout] = help: verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `impl` item signature doesn't match `trait` item signature [INFO] [stdout] --> src/adapters/sqlite.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / fn adapt_write( [INFO] [stdout] 65 | | &self, [INFO] [stdout] 66 | | ai: AdaptInfo, [INFO] [stdout] 67 | | _detection_reason: &FileMatcher, [INFO] [stdout] ... | [INFO] [stdout] 122 | | Ok(()) [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____^ found `fn(&SqliteAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/writing.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | / fn adapt_write<'a>( [INFO] [stdout] 9 | | &self, [INFO] [stdout] 10 | | a: super::AdaptInfo<'a>, [INFO] [stdout] 11 | | detection_reason: &crate::matching::FileMatcher, [INFO] [stdout] 12 | | oup: &mut (dyn Write + 'a), [INFO] [stdout] 13 | | ) -> Result<()>; [INFO] [stdout] | |____________________- expected `fn(&SqliteAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected `fn(&SqliteAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<_, _>` [INFO] [stdout] found `fn(&SqliteAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<_, _>` [INFO] [stdout] = help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` [INFO] [stdout] = help: verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `impl` item signature doesn't match `trait` item signature [INFO] [stdout] --> src/adapters/sqlite.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / fn adapt_write( [INFO] [stdout] 65 | | &self, [INFO] [stdout] 66 | | ai: AdaptInfo, [INFO] [stdout] 67 | | _detection_reason: &FileMatcher, [INFO] [stdout] ... | [INFO] [stdout] 122 | | Ok(()) [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____^ found `fn(&sqlite::SqliteAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/writing.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | / fn adapt_write<'a>( [INFO] [stdout] 9 | | &self, [INFO] [stdout] 10 | | a: super::AdaptInfo<'a>, [INFO] [stdout] 11 | | detection_reason: &crate::matching::FileMatcher, [INFO] [stdout] 12 | | oup: &mut (dyn Write + 'a), [INFO] [stdout] 13 | | ) -> Result<()>; [INFO] [stdout] | |____________________- expected `fn(&sqlite::SqliteAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<(), anyhow::Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected `fn(&sqlite::SqliteAdapter, adapters::AdaptInfo<'a>, &matching::FileMatcher, &mut (dyn std::io::Write + 'a)) -> std::result::Result<_, _>` [INFO] [stdout] found `fn(&sqlite::SqliteAdapter, adapters::AdaptInfo<'_>, &matching::FileMatcher, &mut dyn std::io::Write) -> std::result::Result<_, _>` [INFO] [stdout] = help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait` [INFO] [stdout] = help: verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements [INFO] [stdout] --> src/adapters/decompress.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | let gz = |inp: ReadBox| Box::new(flate2::read::MultiGzDecoder::new(inp)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 54:14... [INFO] [stdout] --> src/adapters/decompress.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | let gz = |inp: ReadBox| Box::new(flate2::read::MultiGzDecoder::new(inp)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/adapters/decompress.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | let gz = |inp: ReadBox| Box::new(flate2::read::MultiGzDecoder::new(inp)); [INFO] [stdout] | ^^^ [INFO] [stdout] = note: expected `Box` [INFO] [stdout] found `Box` [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/adapters/decompress.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | / Ok(match reason { [INFO] [stdout] 60 | | Fast(FileExtension(ext)) => match ext.as_ref() { [INFO] [stdout] 61 | | "tgz" | "gz" => gz(inp), [INFO] [stdout] 62 | | "tbz" | "tbz2" | "bz2" => bz2(inp), [INFO] [stdout] ... | [INFO] [stdout] 73 | | }, [INFO] [stdout] 74 | | }) [INFO] [stdout] | |______^ [INFO] [stdout] = note: expected `std::result::Result, _>` [INFO] [stdout] found `std::result::Result, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements [INFO] [stdout] --> src/adapters/decompress.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | let gz = |inp: ReadBox| Box::new(flate2::read::MultiGzDecoder::new(inp)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 54:14... [INFO] [stdout] --> src/adapters/decompress.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | let gz = |inp: ReadBox| Box::new(flate2::read::MultiGzDecoder::new(inp)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/adapters/decompress.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | let gz = |inp: ReadBox| Box::new(flate2::read::MultiGzDecoder::new(inp)); [INFO] [stdout] | ^^^ [INFO] [stdout] = note: expected `Box` [INFO] [stdout] found `Box` [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/adapters/decompress.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | / Ok(match reason { [INFO] [stdout] 60 | | Fast(FileExtension(ext)) => match ext.as_ref() { [INFO] [stdout] 61 | | "tgz" | "gz" => gz(inp), [INFO] [stdout] 62 | | "tbz" | "tbz2" | "bz2" => bz2(inp), [INFO] [stdout] ... | [INFO] [stdout] 73 | | }, [INFO] [stdout] 74 | | }) [INFO] [stdout] | |______^ [INFO] [stdout] = note: expected `std::result::Result, _>` [INFO] [stdout] found `std::result::Result, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0759]: `ai_outer` has lifetime `'a` but it needs to satisfy a `'static` lifetime requirement [INFO] [stdout] --> src/adapters/writing.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 34 | ai_outer: super::AdaptInfo<'a>, [INFO] [stdout] | -------------------- this data with lifetime `'a`... [INFO] [stdout] ... [INFO] [stdout] 40 | std::thread::spawn(move || { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 41 | | let mut oup = w; [INFO] [stdout] 42 | | let ai = ai_outer; [INFO] [stdout] 43 | | let res = cc.adapt_write(ai, &detc, &mut oup); [INFO] [stdout] ... | [INFO] [stdout] 47 | | } [INFO] [stdout] 48 | | }); [INFO] [stdout] | |_________^ ...is captured here... [INFO] [stdout] | [INFO] [stdout] note: ...and is required to live as long as `'static` here [INFO] [stdout] --> src/adapters/writing.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | std::thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0759]: `ai_outer` has lifetime `'a` but it needs to satisfy a `'static` lifetime requirement [INFO] [stdout] --> src/adapters/writing.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 34 | ai_outer: super::AdaptInfo<'a>, [INFO] [stdout] | -------------------- this data with lifetime `'a`... [INFO] [stdout] ... [INFO] [stdout] 40 | std::thread::spawn(move || { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 41 | | let mut oup = w; [INFO] [stdout] 42 | | let ai = ai_outer; [INFO] [stdout] 43 | | let res = cc.adapt_write(ai, &detc, &mut oup); [INFO] [stdout] ... | [INFO] [stdout] 47 | | } [INFO] [stdout] 48 | | }); [INFO] [stdout] | |_________^ ...is captured here... [INFO] [stdout] | [INFO] [stdout] note: ...and is required to live as long as `'static` here [INFO] [stdout] --> src/adapters/writing.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | std::thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/adapters/zip.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | inp: &mut file, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `Box`, found `&mut ZipFile<'_>` [INFO] [stdout] | help: store this in the heap by calling `Box::new`: `Box::new(&mut file)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box` [INFO] [stdout] found mutable reference `&mut ZipFile<'_>` [INFO] [stdout] = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/adapters/zip.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | inp: &mut file, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `Box`, found `&mut ZipFile<'_>` [INFO] [stdout] | help: store this in the heap by calling `Box::new`: `Box::new(&mut file)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box` [INFO] [stdout] found mutable reference `&mut ZipFile<'_>` [INFO] [stdout] = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0106, E0308, E0495, E0759. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ripgrep_all` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `inp` [INFO] [stdout] --> src/test_utils.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn simple_adapt_info(filepath: &Path, inp: ReadBox) -> (AdaptInfo, FileMatcher) { [INFO] [stdout] | ------- help: add explicit lifetime `'static` to the type of `inp`: `Box<(dyn std::io::Read + Send + 'static)>` [INFO] [stdout] 15 | ( [INFO] [stdout] 16 | / AdaptInfo { [INFO] [stdout] 17 | | filepath_hint: filepath.to_owned(), [INFO] [stdout] 18 | | is_real_file: true, [INFO] [stdout] 19 | | archive_recursion_depth: 0, [INFO] [stdout] ... | [INFO] [stdout] 22 | | config: RgaConfig::default(), [INFO] [stdout] 23 | | }, [INFO] [stdout] | |_________^ lifetime `'static` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0106, E0308, E0495, E0621, E0759. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "b9c772e3e13b243595f7fa9b4194dad9a7c4bc025f55a3e05b880bb1a6522cf6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9c772e3e13b243595f7fa9b4194dad9a7c4bc025f55a3e05b880bb1a6522cf6", kill_on_drop: false }` [INFO] [stdout] b9c772e3e13b243595f7fa9b4194dad9a7c4bc025f55a3e05b880bb1a6522cf6