[INFO] cloning repository https://github.com/RVdeported/PolyCls [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RVdeported/PolyCls" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRVdeported%2FPolyCls", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRVdeported%2FPolyCls'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b09874d2eb2d8cfb64e26c9b31aee6d4a1968c23 [INFO] linting RVdeported/PolyCls against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRVdeported%2FPolyCls" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/RVdeported/PolyCls [INFO] finished tweaking git repo https://github.com/RVdeported/PolyCls [INFO] tweaked toml for git repo https://github.com/RVdeported/PolyCls written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/RVdeported/PolyCls 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/RVdeported/PolyCls 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] Updating git repository `https://github.com/RVdeported/rig.git` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded postgres-protocol v0.6.9 [INFO] [stderr] Downloaded schemars_derive v1.0.4 [INFO] [stderr] Downloaded array-init v2.1.0 [INFO] [stderr] Downloaded as-any v0.3.2 [INFO] [stderr] Downloaded env v1.0.1 [INFO] [stderr] Downloaded eventsource-stream v0.2.3 [INFO] [stderr] Downloaded enum-iterator v2.3.0 [INFO] [stderr] Downloaded reqwest-eventsource v0.6.0 [INFO] [stderr] Downloaded pest_generator v2.8.2 [INFO] [stderr] Downloaded pest_meta v2.8.2 [INFO] [stderr] Downloaded rustls-webpki v0.103.6 [INFO] [stderr] Downloaded serde_core v1.0.227 [INFO] [stderr] Downloaded serde v1.0.227 [INFO] [stderr] Downloaded pest_derive v2.8.2 [INFO] [stderr] Downloaded yaml-rust2 v0.10.4 [INFO] [stderr] Downloaded erased-serde v0.4.8 [INFO] [stderr] Downloaded config v0.15.17 [INFO] [stderr] Downloaded futures-batch v0.7.0 [INFO] [stderr] Downloaded rustls v0.23.32 [INFO] [stderr] Downloaded postgres-types v0.2.10 [INFO] [stderr] Downloaded pest v2.8.2 [INFO] [stderr] Downloaded tokio-postgres v0.7.14 [INFO] [stderr] Downloaded serde_derive v1.0.227 [INFO] [stderr] Downloaded arraydeque v0.5.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c7c0d0c3f39edd4ee7c69dbdc41ee6abfb633fad2fcaa075e4f634e46a638fa6 [INFO] running `Command { std: "docker" "start" "-a" "c7c0d0c3f39edd4ee7c69dbdc41ee6abfb633fad2fcaa075e4f634e46a638fa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c7c0d0c3f39edd4ee7c69dbdc41ee6abfb633fad2fcaa075e4f634e46a638fa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7c0d0c3f39edd4ee7c69dbdc41ee6abfb633fad2fcaa075e4f634e46a638fa6", kill_on_drop: false }` [INFO] [stdout] c7c0d0c3f39edd4ee7c69dbdc41ee6abfb633fad2fcaa075e4f634e46a638fa6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 460c76d79ee4e2629e1478d38b29960ea519b442419fe433c1f1a53d287e7baa [INFO] running `Command { std: "docker" "start" "-a" "460c76d79ee4e2629e1478d38b29960ea519b442419fe433c1f1a53d287e7baa", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling serde_core v1.0.227 [INFO] [stderr] Compiling serde v1.0.227 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling find-msvc-tools v0.1.2 [INFO] [stderr] Checking hashbrown v0.16.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Compiling cc v1.2.39 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Compiling erased-serde v0.4.8 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling ref-cast v1.0.24 [INFO] [stderr] Checking unicode-properties v0.1.3 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking winnow v0.7.13 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking phf_shared v0.13.1 [INFO] [stderr] Checking deranged v0.5.4 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Checking dlv-list v0.5.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking array-init v2.1.0 [INFO] [stderr] Checking arraydeque v0.5.1 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking nu-ansi-term v0.50.1 [INFO] [stderr] Checking dyn-clone v1.0.20 [INFO] [stderr] Checking clap_builder v4.5.48 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking rust-ini v0.21.3 [INFO] [stderr] Checking yaml-rust2 v0.10.4 [INFO] [stderr] Checking phf v0.13.1 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking tracing-subscriber v0.3.20 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Checking ordered-float v5.0.0 [INFO] [stderr] Checking eventsource-stream v0.2.3 [INFO] [stderr] Checking serde_spanned v1.0.2 [INFO] [stderr] Checking toml_datetime v0.7.2 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking whoami v1.6.1 [INFO] [stderr] Checking as-any v0.3.2 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking glob v0.3.3 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking env v1.0.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking serde-untagged v0.1.9 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking toml_parser v1.0.3 [INFO] [stderr] Checking postgres-protocol v0.6.9 [INFO] [stderr] Checking toml v0.9.7 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling serde_derive v1.0.227 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling ref-cast-impl v1.0.24 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling enum-iterator-derive v1.5.0 [INFO] [stderr] Compiling schemars_derive v1.0.4 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking enum-iterator v2.3.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing-appender v0.2.3 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling pest v2.8.2 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking clap v4.5.48 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling pest_meta v2.8.2 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Checking bitflags v2.9.4 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking schemars v1.0.4 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Compiling pest_generator v2.8.2 [INFO] [stderr] Checking postgres-types v0.2.10 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking futures-batch v0.7.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling pest_derive v2.8.2 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking config v0.15.17 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking tokio-postgres v0.7.14 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Checking sqlx v0.8.6 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Checking hyper-util v0.1.17 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.23 [INFO] [stderr] Checking reqwest-eventsource v0.6.0 [INFO] [stderr] Checking rig-core v0.19.0 (https://github.com/RVdeported/rig.git#44cf7f48) [INFO] [stderr] Checking poly_cls v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn to_str(self: &Self) -> &str [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - pub fn to_str(self: &Self) -> &str [INFO] [stdout] 21 + pub fn to_str(&self) -> &str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn set_env(self: &Self) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 111 - pub fn set_env(self: &Self) [INFO] [stdout] 111 + pub fn set_env(&self) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rig::Embed` [INFO] [stdout] --> src/database.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rig::Embed; [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: `types::ToSql` [INFO] [stdout] --> src/database.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio_postgres::{Client, Error, NoTls, types::ToSql}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `csv::Reader` [INFO] [stdout] --> src/imports.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use csv::Reader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_batch::ChunksTimeoutStreamExt` [INFO] [stdout] --> src/imports.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures_batch::ChunksTimeoutStreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/imports.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn to_str(self: &Self) -> &str [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - pub fn to_str(self: &Self) -> &str [INFO] [stdout] 21 + pub fn to_str(&self) -> &str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn set_env(self: &Self) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 111 - pub fn set_env(self: &Self) [INFO] [stdout] 111 + pub fn set_env(&self) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rig::Embed` [INFO] [stdout] --> src/database.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rig::Embed; [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: `types::ToSql` [INFO] [stdout] --> src/database.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio_postgres::{Client, Error, NoTls, types::ToSql}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `csv::Reader` [INFO] [stdout] --> src/imports.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use csv::Reader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_batch::ChunksTimeoutStreamExt` [INFO] [stdout] --> src/imports.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures_batch::ChunksTimeoutStreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/imports.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seg_value` [INFO] [stdout] --> src/database.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let (seg_str, seg_value) = match schema.seg { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seg_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seg_value` [INFO] [stdout] --> src/database.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let (seg_str, seg_value) = match schema.seg { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seg_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | a_str: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 24 ~ a_str: &str, [INFO] [stdout] 25 | a_conf: &LlmConfig, [INFO] [stdout] ... [INFO] [stdout] 31 | [INFO] [stdout] 32 ~ let res = cli.embed_text(a_str).await?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(res); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Ok(res); [INFO] [stdout] 34 + Ok(res) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:112:3 [INFO] [stdout] | [INFO] [stdout] 112 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return out; [INFO] [stdout] 112 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:85:27 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn remove_block(a_in: &String, a_block: String) -> String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 85 ~ pub fn remove_block(a_in: &str, a_block: String) -> String [INFO] [stdout] 86 | { [INFO] [stdout] ... [INFO] [stdout] 96 | _ => { [INFO] [stdout] 97 ~ return a_in.to_owned(); [INFO] [stdout] 98 | } [INFO] [stdout] ... [INFO] [stdout] 107 | _ => { [INFO] [stdout] 108 ~ return a_in.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cls.rs:78:3 [INFO] [stdout] | [INFO] [stdout] 78 | return to_eval; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return to_eval; [INFO] [stdout] 78 + to_eval [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/cls.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | / match res { [INFO] [stdout] 58 | | TypeT::NoEval => { [INFO] [stdout] 59 | | tracing::warn!("Could not evaluate item {}", &eval.id); [INFO] [stdout] ... | [INFO] [stdout] 62 | | } [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] 57 ~ if let TypeT::NoEval = res { [INFO] [stdout] 58 + tracing::warn!("Could not evaluate item {}", &eval.id); [INFO] [stdout] 59 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cls.rs:64:35 [INFO] [stdout] | [INFO] [stdout] 64 | update_eval_status(a_cli, &eval) [INFO] [stdout] | ^^^^^ help: change this to: `eval` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | Protocol::Ollama => return "ollama", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - Protocol::Ollama => return "ollama", [INFO] [stdout] 24 + Protocol::Ollama => "ollama", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | Protocol::OpenAI => return "openai", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - Protocol::OpenAI => return "openai", [INFO] [stdout] 25 + Protocol::OpenAI => "openai", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | Protocol::Anthropic => return "anthropic", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - Protocol::Anthropic => return "anthropic", [INFO] [stdout] 26 + Protocol::Anthropic => "anthropic", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | Protocol::Deepseek => return "deepseek", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - Protocol::Deepseek => return "deepseek", [INFO] [stdout] 27 + Protocol::Deepseek => "deepseek", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:32:28 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn load_config(a_path: &String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 32 ~ pub fn load_config(a_path: &str) [INFO] [stdout] 33 | -> Result [INFO] [stdout] 34 | { [INFO] [stdout] 35 | let config = Config::builder() [INFO] [stdout] 36 ~ .add_source(File::new(a_path, FileFormat::Ini)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | a_path: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 ~ a_path: &str, [INFO] [stdout] 43 | ) -> Result, ConfigError> [INFO] [stdout] 44 | { [INFO] [stdout] 45 | let config = Config::builder() [INFO] [stdout] 46 ~ .add_source(File::with_name(a_path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/database.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | / if let Ok(timestamp) = date_str.parse::() { [INFO] [stdout] 35 | | if let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | | { [INFO] [stdout] 37 | | return Some(date.naive_local().date()); [INFO] [stdout] 38 | | } [INFO] [stdout] 39 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 34 ~ if let Ok(timestamp) = date_str.parse::() [INFO] [stdout] 35 ~ && let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | { [INFO] [stdout] 37 | return Some(date.naive_local().date()); [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / return Self { [INFO] [stdout] 58 | | id: a_id, [INFO] [stdout] 59 | | descr: a_descr, [INFO] [stdout] 60 | | eval: TypeT::NoEval, [INFO] [stdout] 61 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 ~ Self { [INFO] [stdout] 58 + id: a_id, [INFO] [stdout] 59 + descr: a_descr, [INFO] [stdout] 60 + eval: TypeT::NoEval, [INFO] [stdout] 61 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:94:3 [INFO] [stdout] | [INFO] [stdout] 94 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Ok(out); [INFO] [stdout] 94 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:280:3 [INFO] [stdout] | [INFO] [stdout] 280 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 280 - return Ok(out); [INFO] [stdout] 280 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/database.rs:527:20 [INFO] [stdout] | [INFO] [stdout] 527 | wtr.write_record(&[ [INFO] [stdout] | ____________________^ [INFO] [stdout] 528 | | "id", [INFO] [stdout] 529 | | "seg", [INFO] [stdout] 530 | | "declaration_number", [INFO] [stdout] ... | [INFO] [stdout] 636 | | "created_at", [INFO] [stdout] 637 | | ])?; [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 527 ~ wtr.write_record([ [INFO] [stdout] 528 + "id", [INFO] [stdout] 529 + "seg", [INFO] [stdout] 530 + "declaration_number", [INFO] [stdout] 531 + "regime", [INFO] [stdout] 532 + "sheet_number", [INFO] [stdout] 533 + "position", [INFO] [stdout] 534 + "effective_date", [INFO] [stdout] 535 + "fill_date", [INFO] [stdout] 536 + "batch", [INFO] [stdout] 537 + "sender_inn", [INFO] [stdout] 538 + "sender_kpp", [INFO] [stdout] 539 + "sender_category", [INFO] [stdout] 540 + "sender_region", [INFO] [stdout] 541 + "sender_name", [INFO] [stdout] 542 + "sender_address", [INFO] [stdout] 543 + "receiver_inn", [INFO] [stdout] 544 + "receiver_kpp", [INFO] [stdout] 545 + "receiver_category", [INFO] [stdout] 546 + "receiver_region", [INFO] [stdout] 547 + "receiver_name", [INFO] [stdout] 548 + "receiver_address", [INFO] [stdout] 549 + "contractor_inn", [INFO] [stdout] 550 + "contractor_kpp", [INFO] [stdout] 551 + "contractor_category", [INFO] [stdout] 552 + "contractor_region", [INFO] [stdout] 553 + "contractor_name", [INFO] [stdout] 554 + "contractor_address", [INFO] [stdout] 555 + "regime_code", [INFO] [stdout] 556 + "customs_regime", [INFO] [stdout] 557 + "border_customs_code", [INFO] [stdout] 558 + "border_customs_name", [INFO] [stdout] 559 + "border_customs_city", [INFO] [stdout] 560 + "border_customs_address", [INFO] [stdout] 561 + "internal_customs_code", [INFO] [stdout] 562 + "internal_customs_name", [INFO] [stdout] 563 + "internal_customs_address", [INFO] [stdout] 564 + "delivery_terms_code", [INFO] [stdout] 565 + "delivery_terms_alpha_code", [INFO] [stdout] 566 + "delivery_terms", [INFO] [stdout] 567 + "payment_form_code", [INFO] [stdout] 568 + "payment_form", [INFO] [stdout] 569 + "stat_accounting_sign_code", [INFO] [stdout] 570 + "stat_accounting_sign", [INFO] [stdout] 571 + "origin_country_code", [INFO] [stdout] 572 + "origin_country", [INFO] [stdout] 573 + "destination_country_code", [INFO] [stdout] 574 + "destination_country", [INFO] [stdout] 575 + "trade_country_code", [INFO] [stdout] 576 + "trade_country", [INFO] [stdout] 577 + "origin_country_code_2", [INFO] [stdout] 578 + "origin_country_2", [INFO] [stdout] 579 + "tnved_code", [INFO] [stdout] 580 + "tnved_description", [INFO] [stdout] 581 + "transport_border_code", [INFO] [stdout] 582 + "transport_border", [INFO] [stdout] 583 + "transport_internal_code", [INFO] [stdout] 584 + "transport_internal", [INFO] [stdout] 585 + "additional_unit_code_1", [INFO] [stdout] 586 + "additional_unit_1", [INFO] [stdout] 587 + "additional_unit_code_2", [INFO] [stdout] 588 + "additional_unit_2", [INFO] [stdout] 589 + "cost_usd", [INFO] [stdout] 590 + "product_description_1", [INFO] [stdout] 591 + "product_description_2", [INFO] [stdout] 592 + "manufacturer", [INFO] [stdout] 593 + "brand", [INFO] [stdout] 594 + "brand_more", [INFO] [stdout] 595 + "net_weight", [INFO] [stdout] 596 + "gross_weight", [INFO] [stdout] 597 + "quantity_physical", [INFO] [stdout] 598 + "quantity_additional", [INFO] [stdout] 599 + "cargo_type", [INFO] [stdout] 600 + "number_of_packages", [INFO] [stdout] 601 + "delivery_point", [INFO] [stdout] 602 + "container_sign", [INFO] [stdout] 603 + "preferences", [INFO] [stdout] 604 + "customs_value", [INFO] [stdout] 605 + "invoice_value", [INFO] [stdout] 606 + "stat_value", [INFO] [stdout] 607 + "stat_value_usd", [INFO] [stdout] 608 + "total_invoice_value", [INFO] [stdout] 609 + "customs_correct_sign", [INFO] [stdout] 610 + "customs_correct_desc", [INFO] [stdout] 611 + "currency_code", [INFO] [stdout] 612 + "currency_description", [INFO] [stdout] 613 + "exchange_rate", [INFO] [stdout] 614 + "gtd_registration_place", [INFO] [stdout] 615 + "gtd_registration_date", [INFO] [stdout] 616 + "loading_place", [INFO] [stdout] 617 + "processing_code", [INFO] [stdout] 618 + "processing_description", [INFO] [stdout] 619 + "declaration_type", [INFO] [stdout] 620 + "price_per_kg", [INFO] [stdout] 621 + "price_per_unit", [INFO] [stdout] 622 + "price_per_additional_unit", [INFO] [stdout] 623 + "info_type", [INFO] [stdout] 624 + "decision_code_ts", [INFO] [stdout] 625 + "recall_decision_code", [INFO] [stdout] 626 + "customs_value_ts", [INFO] [stdout] 627 + "previous_customs_value", [INFO] [stdout] 628 + "total_customs_payments", [INFO] [stdout] 629 + "customs_region", [INFO] [stdout] 630 + "customs_procedure", [INFO] [stdout] 631 + "additional_bdecl1", [INFO] [stdout] 632 + "customs_op", [INFO] [stdout] 633 + "incoterm", [INFO] [stdout] 634 + "category", [INFO] [stdout] 635 + "eval", [INFO] [stdout] 636 + "created_at", [INFO] [stdout] 637 ~ ])?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/database.rs:773:3 [INFO] [stdout] | [INFO] [stdout] 773 | / match opt { [INFO] [stdout] 774 | | Some(s) => s, [INFO] [stdout] 775 | | None => String::new(), [INFO] [stdout] 776 | | } [INFO] [stdout] | |___^ help: replace it with: `opt.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/imports.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | if !r.is_ok() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `r.is_err()` [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: unneeded late initialization [INFO] [stdout] --> src/imports.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | let date: NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `date` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 25 ~ [INFO] [stdout] 26 | [INFO] [stdout] 27 ~ let date: NaiveDate = if date_res.len() == 0 || a_force_import { [INFO] [stdout] 28 ~ NaiveDate::from_ymd_opt(2000, 1, 1).unwrap() [INFO] [stdout] 29 | } else { [INFO] [stdout] 30 ~ date_res[0].get(0) [INFO] [stdout] 31 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/imports.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | if date_res.len() == 0 || a_force_import { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `date_res.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: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | a_str: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 24 ~ a_str: &str, [INFO] [stdout] 25 | a_conf: &LlmConfig, [INFO] [stdout] ... [INFO] [stdout] 31 | [INFO] [stdout] 32 ~ let res = cli.embed_text(a_str).await?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(res); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Ok(res); [INFO] [stdout] 34 + Ok(res) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/schemas.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | / pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 28 | | { [INFO] [stdout] 29 | | if a_str.to_lowercase() == "xps" { [INFO] [stdout] 30 | | return TypeT::Xps; [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | return TypeT::Xps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return TypeT::Xps; [INFO] [stdout] 30 + TypeT::Xps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | return TypeT::Eps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return TypeT::Eps; [INFO] [stdout] 32 + TypeT::Eps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | return TypeT::Pson; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return TypeT::Pson; [INFO] [stdout] 34 + TypeT::Pson [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | return TypeT::Pir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return TypeT::Pir; [INFO] [stdout] 36 + TypeT::Pir [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | return TypeT::Psv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return TypeT::Psv; [INFO] [stdout] 38 + TypeT::Psv [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | return TypeT::GlassWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return TypeT::GlassWool; [INFO] [stdout] 40 + TypeT::GlassWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | return TypeT::StoneWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return TypeT::StoneWool; [INFO] [stdout] 42 + TypeT::StoneWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | return TypeT::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return TypeT::Other; [INFO] [stdout] 44 + TypeT::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | return TypeT::NoNeed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return TypeT::NoNeed; [INFO] [stdout] 46 + TypeT::NoNeed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | return TypeT::NoEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return TypeT::NoEval; [INFO] [stdout] 48 + TypeT::NoEval [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/schemas.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn from_str(a_str: &String) -> Self [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 27 - pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 27 + pub fn from_str(a_str: &str) -> Self [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:112:3 [INFO] [stdout] | [INFO] [stdout] 112 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return out; [INFO] [stdout] 112 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:85:27 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn remove_block(a_in: &String, a_block: String) -> String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 85 ~ pub fn remove_block(a_in: &str, a_block: String) -> String [INFO] [stdout] 86 | { [INFO] [stdout] ... [INFO] [stdout] 96 | _ => { [INFO] [stdout] 97 ~ return a_in.to_owned(); [INFO] [stdout] 98 | } [INFO] [stdout] ... [INFO] [stdout] 107 | _ => { [INFO] [stdout] 108 ~ return a_in.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cls.rs:78:3 [INFO] [stdout] | [INFO] [stdout] 78 | return to_eval; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return to_eval; [INFO] [stdout] 78 + to_eval [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/cls.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | / match res { [INFO] [stdout] 58 | | TypeT::NoEval => { [INFO] [stdout] 59 | | tracing::warn!("Could not evaluate item {}", &eval.id); [INFO] [stdout] ... | [INFO] [stdout] 62 | | } [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] 57 ~ if let TypeT::NoEval = res { [INFO] [stdout] 58 + tracing::warn!("Could not evaluate item {}", &eval.id); [INFO] [stdout] 59 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cls.rs:64:35 [INFO] [stdout] | [INFO] [stdout] 64 | update_eval_status(a_cli, &eval) [INFO] [stdout] | ^^^^^ help: change this to: `eval` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | Protocol::Ollama => return "ollama", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - Protocol::Ollama => return "ollama", [INFO] [stdout] 24 + Protocol::Ollama => "ollama", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | Protocol::OpenAI => return "openai", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - Protocol::OpenAI => return "openai", [INFO] [stdout] 25 + Protocol::OpenAI => "openai", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | Protocol::Anthropic => return "anthropic", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - Protocol::Anthropic => return "anthropic", [INFO] [stdout] 26 + Protocol::Anthropic => "anthropic", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | Protocol::Deepseek => return "deepseek", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - Protocol::Deepseek => return "deepseek", [INFO] [stdout] 27 + Protocol::Deepseek => "deepseek", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:32:28 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn load_config(a_path: &String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 32 ~ pub fn load_config(a_path: &str) [INFO] [stdout] 33 | -> Result [INFO] [stdout] 34 | { [INFO] [stdout] 35 | let config = Config::builder() [INFO] [stdout] 36 ~ .add_source(File::new(a_path, FileFormat::Ini)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | a_path: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 ~ a_path: &str, [INFO] [stdout] 43 | ) -> Result, ConfigError> [INFO] [stdout] 44 | { [INFO] [stdout] 45 | let config = Config::builder() [INFO] [stdout] 46 ~ .add_source(File::with_name(a_path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/database.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | / if let Ok(timestamp) = date_str.parse::() { [INFO] [stdout] 35 | | if let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | | { [INFO] [stdout] 37 | | return Some(date.naive_local().date()); [INFO] [stdout] 38 | | } [INFO] [stdout] 39 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 34 ~ if let Ok(timestamp) = date_str.parse::() [INFO] [stdout] 35 ~ && let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | { [INFO] [stdout] 37 | return Some(date.naive_local().date()); [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / return Self { [INFO] [stdout] 58 | | id: a_id, [INFO] [stdout] 59 | | descr: a_descr, [INFO] [stdout] 60 | | eval: TypeT::NoEval, [INFO] [stdout] 61 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 ~ Self { [INFO] [stdout] 58 + id: a_id, [INFO] [stdout] 59 + descr: a_descr, [INFO] [stdout] 60 + eval: TypeT::NoEval, [INFO] [stdout] 61 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:94:3 [INFO] [stdout] | [INFO] [stdout] 94 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Ok(out); [INFO] [stdout] 94 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:280:3 [INFO] [stdout] | [INFO] [stdout] 280 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 280 - return Ok(out); [INFO] [stdout] 280 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/database.rs:527:20 [INFO] [stdout] | [INFO] [stdout] 527 | wtr.write_record(&[ [INFO] [stdout] | ____________________^ [INFO] [stdout] 528 | | "id", [INFO] [stdout] 529 | | "seg", [INFO] [stdout] 530 | | "declaration_number", [INFO] [stdout] ... | [INFO] [stdout] 636 | | "created_at", [INFO] [stdout] 637 | | ])?; [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 527 ~ wtr.write_record([ [INFO] [stdout] 528 + "id", [INFO] [stdout] 529 + "seg", [INFO] [stdout] 530 + "declaration_number", [INFO] [stdout] 531 + "regime", [INFO] [stdout] 532 + "sheet_number", [INFO] [stdout] 533 + "position", [INFO] [stdout] 534 + "effective_date", [INFO] [stdout] 535 + "fill_date", [INFO] [stdout] 536 + "batch", [INFO] [stdout] 537 + "sender_inn", [INFO] [stdout] 538 + "sender_kpp", [INFO] [stdout] 539 + "sender_category", [INFO] [stdout] 540 + "sender_region", [INFO] [stdout] 541 + "sender_name", [INFO] [stdout] 542 + "sender_address", [INFO] [stdout] 543 + "receiver_inn", [INFO] [stdout] 544 + "receiver_kpp", [INFO] [stdout] 545 + "receiver_category", [INFO] [stdout] 546 + "receiver_region", [INFO] [stdout] 547 + "receiver_name", [INFO] [stdout] 548 + "receiver_address", [INFO] [stdout] 549 + "contractor_inn", [INFO] [stdout] 550 + "contractor_kpp", [INFO] [stdout] 551 + "contractor_category", [INFO] [stdout] 552 + "contractor_region", [INFO] [stdout] 553 + "contractor_name", [INFO] [stdout] 554 + "contractor_address", [INFO] [stdout] 555 + "regime_code", [INFO] [stdout] 556 + "customs_regime", [INFO] [stdout] 557 + "border_customs_code", [INFO] [stdout] 558 + "border_customs_name", [INFO] [stdout] 559 + "border_customs_city", [INFO] [stdout] 560 + "border_customs_address", [INFO] [stdout] 561 + "internal_customs_code", [INFO] [stdout] 562 + "internal_customs_name", [INFO] [stdout] 563 + "internal_customs_address", [INFO] [stdout] 564 + "delivery_terms_code", [INFO] [stdout] 565 + "delivery_terms_alpha_code", [INFO] [stdout] 566 + "delivery_terms", [INFO] [stdout] 567 + "payment_form_code", [INFO] [stdout] 568 + "payment_form", [INFO] [stdout] 569 + "stat_accounting_sign_code", [INFO] [stdout] 570 + "stat_accounting_sign", [INFO] [stdout] 571 + "origin_country_code", [INFO] [stdout] 572 + "origin_country", [INFO] [stdout] 573 + "destination_country_code", [INFO] [stdout] 574 + "destination_country", [INFO] [stdout] 575 + "trade_country_code", [INFO] [stdout] 576 + "trade_country", [INFO] [stdout] 577 + "origin_country_code_2", [INFO] [stdout] 578 + "origin_country_2", [INFO] [stdout] 579 + "tnved_code", [INFO] [stdout] 580 + "tnved_description", [INFO] [stdout] 581 + "transport_border_code", [INFO] [stdout] 582 + "transport_border", [INFO] [stdout] 583 + "transport_internal_code", [INFO] [stdout] 584 + "transport_internal", [INFO] [stdout] 585 + "additional_unit_code_1", [INFO] [stdout] 586 + "additional_unit_1", [INFO] [stdout] 587 + "additional_unit_code_2", [INFO] [stdout] 588 + "additional_unit_2", [INFO] [stdout] 589 + "cost_usd", [INFO] [stdout] 590 + "product_description_1", [INFO] [stdout] 591 + "product_description_2", [INFO] [stdout] 592 + "manufacturer", [INFO] [stdout] 593 + "brand", [INFO] [stdout] 594 + "brand_more", [INFO] [stdout] 595 + "net_weight", [INFO] [stdout] 596 + "gross_weight", [INFO] [stdout] 597 + "quantity_physical", [INFO] [stdout] 598 + "quantity_additional", [INFO] [stdout] 599 + "cargo_type", [INFO] [stdout] 600 + "number_of_packages", [INFO] [stdout] 601 + "delivery_point", [INFO] [stdout] 602 + "container_sign", [INFO] [stdout] 603 + "preferences", [INFO] [stdout] 604 + "customs_value", [INFO] [stdout] 605 + "invoice_value", [INFO] [stdout] 606 + "stat_value", [INFO] [stdout] 607 + "stat_value_usd", [INFO] [stdout] 608 + "total_invoice_value", [INFO] [stdout] 609 + "customs_correct_sign", [INFO] [stdout] 610 + "customs_correct_desc", [INFO] [stdout] 611 + "currency_code", [INFO] [stdout] 612 + "currency_description", [INFO] [stdout] 613 + "exchange_rate", [INFO] [stdout] 614 + "gtd_registration_place", [INFO] [stdout] 615 + "gtd_registration_date", [INFO] [stdout] 616 + "loading_place", [INFO] [stdout] 617 + "processing_code", [INFO] [stdout] 618 + "processing_description", [INFO] [stdout] 619 + "declaration_type", [INFO] [stdout] 620 + "price_per_kg", [INFO] [stdout] 621 + "price_per_unit", [INFO] [stdout] 622 + "price_per_additional_unit", [INFO] [stdout] 623 + "info_type", [INFO] [stdout] 624 + "decision_code_ts", [INFO] [stdout] 625 + "recall_decision_code", [INFO] [stdout] 626 + "customs_value_ts", [INFO] [stdout] 627 + "previous_customs_value", [INFO] [stdout] 628 + "total_customs_payments", [INFO] [stdout] 629 + "customs_region", [INFO] [stdout] 630 + "customs_procedure", [INFO] [stdout] 631 + "additional_bdecl1", [INFO] [stdout] 632 + "customs_op", [INFO] [stdout] 633 + "incoterm", [INFO] [stdout] 634 + "category", [INFO] [stdout] 635 + "eval", [INFO] [stdout] 636 + "created_at", [INFO] [stdout] 637 ~ ])?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/database.rs:773:3 [INFO] [stdout] | [INFO] [stdout] 773 | / match opt { [INFO] [stdout] 774 | | Some(s) => s, [INFO] [stdout] 775 | | None => String::new(), [INFO] [stdout] 776 | | } [INFO] [stdout] | |___^ help: replace it with: `opt.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/imports.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | if !r.is_ok() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `r.is_err()` [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: unneeded late initialization [INFO] [stdout] --> src/imports.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | let date: NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `date` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 25 ~ [INFO] [stdout] 26 | [INFO] [stdout] 27 ~ let date: NaiveDate = if date_res.len() == 0 || a_force_import { [INFO] [stdout] 28 ~ NaiveDate::from_ymd_opt(2000, 1, 1).unwrap() [INFO] [stdout] 29 | } else { [INFO] [stdout] 30 ~ date_res[0].get(0) [INFO] [stdout] 31 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/imports.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | if date_res.len() == 0 || a_force_import { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `date_res.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: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/schemas.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | / pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 28 | | { [INFO] [stdout] 29 | | if a_str.to_lowercase() == "xps" { [INFO] [stdout] 30 | | return TypeT::Xps; [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | return TypeT::Xps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return TypeT::Xps; [INFO] [stdout] 30 + TypeT::Xps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | return TypeT::Eps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return TypeT::Eps; [INFO] [stdout] 32 + TypeT::Eps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | return TypeT::Pson; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return TypeT::Pson; [INFO] [stdout] 34 + TypeT::Pson [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | return TypeT::Pir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return TypeT::Pir; [INFO] [stdout] 36 + TypeT::Pir [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | return TypeT::Psv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return TypeT::Psv; [INFO] [stdout] 38 + TypeT::Psv [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | return TypeT::GlassWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return TypeT::GlassWool; [INFO] [stdout] 40 + TypeT::GlassWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | return TypeT::StoneWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return TypeT::StoneWool; [INFO] [stdout] 42 + TypeT::StoneWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | return TypeT::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return TypeT::Other; [INFO] [stdout] 44 + TypeT::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | return TypeT::NoNeed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return TypeT::NoNeed; [INFO] [stdout] 46 + TypeT::NoNeed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | return TypeT::NoEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return TypeT::NoEval; [INFO] [stdout] 48 + TypeT::NoEval [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/schemas.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn from_str(a_str: &String) -> Self [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 27 - pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 27 + pub fn from_str(a_str: &str) -> Self [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `poly_cls::agents::*` [INFO] [stdout] --> src/bin/vec_demo.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use poly_cls::agents::*; [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: `poly_cls::agents::*` [INFO] [stdout] --> src/bin/vec_demo.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use poly_cls::agents::*; [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: `poly_cls::cls` [INFO] [stdout] --> src/bin/export.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use poly_cls::cls; [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: `poly_cls::imports::*` [INFO] [stdout] --> src/bin/export.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use poly_cls::imports::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/bin/export.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `poly_cls::cls` [INFO] [stdout] --> src/bin/insert.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use poly_cls::cls; [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: `poly_cls::cls` [INFO] [stdout] --> src/bin/insert.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use poly_cls::cls; [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: `poly_cls::cls` [INFO] [stdout] --> src/bin/export.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use poly_cls::cls; [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: `poly_cls::imports::*` [INFO] [stdout] --> src/bin/export.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use poly_cls::imports::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/bin/export.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `llm_config` [INFO] [stdout] --> src/bin/export.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | let llm_config = load_llm_config(&"configs/test.ini".to_string()) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_llm_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `args.seg` after checking its variant with `is_some` [INFO] [stdout] --> src/bin/export.rs:79:49 [INFO] [stdout] | [INFO] [stdout] 78 | if args.seg.is_some() { [INFO] [stdout] | --------------------- help: try: `if let Some() = args.seg` [INFO] [stdout] 79 | query = format!("{} AND seg='{:?}'", query, args.seg.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/bin/insert.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / match seg_t { [INFO] [stdout] 50 | | Err(_) => { [INFO] [stdout] 51 | | tracing::error!("Could not recognize segment {}", seg); [INFO] [stdout] 52 | | continue; [INFO] [stdout] 53 | | } [INFO] [stdout] 54 | | _ => {} [INFO] [stdout] 55 | | } [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] 49 ~ if let Err(_) = seg_t { [INFO] [stdout] 50 + tracing::error!("Could not recognize segment {}", seg); [INFO] [stdout] 51 + continue; [INFO] [stdout] 52 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn to_str(self: &Self) -> &str [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - pub fn to_str(self: &Self) -> &str [INFO] [stdout] 21 + pub fn to_str(&self) -> &str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/bin/insert.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / match seg_t { [INFO] [stdout] 50 | | Err(_) => { [INFO] [stdout] 51 | | tracing::error!("Could not recognize segment {}", seg); [INFO] [stdout] 52 | | continue; [INFO] [stdout] 53 | | } [INFO] [stdout] 54 | | _ => {} [INFO] [stdout] 55 | | } [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] 49 ~ if let Err(_) = seg_t { [INFO] [stdout] 50 + tracing::error!("Could not recognize segment {}", seg); [INFO] [stdout] 51 + continue; [INFO] [stdout] 52 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn set_env(self: &Self) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 111 - pub fn set_env(self: &Self) [INFO] [stdout] 111 + pub fn set_env(&self) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rig::Embed` [INFO] [stdout] --> src/database.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rig::Embed; [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: `types::ToSql` [INFO] [stdout] --> src/database.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio_postgres::{Client, Error, NoTls, types::ToSql}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `csv::Reader` [INFO] [stdout] --> src/imports.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use csv::Reader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_batch::ChunksTimeoutStreamExt` [INFO] [stdout] --> src/imports.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures_batch::ChunksTimeoutStreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/imports.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `llm_config` [INFO] [stdout] --> src/bin/export.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | let llm_config = load_llm_config(&"configs/test.ini".to_string()) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_llm_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::agents::embed_item` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::agents::embed_item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::conf::*` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::conf::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::schemas::GeneralSchema` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::schemas::GeneralSchema; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::schemas::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::schemas::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `args.seg` after checking its variant with `is_some` [INFO] [stdout] --> src/bin/export.rs:79:49 [INFO] [stdout] | [INFO] [stdout] 78 | if args.seg.is_some() { [INFO] [stdout] | --------------------- help: try: `if let Some() = args.seg` [INFO] [stdout] 79 | query = format!("{} AND seg='{:?}'", query, args.seg.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn to_str(self: &Self) -> &str [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - pub fn to_str(self: &Self) -> &str [INFO] [stdout] 21 + pub fn to_str(&self) -> &str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/conf.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn set_env(self: &Self) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 111 - pub fn set_env(self: &Self) [INFO] [stdout] 111 + pub fn set_env(&self) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rig::Embed` [INFO] [stdout] --> src/database.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rig::Embed; [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: `types::ToSql` [INFO] [stdout] --> src/database.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio_postgres::{Client, Error, NoTls, types::ToSql}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `csv::Reader` [INFO] [stdout] --> src/imports.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use csv::Reader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_batch::ChunksTimeoutStreamExt` [INFO] [stdout] --> src/imports.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures_batch::ChunksTimeoutStreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/imports.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::agents::embed_item` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::agents::embed_item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::conf::*` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::conf::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::schemas::GeneralSchema` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::schemas::GeneralSchema; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::schemas::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::schemas::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seg_value` [INFO] [stdout] --> src/database.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let (seg_str, seg_value) = match schema.seg { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seg_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seg_value` [INFO] [stdout] --> src/database.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let (seg_str, seg_value) = match schema.seg { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seg_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | a_str: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 24 ~ a_str: &str, [INFO] [stdout] 25 | a_conf: &LlmConfig, [INFO] [stdout] ... [INFO] [stdout] 31 | [INFO] [stdout] 32 ~ let res = cli.embed_text(a_str).await?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(res); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Ok(res); [INFO] [stdout] 34 + Ok(res) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:112:3 [INFO] [stdout] | [INFO] [stdout] 112 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return out; [INFO] [stdout] 112 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:85:27 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn remove_block(a_in: &String, a_block: String) -> String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 85 ~ pub fn remove_block(a_in: &str, a_block: String) -> String [INFO] [stdout] 86 | { [INFO] [stdout] ... [INFO] [stdout] 96 | _ => { [INFO] [stdout] 97 ~ return a_in.to_owned(); [INFO] [stdout] 98 | } [INFO] [stdout] ... [INFO] [stdout] 107 | _ => { [INFO] [stdout] 108 ~ return a_in.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | Protocol::Ollama => return "ollama", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - Protocol::Ollama => return "ollama", [INFO] [stdout] 24 + Protocol::Ollama => "ollama", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | Protocol::OpenAI => return "openai", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - Protocol::OpenAI => return "openai", [INFO] [stdout] 25 + Protocol::OpenAI => "openai", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | Protocol::Anthropic => return "anthropic", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - Protocol::Anthropic => return "anthropic", [INFO] [stdout] 26 + Protocol::Anthropic => "anthropic", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | Protocol::Deepseek => return "deepseek", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - Protocol::Deepseek => return "deepseek", [INFO] [stdout] 27 + Protocol::Deepseek => "deepseek", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:32:28 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn load_config(a_path: &String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 32 ~ pub fn load_config(a_path: &str) [INFO] [stdout] 33 | -> Result [INFO] [stdout] 34 | { [INFO] [stdout] 35 | let config = Config::builder() [INFO] [stdout] 36 ~ .add_source(File::new(a_path, FileFormat::Ini)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | a_path: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 ~ a_path: &str, [INFO] [stdout] 43 | ) -> Result, ConfigError> [INFO] [stdout] 44 | { [INFO] [stdout] 45 | let config = Config::builder() [INFO] [stdout] 46 ~ .add_source(File::with_name(a_path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/database.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | / if let Ok(timestamp) = date_str.parse::() { [INFO] [stdout] 35 | | if let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | | { [INFO] [stdout] 37 | | return Some(date.naive_local().date()); [INFO] [stdout] 38 | | } [INFO] [stdout] 39 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 34 ~ if let Ok(timestamp) = date_str.parse::() [INFO] [stdout] 35 ~ && let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | { [INFO] [stdout] 37 | return Some(date.naive_local().date()); [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / return Self { [INFO] [stdout] 58 | | id: a_id, [INFO] [stdout] 59 | | descr: a_descr, [INFO] [stdout] 60 | | eval: TypeT::NoEval, [INFO] [stdout] 61 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 ~ Self { [INFO] [stdout] 58 + id: a_id, [INFO] [stdout] 59 + descr: a_descr, [INFO] [stdout] 60 + eval: TypeT::NoEval, [INFO] [stdout] 61 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:94:3 [INFO] [stdout] | [INFO] [stdout] 94 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Ok(out); [INFO] [stdout] 94 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:280:3 [INFO] [stdout] | [INFO] [stdout] 280 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 280 - return Ok(out); [INFO] [stdout] 280 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/database.rs:527:20 [INFO] [stdout] | [INFO] [stdout] 527 | wtr.write_record(&[ [INFO] [stdout] | ____________________^ [INFO] [stdout] 528 | | "id", [INFO] [stdout] 529 | | "seg", [INFO] [stdout] 530 | | "declaration_number", [INFO] [stdout] ... | [INFO] [stdout] 636 | | "created_at", [INFO] [stdout] 637 | | ])?; [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 527 ~ wtr.write_record([ [INFO] [stdout] 528 + "id", [INFO] [stdout] 529 + "seg", [INFO] [stdout] 530 + "declaration_number", [INFO] [stdout] 531 + "regime", [INFO] [stdout] 532 + "sheet_number", [INFO] [stdout] 533 + "position", [INFO] [stdout] 534 + "effective_date", [INFO] [stdout] 535 + "fill_date", [INFO] [stdout] 536 + "batch", [INFO] [stdout] 537 + "sender_inn", [INFO] [stdout] 538 + "sender_kpp", [INFO] [stdout] 539 + "sender_category", [INFO] [stdout] 540 + "sender_region", [INFO] [stdout] 541 + "sender_name", [INFO] [stdout] 542 + "sender_address", [INFO] [stdout] 543 + "receiver_inn", [INFO] [stdout] 544 + "receiver_kpp", [INFO] [stdout] 545 + "receiver_category", [INFO] [stdout] 546 + "receiver_region", [INFO] [stdout] 547 + "receiver_name", [INFO] [stdout] 548 + "receiver_address", [INFO] [stdout] 549 + "contractor_inn", [INFO] [stdout] 550 + "contractor_kpp", [INFO] [stdout] 551 + "contractor_category", [INFO] [stdout] 552 + "contractor_region", [INFO] [stdout] 553 + "contractor_name", [INFO] [stdout] 554 + "contractor_address", [INFO] [stdout] 555 + "regime_code", [INFO] [stdout] 556 + "customs_regime", [INFO] [stdout] 557 + "border_customs_code", [INFO] [stdout] 558 + "border_customs_name", [INFO] [stdout] 559 + "border_customs_city", [INFO] [stdout] 560 + "border_customs_address", [INFO] [stdout] 561 + "internal_customs_code", [INFO] [stdout] 562 + "internal_customs_name", [INFO] [stdout] 563 + "internal_customs_address", [INFO] [stdout] 564 + "delivery_terms_code", [INFO] [stdout] 565 + "delivery_terms_alpha_code", [INFO] [stdout] 566 + "delivery_terms", [INFO] [stdout] 567 + "payment_form_code", [INFO] [stdout] 568 + "payment_form", [INFO] [stdout] 569 + "stat_accounting_sign_code", [INFO] [stdout] 570 + "stat_accounting_sign", [INFO] [stdout] 571 + "origin_country_code", [INFO] [stdout] 572 + "origin_country", [INFO] [stdout] 573 + "destination_country_code", [INFO] [stdout] 574 + "destination_country", [INFO] [stdout] 575 + "trade_country_code", [INFO] [stdout] 576 + "trade_country", [INFO] [stdout] 577 + "origin_country_code_2", [INFO] [stdout] 578 + "origin_country_2", [INFO] [stdout] 579 + "tnved_code", [INFO] [stdout] 580 + "tnved_description", [INFO] [stdout] 581 + "transport_border_code", [INFO] [stdout] 582 + "transport_border", [INFO] [stdout] 583 + "transport_internal_code", [INFO] [stdout] 584 + "transport_internal", [INFO] [stdout] 585 + "additional_unit_code_1", [INFO] [stdout] 586 + "additional_unit_1", [INFO] [stdout] 587 + "additional_unit_code_2", [INFO] [stdout] 588 + "additional_unit_2", [INFO] [stdout] 589 + "cost_usd", [INFO] [stdout] 590 + "product_description_1", [INFO] [stdout] 591 + "product_description_2", [INFO] [stdout] 592 + "manufacturer", [INFO] [stdout] 593 + "brand", [INFO] [stdout] 594 + "brand_more", [INFO] [stdout] 595 + "net_weight", [INFO] [stdout] 596 + "gross_weight", [INFO] [stdout] 597 + "quantity_physical", [INFO] [stdout] 598 + "quantity_additional", [INFO] [stdout] 599 + "cargo_type", [INFO] [stdout] 600 + "number_of_packages", [INFO] [stdout] 601 + "delivery_point", [INFO] [stdout] 602 + "container_sign", [INFO] [stdout] 603 + "preferences", [INFO] [stdout] 604 + "customs_value", [INFO] [stdout] 605 + "invoice_value", [INFO] [stdout] 606 + "stat_value", [INFO] [stdout] 607 + "stat_value_usd", [INFO] [stdout] 608 + "total_invoice_value", [INFO] [stdout] 609 + "customs_correct_sign", [INFO] [stdout] 610 + "customs_correct_desc", [INFO] [stdout] 611 + "currency_code", [INFO] [stdout] 612 + "currency_description", [INFO] [stdout] 613 + "exchange_rate", [INFO] [stdout] 614 + "gtd_registration_place", [INFO] [stdout] 615 + "gtd_registration_date", [INFO] [stdout] 616 + "loading_place", [INFO] [stdout] 617 + "processing_code", [INFO] [stdout] 618 + "processing_description", [INFO] [stdout] 619 + "declaration_type", [INFO] [stdout] 620 + "price_per_kg", [INFO] [stdout] 621 + "price_per_unit", [INFO] [stdout] 622 + "price_per_additional_unit", [INFO] [stdout] 623 + "info_type", [INFO] [stdout] 624 + "decision_code_ts", [INFO] [stdout] 625 + "recall_decision_code", [INFO] [stdout] 626 + "customs_value_ts", [INFO] [stdout] 627 + "previous_customs_value", [INFO] [stdout] 628 + "total_customs_payments", [INFO] [stdout] 629 + "customs_region", [INFO] [stdout] 630 + "customs_procedure", [INFO] [stdout] 631 + "additional_bdecl1", [INFO] [stdout] 632 + "customs_op", [INFO] [stdout] 633 + "incoterm", [INFO] [stdout] 634 + "category", [INFO] [stdout] 635 + "eval", [INFO] [stdout] 636 + "created_at", [INFO] [stdout] 637 ~ ])?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/database.rs:773:3 [INFO] [stdout] | [INFO] [stdout] 773 | / match opt { [INFO] [stdout] 774 | | Some(s) => s, [INFO] [stdout] 775 | | None => String::new(), [INFO] [stdout] 776 | | } [INFO] [stdout] | |___^ help: replace it with: `opt.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/imports.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | if !r.is_ok() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `r.is_err()` [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: unneeded late initialization [INFO] [stdout] --> src/imports.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | let date: NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `date` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 25 ~ [INFO] [stdout] 26 | [INFO] [stdout] 27 ~ let date: NaiveDate = if date_res.len() == 0 || a_force_import { [INFO] [stdout] 28 ~ NaiveDate::from_ymd_opt(2000, 1, 1).unwrap() [INFO] [stdout] 29 | } else { [INFO] [stdout] 30 ~ date_res[0].get(0) [INFO] [stdout] 31 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/imports.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | if date_res.len() == 0 || a_force_import { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `date_res.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: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/schemas.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | / pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 28 | | { [INFO] [stdout] 29 | | if a_str.to_lowercase() == "xps" { [INFO] [stdout] 30 | | return TypeT::Xps; [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | return TypeT::Xps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return TypeT::Xps; [INFO] [stdout] 30 + TypeT::Xps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | return TypeT::Eps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return TypeT::Eps; [INFO] [stdout] 32 + TypeT::Eps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | return TypeT::Pson; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return TypeT::Pson; [INFO] [stdout] 34 + TypeT::Pson [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | return TypeT::Pir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return TypeT::Pir; [INFO] [stdout] 36 + TypeT::Pir [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | return TypeT::Psv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return TypeT::Psv; [INFO] [stdout] 38 + TypeT::Psv [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | return TypeT::GlassWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return TypeT::GlassWool; [INFO] [stdout] 40 + TypeT::GlassWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | return TypeT::StoneWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return TypeT::StoneWool; [INFO] [stdout] 42 + TypeT::StoneWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | return TypeT::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return TypeT::Other; [INFO] [stdout] 44 + TypeT::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | return TypeT::NoNeed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return TypeT::NoNeed; [INFO] [stdout] 46 + TypeT::NoNeed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | return TypeT::NoEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return TypeT::NoEval; [INFO] [stdout] 48 + TypeT::NoEval [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | a_str: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 24 ~ a_str: &str, [INFO] [stdout] 25 | a_conf: &LlmConfig, [INFO] [stdout] ... [INFO] [stdout] 31 | [INFO] [stdout] 32 ~ let res = cli.embed_text(a_str).await?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/schemas.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn from_str(a_str: &String) -> Self [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 27 - pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 27 + pub fn from_str(a_str: &str) -> Self [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(res); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Ok(res); [INFO] [stdout] 34 + Ok(res) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/agents.rs:112:3 [INFO] [stdout] | [INFO] [stdout] 112 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return out; [INFO] [stdout] 112 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/agents.rs:85:27 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn remove_block(a_in: &String, a_block: String) -> String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 85 ~ pub fn remove_block(a_in: &str, a_block: String) -> String [INFO] [stdout] 86 | { [INFO] [stdout] ... [INFO] [stdout] 96 | _ => { [INFO] [stdout] 97 ~ return a_in.to_owned(); [INFO] [stdout] 98 | } [INFO] [stdout] ... [INFO] [stdout] 107 | _ => { [INFO] [stdout] 108 ~ return a_in.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | Protocol::Ollama => return "ollama", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - Protocol::Ollama => return "ollama", [INFO] [stdout] 24 + Protocol::Ollama => "ollama", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | Protocol::OpenAI => return "openai", [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - Protocol::OpenAI => return "openai", [INFO] [stdout] 25 + Protocol::OpenAI => "openai", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | Protocol::Anthropic => return "anthropic", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - Protocol::Anthropic => return "anthropic", [INFO] [stdout] 26 + Protocol::Anthropic => "anthropic", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/conf.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | Protocol::Deepseek => return "deepseek", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - Protocol::Deepseek => return "deepseek", [INFO] [stdout] 27 + Protocol::Deepseek => "deepseek", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:32:28 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn load_config(a_path: &String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 32 ~ pub fn load_config(a_path: &str) [INFO] [stdout] 33 | -> Result [INFO] [stdout] 34 | { [INFO] [stdout] 35 | let config = Config::builder() [INFO] [stdout] 36 ~ .add_source(File::new(a_path, FileFormat::Ini)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/conf.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | a_path: &String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 ~ a_path: &str, [INFO] [stdout] 43 | ) -> Result, ConfigError> [INFO] [stdout] 44 | { [INFO] [stdout] 45 | let config = Config::builder() [INFO] [stdout] 46 ~ .add_source(File::with_name(a_path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/database.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | / if let Ok(timestamp) = date_str.parse::() { [INFO] [stdout] 35 | | if let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | | { [INFO] [stdout] 37 | | return Some(date.naive_local().date()); [INFO] [stdout] 38 | | } [INFO] [stdout] 39 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 34 ~ if let Ok(timestamp) = date_str.parse::() [INFO] [stdout] 35 ~ && let Some(date) = chrono::DateTime::from_timestamp(timestamp, 0) [INFO] [stdout] 36 | { [INFO] [stdout] 37 | return Some(date.naive_local().date()); [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / return Self { [INFO] [stdout] 58 | | id: a_id, [INFO] [stdout] 59 | | descr: a_descr, [INFO] [stdout] 60 | | eval: TypeT::NoEval, [INFO] [stdout] 61 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 ~ Self { [INFO] [stdout] 58 + id: a_id, [INFO] [stdout] 59 + descr: a_descr, [INFO] [stdout] 60 + eval: TypeT::NoEval, [INFO] [stdout] 61 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:94:3 [INFO] [stdout] | [INFO] [stdout] 94 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Ok(out); [INFO] [stdout] 94 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/database.rs:280:3 [INFO] [stdout] | [INFO] [stdout] 280 | return Ok(out); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 280 - return Ok(out); [INFO] [stdout] 280 + Ok(out) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/database.rs:527:20 [INFO] [stdout] | [INFO] [stdout] 527 | wtr.write_record(&[ [INFO] [stdout] | ____________________^ [INFO] [stdout] 528 | | "id", [INFO] [stdout] 529 | | "seg", [INFO] [stdout] 530 | | "declaration_number", [INFO] [stdout] ... | [INFO] [stdout] 636 | | "created_at", [INFO] [stdout] 637 | | ])?; [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 527 ~ wtr.write_record([ [INFO] [stdout] 528 + "id", [INFO] [stdout] 529 + "seg", [INFO] [stdout] 530 + "declaration_number", [INFO] [stdout] 531 + "regime", [INFO] [stdout] 532 + "sheet_number", [INFO] [stdout] 533 + "position", [INFO] [stdout] 534 + "effective_date", [INFO] [stdout] 535 + "fill_date", [INFO] [stdout] 536 + "batch", [INFO] [stdout] 537 + "sender_inn", [INFO] [stdout] 538 + "sender_kpp", [INFO] [stdout] 539 + "sender_category", [INFO] [stdout] 540 + "sender_region", [INFO] [stdout] 541 + "sender_name", [INFO] [stdout] 542 + "sender_address", [INFO] [stdout] 543 + "receiver_inn", [INFO] [stdout] 544 + "receiver_kpp", [INFO] [stdout] 545 + "receiver_category", [INFO] [stdout] 546 + "receiver_region", [INFO] [stdout] 547 + "receiver_name", [INFO] [stdout] 548 + "receiver_address", [INFO] [stdout] 549 + "contractor_inn", [INFO] [stdout] 550 + "contractor_kpp", [INFO] [stdout] 551 + "contractor_category", [INFO] [stdout] 552 + "contractor_region", [INFO] [stdout] 553 + "contractor_name", [INFO] [stdout] 554 + "contractor_address", [INFO] [stdout] 555 + "regime_code", [INFO] [stdout] 556 + "customs_regime", [INFO] [stdout] 557 + "border_customs_code", [INFO] [stdout] 558 + "border_customs_name", [INFO] [stdout] 559 + "border_customs_city", [INFO] [stdout] 560 + "border_customs_address", [INFO] [stdout] 561 + "internal_customs_code", [INFO] [stdout] 562 + "internal_customs_name", [INFO] [stdout] 563 + "internal_customs_address", [INFO] [stdout] 564 + "delivery_terms_code", [INFO] [stdout] 565 + "delivery_terms_alpha_code", [INFO] [stdout] 566 + "delivery_terms", [INFO] [stdout] 567 + "payment_form_code", [INFO] [stdout] 568 + "payment_form", [INFO] [stdout] 569 + "stat_accounting_sign_code", [INFO] [stdout] 570 + "stat_accounting_sign", [INFO] [stdout] 571 + "origin_country_code", [INFO] [stdout] 572 + "origin_country", [INFO] [stdout] 573 + "destination_country_code", [INFO] [stdout] 574 + "destination_country", [INFO] [stdout] 575 + "trade_country_code", [INFO] [stdout] 576 + "trade_country", [INFO] [stdout] 577 + "origin_country_code_2", [INFO] [stdout] 578 + "origin_country_2", [INFO] [stdout] 579 + "tnved_code", [INFO] [stdout] 580 + "tnved_description", [INFO] [stdout] 581 + "transport_border_code", [INFO] [stdout] 582 + "transport_border", [INFO] [stdout] 583 + "transport_internal_code", [INFO] [stdout] 584 + "transport_internal", [INFO] [stdout] 585 + "additional_unit_code_1", [INFO] [stdout] 586 + "additional_unit_1", [INFO] [stdout] 587 + "additional_unit_code_2", [INFO] [stdout] 588 + "additional_unit_2", [INFO] [stdout] 589 + "cost_usd", [INFO] [stdout] 590 + "product_description_1", [INFO] [stdout] 591 + "product_description_2", [INFO] [stdout] 592 + "manufacturer", [INFO] [stdout] 593 + "brand", [INFO] [stdout] 594 + "brand_more", [INFO] [stdout] 595 + "net_weight", [INFO] [stdout] 596 + "gross_weight", [INFO] [stdout] 597 + "quantity_physical", [INFO] [stdout] 598 + "quantity_additional", [INFO] [stdout] 599 + "cargo_type", [INFO] [stdout] 600 + "number_of_packages", [INFO] [stdout] 601 + "delivery_point", [INFO] [stdout] 602 + "container_sign", [INFO] [stdout] 603 + "preferences", [INFO] [stdout] 604 + "customs_value", [INFO] [stdout] 605 + "invoice_value", [INFO] [stdout] 606 + "stat_value", [INFO] [stdout] 607 + "stat_value_usd", [INFO] [stdout] 608 + "total_invoice_value", [INFO] [stdout] 609 + "customs_correct_sign", [INFO] [stdout] 610 + "customs_correct_desc", [INFO] [stdout] 611 + "currency_code", [INFO] [stdout] 612 + "currency_description", [INFO] [stdout] 613 + "exchange_rate", [INFO] [stdout] 614 + "gtd_registration_place", [INFO] [stdout] 615 + "gtd_registration_date", [INFO] [stdout] 616 + "loading_place", [INFO] [stdout] 617 + "processing_code", [INFO] [stdout] 618 + "processing_description", [INFO] [stdout] 619 + "declaration_type", [INFO] [stdout] 620 + "price_per_kg", [INFO] [stdout] 621 + "price_per_unit", [INFO] [stdout] 622 + "price_per_additional_unit", [INFO] [stdout] 623 + "info_type", [INFO] [stdout] 624 + "decision_code_ts", [INFO] [stdout] 625 + "recall_decision_code", [INFO] [stdout] 626 + "customs_value_ts", [INFO] [stdout] 627 + "previous_customs_value", [INFO] [stdout] 628 + "total_customs_payments", [INFO] [stdout] 629 + "customs_region", [INFO] [stdout] 630 + "customs_procedure", [INFO] [stdout] 631 + "additional_bdecl1", [INFO] [stdout] 632 + "customs_op", [INFO] [stdout] 633 + "incoterm", [INFO] [stdout] 634 + "category", [INFO] [stdout] 635 + "eval", [INFO] [stdout] 636 + "created_at", [INFO] [stdout] 637 ~ ])?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/database.rs:773:3 [INFO] [stdout] | [INFO] [stdout] 773 | / match opt { [INFO] [stdout] 774 | | Some(s) => s, [INFO] [stdout] 775 | | None => String::new(), [INFO] [stdout] 776 | | } [INFO] [stdout] | |___^ help: replace it with: `opt.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/imports.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | if !r.is_ok() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `r.is_err()` [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: unneeded late initialization [INFO] [stdout] --> src/imports.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | let date: NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `date` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 25 ~ [INFO] [stdout] 26 | [INFO] [stdout] 27 ~ let date: NaiveDate = if date_res.len() == 0 || a_force_import { [INFO] [stdout] 28 ~ NaiveDate::from_ymd_opt(2000, 1, 1).unwrap() [INFO] [stdout] 29 | } else { [INFO] [stdout] 30 ~ date_res[0].get(0) [INFO] [stdout] 31 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/imports.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | if date_res.len() == 0 || a_force_import { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `date_res.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: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/schemas.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | / pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 28 | | { [INFO] [stdout] 29 | | if a_str.to_lowercase() == "xps" { [INFO] [stdout] 30 | | return TypeT::Xps; [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | return TypeT::Xps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return TypeT::Xps; [INFO] [stdout] 30 + TypeT::Xps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | return TypeT::Eps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return TypeT::Eps; [INFO] [stdout] 32 + TypeT::Eps [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | return TypeT::Pson; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return TypeT::Pson; [INFO] [stdout] 34 + TypeT::Pson [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | return TypeT::Pir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return TypeT::Pir; [INFO] [stdout] 36 + TypeT::Pir [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | return TypeT::Psv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return TypeT::Psv; [INFO] [stdout] 38 + TypeT::Psv [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | return TypeT::GlassWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return TypeT::GlassWool; [INFO] [stdout] 40 + TypeT::GlassWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | return TypeT::StoneWool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return TypeT::StoneWool; [INFO] [stdout] 42 + TypeT::StoneWool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | return TypeT::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return TypeT::Other; [INFO] [stdout] 44 + TypeT::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | return TypeT::NoNeed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return TypeT::NoNeed; [INFO] [stdout] 46 + TypeT::NoNeed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/schemas.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | return TypeT::NoEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return TypeT::NoEval; [INFO] [stdout] 48 + TypeT::NoEval [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/schemas.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn from_str(a_str: &String) -> Self [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 27 - pub fn from_str(a_str: &String) -> Self [INFO] [stdout] 27 + pub fn from_str(a_str: &str) -> Self [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | client.batch_execute(&queries.as_str()).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `queries.as_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | client.batch_execute(&queries.as_str()).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `queries.as_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s [INFO] running `Command { std: "docker" "inspect" "460c76d79ee4e2629e1478d38b29960ea519b442419fe433c1f1a53d287e7baa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "460c76d79ee4e2629e1478d38b29960ea519b442419fe433c1f1a53d287e7baa", kill_on_drop: false }` [INFO] [stdout] 460c76d79ee4e2629e1478d38b29960ea519b442419fe433c1f1a53d287e7baa