Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grovedbg build fix #313

Merged
merged 2 commits into from
Jul 10, 2024

wip

5a60b3a
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

Grovedbg build fix #313

wip
5a60b3a
Select commit
Loading
Failed to load commit list.
GitHub Actions / clippy succeeded Jul 10, 2024 in 0s

clippy

34 warnings

Details

Results

Message level Amount
Internal compiler error 0
Error 0
Warning 34
Note 0
Help 0

Versions

  • rustc 1.79.0 (129f3b996 2024-06-10)
  • cargo 1.79.0 (ffa9cf99a 2024-06-03)
  • clippy 0.1.79 (129f3b9 2024-06-10)

Annotations

Check warning on line 670 in /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/macros/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused `std::result::Result` that must be used

warning: unused `std::result::Result` that must be used
  --> grovedb/src/replication.rs:86:13
   |
86 | /             writeln!(
87 | |                 f,
88 | |                 " prefix:{:?} -> path:{:?}",
89 | |                 hex::encode(prefix),
90 | |                 metadata_path_str
91 | |             );
   | |_____________^
   |
   = note: this `Result` may be an `Err` variant, which should be handled
   = note: `#[warn(unused_must_use)]` on by default
   = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info)

Check warning on line 958 in grovedb/src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

very complex type used. Consider factoring parts into `type` definitions

warning: very complex type used. Consider factoring parts into `type` definitions
   --> grovedb/src/lib.rs:958:10
    |
