add: Serialize to ProbeStats #507
Annotations
113 warnings
|
manually reimplementing `div_ceil`:
src/vector/tests.rs#L800
warning: manually reimplementing `div_ceil`
--> src/vector/tests.rs:800:9
|
800 | (ndocs + num_clusters - 1) / num_clusters
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `ndocs.div_ceil(num_clusters)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#manual_div_ceil
= note: `#[warn(clippy::manual_div_ceil)]` on by default
|
|
the following explicit lifetimes could be elided: 'a:
src/vector/ivf/plugin.rs#L109
warning: the following explicit lifetimes could be elided: 'a
--> src/vector/ivf/plugin.rs:109:25
|
109 | fn build_centroid_graph<'a>(
| ^^
110 | metric: Metric,
111 | centroids: &'a [f32],
| ^^
...
114 | ) -> crate::Result<RelativeNeighborhoodGraph<&'a [f32]>> {
| ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_lifetimes
= note: `#[warn(clippy::needless_lifetimes)]` on by default
help: elide the lifetimes
|
109 ~ fn build_centroid_graph(
110 | metric: Metric,
111 ~ centroids: &[f32],
112 | dim: usize,
113 | ef: usize,
114 ~ ) -> crate::Result<RelativeNeighborhoodGraph<&[f32]>> {
|
|
|
the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable:
src/vector/ivf/params.rs#L84
warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable
--> src/vector/ivf/params.rs:84:12
|
84 | if !(self.max_probe_fraction > 0.0) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#neg_cmp_op_on_partial_ord
= note: `#[warn(clippy::neg_cmp_op_on_partial_ord)]` on by default
|
|
method `next` can be confused for the standard trait method `std::iter::Iterator::next`:
src/termdict/fst_termdict/streamer.rs#L288
warning: method `next` can be confused for the standard trait method `std::iter::Iterator::next`
--> src/termdict/fst_termdict/streamer.rs:288:5
|
288 | / pub fn next(&mut self) -> Option<(&[u8], &TermInfo, A::State)> {
289 | | if self.advance() {
290 | | let state = self.current_state.take().unwrap(); // always Some(_) after advance
291 | | Some((self.key(), self.value(), state))
... |
295 | | }
| |_____^
|
= help: consider implementing the trait `std::iter::Iterator` or choosing a less ambiguous method name
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#should_implement_trait
= note: `#[warn(clippy::should_implement_trait)]` on by default
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/query/mod.rs#L209
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/query/mod.rs:209:43
|
209 | query.query_terms(text_field, &segment_reader, &mut |term, pos| {
| ^^^^^^^^^^^^^^^ help: change this to: `segment_reader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/query/mod.rs#L199
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/query/mod.rs:199:43
|
199 | query.query_terms(text_field, &segment_reader, &mut |term, pos| {
| ^^^^^^^^^^^^^^^ help: change this to: `segment_reader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/query/mod.rs#L191
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/query/mod.rs:191:43
|
191 | query.query_terms(text_field, &segment_reader, &mut |term, pos| {
| ^^^^^^^^^^^^^^^ help: change this to: `segment_reader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/query/mod.rs#L180
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/query/mod.rs:180:43
|
180 | query.query_terms(text_field, &segment_reader, &mut |term, pos| {
| ^^^^^^^^^^^^^^^ help: change this to: `segment_reader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/query/mod.rs#L172
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/query/mod.rs:172:43
|
172 | query.query_terms(text_field, &segment_reader, &mut |term, pos| {
| ^^^^^^^^^^^^^^^ help: change this to: `segment_reader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
items after a test module:
src/query/term_set_query/term_set_weight.rs#L580
warning: items after a test module
--> src/query/term_set_query/term_set_weight.rs:580:1
|
580 | mod tests {
| ^^^^^^^^^
...
792 | / impl<T: Copy + Eq + std::hash::Hash + PartialOrd + std::fmt::Debug + Send + Sync + 'static> DocSet
793 | | for TermSetDocSet<T>
| |________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#items_after_test_module
= note: `#[warn(clippy::items_after_test_module)]` on by default
= help: move the items to before the test module was defined
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L25
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:25:5
|
25 | //! five variants including `Automaton` for non-fast indexed fields.
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
25 | //! five variants including `Automaton` for non-fast indexed fields.
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L24
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:24:5
|
24 | //! fast is available, calls `select_strategy`, and dispatches all
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
24 | //! fast is available, calls `select_strategy`, and dispatches all
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L23
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:23:5
|
23 | //! construction. The per-segment scorer opens the column only when
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
23 | //! construction. The per-segment scorer opens the column only when
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L22
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:22:5
|
22 | //! Automaton), and a `fast_strategies_available` flag set at
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
22 | //! Automaton), and a `fast_strategies_available` flag set at
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L21
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:21:5
|
21 | //! Linear + Bitset on numeric-fast), a pre-built FST (consumed by
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
= note: `#[warn(clippy::doc_lazy_continuation)]` on by default
help: indent this line
|
21 | //! Linear + Bitset on numeric-fast), a pre-built FST (consumed by
| ++
|
|
returning the result of a `let` binding from a block:
src/query/term_set_query/term_set_strategy.rs#L899
warning: returning the result of a `let` binding from a block
--> src/query/term_set_query/term_set_strategy.rs:899:9
|
887 | / let strat = select_strategy(
888 | | &reader,
889 | | &column,
890 | | PlannerInputs {
... |
897 | | &TermSetStrategyConfig::default(),
898 | | );
| |__________- unnecessary `let` binding
899 | strat
| ^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#let_and_return
= note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
|
887 ~
888 ~ select_strategy(
889 + &reader,
890 + &column,
891 + PlannerInputs {
892 + field_name: &name,
893 + candidate_size: None,
894 + avg_docs_per_term: Some(d),
895 + fast_available: true,
896 + },
897 + &term_set(0..k as u64),
898 + &TermSetStrategyConfig::default(),
899 + )
|
|
|
using `clone` on type `Bound<u64>` which implements the `Copy` trait:
src/query/range_query/range_query_fastfield.rs#L1979
warning: using `clone` on type `Bound<u64>` which implements the `Copy` trait
--> src/query/range_query/range_query_fastfield.rs:1979:68
|
1979 | let actual = count_range(&index, field, lower.clone(), upper.clone());
| ^^^^^^^^^^^^^ help: try dereferencing it: `*upper`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#clone_on_copy
|
|
using `clone` on type `Bound<u64>` which implements the `Copy` trait:
src/query/range_query/range_query_fastfield.rs#L1979
warning: using `clone` on type `Bound<u64>` which implements the `Copy` trait
--> src/query/range_query/range_query_fastfield.rs:1979:53
|
1979 | let actual = count_range(&index, field, lower.clone(), upper.clone());
| ^^^^^^^^^^^^^ help: try dereferencing it: `*lower`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1797
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1797:17
|
1797 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1788
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1788:17
|
1788 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1539
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1539:17
|
1539 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1532
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1532:17
|
1532 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1525
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1525:17
|
1525 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1515
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1515:17
|
1515 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1508
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1508:17
|
1508 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/query/range_query/range_query_fastfield.rs#L1501
warning: redundant reference in `format!` argument
--> src/query/range_query/range_query_fastfield.rs:1501:17
|
1501 | &id_filter
| ^^^^^^^^^^ help: remove the redundant `&`: `id_filter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
the function `InvertedIndexSerializer::open` doesn't need a mutable reference:
src/postings/mod.rs#L70
warning: the function `InvertedIndexSerializer::open` doesn't need a mutable reference
--> src/postings/mod.rs:70:68
|
70 | let mut posting_serializer = InvertedIndexSerializer::open(&mut segment)?;
| ^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_mut_passed
= note: `#[warn(clippy::unnecessary_mut_passed)]` on by default
help: remove this `mut`
|
70 - let mut posting_serializer = InvertedIndexSerializer::open(&mut segment)?;
70 + let mut posting_serializer = InvertedIndexSerializer::open(&segment)?;
|
|
|
initializer for `thread_local` value can be made `const`:
src/postings/indexing_context.rs#L8
warning: initializer for `thread_local` value can be made `const`
--> src/postings/indexing_context.rs:8:58
|
8 | static CONTEXT_POOL: RefCell<Vec<IndexingContext>> = RefCell::new(Vec::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(Vec::new()) }`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#missing_const_for_thread_local
= note: `#[warn(clippy::missing_const_for_thread_local)]` on by default
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/index/segment_reader.rs#L644
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/index/segment_reader.rs:644:37
|
644 | CompositeFile::open(&positions_file)
| ^^^^^^^^^^^^^^^ help: change this to: `positions_file`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
usage of an `Arc` that is not `Send` and `Sync`:
src/index/segment_reader.rs#L378
warning: usage of an `Arc` that is not `Send` and `Sync`
--> src/index/segment_reader.rs:378:30
|
378 | let inv_idx_reader = Arc::new(MergeOptimizedInvertedIndexReader::new(
| ______________________________^
379 | | TermDictionary::open(termdict_file)?,
380 | | postings_file,
381 | | positions_file,
382 | | record_option,
383 | | )?);
| |___________^
|
= note: `Arc<MergeOptimizedInvertedIndexReader>` is not `Send` and `Sync` as `MergeOptimizedInvertedIndexReader` is not `Sync`
= help: if the `Arc` will not be used across threads replace it with an `Rc`
= help: otherwise make `MergeOptimizedInvertedIndexReader` `Send` and `Sync` or consider a wrapper type such as `Mutex`
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#arc_with_non_send_sync
|
|
usage of an `Arc` that is not `Send` and `Sync`:
src/index/segment_reader.rs#L352
warning: usage of an `Arc` that is not `Send` and `Sync`
--> src/index/segment_reader.rs:352:23
|
352 | return Ok(Arc::new(MergeOptimizedInvertedIndexReader::empty(
| _______________________^
353 | | record_option,
354 | | )));
| |______________^
|
= note: `Arc<MergeOptimizedInvertedIndexReader>` is not `Send` and `Sync` as `MergeOptimizedInvertedIndexReader` is not `Sync`
= help: if the `Arc` will not be used across threads replace it with an `Rc`
= help: otherwise make `MergeOptimizedInvertedIndexReader` `Send` and `Sync` or consider a wrapper type such as `Mutex`
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#arc_with_non_send_sync
= note: `#[warn(clippy::arc_with_non_send_sync)]` on by default
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/index/segment_reader.rs#L281
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/index/segment_reader.rs:281:41
|
281 | CompositeFile::open(&positions_file)
| ^^^^^^^^^^^^^^^ help: change this to: `positions_file`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L311
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:311:42
|
311 | update_helper(&t, None, 1, &cmp, &is_better); // None < Some(200), worse
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L308
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:308:48
|
308 | update_helper(&t, Some(200), 10, &cmp, &is_better); // 200 > 100
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L305
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:305:47
|
305 | update_helper(&t, Some(100), 2, &cmp, &is_better); // Same score, better ord
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L302
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:302:46
|
302 | update_helper(&t, Some(50), 2, &cmp, &is_better); // 50 < 100, worse
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L299
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:299:47
|
299 | update_helper(&t, Some(100), 5, &cmp, &is_better);
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L279
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:279:46
|
279 | update_helper(&t, Some(0), 10, &cmp, &is_better); // Some(0) > None, better
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L276
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:276:42
|
276 | update_helper(&t, None, 1, &cmp, &is_better); // None is strictly smaller than Some(100)
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L273
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:273:47
|
273 | update_helper(&t, Some(100), 2, &cmp, &is_better); // Same score, better ord
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L270
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:270:47
|
270 | update_helper(&t, Some(200), 2, &cmp, &is_better); // 200 > 100, worse
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L267
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:267:47
|
267 | update_helper(&t, Some(100), 5, &cmp, &is_better);
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L247
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:247:41
|
247 | update_helper(&t, 0.9, 10, &(), &is_better);
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L244
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:244:40
|
244 | update_helper(&t, 0.5, 2, &(), &is_better); // Same score, better ord
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L241
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:241:40
|
241 | update_helper(&t, 0.3, 2, &(), &is_better);
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
|
|
the borrowed expression implements the required traits:
src/collector/sort_key/shared_threshold.rs#L238
warning: the borrowed expression implements the required traits
--> src/collector/sort_key/shared_threshold.rs:238:40
|
238 | update_helper(&t, 0.5, 5, &(), &is_better);
| ^^^^^^^^^^ help: change this to: `is_better`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrows_for_generic_args
= note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
|
|
casting to the same type is unnecessary (`u64` -> `u64`):
src/aggregation/intermediate_agg_result.rs#L1050
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> src/aggregation/intermediate_agg_result.rs:1050:32
|
1050 | doc_count: entry.doc_count as u64,
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.doc_count`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`u64` -> `u64`):
src/aggregation/intermediate_agg_result.rs#L753
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> src/aggregation/intermediate_agg_result.rs:753:32
|
753 | doc_count: entry.doc_count as u64,
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.doc_count`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`u64` -> `u64`):
src/aggregation/intermediate_agg_result.rs#L741
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> src/aggregation/intermediate_agg_result.rs:741:30
|
741 | .filter(|bucket| bucket.1.doc_count as u64 >= req.min_doc_count)
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `bucket.1.doc_count`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
|
|
large size difference between variants:
src/aggregation/intermediate_agg_result.rs#L335
warning: large size difference between variants
--> src/aggregation/intermediate_agg_result.rs:335:1
|
335 | / pub enum IntermediateMetricResult {
336 | | /// Intermediate average result.
337 | | Percentiles(PercentilesCollector),
| | --------------------------------- the second-largest variant contains at least 176 bytes
338 | | /// Intermediate average result.
... |
353 | | TopHits(TopHitsTopNComputer),
| | ---------------------------- the largest variant contains at least 400 bytes
354 | | /// Intermediate cardinality result
355 | | Cardinality(CardinalityCollector),
356 | | }
| |_^ the entire enum is at least 400 bytes
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#large_enum_variant
= note: `#[warn(clippy::large_enum_variant)]` on by default
help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum
|
353 - TopHits(TopHitsTopNComputer),
353 + TopHits(Box<TopHitsTopNComputer>),
|
|
|
casting to the same type is unnecessary (`u64` -> `u64`):
src/aggregation/bucket/term_agg/mod.rs#L1251
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> src/aggregation/bucket/term_agg/mod.rs:1251:9
|
1251 | self.1.doc_count as u64
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.1.doc_count`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
|
this assertion has a constant value:
src/indexer/segment_updater.rs#L906
warning: this assertion has a constant value
--> src/indexer/segment_updater.rs:906:29
|
906 | ... assert!(!cfg!(test), "Merge failed.");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider moving this into a const block: `const { assert!(..) }`
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#assertions_on_constants
= note: `#[warn(clippy::assertions_on_constants)]` on by default
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/indexer/segment_updater.rs#L549
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/indexer/segment_updater.rs:549:17
|
549 | &previous_metas,
| ^^^^^^^^^^^^^^^ help: change this to: `previous_metas`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
|
redundant reference in `format!` argument:
src/indexer/index_writer.rs#L2387
warning: redundant reference in `format!` argument
--> src/indexer/index_writer.rs:2387:68
|
2387 | format!("{}:[{} TO {}]", field, &from.to_string(), &to.to_string())
| ^^^^^^^^^^^^^^^ help: remove the redundant `&`: `to.to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/indexer/index_writer.rs#L2387
warning: redundant reference in `format!` argument
--> src/indexer/index_writer.rs:2387:49
|
2387 | format!("{}:[{} TO {}]", field, &from.to_string(), &to.to_string())
| ^^^^^^^^^^^^^^^^^ help: remove the redundant `&`: `from.to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/indexer/index_writer.rs#L2328
warning: redundant reference in `format!` argument
--> src/indexer/index_writer.rs:2328:68
|
2328 | format!("{}:[{} TO {}]", field, &from.to_string(), &to.to_string())
| ^^^^^^^^^^^^^^^ help: remove the redundant `&`: `to.to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
|
|
redundant reference in `format!` argument:
src/indexer/index_writer.rs#L2328
warning: redundant reference in `format!` argument
--> src/indexer/index_writer.rs:2328:49
|
2328 | format!("{}:[{} TO {}]", field, &from.to_string(), &to.to_string())
| ^^^^^^^^^^^^^^^^^ help: remove the redundant `&`: `from.to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#useless_borrows_in_formatting
= note: `#[warn(clippy::useless_borrows_in_formatting)]` on by default
|
|
this `if` statement can be collapsed:
src/indexer/index_writer.rs#L129
warning: this `if` statement can be collapsed
--> src/indexer/index_writer.rs:129:17
|
129 | / if *segment_id == segment_reader.segment_id() {
130 | | if doc_opstamps.is_deleted(*doc_id, *opstamp) {
131 | | alive_bitset.remove(*doc_id);
132 | | might_have_changed = true;
133 | | }
134 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#collapsible_if
= note: `#[warn(clippy::collapsible_if)]` on by default
help: collapse nested if block
|
129 ~ if *segment_id == segment_reader.segment_id()
130 ~ && doc_opstamps.is_deleted(*doc_id, *opstamp) {
131 | alive_bitset.remove(*doc_id);
132 | might_have_changed = true;
133 ~ }
|
|
|
fields `ignore_store` and `columnar_codec_types` are never read:
src/indexer/segment_writer.rs#L77
warning: fields `ignore_store` and `columnar_codec_types` are never read
--> src/indexer/segment_writer.rs:77:5
|
62 | pub struct SegmentWriter {
| ------------- fields in this struct
...
77 | ignore_store: bool,
| ^^^^^^^^^^^^
78 | columnar_codec_types: Vec<columnar::CodecType>,
| ^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
|
the following explicit lifetimes could be elided: 'a:
src/vector/ivf/plugin.rs#L109
warning: the following explicit lifetimes could be elided: 'a
--> src/vector/ivf/plugin.rs:109:25
|
109 | fn build_centroid_graph<'a>(
| ^^
110 | metric: Metric,
111 | centroids: &'a [f32],
| ^^
...
114 | ) -> crate::Result<RelativeNeighborhoodGraph<&'a [f32]>> {
| ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_lifetimes
= note: `#[warn(clippy::needless_lifetimes)]` on by default
help: elide the lifetimes
|
109 ~ fn build_centroid_graph(
110 | metric: Metric,
111 ~ centroids: &[f32],
112 | dim: usize,
113 | ef: usize,
114 ~ ) -> crate::Result<RelativeNeighborhoodGraph<&[f32]>> {
|
|
|
the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable:
src/vector/ivf/params.rs#L84
warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable
--> src/vector/ivf/params.rs:84:12
|
84 | if !(self.max_probe_fraction > 0.0) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#neg_cmp_op_on_partial_ord
= note: `#[warn(clippy::neg_cmp_op_on_partial_ord)]` on by default
|
|
method `next` can be confused for the standard trait method `std::iter::Iterator::next`:
src/termdict/fst_termdict/streamer.rs#L288
warning: method `next` can be confused for the standard trait method `std::iter::Iterator::next`
--> src/termdict/fst_termdict/streamer.rs:288:5
|
288 | / pub fn next(&mut self) -> Option<(&[u8], &TermInfo, A::State)> {
289 | | if self.advance() {
290 | | let state = self.current_state.take().unwrap(); // always Some(_) after advance
291 | | Some((self.key(), self.value(), state))
... |
295 | | }
| |_____^
|
= help: consider implementing the trait `std::iter::Iterator` or choosing a less ambiguous method name
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#should_implement_trait
= note: `#[warn(clippy::should_implement_trait)]` on by default
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L25
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:25:5
|
25 | //! five variants including `Automaton` for non-fast indexed fields.
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
25 | //! five variants including `Automaton` for non-fast indexed fields.
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L24
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:24:5
|
24 | //! fast is available, calls `select_strategy`, and dispatches all
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
24 | //! fast is available, calls `select_strategy`, and dispatches all
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L23
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:23:5
|
23 | //! construction. The per-segment scorer opens the column only when
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
23 | //! construction. The per-segment scorer opens the column only when
| ++
|
|
doc list item without indentation:
src/query/term_set_query/term_set_weight.rs#L22
warning: doc list item without indentation
--> src/query/term_set_query/term_set_weight.rs:22:5
|
22 | //! Automaton), and a `fast_strategies_available` flag set at
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#doc_lazy_continuation
help: indent this line
|
22 | //! Automaton), and a `fast_strategies_available` flag set at
| ++
|
|
initializer for `thread_local` value can be made `const`:
src/postings/indexing_context.rs#L8
warning: initializer for `thread_local` value can be made `const`
--> src/postings/indexing_context.rs:8:58
|
8 | static CONTEXT_POOL: RefCell<Vec<IndexingContext>> = RefCell::new(Vec::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(Vec::new()) }`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#missing_const_for_thread_local
= note: `#[warn(clippy::missing_const_for_thread_local)]` on by default
|
|
usage of an `Arc` that is not `Send` and `Sync`:
src/index/segment_reader.rs#L378
warning: usage of an `Arc` that is not `Send` and `Sync`
--> src/index/segment_reader.rs:378:30
|
378 | let inv_idx_reader = Arc::new(MergeOptimizedInvertedIndexReader::new(
| ______________________________^
379 | | TermDictionary::open(termdict_file)?,
380 | | postings_file,
381 | | positions_file,
382 | | record_option,
383 | | )?);
| |___________^
|
= note: `Arc<MergeOptimizedInvertedIndexReader>` is not `Send` and `Sync` as `MergeOptimizedInvertedIndexReader` is not `Sync`
= help: if the `Arc` will not be used across threads replace it with an `Rc`
= help: otherwise make `MergeOptimizedInvertedIndexReader` `Send` and `Sync` or consider a wrapper type such as `Mutex`
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#arc_with_non_send_sync
|
|
usage of an `Arc` that is not `Send` and `Sync`:
src/index/segment_reader.rs#L352
warning: usage of an `Arc` that is not `Send` and `Sync`
--> src/index/segment_reader.rs:352:23
|
352 | return Ok(Arc::new(MergeOptimizedInvertedIndexReader::empty(
| _______________________^
353 | | record_option,
354 | | )));
| |______________^
|
= note: `Arc<MergeOptimizedInvertedIndexReader>` is not `Send` and `Sync` as `MergeOptimizedInvertedIndexReader` is not `Sync`
= help: if the `Arc` will not be used across threads replace it with an `Rc`
= help: otherwise make `MergeOptimizedInvertedIndexReader` `Send` and `Sync` or consider a wrapper type such as `Mutex`
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#arc_with_non_send_sync
= note: `#[warn(clippy::arc_with_non_send_sync)]` on by default
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/index/segment_reader.rs#L281
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/index/segment_reader.rs:281:41
|
281 | CompositeFile::open(&positions_file)
| ^^^^^^^^^^^^^^^ help: change this to: `positions_file`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
|
|
casting to the same type is unnecessary (`u64` -> `u64`):
src/aggregation/intermediate_agg_result.rs#L753
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> src/aggregation/intermediate_agg_result.rs:753:32
|
753 | doc_count: entry.doc_count as u64,
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.doc_count`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
|
|
large size difference between variants:
src/aggregation/intermediate_agg_result.rs#L335
warning: large size difference between variants
--> src/aggregation/intermediate_agg_result.rs:335:1
|
335 | / pub enum IntermediateMetricResult {
336 | | /// Intermediate average result.
337 | | Percentiles(PercentilesCollector),
| | --------------------------------- the second-largest variant contains at least 176 bytes
338 | | /// Intermediate average result.
... |
353 | | TopHits(TopHitsTopNComputer),
| | ---------------------------- the largest variant contains at least 400 bytes
354 | | /// Intermediate cardinality result
355 | | Cardinality(CardinalityCollector),
356 | | }
| |_^ the entire enum is at least 400 bytes
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#large_enum_variant
= note: `#[warn(clippy::large_enum_variant)]` on by default
help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum
|
353 - TopHits(TopHitsTopNComputer),
353 + TopHits(Box<TopHitsTopNComputer>),
|
|
|
casting to the same type is unnecessary (`u64` -> `u64`):
src/aggregation/bucket/term_agg/mod.rs#L1251
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> src/aggregation/bucket/term_agg/mod.rs:1251:9
|
1251 | self.1.doc_count as u64
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.1.doc_count`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/indexer/segment_updater.rs#L549
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/indexer/segment_updater.rs:549:17
|
549 | &previous_metas,
| ^^^^^^^^^^^^^^^ help: change this to: `previous_metas`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
|
this `if` statement can be collapsed:
src/indexer/index_writer.rs#L129
warning: this `if` statement can be collapsed
--> src/indexer/index_writer.rs:129:17
|
129 | / if *segment_id == segment_reader.segment_id() {
130 | | if doc_opstamps.is_deleted(*doc_id, *opstamp) {
131 | | alive_bitset.remove(*doc_id);
132 | | might_have_changed = true;
133 | | }
134 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#collapsible_if
= note: `#[warn(clippy::collapsible_if)]` on by default
help: collapse nested if block
|
129 ~ if *segment_id == segment_reader.segment_id()
130 ~ && doc_opstamps.is_deleted(*doc_id, *opstamp) {
131 | alive_bitset.remove(*doc_id);
132 | might_have_changed = true;
133 ~ }
|
|
|
fields `ignore_store` and `columnar_codec_types` are never read:
src/indexer/segment_writer.rs#L77
warning: fields `ignore_store` and `columnar_codec_types` are never read
--> src/indexer/segment_writer.rs:77:5
|
62 | pub struct SegmentWriter {
| ------------- fields in this struct
...
77 | ignore_store: bool,
| ^^^^^^^^^^^^
78 | columnar_codec_types: Vec<columnar::CodecType>,
| ^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
|
unused import: `TerminatingWrite`:
src/directory/directory.rs#L14
warning: unused import: `TerminatingWrite`
--> src/directory/directory.rs:14:43
|
14 | FileHandle, FileSlice, InnerWritePtr, TerminatingWrite, WatchCallback, WatchHandle, WritePtr,
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
unused import: `TerminatingWrite`:
src/directory/directory.rs#L14
warning: unused import: `TerminatingWrite`
--> src/directory/directory.rs:14:43
|
14 | FileHandle, FileSlice, InnerWritePtr, TerminatingWrite, WatchCallback, WatchHandle, WritePtr,
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
this function has too many arguments (8/7):
columnar/src/columnar/writer/mod.rs#L740
warning: this function has too many arguments (8/7)
--> columnar/src/columnar/writer/mod.rs:740:1
|
740 | / fn send_to_serialize_column_mappable_to_u64(
741 | | op_iterator: impl Iterator<Item = ColumnOperation<u64>>,
742 | | cardinality: Cardinality,
743 | | num_rows: RowId,
... |
748 | | mut wrt: impl io::Write,
749 | | ) -> io::Result<()> {
| |___________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
|
accessing first element with `header
.read_bytes()?
.as_slice().get(0)`:
columnar/src/column_values/u64_based/mod.rs#L227
warning: accessing first element with `header
.read_bytes()?
.as_slice().get(0)`
--> columnar/src/column_values/u64_based/mod.rs:227:33
|
227 | let codec_type: CodecType = header
| _________________________________^
228 | | .read_bytes()?
229 | | .as_slice()
230 | | .get(0)
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#get_first
= note: `#[warn(clippy::get_first)]` on by default
help: try
|
227 ~ let codec_type: CodecType = header
228 + .read_bytes()?
229 + .as_slice().first()
|
|
|
length comparison to zero:
columnar/src/column_values/u64_based/bitpacked.rs#L29
warning: length comparison to zero
--> columnar/src/column_values/u64_based/bitpacked.rs:29:30
|
29 | if block_num == 0 && self.blocks.len() == 0 {
| ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.blocks.is_empty()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#len_zero
= note: `#[warn(clippy::len_zero)]` on by default
|
|
method `next` can be confused for the standard trait method `std::iter::Iterator::next`:
sstable/src/streamer.rs#L389
warning: method `next` can be confused for the standard trait method `std::iter::Iterator::next`
--> sstable/src/streamer.rs:389:5
|
389 | / pub fn next(&mut self) -> Option<(&[u8], &TSSTable::Value, A::State)> {
390 | | if self.advance() {
391 | | let st = self.current_state.clone().unwrap();
392 | | Some((self.key(), self.value(), st))
... |
396 | | }
| |_____^
|
= help: consider implementing the trait `std::iter::Iterator` or choosing a less ambiguous method name
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#should_implement_trait
= note: `#[warn(clippy::should_implement_trait)]` on by default
|
|
replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`:
stacker/src/memory_arena.rs#L127
warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`
--> stacker/src/memory_arena.rs:127:24
|
127 | let my_pages = std::mem::replace(&mut self.pages, Vec::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.pages)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#mem_replace_with_default
= note: `#[warn(clippy::mem_replace_with_default)]` on by default
|
|
calling .bytes() is very inefficient when data is not in memory:
common/src/vint.rs#L64
warning: calling .bytes() is very inefficient when data is not in memory
--> common/src/vint.rs:64:25
|
64 | let mut bytes = reader.bytes();
| ^^^^^^^^^^^^^^
|
= help: consider using `BufReader`
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unbuffered_bytes
= note: `#[warn(clippy::unbuffered_bytes)]` on by default
|
|
this can be `std::io::Error::other(_)`:
common/src/file_slice.rs#L409
warning: this can be `std::io::Error::other(_)`
--> common/src/file_slice.rs:409:27
|
409 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.to_string())),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#io_other_error
= note: `#[warn(clippy::io_other_error)]` on by default
help: use `std::io::Error::other`
|
409 - Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.to_string())),
409 + Err(e) => Err(io::Error::other(e.to_string())),
|
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
bitpacker/src/bitpacker.rs#L204
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> bitpacker/src/bitpacker.rs:204:13
|
204 | end_byte_read as usize <= data_offset + data.len(),
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `end_byte_read`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
bitpacker/src/bitpacker.rs#L128
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> bitpacker/src/bitpacker.rs:128:23
|
128 | if data_len % (BLOCK_SIZE_MIN as usize) == 0 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `BLOCK_SIZE_MIN`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
bitpacker/src/bitpacker.rs#L127
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> bitpacker/src/bitpacker.rs:127:38
|
127 | let block_count = data_len / (BLOCK_SIZE_MIN as usize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `BLOCK_SIZE_MIN`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
|
manually reimplementing `div_ceil`:
bitpacker/src/bitpacker.rs#L51
warning: manually reimplementing `div_ceil`
--> bitpacker/src/bitpacker.rs:51:29
|
51 | let num_bytes = (self.mini_buffer_written + 7) / 8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `self.mini_buffer_written.div_ceil(8)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#manual_div_ceil
= note: `#[warn(clippy::manual_div_ceil)]` on by default
|
|
check
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions-rs/clippy-check@b5b5f21f4797c02da247df37026fcd0a5024aa4d, actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
check
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-all
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-all
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-all
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-all
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-all
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-none
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-none
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-none
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-none
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-none
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-quickwit
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-quickwit
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-quickwit
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-quickwit
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
|
test-quickwit
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|