[INFO] cloning repository https://github.com/zetareticula/scann [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zetareticula/scann" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetareticula%2Fscann", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetareticula%2Fscann'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e099e56a0ce4235b9b50ae29476cc58e3ee7b50b [INFO] testing zetareticula/scann against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetareticula%2Fscann" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/zetareticula/scann [INFO] finished tweaking git repo https://github.com/zetareticula/scann [INFO] tweaked toml for git repo https://github.com/zetareticula/scann written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/zetareticula/scann on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/zetareticula/scann 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7b4d5b52000dc46417e4702ab3aec82eb5e687d743d2844c9d0983bf57c08837 [INFO] running `Command { std: "docker" "start" "-a" "7b4d5b52000dc46417e4702ab3aec82eb5e687d743d2844c9d0983bf57c08837", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7b4d5b52000dc46417e4702ab3aec82eb5e687d743d2844c9d0983bf57c08837", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b4d5b52000dc46417e4702ab3aec82eb5e687d743d2844c9d0983bf57c08837", kill_on_drop: false }` [INFO] [stdout] 7b4d5b52000dc46417e4702ab3aec82eb5e687d743d2844c9d0983bf57c08837 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5ba318ca3ae5406899e01f99b005cf8a6303a75b0b8c6e5c91c6720126b15ca0 [INFO] running `Command { std: "docker" "start" "-a" "5ba318ca3ae5406899e01f99b005cf8a6303a75b0b8c6e5c91c6720126b15ca0", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling bytemuck v1.23.1 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling simba v0.8.1 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Compiling prost v0.12.6 [INFO] [stderr] Compiling nalgebra v0.32.6 [INFO] [stderr] Compiling scann v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0583]: file not found for module `trees` [INFO] [stdout] --> src/lib.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub mod trees; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: to create the module `trees`, create file "src/trees.rs" or "src/trees/mod.rs" [INFO] [stdout] = note: if there is a `mod trees` elsewhere in the crate already, import it with `use crate::...` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0428]: the name `CosineDistance` is defined multiple times [INFO] [stdout] --> src/distance_measures.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CosineDistance; [INFO] [stdout] | -------------------------- previous definition of the type `CosineDistance` here [INFO] [stdout] ... [INFO] [stdout] 52 | pub struct $name; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ `CosineDistance` redefined here [INFO] [stdout] ... [INFO] [stdout] 83 | define_distance_measure!(CosineDistance); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `CosineDistance` must be defined only once in the type namespace of this module [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::utils` [INFO] [stdout] --> src/distance_measures.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | use super::{proto, utils, ScannError}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `utils` in the root [INFO] [stdout] | help: a similar name exists in the module: `util` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `super::failed_precondition_error`, `super::invalid_argument_error`, `super::utils` [INFO] [stdout] --> src/projection.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | use super::{failed_precondition_error, invalid_argument_error, proto, utils, ScannError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | no `utils` in the root [INFO] [stdout] | | | help: a similar name exists in the module: `util` [INFO] [stdout] | | no `invalid_argument_error` in the root [INFO] [stdout] | no `failed_precondition_error` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::utils` [INFO] [stdout] --> src/retrieval.rs:17:39 [INFO] [stdout] | [INFO] [stdout] 17 | use super::{distance_measures, proto, utils, ScannError}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `utils` in the root [INFO] [stdout] | help: a similar name exists in the module: `util` [INFO] [stdout] | [INFO] [stdout] = note: unresolved item `crate::projection::pca_utils::utils` exists but is inaccessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::utils` [INFO] [stdout] --> src/retro/attention.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use super::utils; [INFO] [stdout] | ^^^^^^^^^^^^ no `utils` in `retro` [INFO] [stdout] | [INFO] [stdout] = note: unresolved item `crate::projection::pca_utils::utils` exists but is inaccessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/embeddings.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::utils` [INFO] [stdout] --> src/retro/decoder.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | use super::{attention, encoder, utils}; [INFO] [stdout] | ^^^^^ no `utils` in `retro` [INFO] [stdout] | [INFO] [stdout] = note: unresolved item `crate::projection::pca_utils::utils` exists but is inaccessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::utils` [INFO] [stdout] --> src/retro/encoder.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | use super::{attention, utils}; [INFO] [stdout] | ^^^^^ no `utils` in `retro` [INFO] [stdout] | [INFO] [stdout] = note: unresolved item `crate::projection::pca_utils::utils` exists but is inaccessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::utils` [INFO] [stdout] --> src/retro/model.rs:20:43 [INFO] [stdout] | [INFO] [stdout] 20 | use super::{decoder, embeddings, encoder, utils}; [INFO] [stdout] | ^^^^^ no `utils` in `retro` [INFO] [stdout] | [INFO] [stdout] = note: unresolved item `crate::projection::pca_utils::utils` exists but is inaccessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `utils` [INFO] [stdout] --> src/lib.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use utils::{DenseDataset, DatapointPtr, ScannError}; [INFO] [stdout] | ^^^^^ use of unresolved module or unlinked crate `utils` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 34 - pub use utils::{DenseDataset, DatapointPtr, ScannError}; [INFO] [stdout] 34 + pub use util::{DenseDataset, DatapointPtr, ScannError}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `ngalgebra` [INFO] [stdout] --> src/distance_measures.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use ngalgebra::{DVector, Vector}; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `ngalgebra` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 19 - use ngalgebra::{DVector, Vector}; [INFO] [stdout] 19 + use nalgebra::{DVector, Vector}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:50:72 [INFO] [stdout] | [INFO] [stdout] 50 | add_if_exists(&mut assets, artifacts_dir, "ah_codebook.pb", proto::AssetType::AhCenters); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:51:83 [INFO] [stdout] | [INFO] [stdout] 51 | add_if_exists(&mut assets, artifacts_dir, "serialized_partitioner.pb", proto::AssetType::Partitioner); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:52:80 [INFO] [stdout] | [INFO] [stdout] 52 | add_if_exists(&mut assets, artifacts_dir, "datapoint_to_token.npy", proto::AssetType::TokenizationNpy); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:53:76 [INFO] [stdout] | [INFO] [stdout] 53 | add_if_exists(&mut assets, artifacts_dir, "hashed_dataset.npy", proto::AssetType::AhDatasetNpy); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:54:74 [INFO] [stdout] | [INFO] [stdout] 54 | add_if_exists(&mut assets, artifacts_dir, "int8_dataset.npy", proto::AssetType::Int8DatasetNpy); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:55:78 [INFO] [stdout] | [INFO] [stdout] 55 | add_if_exists(&mut assets, artifacts_dir, "int8_multipliers.npy", proto::AssetType::Int8MultipliersNpy); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:56:70 [INFO] [stdout] | [INFO] [stdout] 56 | add_if_exists(&mut assets, artifacts_dir, "dp_norms.npy", proto::AssetType::Int8NormsNpy); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `AssetType` in `proto` [INFO] [stdout] --> src/assets.rs:57:69 [INFO] [stdout] | [INFO] [stdout] 57 | add_if_exists(&mut assets, artifacts_dir, "dataset.npy", proto::AssetType::DatasetNpy); [INFO] [stdout] | ^^^^^^^^^ could not find `AssetType` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `SerializedProjection` in `proto` [INFO] [stdout] --> src/projection.rs:296:33 [INFO] [stdout] | [INFO] [stdout] 296 | let mut result = proto::SerializedProjection::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ could not find `SerializedProjection` in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `utils` in `super` [INFO] [stdout] --> src/retro/embeddings.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | return Err(super::utils::invalid_argument_error(&format!( [INFO] [stdout] | ^^^^^ could not find `utils` in `super` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `utils` in `super` [INFO] [stdout] --> src/retro/embeddings.rs:66:31 [INFO] [stdout] | [INFO] [stdout] 66 | return Err(super::utils::invalid_argument_error(&format!( [INFO] [stdout] | ^^^^^ could not find `utils` in `super` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `ScannAssets` in module `proto` [INFO] [stdout] --> src/assets.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | ) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ScannAssets` in module `proto` [INFO] [stdout] --> src/assets.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assets = proto::ScannAssets { [INFO] [stdout] | ^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `ScannAssets` in module `proto` [INFO] [stdout] --> src/assets.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | assets: &mut proto::ScannAssets, [INFO] [stdout] | ^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `AssetType` in module `proto` [INFO] [stdout] --> src/assets.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | asset_type: proto::AssetType, [INFO] [stdout] | ^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ScannAsset` in module `proto` [INFO] [stdout] --> src/assets.rs:43:39 [INFO] [stdout] | [INFO] [stdout] 43 | assets.assets.push(proto::ScannAsset { [INFO] [stdout] | ^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `DistanceMeasureConfig` in module `proto` [INFO] [stdout] --> src/distance_measures.rs:92:45 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn get_distance_measure(config: &proto::DistanceMeasureConfig) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `SerializedProjection` in module `proto` [INFO] [stdout] --> src/projection.rs:203:40 [INFO] [stdout] | [INFO] [stdout] 203 | serialized_projection: &proto::SerializedProjection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `SerializedProjection` in module `proto` [INFO] [stdout] --> src/projection.rs:292:55 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn serialize_to_proto(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `GenericFeatureVector` in module `proto` [INFO] [stdout] --> src/projection.rs:306:36 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn to_gfv(&self) -> proto::GenericFeatureVector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GenericFeatureVector` in module `proto` [INFO] [stdout] --> src/projection.rs:307:16 [INFO] [stdout] | [INFO] [stdout] 307 | proto::GenericFeatureVector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not found in `proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `proto` [INFO] [stdout] --> src/retrieval.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | use super::{distance_measures, proto, utils, ScannError}; [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: `DVector` [INFO] [stdout] --> src/retro/embeddings.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | use nalgebra::{DMatrix, DVector}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DVector` [INFO] [stdout] --> src/util.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | use nalgebra::{DMatrix, DVector}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0119]: conflicting implementations of trait `DistanceMeasure` for type `distance_measures::CosineDistance` [INFO] [stdout] --> src/distance_measures.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 29 | impl DistanceMeasure for CosineDistance { [INFO] [stdout] | --------------------------------------- first implementation here [INFO] [stdout] ... [INFO] [stdout] 60 | impl DistanceMeasure for $name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `distance_measures::CosineDistance` [INFO] [stdout] ... [INFO] [stdout] 83 | define_distance_measure!(CosineDistance); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:92:82 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn get_distance_measure(config: &proto::DistanceMeasureConfig) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:101:63 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn get_distance_measure_by_name(name: &str) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/retrieval.rs:23:27 [INFO] [stdout] | [INFO] [stdout] 23 | distance_measure: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/retrieval.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | distance_measure: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] help: you might have meant to use `Self` to refer to the implementing type [INFO] [stdout] | [INFO] [stdout] 30 - distance_measure: Box, [INFO] [stdout] 30 + distance_measure: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `new` [INFO] [stdout] --> src/distance_measures.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new` [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn new() -> Self { [INFO] [stdout] | -------------------- other definition for `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `&_` [INFO] [stdout] --> src/distance_measures.rs:31:54 [INFO] [stdout] | [INFO] [stdout] 31 | let a_vec: Vec = a.values().iter().map(|&x| x.into()).collect(); [INFO] [stdout] | ^^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified [INFO] [stdout] | [INFO] [stdout] 31 | let a_vec: Vec = a.values().iter().map(|&x: &_| x.into()).collect(); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `&_` [INFO] [stdout] --> src/distance_measures.rs:32:54 [INFO] [stdout] | [INFO] [stdout] 32 | let b_vec: Vec = b.values().iter().map(|&x| x.into()).collect(); [INFO] [stdout] | ^^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified [INFO] [stdout] | [INFO] [stdout] 32 | let b_vec: Vec = b.values().iter().map(|&x: &_| x.into()).collect(); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 76 | define_distance_measure!(DotProductDistance); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 76 | define_distance_measure!(DotProductDistance); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 77 | define_distance_measure!(BinaryDotProductDistance); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 77 | define_distance_measure!(BinaryDotProductDistance); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 78 | define_distance_measure!(AbsDotProductDistance); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 78 | define_distance_measure!(AbsDotProductDistance); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 79 | define_distance_measure!(L2Distance); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 79 | define_distance_measure!(L2Distance); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 80 | define_distance_measure!(SquaredL2Distance); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 80 | define_distance_measure!(SquaredL2Distance); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 81 | define_distance_measure!(NegatedSquaredL2Distance); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 81 | define_distance_measure!(NegatedSquaredL2Distance); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 82 | define_distance_measure!(L1Distance); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 82 | define_distance_measure!(L1Distance); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 83 | define_distance_measure!(CosineDistance); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 83 | define_distance_measure!(CosineDistance); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 84 | define_distance_measure!(BinaryCosineDistance); [INFO] [stdout] | ---------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 84 | define_distance_measure!(BinaryCosineDistance); [INFO] [stdout] | ---------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 85 | define_distance_measure!(GeneralJaccardDistance); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 85 | define_distance_measure!(GeneralJaccardDistance); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 86 | define_distance_measure!(BinaryJaccardDistance); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 86 | define_distance_measure!(BinaryJaccardDistance); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 87 | define_distance_measure!(LimitedInnerProductDistance); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 87 | define_distance_measure!(LimitedInnerProductDistance); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 88 | define_distance_measure!(GeneralHammingDistance); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 88 | define_distance_measure!(GeneralHammingDistance); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 89 | define_distance_measure!(BinaryHammingDistance); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 89 | define_distance_measure!(BinaryHammingDistance); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:37 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 90 | define_distance_measure!(NonzeroIntersectDistance); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/distance_measures.rs:68:48 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^ cannot infer type [INFO] [stdout] ... [INFO] [stdout] 90 | define_distance_measure!(NonzeroIntersectDistance); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | return Err(Box::new(ScannError { [INFO] [stdout] | ^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | get_distance_measure_by_name(config.distance_measure()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:103:33 [INFO] [stdout] | [INFO] [stdout] 103 | "DotProductDistance" => Ok(Box::new(DotProductDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:103:33 [INFO] [stdout] | [INFO] [stdout] 103 | "DotProductDistance" => Ok(Box::new(DotProductDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:104:39 [INFO] [stdout] | [INFO] [stdout] 104 | "BinaryDotProductDistance" => Ok(Box::new(BinaryDotProductDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:104:39 [INFO] [stdout] | [INFO] [stdout] 104 | "BinaryDotProductDistance" => Ok(Box::new(BinaryDotProductDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:105:36 [INFO] [stdout] | [INFO] [stdout] 105 | "AbsDotProductDistance" => Ok(Box::new(AbsDotProductDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:105:36 [INFO] [stdout] | [INFO] [stdout] 105 | "AbsDotProductDistance" => Ok(Box::new(AbsDotProductDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | "L2Distance" => Ok(Box::new(L2Distance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | "L2Distance" => Ok(Box::new(L2Distance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 107 | "SquaredL2Distance" => Ok(Box::new(SquaredL2Distance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 107 | "SquaredL2Distance" => Ok(Box::new(SquaredL2Distance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:108:39 [INFO] [stdout] | [INFO] [stdout] 108 | "NegatedSquaredL2Distance" => Ok(Box::new(NegatedSquaredL2Distance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:108:39 [INFO] [stdout] | [INFO] [stdout] 108 | "NegatedSquaredL2Distance" => Ok(Box::new(NegatedSquaredL2Distance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:109:25 [INFO] [stdout] | [INFO] [stdout] 109 | "L1Distance" => Ok(Box::new(L1Distance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:109:25 [INFO] [stdout] | [INFO] [stdout] 109 | "L1Distance" => Ok(Box::new(L1Distance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/distance_measures.rs:110:57 [INFO] [stdout] | [INFO] [stdout] 110 | "CosineDistance" => Ok(Box::new(CosineDistance::new())), [INFO] [stdout] | ^^^ multiple `new` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `distance_measures::CosineDistance` [INFO] [stdout] --> src/distance_measures.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `distance_measures::CosineDistance` [INFO] [stdout] --> src/distance_measures.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | define_distance_measure!(CosineDistance); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] = note: this error originates in the macro `define_distance_measure` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:110:29 [INFO] [stdout] | [INFO] [stdout] 110 | "CosineDistance" => Ok(Box::new(CosineDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:110:29 [INFO] [stdout] | [INFO] [stdout] 110 | "CosineDistance" => Ok(Box::new(CosineDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:111:35 [INFO] [stdout] | [INFO] [stdout] 111 | "BinaryCosineDistance" => Ok(Box::new(BinaryCosineDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:111:35 [INFO] [stdout] | [INFO] [stdout] 111 | "BinaryCosineDistance" => Ok(Box::new(BinaryCosineDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:112:37 [INFO] [stdout] | [INFO] [stdout] 112 | "GeneralJaccardDistance" => Ok(Box::new(GeneralJaccardDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:112:37 [INFO] [stdout] | [INFO] [stdout] 112 | "GeneralJaccardDistance" => Ok(Box::new(GeneralJaccardDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | "BinaryJaccardDistance" => Ok(Box::new(BinaryJaccardDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | "BinaryJaccardDistance" => Ok(Box::new(BinaryJaccardDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | "LimitedInnerProductDistance" => Ok(Box::new(LimitedInnerProductDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | "LimitedInnerProductDistance" => Ok(Box::new(LimitedInnerProductDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | "GeneralHammingDistance" => Ok(Box::new(GeneralHammingDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | "GeneralHammingDistance" => Ok(Box::new(GeneralHammingDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:116:36 [INFO] [stdout] | [INFO] [stdout] 116 | "BinaryHammingDistance" => Ok(Box::new(BinaryHammingDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:116:36 [INFO] [stdout] | [INFO] [stdout] 116 | "BinaryHammingDistance" => Ok(Box::new(BinaryHammingDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | "NonzeroIntersectDistance" => Ok(Box::new(NonzeroIntersectDistance::new())), [INFO] [stdout] | ^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | "NonzeroIntersectDistance" => Ok(Box::new(NonzeroIntersectDistance::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/distance_measures.rs:119:14 [INFO] [stdout] | [INFO] [stdout] 119 | _ => Err(Box::new(ScannError { [INFO] [stdout] | ^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `(&_, &_)` [INFO] [stdout] --> src/projection.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^^^^^^^^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified [INFO] [stdout] | [INFO] [stdout] 107 | .map(|(&x, &y): (&_, &_)| x.into() * y.into()) [INFO] [stdout] | ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `(&{type error}, &_)` [INFO] [stdout] --> src/projection.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | .map(|(&x, &y)| x.into() * y.into()) [INFO] [stdout] | ^^^^^^^^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified [INFO] [stdout] | [INFO] [stdout] 107 | .map(|(&x, &y): (&_, &_)| x.into() * y.into()) [INFO] [stdout] | ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:118:66 [INFO] [stdout] | [INFO] [stdout] 118 | output[i] = dot_product(input, &utils::DatapointPtr::new(row.clone())); [INFO] [stdout] | ^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:163:36 [INFO] [stdout] | [INFO] [stdout] 163 | pca_vec_dataset.append(vec.values(), "").unwrap(); [INFO] [stdout] | ^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:191:36 [INFO] [stdout] | [INFO] [stdout] 191 | pca_vec_dataset.append(vec.values(), "").unwrap(); [INFO] [stdout] | ^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:227:20 [INFO] [stdout] | [INFO] [stdout] 227 | assert_eq!(pca_vecs.size(), self.projected_dims as usize); [INFO] [stdout] | ^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:282:95 [INFO] [stdout] | [INFO] [stdout] 282 | projected.values[i] = From::from(dot_product(input, &utils::DatapointPtr::new(vec.clone()))); [INFO] [stdout] | ^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:297:37 [INFO] [stdout] | [INFO] [stdout] 297 | result.reserve_rotation_vec(pca_vecs.size()); [INFO] [stdout] | ^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/projection.rs:299:67 [INFO] [stdout] | [INFO] [stdout] 299 | *result.add_rotation_vec() = utils::DatapointPtr::new(eigenvector.clone()).to_gfv(); [INFO] [stdout] | ^^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `DistanceMeasure` is not dyn compatible [INFO] [stdout] --> src/retrieval.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | distance_measure, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `DistanceMeasure` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/distance_measures.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait DistanceMeasure: Send + Sync { [INFO] [stdout] | --------------- this trait is not dyn compatible... [INFO] [stdout] 46 | fn compute_distance>(&self, a: &utils::DatapointPtr, b: &utils::DatapointPtr) -> f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ...because method `compute_distance` has generic type parameters [INFO] [stdout] = help: consider moving `compute_distance` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/retrieval.rs:44:46 [INFO] [stdout] | [INFO] [stdout] 44 | let data_vec = DVector::from_vec(data_point.clone()); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/retro/attention.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | Ok(x.component_div(&norm_clamped) * &self.gamma) [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Matrix`, found `Matrix, Const<1>, ...>` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Matrix<_, Dyn, Dyn, VecStorage>` [INFO] [stdout] found struct `Matrix<_, Const<1>, Const<1>, ArrayStorage>` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:561:4 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Normal` [INFO] [stdout] --> src/retro/attention.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let normal = Normal::new(0.0, 1.0); [INFO] [stdout] | ^^^^^^ use of undeclared type `Normal` [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `core::intrinsics::mir::BasicBlock::Normal` and 5 others; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 84 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 84 + let normal = core::intrinsics::mir::BasicBlock::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] 84 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 84 + let normal = core::num::FpCategory::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] 84 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 84 + let normal = std::intrinsics::mir::BasicBlock::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] 84 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 84 + let normal = std::num::FpCategory::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] = and 1 other candidate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/attention.rs:85:23 [INFO] [stdout] | [INFO] [stdout] 85 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `reshape` found for struct `Matrix` in the current scope [INFO] [stdout] --> src/retro/decoder.rs:55:19 [INFO] [stdout] | [INFO] [stdout] 55 | let x = x.reshape((num_chunks, chunk_size, x.ncols())); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `shape` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nalgebra-0.32.6/src/base/matrix.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 417 | pub fn shape(&self) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `reshape` found for reference `&Matrix>` in the current scope [INFO] [stdout] --> src/retro/decoder.rs:56:31 [INFO] [stdout] | [INFO] [stdout] 56 | let context = context.reshape((num_chunks, context.nrows() / num_chunks, context.ncols())); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `shape` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nalgebra-0.32.6/src/base/matrix.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 417 | pub fn shape(&self) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `reshape` found for struct `Matrix` in the current scope [INFO] [stdout] --> src/retro/decoder.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let out = out.reshape((seq_index, x.ncols())); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `shape` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nalgebra-0.32.6/src/base/matrix.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 417 | pub fn shape(&self) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/retro/decoder.rs:120:81 [INFO] [stdout] | [INFO] [stdout] 120 | x = cross_attn.forward(&x, retrieved_encoded.as_ref().unwrap(), &cross_attn_pos_emb)? + &x; [INFO] [stdout] | ------- arguments to this method are incorrect ^^^^^^^^^^^^^^^^^^^ expected `(&Matrix, ...)`, found `&(Matrix, ...)` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(&Matrix<_, _, _, _>, &Matrix<_, _, _, _>)` [INFO] [stdout] found reference `&(Matrix<_, _, _, _>, Matrix<_, _, _, _>)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/retro/decoder.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn forward( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pos_emb: (&DMatrix, &DMatrix), [INFO] [stdout] | --------------------------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/embeddings.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/embeddings.rs:57:23 [INFO] [stdout] | [INFO] [stdout] 57 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Normal` [INFO] [stdout] --> src/retro/encoder.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | let normal = Normal::new(0.0, 1.0); [INFO] [stdout] | ^^^^^^ use of undeclared type `Normal` [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `core::intrinsics::mir::BasicBlock::Normal` and 5 others; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 30 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 30 + let normal = core::intrinsics::mir::BasicBlock::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] 30 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 30 + let normal = core::num::FpCategory::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] 30 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 30 + let normal = std::intrinsics::mir::BasicBlock::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] 30 - let normal = Normal::new(0.0, 1.0); [INFO] [stdout] 30 + let normal = std::num::FpCategory::new(0.0, 1.0); [INFO] [stdout] | [INFO] [stdout] = and 1 other candidate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/encoder.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/retro/encoder.rs:39:76 [INFO] [stdout] | [INFO] [stdout] 39 | let hidden = utils::matrix_multiply(x, &self.w1.transpose())?.map(|v| v.max(0.0)); // GELU approximation [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 39 | let hidden = utils::matrix_multiply(x, &self.w1.transpose())?.map(|v: /* Type */| v.max(0.0)); // GELU approximation [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/model.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | |_, _| rand::random::(), [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/retro/model.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 71 | |_, _| rand::random::(), [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `f32` [INFO] [stdout] --> src/retro/model.rs:113:78 [INFO] [stdout] | [INFO] [stdout] 113 | |i, j| retrieved_data[i][j / retrieved_data[0][0].ncols()][0][j % retrieved_data[0][0].ncols()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: From` is not satisfied [INFO] [stdout] --> src/serialize.rs:106:33 [INFO] [stdout] | [INFO] [stdout] 106 | let n = uint_from_ieee754::(x); [INFO] [stdout] | ^^^ the trait `From` is not implemented for `u32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `u32` implements `From` [INFO] [stdout] `u32` implements `From` [INFO] [stdout] `u32` implements `From` [INFO] [stdout] `u32` implements `From` [INFO] [stdout] `u32` implements `From` [INFO] [stdout] `u32` implements `From` [INFO] [stdout] = note: required for `f32` to implement `Into` [INFO] [stdout] note: required by a bound in `uint_from_ieee754` [INFO] [stdout] --> src/serialize.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 20 | fn uint_from_ieee754(f: FloatType) -> UintType [INFO] [stdout] | ----------------- required by a bound in this function [INFO] [stdout] 21 | where [INFO] [stdout] 22 | FloatType: Into + Copy, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `uint_from_ieee754` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/serialize.rs:119:28 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(ieee754_from_uint::(n)) [INFO] [stdout] | ^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required by a bound in `ieee754_from_uint` [INFO] [stdout] --> src/serialize.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 34 | fn ieee754_from_uint(n: UintType) -> FloatType [INFO] [stdout] | ----------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 37 | FloatType: From, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `ieee754_from_uint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0512]: cannot transmute between types of different sizes, or dependently-sized types [INFO] [stdout] --> src/serialize.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | let n: u32 = unsafe { std::mem::transmute(f) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: source type: `FloatType` (this type does not have a fixed size) [INFO] [stdout] = note: target type: `u32` (32 bits) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0512]: cannot transmute between types of different sizes, or dependently-sized types [INFO] [stdout] --> src/serialize.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | unsafe { std::mem::transmute(adjusted) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: source type: `u32` (32 bits) [INFO] [stdout] = note: target type: `FloatType` (this type does not have a fixed size) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0034, E0038, E0119, E0277, E0282, E0308, E0412, E0422, E0428... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0034`. [INFO] [stdout] [INFO] [stderr] error: could not compile `scann` (lib) due to 135 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "5ba318ca3ae5406899e01f99b005cf8a6303a75b0b8c6e5c91c6720126b15ca0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ba318ca3ae5406899e01f99b005cf8a6303a75b0b8c6e5c91c6720126b15ca0", kill_on_drop: false }` [INFO] [stdout] 5ba318ca3ae5406899e01f99b005cf8a6303a75b0b8c6e5c91c6720126b15ca0