958 |     ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> {
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

Check warning on line 888 in grovedb/src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

very complex type used. Consider factoring parts into `type` definitions

warning: very complex type used. Consider factoring parts into `type` definitions
   --> grovedb/src/lib.rs:888:10
    |
888 |     ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> {
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

Check warning on line 862 in grovedb/src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

very complex type used. Consider factoring parts into `type` definitions

warning: very complex type used. Consider factoring parts into `type` definitions
   --> grovedb/src/lib.rs:862:10
    |
862 |     ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> {
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
    = note: `#[warn(clippy::type_complexity)]` on by default

Check warning on line 335 in grovedb/src/query_result_type.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

use of `or_insert_with` to construct default value

warning: use of `or_insert_with` to construct default value
   --> grovedb/src/query_result_type.rs:335:37
    |
335 |                     map.entry(last).or_insert_with(Vec::new).push(element);
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default

Check warning on line 285 in grovedb/src/query_result_type.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

use of `or_insert_with` to construct default value

warning: use of `or_insert_with` to construct default value
   --> grovedb/src/query_result_type.rs:285:37
    |
285 |                     map.entry(last).or_insert_with(Vec::new).push(key);
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default
    = note: `#[warn(clippy::unwrap_or_default)]` on by default

Check warning on line 326 in grovedb/src/operations/proof/verify.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`

warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
   --> grovedb/src/operations/proof/verify.rs:326:25
    |
326 |                         limit_left.as_mut().map(|limit| *limit -= 1);
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
    |                         |
    |                         help: try: `if let Some(limit) = limit_left.as_mut() { ... }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn

Check warning on line 253 in grovedb/src/operations/proof/verify.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`

warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
   --> grovedb/src/operations/proof/verify.rs:253:17
    |
253 |                 limit_left.as_mut().map(|limit| *limit -= 1);
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
    |                 |
    |                 help: try: `if let Some(limit) = limit_left.as_mut() { ... }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn
    = note: `#[warn(clippy::option_map_unit_fn)]` on by default

Check warning on line 308 in grovedb/src/operations/proof/util.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice`

warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice`
   --> grovedb/src/operations/proof/util.rs:308:10
    |
308 |     path.into_iter()
    |          ^^^^^^^^^ help: call directly: `iter`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref
    = note: `#[warn(clippy::into_iter_on_ref)]` on by default

Check warning on line 704 in grovedb/src/element/query.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many arguments (11/7)

warning: this function has too many arguments (11/7)
   --> grovedb/src/element/query.rs:692:5
    |
692 | /     fn query_item(
693 | |         storage: &RocksDbStorage,
694 | |         item: &QueryItem,
695 | |         results: &mut Vec<QueryResultElement>,
...   |
703 | |         add_element_function: fn(PathQueryPushArgs) -> CostResult<(), Error>,
704 | |     ) -> CostResult<(), Error> {
    | |______________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
    = note: `#[warn(clippy::too_many_arguments)]` on by default

Check warning on line 377 in grovedb/src/element/helpers.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this `let...else` may be rewritten with the `?` operator

warning: this `let...else` may be rewritten with the `?` operator
   --> grovedb/src/element/helpers.rs:375:9
    |
375 | /         let Some(value_cost) = self.get_specialized_cost().ok() else {
376 | |             return None;
377 | |         };
    | |__________^ help: replace it with: `let value_cost = self.get_specialized_cost().ok()?;`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark
    = note: `#[warn(clippy::question_mark)]` on by default

Check warning on line 304 in grovedb/src/element/helpers.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

writing `&Vec` instead of `&[_]` involves a new object where a slice will do

warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do
   --> grovedb/src/element/helpers.rs:304:14
    |
304 |         key: &Vec<u8>,
    |              ^^^^^^^^ help: change this to: `&[u8]`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
    = note: `#[warn(clippy::ptr_arg)]` on by default

Check warning on line 30 in grovedb/src/debugger.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the borrowed expression implements the required traits

warning: the borrowed expression implements the required traits
  --> grovedb/src/debugger.rs:30:34
   |
30 |         fs::write(&grovedbg_zip, &GROVEDBG_ZIP).expect("cannot crate grovedbg.zip");
   |                                  ^^^^^^^^^^^^^ help: change this to: `GROVEDBG_ZIP`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
   = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default

Check warning on line 288 in grovedb/src/batch/estimated_costs/average_case_costs.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

usage of `contains_key` followed by `insert` on a `HashMap`

warning: usage of `contains_key` followed by `insert` on a `HashMap`
   --> grovedb/src/batch/estimated_costs/average_case_costs.rs:277:13
    |
277 | /             if !self.cached_merks.contains_key(&base_path) {
278 | |                 GroveDb::add_average_case_get_merk_at_path::<RocksDbStorage>(
279 | |                     &mut cost,
280 | |                     &base_path,
...   |
287 | |                     .insert(base_path, estimated_layer_info.is_sum_tree);
288 | |             }
    | |_____________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry
    = note: `#[warn(clippy::map_entry)]` on by default
help: try
    |
277 ~             self.cached_merks.entry(base_path).or_insert_with(|| {
278 +                 GroveDb::add_average_case_get_merk_at_path::<RocksDbStorage>(
279 +                     &mut cost,
280 +                     &base_path,
281 +                     estimated_layer_info
282 +                         .estimated_layer_count
283 +                         .estimated_to_be_empty(),
284 +                     estimated_layer_info.is_sum_tree,
285 +                 );
286 +                 estimated_layer_info.is_sum_tree
287 +             });
    |

Check warning on line 231 in grovedb/src/batch/estimated_costs/average_case_costs.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unnecessary use of `get(path).is_none()`

warning: unnecessary use of `get(path).is_none()`
   --> grovedb/src/batch/estimated_costs/average_case_costs.rs:231:30
    |
231 |         if self.cached_merks.get(path).is_none() {
    |            ------------------^^^^^^^^^^^^^^^^^^^
    |            |
    |            help: replace it with: `!self.cached_merks.contains_key(path)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check
    = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default

Check warning on line 46 in grovedb/src/batch/mode.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

variants `Execute`, `AverageCase`, and `WorstCase` are never constructed

warning: variants `Execute`, `AverageCase`, and `WorstCase` are never constructed
  --> grovedb/src/batch/mode.rs:46:5
   |
45 | pub enum BatchRunMode {
   |          ------------ variants in this enum
46 |     Execute,
   |     ^^^^^^^
47 |     #[cfg(feature = "estimated_costs")]
48 |     AverageCase(HashMap<KeyInfoPath, EstimatedLayerInformation>),
   |     ^^^^^^^^^^^
49 |     #[cfg(feature = "estimated_costs")]
50 |     WorstCase(HashMap<KeyInfoPath, WorstCaseLayerInformation>),
   |     ^^^^^^^^^
   |
   = note: `BatchRunMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis

Check warning on line 686 in grovedb/src/batch/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

method `get_batch_run_mode` is never used

warning: method `get_batch_run_mode` is never used
   --> grovedb/src/batch/mod.rs:686:8
    |
683 | trait TreeCache<G, SR> {
    |       --------- method in this trait
...
686 |     fn get_batch_run_mode(&self) -> BatchRunMode;
    |        ^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` on by default

Check warning on line 3 in grovedb/src/debugger.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused import: `net::Ipv4Addr`

warning: unused import: `net::Ipv4Addr`
 --> grovedb/src/debugger.rs:3:15
  |
3 | use std::{fs, net::Ipv4Addr, sync::Weak};
  |               ^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

Check warning on line 77 in merk/src/estimated_costs/average_case_costs.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

duplicated attribute

warning: duplicated attribute
  --> merk/src/estimated_costs/average_case_costs.rs:77:7
   |
77 | #[cfg(feature = "full")]
   |       ^^^^^^^^^^^^^^^^
   |
note: first defined here
  --> merk/src/estimated_costs/average_case_costs.rs:76:7
   |
76 | #[cfg(feature = "full")]
   |       ^^^^^^^^^^^^^^^^
help: remove this attribute
  --> merk/src/estimated_costs/average_case_costs.rs:77:7
   |
77 | #[cfg(feature = "full")]
   |       ^^^^^^^^^^^^^^^^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicated_attributes
   = note: `#[warn(clippy::duplicated_attributes)]` on by default

Check warning on line 806 in merk/src/tree/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many arguments (8/7)

warning: this function has too many arguments (8/7)
   --> merk/src/tree/mod.rs:783:5
    |
783 | /     pub fn put_value_with_reference_value_hash_and_value_cost(
784 | |         mut self,
785 | |         value: Vec<u8>,
786 | |         value_hash: CryptoHash,
...   |
805 | |         >,
806 | |     ) -> CostResult<Self, Error> {
    | |________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

Check warning on line 339 in merk/src/tree/walk/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many arguments (8/7)

warning: this function has too many arguments (8/7)
   --> merk/src/tree/walk/mod.rs:316:5
    |
316 | /     pub fn put_value_with_reference_value_hash_and_value_cost(
317 | |         mut self,
318 | |         value: Vec<u8>,
319 | |         value_hash: CryptoHash,
...   |
338 | |         >,
339 | |     ) -> CostResult<Self, Error> {
    | |________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

Check warning on line 700 in merk/src/tree/ops.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many arguments (9/7)

warning: this function has too many arguments (9/7)
   --> merk/src/tree/ops.rs:690:5
    |
690 | /     fn recurse<K: AsRef<[u8]>, C, V, U, R>(
691 | |         self,
692 | |         batch: &MerkBatch<K>,
693 | |         mid: usize,
...   |
699 | |         section_removal_bytes: &mut R,
700 | |     ) -> CostResult<(Option<Self>, KeyUpdates), Error>
    | |______________________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

Check warning on line 386 in merk/src/proofs/query/merge.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

assigning the result of `Clone::clone()` may be inefficient

warning: assigning the result of `Clone::clone()` may be inefficient
   --> merk/src/proofs/query/merge.rs:385:17
    |
385 | /                 self.default_subquery_branch.subquery =
386 | |                     other_default_subquery_branch.subquery.clone();
    | |__________________________________________________________________^ help: use `clone_from()`: `self.default_subquery_branch.subquery.clone_from(&other_default_subquery_branch.subquery)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones

Check warning on line 337 in merk/src/proofs/query/merge.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

assigning the result of `Clone::clone()` may be inefficient

warning: assigning the result of `Clone::clone()` may be inefficient
   --> merk/src/proofs/query/merge.rs:336:25
    |
336 | /                         self.default_subquery_branch.subquery =
337 | |                             other_default_subquery_branch.subquery.clone();
    | |__________________________________________________________________________^ help: use `clone_from()`: `self.default_subquery_branch.subquery.clone_from(&other_default_subquery_branch.subquery)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones

Check warning on line 253 in merk/src/proofs/query/merge.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

assigning the result of `Clone::clone()` may be inefficient

warning: assigning the result of `Clone::clone()` may be inefficient
   --> merk/src/proofs/query/merge.rs:253:13
    |
253 |             self.default_subquery_branch.subquery = other_default_branch_subquery.clone();
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `self.default_subquery_branch.subquery.clone_from(&other_default_branch_subquery)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones
    = note: `#[warn(clippy::assigning_clones)]` on by default