[INFO] fetching crate rust_bucket 0.1.0...
[INFO] checking rust_bucket-0.1.0 against master#39cb3386ddc6c71657418be28dbb3987eea4aa4b for pr-133536
[INFO] extracting crate rust_bucket 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate rust_bucket 0.1.0 on toolchain 39cb3386ddc6c71657418be28dbb3987eea4aa4b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rust_bucket 0.1.0
[INFO] finished tweaking crates.io crate rust_bucket 0.1.0
[INFO] tweaked toml for crates.io crate rust_bucket 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 110 packages to latest compatible versions
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.8.5)
[INFO] [stderr]       Adding rocket v0.4.11 (available: v0.5.1)
[INFO] [stderr]       Adding subtle v2.4.1 (available: v2.6.1)
[INFO] [stderr]       Adding toml v0.4.10 (available: v0.8.19)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded adjective_adjective_animal v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c90984be7f77e2d1d05a7518fdfee7a3e4b0a7ee231a09dd59c404560c87e035
[INFO] running `Command { std: "docker" "start" "-a" "c90984be7f77e2d1d05a7518fdfee7a3e4b0a7ee231a09dd59c404560c87e035", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c90984be7f77e2d1d05a7518fdfee7a3e4b0a7ee231a09dd59c404560c87e035", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c90984be7f77e2d1d05a7518fdfee7a3e4b0a7ee231a09dd59c404560c87e035", kill_on_drop: false }`
[INFO] [stdout] c90984be7f77e2d1d05a7518fdfee7a3e4b0a7ee231a09dd59c404560c87e035
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48c4eec39ee7af0be291db2b00fef86e19766ede7406ee4118b90bd40d4a5a4e
[INFO] running `Command { std: "docker" "start" "-a" "48c4eec39ee7af0be291db2b00fef86e19766ede7406ee4118b90bd40d4a5a4e", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling yansi v0.5.1
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling cpuid-bool v0.2.0
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling pear_codegen v0.1.5
[INFO] [stderr]    Compiling unicode-bidi v0.3.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling cpufeatures v0.2.16
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling language-tags v0.2.2
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling rocket_codegen v0.4.11
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling state v0.4.2
[INFO] [stderr]    Compiling rocket v0.4.11
[INFO] [stderr]    Compiling adjective_adjective_animal v0.1.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling cipher v0.2.5
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling universal-hash v0.4.1
[INFO] [stderr]    Compiling crypto-mac v0.10.1
[INFO] [stderr]    Compiling aead v0.3.2
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling polyval v0.4.5
[INFO] [stderr]    Compiling hmac v0.10.1
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]    Compiling ctr v0.6.0
[INFO] [stderr]    Compiling hkdf v0.10.0
[INFO] [stderr]    Compiling ghash v0.3.1
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]     Checking aes-gcm v0.8.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling devise_core v0.2.1
[INFO] [stderr]     Checking cookie v0.11.5
[INFO] [stderr]     Checking serde v1.0.215
[INFO] [stderr]    Compiling devise_codegen v0.2.1
[INFO] [stderr]    Compiling devise v0.2.1
[INFO] [stderr]    Compiling pear v0.1.5
[INFO] [stderr]     Checking rocket_http v0.4.11
[INFO] [stderr]     Checking toml v0.4.10
[INFO] [stderr]     Checking rust_bucket v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpListener`
[INFO] [stdout]   --> src/main.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: patterns aren't allowed in functions without bodies
[INFO] [stdout]    --> src/main.rs:140:33
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn upload_tcp_stream(&self, mut stream: TcpStream) -> Result<()>;
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: remove `mut` from the parameter: `stream`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout]     = note: `#[deny(patterns_in_fns_without_body)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpListener`
[INFO] [stdout]   --> src/main.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: patterns aren't allowed in functions without bodies
[INFO] [stdout]    --> src/main.rs:140:33
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn upload_tcp_stream(&self, mut stream: TcpStream) -> Result<()>;
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: remove `mut` from the parameter: `stream`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout]     = note: `#[deny(patterns_in_fns_without_body)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:261:23
[INFO] [stdout]     |
[INFO] [stdout] 261 | fn web_post(backend: &Backend, paste: LenientForm<PasteForm>) -> Result<String> {
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 261 | fn web_post(backend: &dyn Backend, paste: LenientForm<PasteForm>) -> Result<String> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:261:23
[INFO] [stdout]     |
[INFO] [stdout] 261 | fn web_post(backend: &Backend, paste: LenientForm<PasteForm>) -> Result<String> {
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 261 | fn web_post(backend: &dyn Backend, paste: LenientForm<PasteForm>) -> Result<String> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:274:25
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn upload_put(backend: &Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn upload_put(backend: &dyn Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:274:25
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn upload_put(backend: &Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn upload_put(backend: &dyn Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:279:26
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn upload_post(backend: &Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn upload_post(backend: &dyn Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:279:26
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn upload_post(backend: &Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn upload_post(backend: &dyn Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn upload_patch(backend: &Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn upload_patch(backend: &dyn Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn upload_patch(backend: &Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn upload_patch(backend: &dyn Backend, paste: Data) -> Result<String> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:289:29
[INFO] [stdout]     |
[INFO] [stdout] 289 | fn upload_put_key(backend: &Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 | fn upload_put_key(backend: &dyn Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:289:29
[INFO] [stdout]     |
[INFO] [stdout] 289 | fn upload_put_key(backend: &Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 | fn upload_put_key(backend: &dyn Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:294:30
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn upload_post_key(backend: &Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn upload_post_key(backend: &dyn Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:294:30
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn upload_post_key(backend: &Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn upload_post_key(backend: &dyn Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:299:31
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn upload_patch_key(backend: &Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                               ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn upload_patch_key(backend: &dyn Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:299:31
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn upload_patch_key(backend: &Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                               ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn upload_patch_key(backend: &dyn Backend, paste: Data, key: PasteID) -> Result<String> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:304:18
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn get(backend: &Backend, id: PasteID) -> Option<content::Plain<File>> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn get(backend: &dyn Backend, id: PasteID) -> Option<content::Plain<File>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:304:18
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn get(backend: &Backend, id: PasteID) -> Option<content::Plain<File>> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn get(backend: &dyn Backend, id: PasteID) -> Option<content::Plain<File>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]  --> src/tests.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 |     from.rfind('/').map(|i| &from[(i + 1)..]).map(|s| s.trim_right().to_string())
[INFO] [stdout]   |                                                         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]   |
[INFO] [stdout] 6 |     from.rfind('/').map(|i| &from[(i + 1)..]).map(|s| s.trim_end().to_string())
[INFO] [stdout]   |                                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:230:45
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let backend = req.guard::<State<Box<Backend>>>()?;
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let backend = req.guard::<State<Box<dyn Backend>>>()?;
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:230:45
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let backend = req.guard::<State<Box<Backend>>>()?;
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let backend = req.guard::<State<Box<dyn Backend>>>()?;
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:393:36
[INFO] [stdout]     |
[INFO] [stdout] 393 |     rocket().manage(backend as Box<Backend + 'static>).launch();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 393 |     rocket().manage(backend as Box<dyn Backend + 'static>).launch();
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:393:36
[INFO] [stdout]     |
[INFO] [stdout] 393 |     rocket().manage(backend as Box<Backend + 'static>).launch();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 393 |     rocket().manage(backend as Box<dyn Backend + 'static>).launch();
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upload_tcp_stream` is never used
[INFO] [stdout]    --> src/main.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | trait Backend: Sync + Send {
[INFO] [stdout]     |       ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn upload_tcp_stream(&self, mut stream: TcpStream) -> Result<()>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key` and `delete_after` are never read
[INFO] [stdout]    --> src/main.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 237 | struct PasteForm {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 240 |     key: Option<String>, // key to update/delete paste with // todo: use PasteId here for validation if you can figure out lifetime shit
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 241 |     delete_after: Option<String>, // delete after this date regardless // todo: use custom type here for validation
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy` is never used
[INFO] [stdout]    --> src/main.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn copy<R: ?Sized, W: ?Sized>(reader: &mut R, writer: &mut W, upload_max_size: u64) -> io::Result<u64>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upload_tcp_stream` is never used
[INFO] [stdout]    --> src/main.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | trait Backend: Sync + Send {
[INFO] [stdout]     |       ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn upload_tcp_stream(&self, mut stream: TcpStream) -> Result<()>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key` and `delete_after` are never read
[INFO] [stdout]    --> src/main.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 237 | struct PasteForm {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 240 |     key: Option<String>, // key to update/delete paste with // todo: use PasteId here for validation if you can figure out lifetime shit
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 241 |     delete_after: Option<String>, // delete after this date regardless // todo: use custom type here for validation
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy` is never used
[INFO] [stdout]    --> src/main.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn copy<R: ?Sized, W: ?Sized>(reader: &mut R, writer: &mut W, upload_max_size: u64) -> io::Result<u64>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_bucket` (bin "rust_bucket") due to 1 previous error; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust_bucket` (bin "rust_bucket" test) due to 1 previous error; 16 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "48c4eec39ee7af0be291db2b00fef86e19766ede7406ee4118b90bd40d4a5a4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48c4eec39ee7af0be291db2b00fef86e19766ede7406ee4118b90bd40d4a5a4e", kill_on_drop: false }`
[INFO] [stdout] 48c4eec39ee7af0be291db2b00fef86e19766ede7406ee4118b90bd40d4a5a4e
