[INFO] cloning repository https://github.com/wushilin/rust-s3-server [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wushilin/rust-s3-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwushilin%2Frust-s3-server", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwushilin%2Frust-s3-server'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a518d5b0279e1f1f0b4942169dc851ec0f326249 [INFO] testing wushilin/rust-s3-server against master#b03b3a7ec92682be2917540b679478d41c95a30c for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwushilin%2Frust-s3-server" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wushilin/rust-s3-server [INFO] finished tweaking git repo https://github.com/wushilin/rust-s3-server [INFO] tweaked toml for git repo https://github.com/wushilin/rust-s3-server written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wushilin/rust-s3-server on toolchain b03b3a7ec92682be2917540b679478d41c95a30c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wushilin/rust-s3-server 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" "+b03b3a7ec92682be2917540b679478d41c95a30c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded windows-result v0.3.3 [INFO] [stderr] Downloaded windows-core v0.61.1 [INFO] [stderr] Downloaded asyncio-utils v0.4.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c1706fa86035da33d0fb25b7a67f5f385032bce9bcf20c63284dc608115d24ae [INFO] running `Command { std: "docker" "start" "-a" "c1706fa86035da33d0fb25b7a67f5f385032bce9bcf20c63284dc608115d24ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c1706fa86035da33d0fb25b7a67f5f385032bce9bcf20c63284dc608115d24ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c1706fa86035da33d0fb25b7a67f5f385032bce9bcf20c63284dc608115d24ae", kill_on_drop: false }` [INFO] [stdout] c1706fa86035da33d0fb25b7a67f5f385032bce9bcf20c63284dc608115d24ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e2f36c45fb1fa689b171135a7298bfc2ac1d617df36370da0cc94c9f453eedc9 [INFO] running `Command { std: "docker" "start" "-a" "e2f36c45fb1fa689b171135a7298bfc2ac1d617df36370da0cc94c9f453eedc9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling smallvec v1.15.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling hashbrown v0.15.3 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling cookie v0.17.0 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ref-cast v1.0.24 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling socket2 v0.5.9 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling tokio v1.45.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling stable-pattern v0.1.0 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling toml_write v0.1.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling state v0.5.3 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling winnow v0.7.10 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling multer v2.1.0 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling destructure_traitobject v0.2.0 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling unsafe-any-ors v1.0.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling http v1.3.1 [INFO] [stderr] Compiling rocket v0.5.0-rc.3 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling clap_lex v0.7.4 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling clap_builder v4.5.38 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling typemap-ors v1.0.0 [INFO] [stderr] Compiling thread-id v4.2.2 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling log-mdc v0.1.0 [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Compiling atomic v0.5.3 [INFO] [stderr] Compiling binascii v0.1.4 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling devise_core v0.4.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling pear_codegen v0.2.9 [INFO] [stderr] Compiling ref-cast-impl v1.0.24 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling devise_codegen v0.4.2 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling devise v0.4.2 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling pear v0.2.9 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling clap v4.5.38 [INFO] [stderr] Compiling rocket_http v0.5.0-rc.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling rocket_codegen v0.5.0-rc.3 [INFO] [stderr] Compiling serde_spanned v0.6.8 [INFO] [stderr] Compiling toml_datetime v0.6.9 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling ubyte v0.10.4 [INFO] [stderr] Compiling toml_edit v0.22.26 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling asyncio-utils v0.4.4 [INFO] [stderr] Compiling log4rs v1.3.0 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling toml v0.8.22 [INFO] [stderr] Compiling rust-s3-server v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Bucket` [INFO] [stdout] --> src/test.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use fsapi::{Bucket, FS}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::fs::File` [INFO] [stdout] --> src/test.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::__Deref` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use lazy_static::__Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | / struct ListQuery { [INFO] [stdout] 36 | | delimiter: Option, [INFO] [stdout] 37 | | #[allow(unused)] [INFO] [stdout] 38 | | #[field(name = "encoding-type")] [INFO] [stdout] ... | [INFO] [stdout] 47 | | continuation_token: Option [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/fsapi.rs:803:42 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `type_for` is never used [INFO] [stdout] --> src/fsapi.rs:927:8 [INFO] [stdout] | [INFO] [stdout] 824 | impl<'a> S3Object<'a> { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 927 | fn type_for(path: &PathBuf) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:254:20 [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:392:31 [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:504:29 [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:725:21 [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:756:30 [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:768:26 [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:792:29 [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:803:35 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:888:21 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/fsapi.rs:965:44 [INFO] [stdout] | [INFO] [stdout] 965 | let mut object_key = object_key.clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/main.rs:160:10 [INFO] [stdout] | [INFO] [stdout] 160 | for (index, next) in objects.iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `empty` [INFO] [stdout] --> src/main.rs:446:5 [INFO] [stdout] | [INFO] [stdout] 446 | empty:String, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/fsapi.rs:803:42 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `type_for` is never used [INFO] [stdout] --> src/fsapi.rs:927:8 [INFO] [stdout] | [INFO] [stdout] 824 | impl<'a> S3Object<'a> { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 927 | fn type_for(path: &PathBuf) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/request_guards.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct CreateBucket(bool); [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CreateBucket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:254:20 [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:392:31 [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:504:29 [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:725:21 [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:756:30 [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:768:26 [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:792:29 [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:803:35 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:888:21 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/fsapi.rs:965:44 [INFO] [stdout] | [INFO] [stdout] 965 | let mut object_key = object_key.clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s [INFO] running `Command { std: "docker" "inspect" "e2f36c45fb1fa689b171135a7298bfc2ac1d617df36370da0cc94c9f453eedc9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e2f36c45fb1fa689b171135a7298bfc2ac1d617df36370da0cc94c9f453eedc9", kill_on_drop: false }` [INFO] [stdout] e2f36c45fb1fa689b171135a7298bfc2ac1d617df36370da0cc94c9f453eedc9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 346faabdab45a3388ebd3079e2840569291964e3d341edc78b6b77e293be4be5 [INFO] running `Command { std: "docker" "start" "-a" "346faabdab45a3388ebd3079e2840569291964e3d341edc78b6b77e293be4be5", kill_on_drop: false }` [INFO] [stderr] Compiling rust-s3-server v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Bucket` [INFO] [stdout] --> src/test.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use fsapi::{Bucket, FS}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::fs::File` [INFO] [stdout] --> src/test.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/fsapi.rs:803:42 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `type_for` is never used [INFO] [stdout] --> src/fsapi.rs:927:8 [INFO] [stdout] | [INFO] [stdout] 824 | impl<'a> S3Object<'a> { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 927 | fn type_for(path: &PathBuf) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:254:20 [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:392:31 [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:504:29 [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::__Deref` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use lazy_static::__Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | / struct ListQuery { [INFO] [stdout] 36 | | delimiter: Option, [INFO] [stdout] 37 | | #[allow(unused)] [INFO] [stdout] 38 | | #[field(name = "encoding-type")] [INFO] [stdout] ... | [INFO] [stdout] 47 | | continuation_token: Option [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:725:21 [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:756:30 [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:768:26 [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:792:29 [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:803:35 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:888:21 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/fsapi.rs:965:44 [INFO] [stdout] | [INFO] [stdout] 965 | let mut object_key = object_key.clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/main.rs:160:10 [INFO] [stdout] | [INFO] [stdout] 160 | for (index, next) in objects.iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `empty` [INFO] [stdout] --> src/main.rs:446:5 [INFO] [stdout] | [INFO] [stdout] 446 | empty:String, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/fsapi.rs:803:42 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `type_for` is never used [INFO] [stdout] --> src/fsapi.rs:927:8 [INFO] [stdout] | [INFO] [stdout] 824 | impl<'a> S3Object<'a> { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 927 | fn type_for(path: &PathBuf) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/request_guards.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct CreateBucket(bool); [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CreateBucket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:254:20 [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | fn get_sibling(&self, obj:S3Object) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:392:31 [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:504:29 [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 504 | pub fn list_all_objects(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:725:21 [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 725 | fn file_for_key(&self, key:&str)->S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:756:30 [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 756 | pub fn get_object_by_key(&self, key:&str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:768:26 [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:792:29 [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:803:35 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fsapi.rs:888:21 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 888 | pub fn metafile(&self) -> S3Object<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/fsapi.rs:965:44 [INFO] [stdout] | [INFO] [stdout] 965 | let mut object_key = object_key.clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.25s [INFO] running `Command { std: "docker" "inspect" "346faabdab45a3388ebd3079e2840569291964e3d341edc78b6b77e293be4be5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "346faabdab45a3388ebd3079e2840569291964e3d341edc78b6b77e293be4be5", kill_on_drop: false }` [INFO] [stdout] 346faabdab45a3388ebd3079e2840569291964e3d341edc78b6b77e293be4be5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 59ed1d12fad629ca609274300ad305e4c97da54749a4e156fdbfd918395ecded [INFO] running `Command { std: "docker" "start" "-a" "59ed1d12fad629ca609274300ad305e4c97da54749a4e156fdbfd918395ecded", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `lazy_static::__Deref` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use lazy_static::__Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC for more information [INFO] [stderr] --> src/main.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / struct ListQuery { [INFO] [stderr] 36 | | delimiter: Option, [INFO] [stderr] 37 | | #[allow(unused)] [INFO] [stderr] 38 | | #[field(name = "encoding-type")] [INFO] [stderr] ... | [INFO] [stderr] 47 | | continuation_token: Option [INFO] [stderr] 48 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/main.rs:160:10 [INFO] [stderr] | [INFO] [stderr] 160 | for (index, next) in objects.iter().enumerate() { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `empty` [INFO] [stderr] --> src/main.rs:446:5 [INFO] [stderr] | [INFO] [stderr] 446 | empty:String, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prefix` [INFO] [stderr] --> src/fsapi.rs:803:42 [INFO] [stderr] | [INFO] [stderr] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stderr] [INFO] [stderr] warning: associated function `type_for` is never used [INFO] [stderr] --> src/fsapi.rs:927:8 [INFO] [stderr] | [INFO] [stderr] 824 | impl<'a> S3Object<'a> { [INFO] [stderr] | --------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 927 | fn type_for(path: &PathBuf) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/request_guards.rs:117:25 [INFO] [stderr] | [INFO] [stderr] 117 | pub struct CreateBucket(bool); [INFO] [stderr] | ------------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `CreateBucket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:254:20 [INFO] [stderr] | [INFO] [stderr] 254 | fn get_sibling(&self, obj:S3Object) -> Vec { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 254 | fn get_sibling(&self, obj:S3Object) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:355:25 [INFO] [stderr] | [INFO] [stderr] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec { [INFO] [stderr] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 355 | pub fn list_objects(&self, prefix:&str, after:&str, limit: usize) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:392:31 [INFO] [stderr] | [INFO] [stderr] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec { [INFO] [stderr] | ^^^^^ this lifetime flows to the output -------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 392 | pub fn list_objects_short(&self, key:&str, after:&str, limit:usize) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:504:29 [INFO] [stderr] | [INFO] [stderr] 504 | pub fn list_all_objects(&self) -> Vec { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 504 | pub fn list_all_objects(&self) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:725:21 [INFO] [stderr] | [INFO] [stderr] 725 | fn file_for_key(&self, key:&str)->S3Object { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 725 | fn file_for_key(&self, key:&str)->S3Object<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:756:30 [INFO] [stderr] | [INFO] [stderr] 756 | pub fn get_object_by_key(&self, key:&str) -> Option { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 756 | pub fn get_object_by_key(&self, key:&str) -> Option> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:768:26 [INFO] [stderr] | [INFO] [stderr] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 768 | fn meta_file_for_key(&self, key:&str) -> S3Object<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:792:29 [INFO] [stderr] | [INFO] [stderr] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 792 | pub fn list_objects_old(&self, prefix:&str) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:803:35 [INFO] [stderr] | [INFO] [stderr] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/fsapi.rs:888:21 [INFO] [stderr] | [INFO] [stderr] 888 | pub fn metafile(&self) -> S3Object { [INFO] [stderr] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 888 | pub fn metafile(&self) -> S3Object<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/fsapi.rs:965:44 [INFO] [stderr] | [INFO] [stderr] 965 | let mut object_key = object_key.clone().to_string(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Bucket` [INFO] [stderr] --> src/test.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use fsapi::{Bucket, FS}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokio::fs::File` [INFO] [stderr] --> src/test.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use tokio::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/test.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prefix` [INFO] [stderr] --> src/fsapi.rs:803:42 [INFO] [stderr] | [INFO] [stderr] 803 | pub fn list_objects_short_old(&self, prefix:&str) -> Vec { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rust-s3-server` (bin "rusts3" test) generated 18 warnings (run `cargo fix --bin "rusts3" --tests` to apply 2 suggestions) [INFO] [stderr] warning: `rust-s3-server` (bin "test" test) generated 16 warnings (12 duplicates) (run `cargo fix --bin "test" --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rusts3-d960e022549e76dd) [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] [stdout] [INFO] [stderr] Running unittests src/test.rs (/opt/rustwide/target/debug/deps/test-2d6fc161efe9f28a) [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] running `Command { std: "docker" "inspect" "59ed1d12fad629ca609274300ad305e4c97da54749a4e156fdbfd918395ecded", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59ed1d12fad629ca609274300ad305e4c97da54749a4e156fdbfd918395ecded", kill_on_drop: false }` [INFO] [stdout] 59ed1d12fad629ca609274300ad305e4c97da54749a4e156fdbfd918395ecded