[INFO] fetching crate kirjat-rs 0.7.1... [INFO] checking kirjat-rs-0.7.1 against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] extracting crate kirjat-rs 0.7.1 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate kirjat-rs 0.7.1 [INFO] finished tweaking crates.io crate kirjat-rs 0.7.1 [INFO] tweaked toml for crates.io crate kirjat-rs 0.7.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kirjat-rs 0.7.1 on toolchain 8c32e313cccf7df531e2d49ffb8227bb92304aee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kirjat-rs 0.7.1 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" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded futures v0.3.29 [INFO] [stderr] Downloaded triomphe v0.1.9 [INFO] [stderr] Downloaded futures-macro v0.3.29 [INFO] [stderr] Downloaded futures-executor v0.3.29 [INFO] [stderr] Downloaded async-trait v0.1.74 [INFO] [stderr] Downloaded moka v0.9.9 [INFO] [stderr] Downloaded openssl-sys v0.9.94 [INFO] [stderr] Downloaded openssl v0.10.58 [INFO] [stderr] Downloaded rustix v0.38.21 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b9ed9fb93196cbc1af7d570beb950e70edeead4046046c1ff2e6d1039d2447de [INFO] running `Command { std: "docker" "start" "-a" "b9ed9fb93196cbc1af7d570beb950e70edeead4046046c1ff2e6d1039d2447de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b9ed9fb93196cbc1af7d570beb950e70edeead4046046c1ff2e6d1039d2447de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9ed9fb93196cbc1af7d570beb950e70edeead4046046c1ff2e6d1039d2447de", kill_on_drop: false }` [INFO] [stdout] b9ed9fb93196cbc1af7d570beb950e70edeead4046046c1ff2e6d1039d2447de [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 02ac6ca25ef79e16d604612fe5dce3f083177eac2e0f6563a95d49fb071bc66b [INFO] running `Command { std: "docker" "start" "-a" "02ac6ca25ef79e16d604612fe5dce3f083177eac2e0f6563a95d49fb071bc66b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Compiling futures-core v0.3.29 [INFO] [stderr] Compiling futures-channel v0.3.29 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling futures-task v0.3.29 [INFO] [stderr] Checking futures-io v0.3.29 [INFO] [stderr] Checking futures-sink v0.3.29 [INFO] [stderr] Compiling serde v1.0.190 [INFO] [stderr] Compiling futures-util v0.3.29 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.9 [INFO] [stderr] Checking socket2 v0.5.5 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling openssl v0.10.58 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Checking try-lock v0.2.4 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking io-lifetimes v1.0.11 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Checking waker-fn v1.1.1 [INFO] [stderr] Checking rustix v0.37.27 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Checking concurrent-queue v2.3.0 [INFO] [stderr] Compiling async-trait v0.1.74 [INFO] [stderr] Compiling moka v0.9.9 [INFO] [stderr] Compiling serde_json v1.0.108 [INFO] [stderr] Compiling openssl-sys v0.9.94 [INFO] [stderr] Checking uuid v1.5.0 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Checking quanta v0.11.1 [INFO] [stderr] Compiling phf_generator v0.8.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.2 [INFO] [stderr] Compiling phf_codegen v0.10.0 [INFO] [stderr] Compiling phf_codegen v0.8.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling selectors v0.22.0 [INFO] [stderr] Checking scheduled-thread-pool v0.2.7 [INFO] [stderr] Checking base64 v0.21.5 [INFO] [stderr] Checking triomphe v0.1.9 [INFO] [stderr] Compiling markup5ever v0.11.0 [INFO] [stderr] Compiling cssparser v0.27.2 [INFO] [stderr] Compiling phf_macros v0.8.0 [INFO] [stderr] Compiling html5ever v0.26.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling serde_derive v1.0.190 [INFO] [stderr] Compiling futures-macro v0.3.29 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking tokio v1.33.0 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking phf v0.8.0 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Checking thiserror v1.0.50 [INFO] [stderr] Checking futures-executor v0.3.29 [INFO] [stderr] Checking futures v0.3.29 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking h2 v0.3.21 [INFO] [stderr] Checking string_cache v0.8.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking scraper v0.13.0 [INFO] [stderr] Checking hyper v0.14.27 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.22 [INFO] [stderr] Checking kirjat-rs v0.7.1 (/opt/rustwide/workdir) [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:117:45 [INFO] [stdout] | [INFO] [stdout] 117 | ... let Some(id) = map.get("id") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:118:45 [INFO] [stdout] | [INFO] [stdout] 118 | ... let Some(url) = map.get("url") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:119:45 [INFO] [stdout] | [INFO] [stdout] 119 | ... let Some(title) = map.get("title") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:120:45 [INFO] [stdout] | [INFO] [stdout] 120 | ... let Some(images) = map.get("images") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | ... let serde_json::Value::String(id) = id && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:124:49 [INFO] [stdout] | [INFO] [stdout] 124 | ... let serde_json::Value::String(url) = url && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:125:49 [INFO] [stdout] | [INFO] [stdout] 125 | ... let serde_json::Value::String(title) = title && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:126:49 [INFO] [stdout] | [INFO] [stdout] 126 | ... let serde_json::Value::Object(images) = images [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:74:45 [INFO] [stdout] | [INFO] [stdout] 74 | ... let Some(id) = map.get("id") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:75:45 [INFO] [stdout] | [INFO] [stdout] 75 | ... let Some(handle) = map.get("handle") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:76:45 [INFO] [stdout] | [INFO] [stdout] 76 | ... let Some(title) = map.get("title") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:77:45 [INFO] [stdout] | [INFO] [stdout] 77 | ... let Some(image) = map.get("product_image") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:78:45 [INFO] [stdout] | [INFO] [stdout] 78 | ... let Some(price) = map.get("price") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:79:45 [INFO] [stdout] | [INFO] [stdout] 79 | ... let Some(product_type) = map.get("product_type") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:82:49 [INFO] [stdout] | [INFO] [stdout] 82 | ... let serde_json::Value::Number(id) = id && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:83:49 [INFO] [stdout] | [INFO] [stdout] 83 | ... let Some(id) = id.as_i64() && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:84:49 [INFO] [stdout] | [INFO] [stdout] 84 | ... let serde_json::Value::String(handle) = handle && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:85:49 [INFO] [stdout] | [INFO] [stdout] 85 | ... let serde_json::Value::String(title) = title && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:86:49 [INFO] [stdout] | [INFO] [stdout] 86 | ... let serde_json::Value::String(image) = image && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:87:49 [INFO] [stdout] | [INFO] [stdout] 87 | ... let serde_json::Value::Number(price) = price && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:88:49 [INFO] [stdout] | [INFO] [stdout] 88 | ... let Some(price) = price.as_f64() && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:89:49 [INFO] [stdout] | [INFO] [stdout] 89 | ... let serde_json::Value::String(product_type) = product_type [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:117:45 [INFO] [stdout] | [INFO] [stdout] 117 | ... let Some(id) = map.get("id") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:118:45 [INFO] [stdout] | [INFO] [stdout] 118 | ... let Some(url) = map.get("url") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:119:45 [INFO] [stdout] | [INFO] [stdout] 119 | ... let Some(title) = map.get("title") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:120:45 [INFO] [stdout] | [INFO] [stdout] 120 | ... let Some(images) = map.get("images") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | ... let serde_json::Value::String(id) = id && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:124:49 [INFO] [stdout] | [INFO] [stdout] 124 | ... let serde_json::Value::String(url) = url && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:125:49 [INFO] [stdout] | [INFO] [stdout] 125 | ... let serde_json::Value::String(title) = title && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/sanomapro.rs:126:49 [INFO] [stdout] | [INFO] [stdout] 126 | ... let serde_json::Value::Object(images) = images [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:74:45 [INFO] [stdout] | [INFO] [stdout] 74 | ... let Some(id) = map.get("id") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:75:45 [INFO] [stdout] | [INFO] [stdout] 75 | ... let Some(handle) = map.get("handle") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:76:45 [INFO] [stdout] | [INFO] [stdout] 76 | ... let Some(title) = map.get("title") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:77:45 [INFO] [stdout] | [INFO] [stdout] 77 | ... let Some(image) = map.get("product_image") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:78:45 [INFO] [stdout] | [INFO] [stdout] 78 | ... let Some(price) = map.get("price") && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:79:45 [INFO] [stdout] | [INFO] [stdout] 79 | ... let Some(product_type) = map.get("product_type") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:82:49 [INFO] [stdout] | [INFO] [stdout] 82 | ... let serde_json::Value::Number(id) = id && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:83:49 [INFO] [stdout] | [INFO] [stdout] 83 | ... let Some(id) = id.as_i64() && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:84:49 [INFO] [stdout] | [INFO] [stdout] 84 | ... let serde_json::Value::String(handle) = handle && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:85:49 [INFO] [stdout] | [INFO] [stdout] 85 | ... let serde_json::Value::String(title) = title && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:86:49 [INFO] [stdout] | [INFO] [stdout] 86 | ... let serde_json::Value::String(image) = image && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:87:49 [INFO] [stdout] | [INFO] [stdout] 87 | ... let serde_json::Value::Number(price) = price && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:88:49 [INFO] [stdout] | [INFO] [stdout] 88 | ... let Some(price) = price.as_f64() && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/sources/suomalainen.rs:89:49 [INFO] [stdout] | [INFO] [stdout] 89 | ... let serde_json::Value::String(product_type) = product_type [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/sources/mod.rs:50:54 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn get_instance(selection: BuiltInSource) -> Box<(dyn Source + 'static)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 50 - pub fn get_instance(selection: BuiltInSource) -> Box<(dyn Source + 'static)> { [INFO] [stdout] 50 + pub fn get_instance(selection: BuiltInSource) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(let_chains)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/sources/mod.rs:50:54 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn get_instance(selection: BuiltInSource) -> Box<(dyn Source + 'static)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 50 - pub fn get_instance(selection: BuiltInSource) -> Box<(dyn Source + 'static)> { [INFO] [stdout] 50 + pub fn get_instance(selection: BuiltInSource) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(let_chains)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inst` [INFO] [stdout] --> src/sources/mod.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | let inst = super::get_instance(prov); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_inst` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `kirjat-rs` (lib test) due to 22 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `kirjat-rs` (lib) due to 22 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "02ac6ca25ef79e16d604612fe5dce3f083177eac2e0f6563a95d49fb071bc66b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02ac6ca25ef79e16d604612fe5dce3f083177eac2e0f6563a95d49fb071bc66b", kill_on_drop: false }` [INFO] [stdout] 02ac6ca25ef79e16d604612fe5dce3f083177eac2e0f6563a95d49fb071bc66b