[INFO] cloning repository https://github.com/itsasync/AsyncHerald [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itsasync/AsyncHerald" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsasync%2FAsyncHerald", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsasync%2FAsyncHerald'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8fb2ea521e999c6ece03ce9547903967cbf74760 [INFO] checking itsasync/AsyncHerald against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsasync%2FAsyncHerald" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/itsasync/AsyncHerald [INFO] finished tweaking git repo https://github.com/itsasync/AsyncHerald [INFO] tweaked toml for git repo https://github.com/itsasync/AsyncHerald written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/itsasync/AsyncHerald on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/itsasync/AsyncHerald 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c32be9c7c67d57ae3bdea572c881dbbfd40a5c066ba8a60d977ec0be2694c8ea [INFO] running `Command { std: "docker" "start" "-a" "c32be9c7c67d57ae3bdea572c881dbbfd40a5c066ba8a60d977ec0be2694c8ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c32be9c7c67d57ae3bdea572c881dbbfd40a5c066ba8a60d977ec0be2694c8ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c32be9c7c67d57ae3bdea572c881dbbfd40a5c066ba8a60d977ec0be2694c8ea", kill_on_drop: false }` [INFO] [stdout] c32be9c7c67d57ae3bdea572c881dbbfd40a5c066ba8a60d977ec0be2694c8ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e4dc1967bab9d3394d7fa4baf9410ac4672e8965316d1a4836ce99ed1a051af4 [INFO] running `Command { std: "docker" "start" "-a" "e4dc1967bab9d3394d7fa4baf9410ac4672e8965316d1a4836ce99ed1a051af4", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking mio v1.2.0 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Checking futures-io v0.3.32 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking litemap v0.8.1 [INFO] [stderr] Checking writeable v0.6.2 [INFO] [stderr] Checking zlib-rs v0.6.3 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking siphasher v1.0.2 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking tinyvec v1.11.0 [INFO] [stderr] Checking vsimd v0.8.0 [INFO] [stderr] Checking outref v0.5.2 [INFO] [stderr] Checking rustc-hash v2.1.2 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking unicode-properties v0.1.4 [INFO] [stderr] Checking kurbo v0.12.0 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Checking core_maths v0.1.1 [INFO] [stderr] Checking zune-jpeg v0.4.21 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Checking base64-simd v0.8.0 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Compiling rust_decimal v1.41.0 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Compiling phf_shared v0.13.1 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Compiling slotmap v1.1.1 [INFO] [stderr] Checking image-webp v0.2.4 [INFO] [stderr] Checking zune-core v0.5.1 [INFO] [stderr] Checking pxfm v0.1.28 [INFO] [stderr] Compiling phf_generator v0.13.1 [INFO] [stderr] Checking unicode-script v0.5.8 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking unicode-bidi-mirroring v0.4.0 [INFO] [stderr] Checking zune-jpeg v0.5.15 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Checking unicode-ccc v0.4.0 [INFO] [stderr] Compiling aws-lc-rs v1.16.2 [INFO] [stderr] Checking fontconfig-parser v0.5.8 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Checking hayro-syntax v0.4.0 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking kurbo v0.11.3 [INFO] [stderr] Checking memmap2 v0.9.10 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Checking openssl-probe v0.2.1 [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Checking der v0.6.1 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Checking gif v0.14.1 [INFO] [stderr] Checking simplecss v0.2.2 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking data-url v0.3.2 [INFO] [stderr] Checking svgtypes v0.15.3 [INFO] [stderr] Checking unscanny v0.1.0 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Compiling icu_properties_data v1.5.1 [INFO] [stderr] Checking winnow v0.7.15 [INFO] [stderr] Checking imagesize v0.13.0 [INFO] [stderr] Compiling wasmparser v0.228.0 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking wasmi_core v0.51.5 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Checking spki v0.6.0 [INFO] [stderr] Compiling codex v0.2.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling by_address v1.2.1 [INFO] [stderr] Checking thin-vec v0.2.14 [INFO] [stderr] Checking unicode-math-class v0.1.0 [INFO] [stderr] Checking bumpalo v3.20.2 [INFO] [stderr] Checking roman-numerals-rs v3.1.0 [INFO] [stderr] Compiling palette v0.7.6 [INFO] [stderr] Checking pkcs8 v0.9.0 [INFO] [stderr] Checking crypto-bigint v0.4.9 [INFO] [stderr] Checking ff v0.12.1 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking deranged v0.5.8 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Checking uuid v1.23.0 [INFO] [stderr] Checking png v0.18.1 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking wasmi_ir v0.51.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling aws-lc-sys v0.39.1 [INFO] [stderr] Checking fast-srgb8 v1.0.0 [INFO] [stderr] Checking chinese-variant v1.1.5 [INFO] [stderr] Checking wasmi_collections v0.51.5 [INFO] [stderr] Checking unicode-ident v1.0.24 [INFO] [stderr] Checking fontdb v0.23.0 [INFO] [stderr] Checking mutate_once v0.1.2 [INFO] [stderr] Checking moxcms v0.8.1 [INFO] [stderr] Checking base16ct v0.1.1 [INFO] [stderr] Checking kamadak-exif v0.6.1 [INFO] [stderr] Checking sec1 v0.3.0 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Checking group v0.12.1 [INFO] [stderr] Compiling openssl-src v300.5.5+3.5.5 [INFO] [stderr] Checking typst-assets v0.14.2 [INFO] [stderr] Checking qcms v0.3.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking az v1.3.0 [INFO] [stderr] Checking time v0.3.47 [INFO] [stderr] Checking glidesort v0.1.2 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Checking elliptic-curve v0.12.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking rfc6979 v0.3.1 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling aws-types v1.3.14 [INFO] [stderr] Checking ecdsa v0.14.8 [INFO] [stderr] Checking xmlparser v0.13.6 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking p256 v0.11.1 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Checking bigdecimal v0.3.1 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Checking unicode_categories v0.1.1 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking fancy-regex v0.16.2 [INFO] [stderr] Compiling icu_segmenter_data v1.5.1 [INFO] [stderr] Compiling stacker v0.1.23 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking futures-intrusive v0.5.0 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking atoi v2.0.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking regex-lite v0.1.9 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking pdf-writer v0.14.0 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking sqlformat v0.2.6 [INFO] [stderr] Checking home v0.5.12 [INFO] [stderr] Checking whoami v1.6.1 [INFO] [stderr] Checking aws-smithy-xml v0.60.15 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking ordered-float v3.9.2 [INFO] [stderr] Checking float-cmp v0.10.0 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking hypher v0.1.6 [INFO] [stderr] Checking imagesize v0.14.0 [INFO] [stderr] Checking xmp-writer v0.3.2 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Compiling tree-sitter-python v0.23.6 [INFO] [stderr] Compiling tree-sitter-rust v0.23.3 [INFO] [stderr] Compiling tree-sitter v0.24.7 [INFO] [stderr] Compiling tree-sitter-javascript v0.23.1 [INFO] [stderr] Compiling tree-sitter-go v0.23.4 [INFO] [stderr] Compiling tree-sitter-typescript v0.23.2 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking aliasable v0.1.3 [INFO] [stderr] Checking hayro-write v0.3.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking zerocopy v0.8.48 [INFO] [stderr] Compiling unic-langid-impl v0.9.6 [INFO] [stderr] Compiling phf_macros v0.13.1 [INFO] [stderr] Checking cobs v0.3.0 [INFO] [stderr] Checking font-types v0.10.1 [INFO] [stderr] Checking rustybuzz v0.20.1 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling unic-langid-macros-impl v0.9.6 [INFO] [stderr] Compiling comemo-macros v0.5.1 [INFO] [stderr] Checking image v0.25.10 [INFO] [stderr] Checking read-fonts v0.35.0 [INFO] [stderr] Checking phf v0.13.1 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking comemo v0.5.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling enum-ordinalize-derive v4.3.2 [INFO] [stderr] Compiling palette_derive v0.7.6 [INFO] [stderr] Compiling typst-macros v0.14.2 [INFO] [stderr] Checking enum-ordinalize v4.3.2 [INFO] [stderr] Checking chinese-number v0.7.8 [INFO] [stderr] Checking hayro-font v0.3.0 [INFO] [stderr] Compiling ar_archive_writer v0.5.1 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking bytes-utils v0.1.4 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking litemap v0.7.5 [INFO] [stderr] Checking postcard v1.1.3 [INFO] [stderr] Checking quick-xml v0.38.4 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking unic-langid-macros v0.9.6 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking aws-smithy-async v1.2.14 [INFO] [stderr] Checking unic-langid v0.9.6 [INFO] [stderr] Checking usvg v0.45.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking biblatex v0.11.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking typst-timing v0.14.2 [INFO] [stderr] Checking aws-smithy-types v1.4.7 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking plist v1.8.0 [INFO] [stderr] Checking citationberg v0.6.1 [INFO] [stderr] Checking ecow v0.2.6 [INFO] [stderr] Checking wasmi v0.51.5 [INFO] [stderr] Checking typst-utils v0.14.2 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking zerotrie v0.1.3 [INFO] [stderr] Checking aws-smithy-runtime-api v1.11.6 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking syntect v5.3.0 [INFO] [stderr] Checking typst-syntax v0.14.2 [INFO] [stderr] Checking aws-smithy-eventstream v0.60.20 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Compiling psm v0.1.30 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking aws-smithy-http v0.63.6 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking icu_provider_blob v1.5.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking aws-credential-types v1.2.14 [INFO] [stderr] Checking two-face v0.4.5 [INFO] [stderr] Checking aws-smithy-observability v0.2.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking aws-sigv4 v1.4.2 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking lipsum v0.9.1 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking aws-smithy-json v0.62.5 [INFO] [stderr] Checking icu_provider_adapters v1.5.0 [INFO] [stderr] Checking hayagriva v0.9.1 [INFO] [stderr] Checking icu_segmenter v1.5.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking rgb v0.8.53 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling inherent v1.0.13 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking aws-smithy-http v0.62.6 [INFO] [stderr] Checking aws-smithy-query v0.60.15 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking crc-fast v1.6.0 [INFO] [stderr] Checking sqlx-core v0.7.4 [INFO] [stderr] Checking skrifa v0.37.0 [INFO] [stderr] Checking write-fonts v0.43.0 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Compiling ouroboros_macro v0.17.2 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling sea-bae v0.2.1 [INFO] [stderr] Checking resvg v0.45.1 [INFO] [stderr] Checking aws-smithy-checksums v0.63.12 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Compiling sea-orm-macros v0.12.15 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking aws-smithy-json v0.61.9 [INFO] [stderr] Checking hyper v1.9.0 [INFO] [stderr] Checking simple_asn1 v0.6.4 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking infer v0.19.0 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking streaming-iterator v0.1.9 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Checking jsonwebtoken v9.3.1 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking ouroboros v0.17.2 [INFO] [stderr] Checking sea-query v0.30.7 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking sqlx-postgres v0.7.4 [INFO] [stderr] Checking typst-library v0.14.2 [INFO] [stderr] Checking hayro-interpret v0.4.0 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking subsetter v0.2.3 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Checking sea-query-binder v0.5.0 [INFO] [stderr] Checking sea-orm v0.12.15 [INFO] [stderr] Checking krilla v0.6.0 [INFO] [stderr] Checking hayro-svg v0.2.0 [INFO] [stderr] Checking hayro v0.4.0 [INFO] [stderr] Checking krilla-svg v0.3.0 [INFO] [stderr] Checking rustls-webpki v0.103.10 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking aws-smithy-http-client v1.1.12 [INFO] [stderr] Checking aws-smithy-runtime v1.10.3 [INFO] [stderr] Checking aws-runtime v1.7.2 [INFO] [stderr] Checking aws-sdk-sso v1.97.0 [INFO] [stderr] Checking aws-sdk-sts v1.101.0 [INFO] [stderr] Checking aws-sdk-ssooidc v1.99.0 [INFO] [stderr] Checking aws-sdk-s3 v1.119.0 [INFO] [stderr] Checking aws-config v1.8.15 [INFO] [stderr] Checking typst-svg v0.14.2 [INFO] [stderr] Checking typst-eval v0.14.2 [INFO] [stderr] Checking typst-layout v0.14.2 [INFO] [stderr] Checking typst-realize v0.14.2 [INFO] [stderr] Checking typst-kit v0.14.2 [INFO] [stderr] Checking typst-pdf v0.14.2 [INFO] [stderr] Checking typst-html v0.14.2 [INFO] [stderr] Checking typst v0.14.2 [INFO] [stderr] Checking typst-as-lib v0.15.4 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking async_herald v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Category` and `HeraldRulesConfig` [INFO] [stdout] --> src/herald/service.rs:7:50 [INFO] [stdout] | [INFO] [stdout] 7 | AnalysisContext, AnalysisResult, CommitInfo, Category, Family, FamilyGroup, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | FileContent, GroupedAnalysisResult, HeraldConfig, HeraldRulesConfig, Issue, RepoContent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Category` [INFO] [stdout] --> src/herald/rules/core/semantic_quality_tests.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::herald::types::{AnalysisContext, Category, RepoInfo, Severity}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Category` [INFO] [stdout] --> src/herald/rules/domain/infrastructure_tests.rs:2:45 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::herald::types::{AnalysisContext, Category, FileContent, RepoInfo, Severity}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Category` [INFO] [stdout] --> src/herald/rules/domain/test_quality_tests.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::herald::types::{AnalysisContext, Category, RepoInfo, Severity}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Category` [INFO] [stdout] --> src/herald/rules/languages/csharp_tests.rs:2:45 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::herald::types::{AnalysisContext, Category, FileContent, RepoInfo, Severity}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_name` [INFO] [stdout] --> src/herald/plantuml.rs:767:40 [INFO] [stdout] | [INFO] [stdout] 767 | fn extract_class_fields(content: &str, class_name: &str, ext: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `first_code` is assigned to, but never used [INFO] [stdout] --> src/herald/rules/domain/deadcode.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let mut first_code = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_first_code` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first_code` is never read [INFO] [stdout] --> src/herald/rules/domain/deadcode.rs:276:17 [INFO] [stdout] | [INFO] [stdout] 276 | first_code = line_content; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_name` [INFO] [stdout] --> src/herald/plantuml.rs:767:40 [INFO] [stdout] | [INFO] [stdout] 767 | fn extract_class_fields(content: &str, class_name: &str, ext: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `first_code` is assigned to, but never used [INFO] [stdout] --> src/herald/rules/domain/deadcode.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let mut first_code = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_first_code` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first_code` is never read [INFO] [stdout] --> src/herald/rules/domain/deadcode.rs:276:17 [INFO] [stdout] | [INFO] [stdout] 276 | first_code = line_content; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_partial` [INFO] [stdout] --> src/herald/rules/domain/test_quality_tests.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | let has_partial = issues [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_partial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthResponse` is never constructed [INFO] [stdout] --> src/auth/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct AuthResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenUser` is never constructed [INFO] [stdout] --> src/auth/mod.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct TokenUser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_jwt` is never used [INFO] [stdout] --> src/auth/mod.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn generate_jwt(user_id: i32, email: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_optional_user_id` is never used [INFO] [stdout] --> src/auth/mod.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn extract_optional_user_id(headers: &HeaderMap) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `state` is never read [INFO] [stdout] --> src/controllers/herald_auth.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct AuthorizeQuery { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 56 | pub state: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthorizeQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_details`, `too_many_requests`, and `validation` are never used [INFO] [stdout] --> src/error.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl ApiError { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn with_details(mut self, details: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn too_many_requests(message: impl Into) -> (StatusCode, Json) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn validation(message: impl Into, details: impl Into) -> (StatusCode, Json) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_js_console_log_ast` is never used [INFO] [stdout] --> src/herald/ast.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn analyze_js_console_log_ast(file: &FileContent) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_DUPLICATE_LINES` is never used [INFO] [stdout] --> src/herald/duplication.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const MIN_DUPLICATE_LINES: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_DUPLICATE_TOKENS` is never used [INFO] [stdout] --> src/herald/duplication.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const MIN_DUPLICATE_TOKENS: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DuplicateBlock` is never constructed [INFO] [stdout] --> src/herald/duplication.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct DuplicateBlock { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DuplicateLocation` is never constructed [INFO] [stdout] --> src/herald/duplication.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct DuplicateLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DuplicationResult` is never constructed [INFO] [stdout] --> src/herald/duplication.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct DuplicationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NormalizedLine` is never constructed [INFO] [stdout] --> src/herald/duplication.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct NormalizedLine { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileLines` is never constructed [INFO] [stdout] --> src/herald/duplication.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct FileLines { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_duplicates` is never used [INFO] [stdout] --> src/herald/duplication.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn detect_duplicates(files: &[FileContent]) -> DuplicationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_code_file` is never used [INFO] [stdout] --> src/herald/duplication.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn is_code_file(extension: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_file` is never used [INFO] [stdout] --> src/herald/duplication.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn normalize_file(file: &FileContent) -> FileLines { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_line` is never used [INFO] [stdout] --> src/herald/duplication.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn normalize_line(line: &str, extension: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_boilerplate` is never used [INFO] [stdout] --> src/herald/duplication.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn is_boilerplate(normalized: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_tokens` is never used [INFO] [stdout] --> src/herald/duplication.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn count_tokens(line: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_string` is never used [INFO] [stdout] --> src/herald/duplication.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn hash_string(s: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sequence_hash` is never used [INFO] [stdout] --> src/herald/duplication.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn sequence_hash(line_hashes: &[u64]) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_hash_index` is never used [INFO] [stdout] --> src/herald/duplication.rs:277:4 [INFO] [stdout] | [INFO] [stdout] 277 | fn build_hash_index(file_lines: &[FileLines]) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_duplicate_blocks` is never used [INFO] [stdout] --> src/herald/duplication.rs:293:4 [INFO] [stdout] | [INFO] [stdout] 293 | fn find_duplicate_blocks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expand_match` is never used [INFO] [stdout] --> src/herald/duplication.rs:418:4 [INFO] [stdout] | [INFO] [stdout] 418 | fn expand_match( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_pair_key` is never used [INFO] [stdout] --> src/herald/duplication.rs:444:4 [INFO] [stdout] | [INFO] [stdout] 444 | fn create_pair_key( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_snippet` is never used [INFO] [stdout] --> src/herald/duplication.rs:460:4 [INFO] [stdout] | [INFO] [stdout] 460 | fn get_snippet(file: &FileLines, start: usize, len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn detect_dead_code(files: &[FileContent]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_dead_code_with_semantic` is never used [INFO] [stdout] --> src/herald/metrics.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn detect_dead_code_with_semantic( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_dead_code_in_file` is never used [INFO] [stdout] --> src/herald/metrics.rs:206:4 [INFO] [stdout] | [INFO] [stdout] 206 | fn detect_dead_code_in_file( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `VAR_DECL` is never used [INFO] [stdout] --> src/herald/metrics.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | static VAR_DECL: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FUNC_DECL` is never used [INFO] [stdout] --> src/herald/metrics.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | static FUNC_DECL: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UNUSED_IMPORT` is never used [INFO] [stdout] --> src/herald/metrics.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | static UNUSED_IMPORT: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_js_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn detect_js_dead_code( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UNUSED_VAR` is never used [INFO] [stdout] --> src/herald/metrics.rs:297:8 [INFO] [stdout] | [INFO] [stdout] 297 | static UNUSED_VAR: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ALLOW_UNUSED` is never used [INFO] [stdout] --> src/herald/metrics.rs:300:8 [INFO] [stdout] | [INFO] [stdout] 300 | static ALLOW_UNUSED: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_rust_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:304:4 [INFO] [stdout] | [INFO] [stdout] 304 | fn detect_rust_dead_code( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `VAR_ASSIGN` is never used [INFO] [stdout] --> src/herald/metrics.rs:349:8 [INFO] [stdout] | [INFO] [stdout] 349 | static VAR_ASSIGN: LazyLock = LazyLock::new(|| Regex::new(r"^\s*(\w+)\s*=\s*[^=]").unwrap()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FUNC_DEF` is never used [INFO] [stdout] --> src/herald/metrics.rs:350:8 [INFO] [stdout] | [INFO] [stdout] 350 | static FUNC_DEF: LazyLock = LazyLock::new(|| Regex::new(r"^\s*def\s+(\w+)\s*\(").unwrap()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IMPORT_PY` is never used [INFO] [stdout] --> src/herald/metrics.rs:351:8 [INFO] [stdout] | [INFO] [stdout] 351 | static IMPORT_PY: LazyLock = LazyLock::new(|| Regex::new(r"(?:from\s+\S+\s+)?import\s+(\w+)").unwrap()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_python_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn detect_python_dead_code(file: &FileContent) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RELATION_ATTR` is never used [INFO] [stdout] --> src/herald/plantuml.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 411 | static RELATION_ATTR: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MONGOOSE_SCHEMA` is never used [INFO] [stdout] --> src/herald/plantuml.rs:485:8 [INFO] [stdout] | [INFO] [stdout] 485 | static MONGOOSE_SCHEMA: LazyLock = LazyLock::new(|| Regex::new(r"new\s+(?:mongoose\.)?Schema\s*\(\s*\{").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_content_raw` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn get_line_content_raw(content: &str, line_number: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_python_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn is_python_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_rust_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn is_rust_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_go_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn is_go_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_java_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn is_java_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_kotlin_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn is_kotlin_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_swift_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn is_swift_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_dart_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn is_dart_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_php_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn is_php_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_cpp_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn is_cpp_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_comment_line` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:197:8 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn is_comment_line(line: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `issue_for_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn issue_for_file( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SECRET_PATTERNS_COMMON` is never used [INFO] [stdout] --> src/herald/rules/patterns.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub static SECRET_PATTERNS_COMMON: LazyLock> = LazyLock::new(|| vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ENV_LOOKUP_PATTERNS` is never used [INFO] [stdout] --> src/herald/rules/patterns.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub static ENV_LOOKUP_PATTERNS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_env_lookup` is never used [INFO] [stdout] --> src/herald/rules/patterns.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn is_env_lookup(line: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `STRING_CONCAT_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/core/quality.rs:2049:8 [INFO] [stdout] | [INFO] [stdout] 2049 | static STRING_CONCAT_PATTERN: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_empty_catch_ast` is never used [INFO] [stdout] --> src/herald/rules/core/semantic_quality.rs:322:15 [INFO] [stdout] | [INFO] [stdout] 322 | pub(crate) fn analyze_empty_catch_ast( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EMPTY_CATCH_AST` is never used [INFO] [stdout] --> src/herald/rules/core/semantic_quality.rs:422:12 [INFO] [stdout] | [INFO] [stdout] 422 | pub static EMPTY_CATCH_AST: Rule = Rule { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COMMENT_STYLE_HASH` is never used [INFO] [stdout] --> src/herald/rules/domain/documentation.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | static COMMENT_STYLE_HASH: LazyLock = LazyLock::new(|| Regex::new(r"#").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COVERAGE_PERCENT` is never used [INFO] [stdout] --> src/herald/rules/domain/tests.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static COVERAGE_PERCENT: LazyLock = LazyLock::new(|| Regex::new(r"(?i)coverage:\s*(\d+\.?\d*)%").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEREF_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/cpp.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | static DEREF_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"\*\s*\w+\s*=").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IGNORED_ERR_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/go.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static IGNORED_ERR_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"\w+,\s*_\s*:=").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TYPE_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/graphql.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TYPE_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"(?i)__type\s*\(").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ALIAS_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/graphql.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | static ALIAS_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"(\w+\s*:\s*\w+\s*\{[^}]*\}\s*){5,}").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FIND_BY_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/java.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static FIND_BY_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"repository\.find\w+\([^)]+\)\.\w+\(").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PRIVATE_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/kotlin.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | static PRIVATE_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"private\s+(?:val|var)").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BROAD_EXCEPT_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/python.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 269 | static BROAD_EXCEPT_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"except\s+Exception\s*:").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SARIF_VERSION` is never used [INFO] [stdout] --> src/herald/sarif.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const SARIF_VERSION: &str = "2.1.0"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SARIF_SCHEMA` is never used [INFO] [stdout] --> src/herald/sarif.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const SARIF_SCHEMA: &str = "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERALD_VERSION` is never used [INFO] [stdout] --> src/herald/sarif.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const HERALD_VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifReport` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct SarifReport { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRun` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct SarifRun { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifTool` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct SarifTool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifDriver` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct SarifDriver { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRule` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct SarifRule { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRuleConfiguration` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub struct SarifRuleConfiguration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRuleProperties` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct SarifRuleProperties { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRelationship` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct SarifRelationship { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRelationshipTarget` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct SarifRelationshipTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifToolComponentRef` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct SarifToolComponentRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifTaxonomy` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct SarifTaxonomy { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifTaxon` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct SarifTaxon { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifMessage` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct SarifMessage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifResult` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct SarifResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifLocation` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct SarifLocation { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifPhysicalLocation` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct SarifPhysicalLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifArtifactLocation` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:172:12 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct SarifArtifactLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifRegion` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct SarifRegion { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifSnippet` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct SarifSnippet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifFix` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct SarifFix { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifArtifactChange` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct SarifArtifactChange { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifReplacement` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:214:12 [INFO] [stdout] | [INFO] [stdout] 214 | pub struct SarifReplacement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifContent` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | pub struct SarifContent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SarifInvocation` is never constructed [INFO] [stdout] --> src/herald/sarif.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 228 | pub struct SarifInvocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `severity_to_sarif_level` is never used [INFO] [stdout] --> src/herald/sarif.rs:241:4 [INFO] [stdout] | [INFO] [stdout] 241 | fn severity_to_sarif_level(severity: &Severity) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `issue_to_sarif_result` is never used [INFO] [stdout] --> src/herald/sarif.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn issue_to_sarif_result(issue: &Issue) -> SarifResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rule_to_sarif_rule` is never used [INFO] [stdout] --> src/herald/sarif.rs:306:4 [INFO] [stdout] | [INFO] [stdout] 306 | fn rule_to_sarif_rule(rule: &RuleInfo) -> SarifRule { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_cwe_taxonomy` is never used [INFO] [stdout] --> src/herald/sarif.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn build_cwe_taxonomy(rules: &[RuleInfo]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analysis_to_sarif` is never used [INFO] [stdout] --> src/herald/sarif.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn analysis_to_sarif(result: &AnalysisResult, rules: &[RuleInfo]) -> SarifReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `issues_to_sarif` is never used [INFO] [stdout] --> src/herald/sarif.rs:446:8 [INFO] [stdout] | [INFO] [stdout] 446 | pub fn issues_to_sarif(issues: &[Issue]) -> SarifReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_sarif_json` is never used [INFO] [stdout] --> src/herald/sarif.rs:536:8 [INFO] [stdout] | [INFO] [stdout] 536 | pub fn to_sarif_json(report: &SarifReport) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_issues_by_category` is never used [INFO] [stdout] --> src/herald/scoring.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn calculate_issues_by_category(issues: &[Issue]) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rules_for_owasp` is never used [INFO] [stdout] --> src/herald/security_metadata.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn rules_for_owasp(category: &OwaspTop10) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_const` and `is_mutable` are never read [INFO] [stdout] --> src/herald/semantic.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct VarDef { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 35 | pub is_const: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 36 | pub is_mutable: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VarDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_identifier_present` is never used [INFO] [stdout] --> src/herald/semantic.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl FileSemanticContext { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn is_identifier_present(&self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from`, `import_source`, and `import_line` are never read [INFO] [stdout] --> src/herald/semantic.rs:1220:9 [INFO] [stdout] | [INFO] [stdout] 1219 | pub struct DependencyEdge { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 1220 | pub from: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 1221 | pub to: usize, [INFO] [stdout] 1222 | pub import_source: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 1223 | pub import_line: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DependencyEdge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_repository` is never used [INFO] [stdout] --> src/herald/service.rs:979:14 [INFO] [stdout] | [INFO] [stdout] 979 | pub async fn analyze_repository(repo_url: &str, installation_id: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_repository_grouped` is never used [INFO] [stdout] --> src/herald/service.rs:985:14 [INFO] [stdout] | [INFO] [stdout] 985 | pub async fn analyze_repository_grouped(repo_url: &str, installation_id: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_local_files` is never used [INFO] [stdout] --> src/herald/service.rs:1254:8 [INFO] [stdout] | [INFO] [stdout] 1254 | pub fn analyze_local_files(request: AnalyzeLocalRequest) -> LocalAnalysisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_local_files_grouped` is never used [INFO] [stdout] --> src/herald/service.rs:1260:8 [INFO] [stdout] | [INFO] [stdout] 1260 | pub fn analyze_local_files_grouped(request: AnalyzeLocalRequest) -> GroupedLocalAnalysisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `url` is never used [INFO] [stdout] --> src/herald/types.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl CweId { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 41 | pub fn url(&self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `url` and `all` are never used [INFO] [stdout] --> src/herald/types.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl OwaspTop10 { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn url(&self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn all() -> &'static [OwaspTop10] { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_family`, `with_column`, `with_code`, `with_cwe`, and `with_owasp` are never used [INFO] [stdout] --> src/herald/types.rs:508:12 [INFO] [stdout] | [INFO] [stdout] 468 | impl Issue { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 508 | pub fn get_family(&self) -> Family { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn with_column(mut self, column: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 531 | pub fn with_code(mut self, code: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | pub fn with_cwe(mut self, cwe: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 549 | pub fn with_owasp(mut self, owasp: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `icon` and `color` are never used [INFO] [stdout] --> src/herald/types.rs:697:12 [INFO] [stdout] | [INFO] [stdout] 677 | impl ModuleKind { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 697 | pub fn icon(&self) -> &'static str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 709 | pub fn color(&self) -> &'static str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OverallSummary` is never constructed [INFO] [stdout] --> src/herald/types.rs:864:12 [INFO] [stdout] | [INFO] [stdout] 864 | pub struct OverallSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeadCode` is never constructed [INFO] [stdout] --> src/herald/types.rs:1051:12 [INFO] [stdout] | [INFO] [stdout] 1051 | pub struct DeadCode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DeadCodeKind` is never used [INFO] [stdout] --> src/herald/types.rs:1060:10 [INFO] [stdout] | [INFO] [stdout] 1060 | pub enum DeadCodeKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CiSummary` is never constructed [INFO] [stdout] --> src/herald/types.rs:1157:12 [INFO] [stdout] | [INFO] [stdout] 1157 | pub struct CiSummary { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScoreHistoryPoint` is never constructed [INFO] [stdout] --> src/herald/types.rs:1172:12 [INFO] [stdout] | [INFO] [stdout] 1172 | pub struct ScoreHistoryPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScoreTrend` is never used [INFO] [stdout] --> src/herald/types.rs:1183:10 [INFO] [stdout] | [INFO] [stdout] 1183 | pub enum ScoreTrend { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScoreHistory` is never constructed [INFO] [stdout] --> src/herald/types.rs:1192:12 [INFO] [stdout] | [INFO] [stdout] 1192 | pub struct ScoreHistory { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OwaspComplianceReport` is never constructed [INFO] [stdout] --> src/herald/types.rs:1201:12 [INFO] [stdout] | [INFO] [stdout] 1201 | pub struct OwaspComplianceReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OwaspCategoryStatus` is never constructed [INFO] [stdout] --> src/herald/types.rs:1210:12 [INFO] [stdout] | [INFO] [stdout] 1210 | pub struct OwaspCategoryStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_content_raw` is never used [INFO] [stdout] --> src/herald/utils.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn get_line_content_raw(content: &str, line_number: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_code_extension` is never used [INFO] [stdout] --> src/herald/utils.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn is_code_extension(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_skip_file` is never used [INFO] [stdout] --> src/herald/utils.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn should_skip_file(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `s3` is never read [INFO] [stdout] --> src/state.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 10 | pub db: DatabaseConnection, [INFO] [stdout] 11 | pub s3: S3Client, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthResponse` is never constructed [INFO] [stdout] --> src/auth/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct AuthResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenUser` is never constructed [INFO] [stdout] --> src/auth/mod.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct TokenUser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_jwt` is never used [INFO] [stdout] --> src/auth/mod.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn generate_jwt(user_id: i32, email: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_optional_user_id` is never used [INFO] [stdout] --> src/auth/mod.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn extract_optional_user_id(headers: &HeaderMap) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `state` is never read [INFO] [stdout] --> src/controllers/herald_auth.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct AuthorizeQuery { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 56 | pub state: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthorizeQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_details`, `too_many_requests`, and `validation` are never used [INFO] [stdout] --> src/error.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl ApiError { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn with_details(mut self, details: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn too_many_requests(message: impl Into) -> (StatusCode, Json) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn validation(message: impl Into, details: impl Into) -> (StatusCode, Json) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn detect_dead_code(files: &[FileContent]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_dead_code_with_semantic` is never used [INFO] [stdout] --> src/herald/metrics.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn detect_dead_code_with_semantic( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_dead_code_in_file` is never used [INFO] [stdout] --> src/herald/metrics.rs:206:4 [INFO] [stdout] | [INFO] [stdout] 206 | fn detect_dead_code_in_file( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FUNC_DECL` is never used [INFO] [stdout] --> src/herald/metrics.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | static FUNC_DECL: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UNUSED_IMPORT` is never used [INFO] [stdout] --> src/herald/metrics.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | static UNUSED_IMPORT: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UNUSED_VAR` is never used [INFO] [stdout] --> src/herald/metrics.rs:297:8 [INFO] [stdout] | [INFO] [stdout] 297 | static UNUSED_VAR: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ALLOW_UNUSED` is never used [INFO] [stdout] --> src/herald/metrics.rs:300:8 [INFO] [stdout] | [INFO] [stdout] 300 | static ALLOW_UNUSED: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_rust_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:304:4 [INFO] [stdout] | [INFO] [stdout] 304 | fn detect_rust_dead_code( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `VAR_ASSIGN` is never used [INFO] [stdout] --> src/herald/metrics.rs:349:8 [INFO] [stdout] | [INFO] [stdout] 349 | static VAR_ASSIGN: LazyLock = LazyLock::new(|| Regex::new(r"^\s*(\w+)\s*=\s*[^=]").unwrap()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FUNC_DEF` is never used [INFO] [stdout] --> src/herald/metrics.rs:350:8 [INFO] [stdout] | [INFO] [stdout] 350 | static FUNC_DEF: LazyLock = LazyLock::new(|| Regex::new(r"^\s*def\s+(\w+)\s*\(").unwrap()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IMPORT_PY` is never used [INFO] [stdout] --> src/herald/metrics.rs:351:8 [INFO] [stdout] | [INFO] [stdout] 351 | static IMPORT_PY: LazyLock = LazyLock::new(|| Regex::new(r"(?:from\s+\S+\s+)?import\s+(\w+)").unwrap()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_python_dead_code` is never used [INFO] [stdout] --> src/herald/metrics.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn detect_python_dead_code(file: &FileContent) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RELATION_ATTR` is never used [INFO] [stdout] --> src/herald/plantuml.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 411 | static RELATION_ATTR: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MONGOOSE_SCHEMA` is never used [INFO] [stdout] --> src/herald/plantuml.rs:485:8 [INFO] [stdout] | [INFO] [stdout] 485 | static MONGOOSE_SCHEMA: LazyLock = LazyLock::new(|| Regex::new(r"new\s+(?:mongoose\.)?Schema\s*\(\s*\{").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_python_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn is_python_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_rust_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn is_rust_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_go_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn is_go_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_java_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn is_java_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_kotlin_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn is_kotlin_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_swift_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn is_swift_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_dart_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn is_dart_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_php_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn is_php_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_cpp_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn is_cpp_file(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `issue_for_file` is never used [INFO] [stdout] --> src/herald/rules/helpers.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn issue_for_file( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SECRET_PATTERNS_COMMON` is never used [INFO] [stdout] --> src/herald/rules/patterns.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub static SECRET_PATTERNS_COMMON: LazyLock> = LazyLock::new(|| vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ENV_LOOKUP_PATTERNS` is never used [INFO] [stdout] --> src/herald/rules/patterns.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub static ENV_LOOKUP_PATTERNS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_env_lookup` is never used [INFO] [stdout] --> src/herald/rules/patterns.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn is_env_lookup(line: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `STRING_CONCAT_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/core/quality.rs:2049:8 [INFO] [stdout] | [INFO] [stdout] 2049 | static STRING_CONCAT_PATTERN: LazyLock = LazyLock::new(|| Regex::new( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EMPTY_CATCH_AST` is never used [INFO] [stdout] --> src/herald/rules/core/semantic_quality.rs:422:12 [INFO] [stdout] | [INFO] [stdout] 422 | pub static EMPTY_CATCH_AST: Rule = Rule { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COMMENT_STYLE_HASH` is never used [INFO] [stdout] --> src/herald/rules/domain/documentation.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | static COMMENT_STYLE_HASH: LazyLock = LazyLock::new(|| Regex::new(r"#").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COVERAGE_PERCENT` is never used [INFO] [stdout] --> src/herald/rules/domain/tests.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static COVERAGE_PERCENT: LazyLock = LazyLock::new(|| Regex::new(r"(?i)coverage:\s*(\d+\.?\d*)%").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEREF_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/cpp.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | static DEREF_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"\*\s*\w+\s*=").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IGNORED_ERR_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/go.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static IGNORED_ERR_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"\w+,\s*_\s*:=").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TYPE_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/graphql.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TYPE_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"(?i)__type\s*\(").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ALIAS_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/graphql.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | static ALIAS_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"(\w+\s*:\s*\w+\s*\{[^}]*\}\s*){5,}").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FIND_BY_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/java.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static FIND_BY_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"repository\.find\w+\([^)]+\)\.\w+\(").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PRIVATE_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/kotlin.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | static PRIVATE_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"private\s+(?:val|var)").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BROAD_EXCEPT_PATTERN` is never used [INFO] [stdout] --> src/herald/rules/languages/python.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 269 | static BROAD_EXCEPT_PATTERN: LazyLock = LazyLock::new(|| Regex::new(r"except\s+Exception\s*:").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rule_to_sarif_rule` is never used [INFO] [stdout] --> src/herald/sarif.rs:306:4 [INFO] [stdout] | [INFO] [stdout] 306 | fn rule_to_sarif_rule(rule: &RuleInfo) -> SarifRule { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_cwe_taxonomy` is never used [INFO] [stdout] --> src/herald/sarif.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn build_cwe_taxonomy(rules: &[RuleInfo]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analysis_to_sarif` is never used [INFO] [stdout] --> src/herald/sarif.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn analysis_to_sarif(result: &AnalysisResult, rules: &[RuleInfo]) -> SarifReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from`, `import_source`, and `import_line` are never read [INFO] [stdout] --> src/herald/semantic.rs:1220:9 [INFO] [stdout] | [INFO] [stdout] 1219 | pub struct DependencyEdge { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 1220 | pub from: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 1221 | pub to: usize, [INFO] [stdout] 1222 | pub import_source: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 1223 | pub import_line: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DependencyEdge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_repository` is never used [INFO] [stdout] --> src/herald/service.rs:979:14 [INFO] [stdout] | [INFO] [stdout] 979 | pub async fn analyze_repository(repo_url: &str, installation_id: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_repository_grouped` is never used [INFO] [stdout] --> src/herald/service.rs:985:14 [INFO] [stdout] | [INFO] [stdout] 985 | pub async fn analyze_repository_grouped(repo_url: &str, installation_id: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_local_files_grouped` is never used [INFO] [stdout] --> src/herald/service.rs:1260:8 [INFO] [stdout] | [INFO] [stdout] 1260 | pub fn analyze_local_files_grouped(request: AnalyzeLocalRequest) -> GroupedLocalAnalysisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `url` is never used [INFO] [stdout] --> src/herald/types.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl OwaspTop10 { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn url(&self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_column` and `with_code` are never used [INFO] [stdout] --> src/herald/types.rs:525:12 [INFO] [stdout] | [INFO] [stdout] 468 | impl Issue { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn with_column(mut self, column: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 531 | pub fn with_code(mut self, code: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `icon` and `color` are never used [INFO] [stdout] --> src/herald/types.rs:697:12 [INFO] [stdout] | [INFO] [stdout] 677 | impl ModuleKind { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 697 | pub fn icon(&self) -> &'static str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 709 | pub fn color(&self) -> &'static str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OverallSummary` is never constructed [INFO] [stdout] --> src/herald/types.rs:864:12 [INFO] [stdout] | [INFO] [stdout] 864 | pub struct OverallSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CiSummary` is never constructed [INFO] [stdout] --> src/herald/types.rs:1157:12 [INFO] [stdout] | [INFO] [stdout] 1157 | pub struct CiSummary { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScoreHistoryPoint` is never constructed [INFO] [stdout] --> src/herald/types.rs:1172:12 [INFO] [stdout] | [INFO] [stdout] 1172 | pub struct ScoreHistoryPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScoreTrend` is never used [INFO] [stdout] --> src/herald/types.rs:1183:10 [INFO] [stdout] | [INFO] [stdout] 1183 | pub enum ScoreTrend { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScoreHistory` is never constructed [INFO] [stdout] --> src/herald/types.rs:1192:12 [INFO] [stdout] | [INFO] [stdout] 1192 | pub struct ScoreHistory { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OwaspComplianceReport` is never constructed [INFO] [stdout] --> src/herald/types.rs:1201:12 [INFO] [stdout] | [INFO] [stdout] 1201 | pub struct OwaspComplianceReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OwaspCategoryStatus` is never constructed [INFO] [stdout] --> src/herald/types.rs:1210:12 [INFO] [stdout] | [INFO] [stdout] 1210 | pub struct OwaspCategoryStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_content_raw` is never used [INFO] [stdout] --> src/herald/utils.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn get_line_content_raw(content: &str, line_number: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `s3` is never read [INFO] [stdout] --> src/state.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 10 | pub db: DatabaseConnection, [INFO] [stdout] 11 | pub s3: S3Client, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 41s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "e4dc1967bab9d3394d7fa4baf9410ac4672e8965316d1a4836ce99ed1a051af4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4dc1967bab9d3394d7fa4baf9410ac4672e8965316d1a4836ce99ed1a051af4", kill_on_drop: false }` [INFO] [stdout] e4dc1967bab9d3394d7fa4baf9410ac4672e8965316d1a4836ce99ed1a051af4