[INFO] fetching crate zeph-skills 0.14.3... [INFO] linting zeph-skills-0.14.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate zeph-skills 0.14.3 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate zeph-skills 0.14.3 [INFO] finished tweaking crates.io crate zeph-skills 0.14.3 [INFO] tweaked toml for crates.io crate zeph-skills 0.14.3 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate zeph-skills 0.14.3 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 crates.io crate zeph-skills 0.14.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ollama-rs v0.3.4 [INFO] [stderr] Downloaded xml5ever v0.38.0 [INFO] [stderr] Downloaded toml v1.0.6+spec-1.1.0 [INFO] [stderr] Downloaded inotify v0.11.1 [INFO] [stderr] Downloaded notify-debouncer-mini v0.7.0 [INFO] [stderr] Downloaded markup5ever_rcdom v0.38.0+unofficial [INFO] [stderr] Downloaded zeph-llm v0.14.3 [INFO] [stderr] Downloaded zeph-memory v0.14.3 [INFO] [stderr] Downloaded scrape-core v0.2.4 [INFO] [stderr] Downloaded qdrant-client v1.17.0 [INFO] [stderr] Downloaded zeph-tools v0.14.3 [INFO] [stderr] Downloaded tiktoken-rs v0.9.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 9141c339b1714d829ee5e92aac5df60ce2bcd6a1ed01cb2bc7aa79f4deac36ad [INFO] running `Command { std: "docker" "start" "-a" "9141c339b1714d829ee5e92aac5df60ce2bcd6a1ed01cb2bc7aa79f4deac36ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9141c339b1714d829ee5e92aac5df60ce2bcd6a1ed01cb2bc7aa79f4deac36ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9141c339b1714d829ee5e92aac5df60ce2bcd6a1ed01cb2bc7aa79f4deac36ad", kill_on_drop: false }` [INFO] [stdout] 9141c339b1714d829ee5e92aac5df60ce2bcd6a1ed01cb2bc7aa79f4deac36ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 3f20b20ef23acc24609dfa3d6b3c57ec0e3869707caefdedb69919b1ea6f25d3 [INFO] running `Command { std: "docker" "start" "-a" "3f20b20ef23acc24609dfa3d6b3c57ec0e3869707caefdedb69919b1ea6f25d3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Compiling phf_shared v0.13.1 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling zerocopy-derive v0.8.40 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling phf_generator v0.13.1 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling phf_codegen v0.13.1 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Compiling string_cache_codegen v0.6.1 [INFO] [stderr] Compiling phf_macros v0.13.1 [INFO] [stderr] Checking string_cache v0.9.0 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling web_atoms v0.2.3 [INFO] [stderr] Checking tendril v0.5.0 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Checking phf v0.13.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Checking dtoa-short v0.3.5 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Checking schemars v1.2.1 [INFO] [stderr] Checking indexmap v1.9.3 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling selectors v0.35.0 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Checking markup5ever v0.38.0 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking cssparser v0.36.0 [INFO] [stderr] Checking html5ever v0.38.0 [INFO] [stderr] Checking xml5ever v0.38.0 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking tempfile v3.26.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking atoi v2.0.0 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking winnow v0.7.15 [INFO] [stderr] Compiling qdrant-client v1.17.0 [INFO] [stderr] Checking uuid v1.22.0 [INFO] [stderr] Checking inotify v0.11.1 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Checking eventsource-stream v0.2.3 [INFO] [stderr] Checking prost v0.13.5 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking markup5ever_rcdom v0.38.0+unofficial [INFO] [stderr] Checking fancy-regex v0.13.0 [INFO] [stderr] Checking derive_builder v0.20.2 [INFO] [stderr] Checking bstr v1.12.1 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Checking notify-types v2.1.0 [INFO] [stderr] Checking prost-types v0.13.5 [INFO] [stderr] Checking serde_spanned v1.0.4 [INFO] [stderr] Checking toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking petgraph v0.8.3 [INFO] [stderr] Checking notify v8.2.0 [INFO] [stderr] Checking clap_builder v4.5.60 [INFO] [stderr] Checking scrape-core v0.2.4 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking tiktoken-rs v0.9.1 [INFO] [stderr] Checking wait-timeout v0.2.1 [INFO] [stderr] Checking notify-debouncer-mini v0.7.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking rusty-fork v0.3.1 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking rand_xorshift v0.4.0 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Checking toml v1.0.6+spec-1.1.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking criterion-plot v0.8.2 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking criterion v0.8.2 [INFO] [stderr] Checking rand_distr v0.5.1 [INFO] [stderr] Checking proptest v1.10.0 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Checking hyper-timeout v0.5.2 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking tonic v0.12.3 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking reqwest v0.13.2 [INFO] [stderr] Checking ollama-rs v0.3.4 [INFO] [stderr] Checking zeph-tools v0.14.3 [INFO] [stderr] Checking zeph-llm v0.14.3 [INFO] [stderr] Checking sqlx v0.8.6 [INFO] [stderr] Checking zeph-memory v0.14.3 [INFO] [stderr] Checking zeph-skills v0.14.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:276:13 [INFO] [stdout] | [INFO] [stdout] 276 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let matcher = SkillMatcher::new(&refs, embed_fn_mapping).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] = note: `-W clippy::similar-names` implied by `-W clippy::pedantic` [INFO] [stdout] = help: to override `-W clippy::pedantic` add `#[allow(clippy::similar_names)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let matcher = SkillMatcher::new(&refs, embed_fn_constant).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:349:13 [INFO] [stdout] | [INFO] [stdout] 349 | let matcher = SkillMatcher::new(&refs, embed_fn_constant).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | let matcher = SkillMatcher::new(&refs, embed_fn_constant).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:405:13 [INFO] [stdout] | [INFO] [stdout] 405 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:404:13 [INFO] [stdout] | [INFO] [stdout] 404 | let matcher = SkillMatcher::new(&refs, embed_fn_constant).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let matcher = SkillMatcher::new(&refs, embed_fn_mapping).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binding's name is too similar to existing binding [INFO] [stdout] --> src/matcher.rs:579:13 [INFO] [stdout] | [INFO] [stdout] 579 | let matched = matcher [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: existing binding defined here [INFO] [stdout] --> src/matcher.rs:578:13 [INFO] [stdout] | [INFO] [stdout] 578 | let matcher = SkillMatcher::new(&refs, embed_fn_mapping).await.unwrap(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map().unwrap_or()` on a `Result` value [INFO] [stdout] --> src/manager.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | let nanos = std::time::SystemTime::now() [INFO] [stdout] | _____________________^ [INFO] [stdout] 69 | | .duration_since(std::time::UNIX_EPOCH) [INFO] [stdout] 70 | | .map(|d| d.as_nanos()) [INFO] [stdout] 71 | | .unwrap_or(0); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_unwrap_or [INFO] [stdout] = note: `-W clippy::map-unwrap-or` implied by `-W clippy::pedantic` [INFO] [stdout] = help: to override `-W clippy::pedantic` add `#[allow(clippy::map_unwrap_or)]` [INFO] [stdout] help: use `map_or(, )` instead [INFO] [stdout] | [INFO] [stdout] 70 - .map(|d| d.as_nanos()) [INFO] [stdout] 71 - .unwrap_or(0); [INFO] [stdout] 70 + .map_or(0, |d| d.as_nanos()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `usize` to `f32` may cause a loss of precision (`usize` can be up to 64 bits wide depending on the target architecture, but `f32`'s mantissa is only 23 bits wide) [INFO] [stdout] --> benches/matcher.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | (0..dim).map(|i| ((i as f32 + seed) * 0.1).sin()).collect() [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss [INFO] [stdout] = note: `-W clippy::cast-precision-loss` implied by `-W clippy::pedantic` [INFO] [stdout] = help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_precision_loss)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `i32` to `f32` may cause a loss of precision (`i32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide) [INFO] [stdout] --> benches/matcher.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | (0..count).map(|i| generate_vector(384, i as f32)).collect(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map().unwrap_or()` on a `Result` value [INFO] [stdout] --> src/manager.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | let nanos = std::time::SystemTime::now() [INFO] [stdout] | _____________________^ [INFO] [stdout] 69 | | .duration_since(std::time::UNIX_EPOCH) [INFO] [stdout] 70 | | .map(|d| d.as_nanos()) [INFO] [stdout] 71 | | .unwrap_or(0); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_unwrap_or [INFO] [stdout] = note: `-W clippy::map-unwrap-or` implied by `-W clippy::pedantic` [INFO] [stdout] = help: to override `-W clippy::pedantic` add `#[allow(clippy::map_unwrap_or)]` [INFO] [stdout] help: use `map_or(, )` instead [INFO] [stdout] | [INFO] [stdout] 70 - .map(|d| d.as_nanos()) [INFO] [stdout] 71 - .unwrap_or(0); [INFO] [stdout] 70 + .map_or(0, |d| d.as_nanos()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: strict comparison of `f32` or `f64` [INFO] [stdout] --> src/matcher.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | assert_eq!(sim, 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stdout] = note: `-W clippy::float-cmp` implied by `-W clippy::pedantic` [INFO] [stdout] = help: to override `-W clippy::pedantic` add `#[allow(clippy::float_cmp)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: strict comparison of `f32` or `f64` [INFO] [stdout] --> src/matcher.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 374 | assert_eq!(cosine_similarity(&a, &b), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: strict comparison of `f32` or `f64` [INFO] [stdout] --> src/matcher.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | assert_eq!(cosine_similarity(&a, &b), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: strict comparison of `f32` or `f64` [INFO] [stdout] --> src/matcher.rs:388:9 [INFO] [stdout] | [INFO] [stdout] 388 | assert_eq!(cosine_similarity(&a, &b), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/matcher.rs:545:13 [INFO] [stdout] | [INFO] [stdout] 545 | !(delta < threshold), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] = note: `-W clippy::neg-cmp-op-on-partial-ord` implied by `-W clippy::all` [INFO] [stdout] = help: to override `-W clippy::all` add `#[allow(clippy::neg_cmp_op_on_partial_ord)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/matcher.rs:563:17 [INFO] [stdout] | [INFO] [stdout] 563 | assert!(!((high.score - low.score) < threshold)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/matcher.rs:607:25 [INFO] [stdout] | [INFO] [stdout] 607 | assert!(result >= -1.01 && result <= 1.01, "got {result}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-1.01..=1.01).contains(&result)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `-W clippy::manual-range-contains` implied by `-W clippy::all` [INFO] [stdout] = help: to override `-W clippy::all` add `#[allow(clippy::manual_range_contains)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/prompt.rs:325:49 [INFO] [stdout] | [INFO] [stdout] 325 | std::fs::write(assets.join("logo.png"), &[0u8; 4]).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `[0u8; 4]` [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: `-W clippy::needless-borrows-for-generic-args` implied by `-W clippy::all` [INFO] [stdout] = help: to override `-W clippy::all` add `#[allow(clippy::needless_borrows_for_generic_args)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/resource.rs:105:49 [INFO] [stdout] | [INFO] [stdout] 105 | std::fs::write(assets.join("logo.png"), &[0u8; 4]).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `[0u8; 4]` [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] [INFO] [stdout] [INFO] [stdout] warning: strict comparison of `f32` or `f64` [INFO] [stdout] --> src/trust_score.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | assert_eq!(w, 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/trust_score.rs:224:25 [INFO] [stdout] | [INFO] [stdout] 224 | assert!(w >= 0.0 && w <= 1.0, "out of [0,1] at s={s} f={f}: {w}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(0.0..=1.0).contains(&w)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | let metas = vec![ [INFO] [stdout] | _____________________^ [INFO] [stdout] 269 | | make_meta("a", "alpha"), [INFO] [stdout] 270 | | make_meta("b", "beta"), [INFO] [stdout] 271 | | make_meta("c", "gamma"), [INFO] [stdout] 272 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `-W clippy::useless-vec` implied by `-W clippy::all` [INFO] [stdout] = help: to override `-W clippy::all` add `#[allow(clippy::useless_vec)]` [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 268 ~ let metas = [make_meta("a", "alpha"), [INFO] [stdout] 269 + make_meta("b", "beta"), [INFO] [stdout] 270 ~ make_meta("c", "gamma")]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 295 | let metas = vec![make_meta("only", "the only skill")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("only", "the only skill")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:309:21 [INFO] [stdout] | [INFO] [stdout] 309 | let metas = vec![make_meta("fail", "will fail")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("fail", "will fail")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:317:21 [INFO] [stdout] | [INFO] [stdout] 317 | let metas = vec![ [INFO] [stdout] | _____________________^ [INFO] [stdout] 318 | | make_meta("good", "good skill"), [INFO] [stdout] 319 | | make_meta("bad", "bad skill"), [INFO] [stdout] 320 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 317 ~ let metas = [make_meta("good", "good skill"), [INFO] [stdout] 318 ~ make_meta("bad", "bad skill")]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:346:21 [INFO] [stdout] | [INFO] [stdout] 346 | let metas = vec![make_meta("a", "alpha"), make_meta("b", "beta")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("a", "alpha"), make_meta("b", "beta")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:359:21 [INFO] [stdout] | [INFO] [stdout] 359 | let metas = vec![make_meta("a", "alpha")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("a", "alpha")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:401:21 [INFO] [stdout] | [INFO] [stdout] 401 | let metas = vec![make_meta("a", "alpha"), make_meta("b", "beta")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("a", "alpha"), make_meta("b", "beta")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:414:21 [INFO] [stdout] | [INFO] [stdout] 414 | let metas = vec![ [INFO] [stdout] | _____________________^ [INFO] [stdout] 415 | | make_meta("far", "gamma"), [INFO] [stdout] 416 | | make_meta("close", "alpha"), [INFO] [stdout] 417 | | make_meta("mid", "beta"), [INFO] [stdout] 418 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 414 ~ let metas = [make_meta("far", "gamma"), [INFO] [stdout] 415 + make_meta("close", "alpha"), [INFO] [stdout] 416 ~ make_meta("mid", "beta")]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:450:21 [INFO] [stdout] | [INFO] [stdout] 450 | let metas = vec![make_meta("a", "alpha"), make_meta("b", "beta")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("a", "alpha"), make_meta("b", "beta")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/matcher.rs:575:21 [INFO] [stdout] | [INFO] [stdout] 575 | let metas = vec![make_meta("a", "alpha"), make_meta("b", "beta")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("a", "alpha"), make_meta("b", "beta")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/qdrant_matcher.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | let metas = vec![make_meta("s", "desc")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[make_meta("s", "desc")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s [INFO] running `Command { std: "docker" "inspect" "3f20b20ef23acc24609dfa3d6b3c57ec0e3869707caefdedb69919b1ea6f25d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f20b20ef23acc24609dfa3d6b3c57ec0e3869707caefdedb69919b1ea6f25d3", kill_on_drop: false }` [INFO] [stdout] 3f20b20ef23acc24609dfa3d6b3c57ec0e3869707caefdedb69919b1ea6f25d3