sdd / kiddo

Kiddo
Apache License 2.0
79 stars 13 forks source link

Error while cargo check with since v4.0.0 #156

Closed OlivierLemoine closed 4 months ago

OlivierLemoine commented 4 months ago

Hi, I'm using kiddo in my crate, but when I do cargo check or cargo test, I've got the error below.

I have tried with different version, and it appears that this error came with v.4.0.0. I have also tried with default and no-default-features, and have been using KdTree with new, add and nearest_n exclusively.

Thanks

Error log: ```bash Compiling kiddo v4.2.0 error[E0107]: struct takes 2 lifetime arguments but 1 lifetime argument was supplied --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/kiddo-4.2.0/src/common/generate_within_unsorted_iter.rs:44:32 | 44 | mut gen_scope: Scope<'a, (), NearestNeighbour>, | ^^^^^ -- supplied 1 lifetime argument | | | expected 2 lifetime arguments | ::: /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/kiddo-4.2.0/src/fixed/query/within_unsorted_iter.rs:18:5 | 18 | / generate_within_unsorted_iter!( 19 | | (r#"Finds all elements within `dist` of `query`, using the specified 20 | | distance metric function. 21 | | ... | 46 | | ```"#) 47 | | ); | |_____- in this macro invocation | note: struct defined here, with 2 lifetime parameters: `'scope`, `'a` --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/generator-0.7.6/src/scope.rs:16:12 | 16 | pub struct Scope<'scope, 'a, A, T> { | ^^^^^ ------ -- = note: this error originates in the macro `generate_within_unsorted_iter` (in Nightly builds, run with -Z macro-backtrace for more info) help: add missing lifetime argument | 44 | mut gen_scope: Scope<'a, 'a, (), NearestNeighbour>, | ++++ error[E0107]: struct takes 2 lifetime arguments but 1 lifetime argument was supplied --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/kiddo-4.2.0/src/common/generate_within_unsorted_iter.rs:44:32 | 44 | mut gen_scope: Scope<'a, (), NearestNeighbour>, | ^^^^^ -- supplied 1 lifetime argument | | | expected 2 lifetime arguments | ::: /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/kiddo-4.2.0/src/float/query/within_unsorted_iter.rs:43:5 | 43 | / generate_float_within_unsorted_iter!( 44 | | " 45 | | let mut tree: KdTree = KdTree::new(); 46 | | tree.add(&[1.0, 2.0, 5.0], 100); 47 | | tree.add(&[2.0, 3.0, 6.0], 101);" 48 | | ); | |_____- in this macro invocation | note: struct defined here, with 2 lifetime parameters: `'scope`, `'a` --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/generator-0.7.6/src/scope.rs:16:12 | 16 | pub struct Scope<'scope, 'a, A, T> { | ^^^^^ ------ -- = note: this error originates in the macro `generate_within_unsorted_iter` which comes from the expansion of the macro `generate_float_within_unsorted_iter` (in Nightly builds, run with -Z macro-backtrace for more info) help: add missing lifetime argument | 44 | mut gen_scope: Scope<'a, 'a, (), NearestNeighbour>, | ++++ For more information about this error, try `rustc --explain E0107`. error: could not compile `kiddo` (lib) due to 2 previous errors ```
OlivierLemoine commented 4 months ago

Just seen that it was a duplicate of #154