[INFO] cloning repository https://github.com/shpark/shuttlings-cch24 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shpark/shuttlings-cch24" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshpark%2Fshuttlings-cch24", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshpark%2Fshuttlings-cch24'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 33761b2d01b2c5db0bc23b5bce8bb75a31846053 [INFO] linting shpark/shuttlings-cch24 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshpark%2Fshuttlings-cch24" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/shpark/shuttlings-cch24 [INFO] finished tweaking git repo https://github.com/shpark/shuttlings-cch24 [INFO] tweaked toml for git repo https://github.com/shpark/shuttlings-cch24 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/shpark/shuttlings-cch24 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/shpark/shuttlings-cch24 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-stream v0.1.16 [INFO] [stderr] Downloaded thiserror-impl v2.0.8 [INFO] [stderr] Downloaded shuttle-service v0.49.0 [INFO] [stderr] Downloaded shuttle-shared-db v0.49.0 [INFO] [stderr] Downloaded shuttle-common v0.49.0 [INFO] [stderr] Downloaded thiserror v2.0.8 [INFO] [stderr] Downloaded binstring v0.1.2 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.47 [INFO] [stderr] Downloaded coarsetime v0.1.35 [INFO] [stderr] Downloaded task-local-extensions v0.1.4 [INFO] [stderr] Downloaded askama_derive v0.12.5 [INFO] [stderr] Downloaded leaky-bucket v1.1.2 [INFO] [stderr] Downloaded askama_parser v0.2.1 [INFO] [stderr] Downloaded postgres-protocol v0.6.7 [INFO] [stderr] Downloaded basic-toml v0.1.9 [INFO] [stderr] Downloaded tonic v0.10.2 [INFO] [stderr] Downloaded tracing-opentelemetry v0.22.0 [INFO] [stderr] Downloaded crossterm v0.26.1 [INFO] [stderr] Downloaded comfy-table v6.2.0 [INFO] [stderr] Downloaded opentelemetry v0.21.0 [INFO] [stderr] Downloaded boring v4.13.0 [INFO] [stderr] Downloaded superboring v0.1.4 [INFO] [stderr] Downloaded hyper v0.14.31 [INFO] [stderr] Downloaded opentelemetry_sdk v0.21.2 [INFO] [stderr] Downloaded p384 v0.13.0 [INFO] [stderr] Downloaded diesel_derives v2.1.4 [INFO] [stderr] Downloaded tokio-postgres v0.7.12 [INFO] [stderr] Downloaded diesel-async v0.4.1 [INFO] [stderr] Downloaded blake2b_simd v1.0.2 [INFO] [stderr] Downloaded ed25519-compact v2.1.1 [INFO] [stderr] Downloaded diesel v2.1.6 [INFO] [stderr] Downloaded ordered-float v4.5.0 [INFO] [stderr] Downloaded cargo-manifest v0.17.0 [INFO] [stderr] Downloaded jwt-simple v0.12.11 [INFO] [stderr] Downloaded shuttle-axum v0.49.0 [INFO] [stderr] Downloaded shuttle-api-client v0.49.0 [INFO] [stderr] Downloaded shuttle-codegen v0.49.0 [INFO] [stderr] Downloaded shuttle-runtime v0.49.0 [INFO] [stderr] Downloaded postgres-types v0.2.8 [INFO] [stderr] Downloaded hmac-sha1-compact v1.1.5 [INFO] [stderr] Downloaded opentelemetry-http v0.10.0 [INFO] [stderr] Downloaded web-sys v0.3.74 [INFO] [stderr] Downloaded fslock v0.2.1 [INFO] [stderr] Downloaded ct-codecs v1.1.3 [INFO] [stderr] Downloaded hmac-sha256 v1.1.8 [INFO] [stderr] Downloaded hmac-sha512 v1.1.6 [INFO] [stderr] Downloaded reqwest-middleware v0.2.5 [INFO] [stderr] Downloaded shuttle-proto v0.49.0 [INFO] [stderr] Downloaded diesel_table_macro_syntax v0.1.0 [INFO] [stderr] Downloaded boring-sys v4.13.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0c525d7687d83373577367e535dac75d6997ce2f1f5d23ca9a6ee5cd1c135cbe [INFO] running `Command { std: "docker" "start" "-a" "0c525d7687d83373577367e535dac75d6997ce2f1f5d23ca9a6ee5cd1c135cbe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c525d7687d83373577367e535dac75d6997ce2f1f5d23ca9a6ee5cd1c135cbe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c525d7687d83373577367e535dac75d6997ce2f1f5d23ca9a6ee5cd1c135cbe", kill_on_drop: false }` [INFO] [stdout] 0c525d7687d83373577367e535dac75d6997ce2f1f5d23ca9a6ee5cd1c135cbe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2bdae04fdf48e59a7a50e6fc900735fda5771486c1c840503bd9f278ce55dc3b [INFO] running `Command { std: "docker" "start" "-a" "2bdae04fdf48e59a7a50e6fc900735fda5771486c1c840503bd9f278ce55dc3b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.167 [INFO] [stderr] Compiling serde v1.0.215 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling cc v1.2.2 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking indexmap v2.7.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling unicase v2.8.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking unicode-bidi v0.3.17 [INFO] [stderr] Compiling anyhow v1.0.94 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Compiling rustls v0.23.20 [INFO] [stderr] Checking der v0.7.9 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Compiling thiserror v2.0.8 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling rustls-pki-types v1.10.1 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking ordered-float v4.5.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking ff v0.13.0 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Compiling bytes v1.9.0 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Compiling serde_derive v1.0.215 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling pin-project-internal v1.1.7 [INFO] [stderr] Compiling thiserror-impl v2.0.8 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking opentelemetry v0.21.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling typeshare-annotation v1.0.4 [INFO] [stderr] Checking pin-project v1.1.7 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking opentelemetry-http v0.10.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling rustls-webpki v0.102.8 [INFO] [stderr] Compiling tokio v1.42.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking opentelemetry_sdk v0.21.2 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Compiling libloading v0.8.6 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling cpufeatures v0.2.16 [INFO] [stderr] Compiling bindgen v0.70.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling rustix v0.38.42 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Compiling event-listener v5.3.1 [INFO] [stderr] Compiling crc v3.2.1 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking uuid v1.11.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking comfy-table v6.2.0 [INFO] [stderr] Checking typeshare v1.0.4 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking tracing-opentelemetry v0.22.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling tokio-stream v0.1.16 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling webpki-roots v0.26.7 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Checking prost v0.12.6 [INFO] [stderr] Checking tokio-io-timeout v1.2.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling sqlx-core v0.8.2 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Compiling cmake v0.1.52 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Compiling whoami v1.5.2 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Compiling tempfile v3.14.0 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking hyper v0.14.31 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking rmp v0.8.14 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking task-local-extensions v0.1.4 [INFO] [stderr] Compiling sqlx-postgres v0.8.2 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Checking strfmt v0.2.4 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Checking rmp-serde v1.3.0 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking prost-types v0.12.6 [INFO] [stderr] Checking hyper v1.5.1 [INFO] [stderr] Checking primeorder v0.13.6 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Compiling foreign-types-macros v0.2.3 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Checking foreign-types v0.5.0 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Compiling shuttle-codegen v0.49.0 [INFO] [stderr] Compiling boring-sys v4.13.0 [INFO] [stderr] Checking tower v0.5.1 [INFO] [stderr] Compiling basic-toml v0.1.9 [INFO] [stderr] Checking serde_path_to_error v0.1.16 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking hyper-timeout v0.4.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking shuttle-common v0.49.0 [INFO] [stderr] Checking reqwest-middleware v0.2.5 [INFO] [stderr] Compiling askama_parser v0.2.1 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking ct-codecs v1.1.3 [INFO] [stderr] Checking ed25519-compact v2.1.1 [INFO] [stderr] Checking blake2b_simd v1.0.2 [INFO] [stderr] Compiling sqlx-macros-core v0.8.2 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking shuttle-service v0.49.0 [INFO] [stderr] Checking shuttle-api-client v0.49.0 [INFO] [stderr] Checking humansize v2.1.3 [INFO] [stderr] Checking p256 v0.13.2 [INFO] [stderr] Checking p384 v0.13.0 [INFO] [stderr] Compiling askama_derive v0.12.5 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Checking coarsetime v0.1.35 [INFO] [stderr] Checking hmac-sha512 v1.1.6 [INFO] [stderr] Checking tonic v0.10.2 [INFO] [stderr] Compiling sqlx-macros v0.8.2 [INFO] [stderr] Checking hmac-sha256 v1.1.8 [INFO] [stderr] Checking hmac-sha1-compact v1.1.5 [INFO] [stderr] Checking askama_escape v0.10.3 [INFO] [stderr] Checking http-range-header v0.4.2 [INFO] [stderr] Checking binstring v0.1.2 [INFO] [stderr] Checking cargo-manifest v0.17.0 [INFO] [stderr] Checking tower-http v0.6.2 [INFO] [stderr] Checking leaky-bucket v1.1.2 [INFO] [stderr] Checking askama v0.12.1 [INFO] [stderr] Checking shuttle-proto v0.49.0 [INFO] [stderr] Checking sqlx v0.8.2 [INFO] [stderr] Checking shuttle-shared-db v0.49.0 [INFO] [stderr] Checking shuttle-runtime v0.49.0 [INFO] [stderr] Checking shuttle-axum v0.49.0 [INFO] [stderr] Checking boring v4.13.0 [INFO] [stderr] Checking jwt-simple v0.12.11 [INFO] [stderr] Checking shuttlings-cch24 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day5.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | if orders.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!orders.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day9.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | if !headers.get(http::header::CONTENT_TYPE) [INFO] [stdout] | ________^ [INFO] [stdout] 48 | | .is_some_and(|v| v == "application/json") { [INFO] [stdout] | |_________________________________________________^ help: try: `headers.get(http::header::CONTENT_TYPE).is_none_or(|v| v != "application/json")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/day12.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / impl Default for Team { [INFO] [stdout] 27 | | fn default() -> Self { [INFO] [stdout] 28 | | Team::Empty [INFO] [stdout] 29 | | } [INFO] [stdout] 30 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Default)] [INFO] [stdout] 21 | pub(super) enum Team { [INFO] [stdout] 22 ~ #[default] [INFO] [stdout] 23 ~ Empty, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/day12.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | impl Into for &Team { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From<&day12::Team>` [INFO] [stdout] | [INFO] [stdout] 32 ~ impl From<&Team> for char { [INFO] [stdout] 33 ~ fn from(val: &Team) -> Self { [INFO] [stdout] 34 ~ match val { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/day12.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | tiles: iter::repeat( [INFO] [stdout] | ____________________^ [INFO] [stdout] 57 | | iter::repeat(Team::default()).take(N).collect::>() [INFO] [stdout] 58 | | ) [INFO] [stdout] 59 | | .take(N) [INFO] [stdout] | |____________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(iter::repeat(Team::default()).take(N).collect::>(), N)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/day12.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | iter::repeat(Team::default()).take(N).collect::>() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Team::default(), N)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/day12.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | / match self.tiles[i][col - 1] { [INFO] [stdout] 87 | | Team::Empty => { [INFO] [stdout] 88 | | self.tiles[i][col - 1] = tile; [INFO] [stdout] 89 | | return Ok(()) [INFO] [stdout] 90 | | }, [INFO] [stdout] 91 | | _ => {}, [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 86 ~ if self.tiles[i][col - 1] == Team::Empty { [INFO] [stdout] 87 + self.tiles[i][col - 1] = tile; [INFO] [stdout] 88 + return Ok(()) [INFO] [stdout] 89 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/day12.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | format!("{}", NO_WINNER) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `NO_WINNER.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> src/day12.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | writeln!(f, "")?; [INFO] [stdout] | ^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] = note: `#[warn(clippy::writeln_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/day12.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | if column < 1 || column > N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(1..=N).contains(&column)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/day12.rs:216:19 [INFO] [stdout] | [INFO] [stdout] 216 | let tile = if &team == COOKIE { [INFO] [stdout] | -----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `team` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/day12.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | if let Ok(_) = board.place(column, tile) { [INFO] [stdout] | -------^^^^^---------------------------- help: try: `if board.place(column, tile).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day16.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | if !headers.get(http::header::CONTENT_TYPE) [INFO] [stdout] | ________^ [INFO] [stdout] 15 | | .is_some_and(|v| v == "application/json") { [INFO] [stdout] | |_________________________________________________^ help: try: `headers.get(http::header::CONTENT_TYPE).is_none_or(|v| v != "application/json")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day5.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | if orders.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!orders.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day9.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | if !headers.get(http::header::CONTENT_TYPE) [INFO] [stdout] | ________^ [INFO] [stdout] 48 | | .is_some_and(|v| v == "application/json") { [INFO] [stdout] | |_________________________________________________^ help: try: `headers.get(http::header::CONTENT_TYPE).is_none_or(|v| v != "application/json")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/day12.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / impl Default for Team { [INFO] [stdout] 27 | | fn default() -> Self { [INFO] [stdout] 28 | | Team::Empty [INFO] [stdout] 29 | | } [INFO] [stdout] 30 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Default)] [INFO] [stdout] 21 | pub(super) enum Team { [INFO] [stdout] 22 ~ #[default] [INFO] [stdout] 23 ~ Empty, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/day12.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | impl Into for &Team { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From<&day12::Team>` [INFO] [stdout] | [INFO] [stdout] 32 ~ impl From<&Team> for char { [INFO] [stdout] 33 ~ fn from(val: &Team) -> Self { [INFO] [stdout] 34 ~ match val { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/day12.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | tiles: iter::repeat( [INFO] [stdout] | ____________________^ [INFO] [stdout] 57 | | iter::repeat(Team::default()).take(N).collect::>() [INFO] [stdout] 58 | | ) [INFO] [stdout] 59 | | .take(N) [INFO] [stdout] | |____________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(iter::repeat(Team::default()).take(N).collect::>(), N)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/day12.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | iter::repeat(Team::default()).take(N).collect::>() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Team::default(), N)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/day12.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | / match self.tiles[i][col - 1] { [INFO] [stdout] 87 | | Team::Empty => { [INFO] [stdout] 88 | | self.tiles[i][col - 1] = tile; [INFO] [stdout] 89 | | return Ok(()) [INFO] [stdout] 90 | | }, [INFO] [stdout] 91 | | _ => {}, [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 86 ~ if self.tiles[i][col - 1] == Team::Empty { [INFO] [stdout] 87 + self.tiles[i][col - 1] = tile; [INFO] [stdout] 88 + return Ok(()) [INFO] [stdout] 89 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/day12.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | format!("{}", NO_WINNER) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `NO_WINNER.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> src/day12.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | writeln!(f, "")?; [INFO] [stdout] | ^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] = note: `#[warn(clippy::writeln_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/day12.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | if column < 1 || column > N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(1..=N).contains(&column)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/day12.rs:216:19 [INFO] [stdout] | [INFO] [stdout] 216 | let tile = if &team == COOKIE { [INFO] [stdout] | -----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `team` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/day12.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | if let Ok(_) = board.place(column, tile) { [INFO] [stdout] | -------^^^^^---------------------------- help: try: `if board.place(column, tile).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day16.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | if !headers.get(http::header::CONTENT_TYPE) [INFO] [stdout] | ________^ [INFO] [stdout] 15 | | .is_some_and(|v| v == "application/json") { [INFO] [stdout] | |_________________________________________________^ help: try: `headers.get(http::header::CONTENT_TYPE).is_none_or(|v| v != "application/json")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/day23.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | matches!(toml::from_str::(lockfile.as_str()), Ok(_)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `toml::from_str::(lockfile.as_str()).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 01s [INFO] running `Command { std: "docker" "inspect" "2bdae04fdf48e59a7a50e6fc900735fda5771486c1c840503bd9f278ce55dc3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2bdae04fdf48e59a7a50e6fc900735fda5771486c1c840503bd9f278ce55dc3b", kill_on_drop: false }` [INFO] [stdout] 2bdae04fdf48e59a7a50e6fc900735fda5771486c1c840503bd9f278ce55dc3b