[INFO] fetching crate scryfall 0.14.0... [INFO] checking scryfall-0.14.0 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate scryfall 0.14.0 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate scryfall 0.14.0 on toolchain 23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate scryfall 0.14.0 [INFO] finished tweaking crates.io crate scryfall 0.14.0 [INFO] tweaked toml for crates.io crate scryfall 0.14.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate crates.io crate scryfall 0.14.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4b1ffdcc85c887451ba704d14cf24bdc1fee3610d99515e0e87f30c441554b66 [INFO] running `Command { std: "docker" "start" "-a" "4b1ffdcc85c887451ba704d14cf24bdc1fee3610d99515e0e87f30c441554b66", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4b1ffdcc85c887451ba704d14cf24bdc1fee3610d99515e0e87f30c441554b66", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b1ffdcc85c887451ba704d14cf24bdc1fee3610d99515e0e87f30c441554b66", kill_on_drop: false }` [INFO] [stdout] 4b1ffdcc85c887451ba704d14cf24bdc1fee3610d99515e0e87f30c441554b66 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4b649066c241066b1ba32b4072d56294b7bb1a552e61990d76395aa6075b9f6c [INFO] running `Command { std: "docker" "start" "-a" "4b649066c241066b1ba32b4072d56294b7bb1a552e61990d76395aa6075b9f6c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.63 [INFO] [stderr] Compiling quote v1.0.28 [INFO] [stderr] Compiling unicode-ident v1.0.5 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking pin-project-lite v0.2.9 [INFO] [stderr] Compiling syn v1.0.103 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Checking bytes v1.4.0 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking once_cell v1.16.0 [INFO] [stderr] Compiling cc v1.0.74 [INFO] [stderr] Compiling serde_derive v1.0.147 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling serde v1.0.147 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Checking itoa v1.0.4 [INFO] [stderr] Checking futures-io v0.3.28 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking tracing-core v0.1.31 [INFO] [stderr] Compiling openssl v0.10.55 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling tokio v1.28.2 [INFO] [stderr] Compiling slab v0.4.8 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Checking percent-encoding v2.2.0 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking try-lock v0.2.4 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking unicode-bidi v0.3.8 [INFO] [stderr] Checking form_urlencoded v1.1.0 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Compiling rustversion v1.0.9 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Checking httpdate v1.0.2 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Compiling serde_json v1.0.87 [INFO] [stderr] Compiling thiserror v1.0.37 [INFO] [stderr] Compiling async-trait v0.1.68 [INFO] [stderr] Checking encoding_rs v0.8.32 [INFO] [stderr] Checking ipnet v2.7.2 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Compiling syn v2.0.22 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Checking base64 v0.21.2 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking iana-time-zone v0.1.53 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling openssl-sys v0.9.90 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking idna v0.3.0 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Compiling thiserror-impl v1.0.37 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking futures-executor v0.3.28 [INFO] [stderr] Checking futures v0.3.28 [INFO] [stderr] Checking tokio-util v0.7.8 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tokio-stream v0.1.14 [INFO] [stderr] Checking tokio-test v0.4.2 [INFO] [stderr] Checking h2 v0.3.20 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking url v2.3.1 [INFO] [stderr] Checking httpstatus v0.1.2 [INFO] [stderr] Checking chrono v0.4.22 [INFO] [stderr] Checking uuid v1.2.1 [INFO] [stderr] Checking hyper v0.14.27 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.18 [INFO] [stderr] Checking scryfall v0.14.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | // BulkDataFile::of_type("oracle_cards") [INFO] [stdout] 169 | || .await? [INFO] [stdout] | ||_______________- temporary value created here [INFO] [stdout] 170 | | .load_iter() [INFO] [stdout] 171 | | .await [INFO] [stdout] | |_______________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | // BulkDataFile::of_type("oracle_cards") [INFO] [stdout] 169 | || .await? [INFO] [stdout] | ||_______________- temporary value created here [INFO] [stdout] 170 | | .load_iter() [INFO] [stdout] 171 | | .await [INFO] [stdout] | |_______________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | // BulkDataFile::of_type("unique_artwork") [INFO] [stdout] 178 | || .await? [INFO] [stdout] | ||_______________- temporary value created here [INFO] [stdout] 179 | | .load_iter() [INFO] [stdout] 180 | | .await [INFO] [stdout] | |_______________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | // BulkDataFile::of_type("unique_artwork") [INFO] [stdout] 178 | || .await? [INFO] [stdout] | ||_______________- temporary value created here [INFO] [stdout] 179 | | .load_iter() [INFO] [stdout] 180 | | .await [INFO] [stdout] | |_______________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | // BulkDataFile::of_type("default_cards") [INFO] [stdout] 187 | || .await? [INFO] [stdout] | ||_______________- temporary value created here [INFO] [stdout] 188 | | .load_iter() [INFO] [stdout] 189 | | .await [INFO] [stdout] | |_______________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | // BulkDataFile::of_type("default_cards") [INFO] [stdout] 187 | || .await? [INFO] [stdout] | ||_______________- temporary value created here [INFO] [stdout] 188 | | .load_iter() [INFO] [stdout] 189 | | .await [INFO] [stdout] | |_______________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | BulkDataFile::of_type("all_cards").await?.load_iter().await [INFO] [stdout] | -----------------------------------------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | temporary value created here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | BulkDataFile::of_type("all_cards").await?.load_iter().await [INFO] [stdout] | -----------------------------------------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | temporary value created here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | BulkDataFile::of_type("rulings").await?.load_iter().await [INFO] [stdout] | ---------------------------------------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | temporary value created here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/bulk.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | BulkDataFile::of_type("rulings").await?.load_iter().await [INFO] [stdout] | ---------------------------------------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | temporary value created here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:189:34 [INFO] [stdout] | [INFO] [stdout] 186 | Box::pin(stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 187 | let item = state.stream_next().await; [INFO] [stdout] | ----- borrow of `state` occurs here [INFO] [stdout] 188 | if let Some(val) = item { [INFO] [stdout] 189 | Some((val.await, state)) [INFO] [stdout] | ^^^^^ move out of `state` occurs here [INFO] [stdout] ... [INFO] [stdout] 193 | })) [INFO] [stdout] | - borrow might be used here, when `item` is dropped and runs the destructor for type `std::option::Option>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 203 | let item = state.stream_next().await; [INFO] [stdout] | ----- `state` is borrowed here [INFO] [stdout] 204 | item.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:204:26 [INFO] [stdout] | [INFO] [stdout] 202 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 203 | let item = state.stream_next().await; [INFO] [stdout] | ----- borrow of `state` occurs here [INFO] [stdout] 204 | item.map(|val| (val, state)) [INFO] [stdout] | ---------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 205 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, ListIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 217 | let item = state.stream_next().await; [INFO] [stdout] | ----- `state` is borrowed here [INFO] [stdout] 218 | item.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:218:26 [INFO] [stdout] | [INFO] [stdout] 216 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 217 | let item = state.stream_next().await; [INFO] [stdout] | ----- borrow of `state` occurs here [INFO] [stdout] 218 | item.map(|val| (val, state)) [INFO] [stdout] | ---------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 219 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, ListIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:189:34 [INFO] [stdout] | [INFO] [stdout] 186 | Box::pin(stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 187 | let item = state.stream_next().await; [INFO] [stdout] | ----- borrow of `state` occurs here [INFO] [stdout] 188 | if let Some(val) = item { [INFO] [stdout] 189 | Some((val.await, state)) [INFO] [stdout] | ^^^^^ move out of `state` occurs here [INFO] [stdout] ... [INFO] [stdout] 193 | })) [INFO] [stdout] | - borrow might be used here, when `item` is dropped and runs the destructor for type `std::option::Option>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 203 | let item = state.stream_next().await; [INFO] [stdout] | ----- `state` is borrowed here [INFO] [stdout] 204 | item.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:204:26 [INFO] [stdout] | [INFO] [stdout] 202 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 203 | let item = state.stream_next().await; [INFO] [stdout] | ----- borrow of `state` occurs here [INFO] [stdout] 204 | item.map(|val| (val, state)) [INFO] [stdout] | ---------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 205 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, ListIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 291 | Box::pin(stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 292 | if let Some(val) = state.stream_next().await { [INFO] [stdout] | ------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrow of `state` occurs here [INFO] [stdout] | a temporary with access to the borrow is created here ... [INFO] [stdout] 293 | Some((val.await, state)) [INFO] [stdout] | ^^^^^ move out of `state` occurs here [INFO] [stdout] ... [INFO] [stdout] 297 | })) [INFO] [stdout] | - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::option::Option>>` [INFO] [stdout] | [INFO] [stdout] = note: the temporary is part of an expression at the end of a block; [INFO] [stdout] consider forcing this temporary to be dropped sooner, before the block's local variables are dropped [INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block [INFO] [stdout] | [INFO] [stdout] 292 ~ let x = if let Some(val) = state.stream_next().await { [INFO] [stdout] 293 | Some((val.await, state)) [INFO] [stdout] 294 | } else { [INFO] [stdout] 295 | None [INFO] [stdout] 296 ~ }; x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 217 | let item = state.stream_next().await; [INFO] [stdout] | ----- `state` is borrowed here [INFO] [stdout] 218 | item.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:218:26 [INFO] [stdout] | [INFO] [stdout] 216 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 217 | let item = state.stream_next().await; [INFO] [stdout] | ----- borrow of `state` occurs here [INFO] [stdout] 218 | item.map(|val| (val, state)) [INFO] [stdout] | ---------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 219 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, ListIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:304:17 [INFO] [stdout] | [INFO] [stdout] 304 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | `state` is borrowed here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:304:47 [INFO] [stdout] | [INFO] [stdout] 303 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 304 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ------------------------------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | borrow of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 305 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, PageIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/list.rs:304:17 [INFO] [stdout] | [INFO] [stdout] 304 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound... [INFO] [stdout] | [INFO] [stdout] 267 | impl PageIter { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | `state` is borrowed here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:317:47 [INFO] [stdout] | [INFO] [stdout] 316 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 317 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ------------------------------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | borrow of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 318 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, PageIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/list.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound... [INFO] [stdout] | [INFO] [stdout] 267 | impl PageIter { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 291 | Box::pin(stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 292 | if let Some(val) = state.stream_next().await { [INFO] [stdout] | ------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrow of `state` occurs here [INFO] [stdout] | a temporary with access to the borrow is created here ... [INFO] [stdout] 293 | Some((val.await, state)) [INFO] [stdout] | ^^^^^ move out of `state` occurs here [INFO] [stdout] ... [INFO] [stdout] 297 | })) [INFO] [stdout] | - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::option::Option>>` [INFO] [stdout] | [INFO] [stdout] = note: the temporary is part of an expression at the end of a block; [INFO] [stdout] consider forcing this temporary to be dropped sooner, before the block's local variables are dropped [INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block [INFO] [stdout] | [INFO] [stdout] 292 ~ let x = if let Some(val) = state.stream_next().await { [INFO] [stdout] 293 | Some((val.await, state)) [INFO] [stdout] 294 | } else { [INFO] [stdout] 295 | None [INFO] [stdout] 296 ~ }; x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:304:17 [INFO] [stdout] | [INFO] [stdout] 304 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | `state` is borrowed here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:304:47 [INFO] [stdout] | [INFO] [stdout] 303 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 304 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ------------------------------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | borrow of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 305 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, PageIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/list.rs:304:17 [INFO] [stdout] | [INFO] [stdout] 304 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound... [INFO] [stdout] | [INFO] [stdout] 267 | impl PageIter { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `state` [INFO] [stdout] --> src/list.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | `state` is borrowed here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `state` because it is borrowed [INFO] [stdout] --> src/list.rs:317:47 [INFO] [stdout] | [INFO] [stdout] 316 | stream::unfold(self, |mut state| async move { [INFO] [stdout] | --------- binding `state` declared here [INFO] [stdout] 317 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ------------------------------^^^^^-------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | move occurs due to use in closure [INFO] [stdout] | | move out of `state` occurs here [INFO] [stdout] | borrow of `state` occurs here [INFO] [stdout] | returning this value requires that `state` is borrowed for `'1` [INFO] [stdout] 318 | }) [INFO] [stdout] | - return type of async block `std::option::Option<(impl futures::Future>, PageIter)>` contains a lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/list.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | state.stream_next().await.map(|val| (val, state)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound... [INFO] [stdout] | [INFO] [stdout] 267 | impl PageIter { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 17 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0310, E0505, E0515. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `scryfall` (lib test) due to 18 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 17 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0310, E0505, E0515. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `scryfall` (lib) due to 18 previous errors [INFO] running `Command { std: "docker" "inspect" "4b649066c241066b1ba32b4072d56294b7bb1a552e61990d76395aa6075b9f6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b649066c241066b1ba32b4072d56294b7bb1a552e61990d76395aa6075b9f6c", kill_on_drop: false }` [INFO] [stdout] 4b649066c241066b1ba32b4072d56294b7bb1a552e61990d76395aa6075b9f6c