Skip to content

feat: verify_grovedb with references #573

feat: verify_grovedb with references

feat: verify_grovedb with references #573

Triggered via pull request August 9, 2024 02:11
Status Success
Total duration 2m 0s
Artifacts

grovedb.yml

on: pull_request
Tests
1m 51s
Tests
Linting
35s
Linting
Formatting
17s
Formatting
Compilation errors
34s
Compilation errors
Dependencies security audit
8s
Dependencies security audit
Fit to window
Zoom out
Zoom in

Annotations

82 warnings
Dependencies security audit
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/audit-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Dependencies security audit
The following actions uses Node.js version which is deprecated and will be forced to run on node20: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/audit-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Dependencies security audit
2 warnings found!
Dependencies security audit
Unknown warning kind unsound found, please, file a bug
Formatting
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Formatting
The following actions uses Node.js version which is deprecated and will be forced to run on node20: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Formatting
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/
Formatting
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/
Formatting
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/
Formatting
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/
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L1130
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:1130:10 | 1130 | ) -> 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
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L972
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:972:10 | 972 | ) -> 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
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L931
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:931:10 | 931 | ) -> 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
use of `or_insert_with` to construct default value: grovedb/src/query_result_type.rs#L336
warning: use of `or_insert_with` to construct default value --> grovedb/src/query_result_type.rs:336:37 | 336 | 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
use of `or_insert_with` to construct default value: grovedb/src/query_result_type.rs#L286
warning: use of `or_insert_with` to construct default value --> grovedb/src/query_result_type.rs:286:37 | 286 | 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
called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`: grovedb/src/operations/proof/verify.rs#L367
warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` --> grovedb/src/operations/proof/verify.rs:367:25 | 367 | 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
called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`: grovedb/src/operations/proof/verify.rs#L293
warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` --> grovedb/src/operations/proof/verify.rs:293:17 | 293 | 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
this function has too many arguments (8/7): grovedb/src/operations/proof/verify.rs#L229
warning: this function has too many arguments (8/7) --> grovedb/src/operations/proof/verify.rs:229:5 | 229 | / fn verify_layer_proof<T>( 230 | | layer_proof: &LayerProof, 231 | | prove_options: &ProveOptions, 232 | | query: &PathQuery, ... | 237 | | grove_version: &GroveVersion, 238 | | ) -> Result<CryptoHash, Error> | |__________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice`: grovedb/src/operations/proof/util.rs#L309
warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` --> grovedb/src/operations/proof/util.rs:309:10 | 309 | 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
this function has too many arguments (8/7): grovedb/src/operations/insert/mod.rs#L217
warning: this function has too many arguments (8/7) --> grovedb/src/operations/insert/mod.rs:217:5 | 217 | / fn add_element_on_transaction<'db, B: AsRef<[u8]>>( 218 | | &'db self, 219 | | path: SubtreePath<B>, 220 | | key: &[u8], ... | 225 | | grove_version: &GroveVersion, 226 | | ) -> CostResult<Merk<PrefixedRocksDbTransactionContext<'db>>, Error> { | |________________________________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/insert/mod.rs#L117
warning: this function has too many arguments (8/7) --> grovedb/src/operations/insert/mod.rs:117:5 | 117 | / fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>( 118 | | &self, 119 | | path: SubtreePath<'b, B>, 120 | | key: &[u8], ... | 125 | | grove_version: &GroveVersion, 126 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/get/query.rs#L542
warning: this function has too many arguments (8/7) --> grovedb/src/operations/get/query.rs:542:5 | 542 | / pub fn query_raw( 543 | | &self, 544 | | path_query: &PathQuery, 545 | | allow_cache: bool, ... | 550 | | grove_version: &GroveVersion, 551 | | ) -> CostResult<(QueryResultElements, u16), Error> { | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/get/query.rs#L231
warning: this function has too many arguments (8/7) --> grovedb/src/operations/get/query.rs:231:5 | 231 | / pub fn query( 232 | | &self, 233 | | path_query: &PathQuery, 234 | | allow_cache: bool, ... | 239 | | grove_version: &GroveVersion, 240 | | ) -> CostResult<(QueryResultElements, u16), Error> { | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/get/query.rs#L114
warning: this function has too many arguments (8/7) --> grovedb/src/operations/get/query.rs:114:5 | 114 | / pub fn query_many_raw( 115 | | &self, 116 | | path_queries: &[&PathQuery], 117 | | allow_cache: bool, ... | 122 | | grove_version: &GroveVersion, 123 | | ) -> CostResult<QueryResultElements, Error> | |_______________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/mod.rs#L669
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/mod.rs:669:5 | 669 | / fn delete_internal_on_transaction<B: AsRef<[u8]>>( 670 | | &self, 671 | | path: SubtreePath<B>, 672 | | key: &[u8], ... | 684 | | grove_version: &GroveVersion, 685 | | ) -> CostResult<bool, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/mod.rs#L630
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/mod.rs:630:5 | 630 | / fn delete_internal<B: AsRef<[u8]>>( 631 | | &self, 632 | | path: SubtreePath<B>, 633 | | key: &[u8], ... | 645 | | grove_version: &GroveVersion, 646 | | ) -> CostResult<bool, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/mod.rs#L509
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/mod.rs:509:5 | 509 | / pub fn delete_operation_for_delete_internal<B: AsRef<[u8]>>( 510 | | &self, 511 | | path: SubtreePath<B>, 512 | | key: &[u8], ... | 517 | | grove_version: &GroveVersion, 518 | | ) -> CostResult<Option<GroveDbOp>, Error> { | |_____________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/worst_case.rs#L121
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/worst_case.rs:121:5 | 121 | / pub fn worst_case_delete_operation_for_delete<'db, S: Storage<'db>>( 122 | | path: &KeyInfoPath, 123 | | key: &KeyInfo, 124 | | parent_tree_is_sum_tree: bool, ... | 129 | | grove_version: &GroveVersion, 130 | | ) -> CostResult<GroveDbOp, Error> { | |_____________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/delete_up_tree.rs#L199
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/delete_up_tree.rs:199:5 | 199 | / pub fn add_delete_operations_for_delete_up_tree_while_empty<B: AsRef<[u8]>>( 200 | | &self, 201 | | path: SubtreePath<B>, 202 | | key: &[u8], ... | 207 | | grove_version: &GroveVersion, 208 | | ) -> CostResult<Option<Vec<GroveDbOp>>, Error> { | |__________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/delete_up_tree.rs#L167
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/delete_up_tree.rs:167:5 | 167 | / pub fn delete_operations_for_delete_up_tree_while_empty<B: AsRef<[u8]>>( 168 | | &self, 169 | | path: SubtreePath<B>, 170 | | key: &[u8], ... | 175 | | grove_version: &GroveVersion, 176 | | ) -> CostResult<Vec<GroveDbOp>, Error> { | |__________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/delete/average_case.rs#L139
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/average_case.rs:139:5 | 139 | / pub fn average_case_delete_operation_for_delete<'db, S: Storage<'db>>( 140 | | path: &KeyInfoPath, 141 | | key: &KeyInfo, 142 | | parent_tree_is_sum_tree: bool, ... | 147 | | grove_version: &GroveVersion, 148 | | ) -> CostResult<GroveDbOp, Error> { | |_____________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (12/7): grovedb/src/element/query.rs#L727
warning: this function has too many arguments (12/7) --> grovedb/src/element/query.rs:727:5 | 727 | / fn query_item( 728 | | storage: &RocksDbStorage, 729 | | item: &QueryItem, 730 | | results: &mut Vec<QueryResultElement>, ... | 739 | | grove_version: &GroveVersion, 740 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/element/query.rs#L300
warning: this function has too many arguments (8/7) --> grovedb/src/element/query.rs:300:5 | 300 | / pub fn get_query_apply_function( 301 | | storage: &RocksDbStorage, 302 | | path: &[&[u8]], 303 | | sized_query: &SizedQuery, ... | 308 | | grove_version: &GroveVersion, 309 | | ) -> CostResult<(QueryResultElements, u16), Error> { | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this `let...else` may be rewritten with the `?` operator: grovedb/src/element/helpers.rs#L323
warning: this `let...else` may be rewritten with the `?` operator --> grovedb/src/element/helpers.rs:323:9 | 323 | / let Some(value_cost) = self.get_specialized_cost(grove_version).ok() else { 324 | | return None; 325 | | }; | |__________^ help: replace it with: `let value_cost = self.get_specialized_cost(grove_version).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
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: grovedb/src/element/helpers.rs#L240
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> grovedb/src/element/helpers.rs:240:14 | 240 | 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
the borrowed expression implements the required traits: grovedb/src/debugger.rs#L43
warning: the borrowed expression implements the required traits --> grovedb/src/debugger.rs:43:34 | 43 | 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
this function has too many arguments (8/7): grovedb/src/batch/mod.rs#L2098
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:2098:5 | 2098 | / pub fn apply_partial_batch_with_element_flags_update( 2099 | | &self, 2100 | | ops: Vec<GroveDbOp>, 2101 | | batch_apply_options: Option<BatchApplyOptions>, ... | 2120 | | grove_version: &GroveVersion, 2121 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/batch/mod.rs#L1662
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:1662:5 | 1662 | / fn continue_partial_apply_body<'db, S: StorageContext<'db>>( 1663 | | &self, 1664 | | previous_leftover_operations: Option<OpsByLevelPath>, 1665 | | additional_ops: Vec<GroveDbOp>, ... | 1681 | | grove_version: &GroveVersion, 1682 | | ) -> CostResult<Option<OpsByLevelPath>, Error> { | |__________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
doc list item missing indentation: grovedb/src/batch/mod.rs#L715
warning: doc list item missing indentation --> grovedb/src/batch/mod.rs:715:9 | 715 | /// missing reference, corrupted data, or invalid batch operation. | ^ | = 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/master/index.html#doc_lazy_continuation help: indent this line | 715 | /// missing reference, corrupted data, or invalid batch operation. | ++
doc list item missing indentation: grovedb/src/batch/mod.rs#L711
warning: doc list item missing indentation --> grovedb/src/batch/mod.rs:711:9 | 711 | /// associated cost, if successful. | ^ | = 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/master/index.html#doc_lazy_continuation help: indent this line | 711 | /// associated cost, if successful. | ++
doc list item missing indentation: grovedb/src/batch/mod.rs#L698
warning: doc list item missing indentation --> grovedb/src/batch/mod.rs:698:9 | 698 | /// element. | ^ | = 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/master/index.html#doc_lazy_continuation help: indent this line | 698 | /// element. | +++
doc list item missing indentation: grovedb/src/batch/mod.rs#L697
warning: doc list item missing indentation --> grovedb/src/batch/mod.rs:697:9 | 697 | /// element and then determines the next step based on the type of the | ^ | = 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/master/index.html#doc_lazy_continuation help: indent this line | 697 | /// element and then determines the next step based on the type of the | +++
doc list item missing indentation: grovedb/src/batch/mod.rs#L694
warning: doc list item missing indentation --> grovedb/src/batch/mod.rs:694:9 | 694 | /// value hash from the reference element. | ^ | = 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/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 694 | /// value hash from the reference element. | +++
this function has too many arguments (8/7): grovedb/src/batch/mod.rs#L664
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:664:5 | 664 | / fn execute_ops_on_path( 665 | | &mut self, 666 | | path: &KeyInfoPath, 667 | | ops_at_path_by_key: BTreeMap<KeyInfo, Op>, ... | 672 | | grove_version: &GroveVersion, 673 | | ) -> CostResult<RootHashKeyAndSum, 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
usage of `contains_key` followed by `insert` on a `HashMap`: grovedb/src/batch/estimated_costs/average_case_costs.rs#L271
warning: usage of `contains_key` followed by `insert` on a `HashMap` --> grovedb/src/batch/estimated_costs/average_case_costs.rs:271:13 | 271 | / if !self.cached_merks.contains_key(&base_path) { 272 | | cost_return_on_error_no_add!( 273 | | &cost, 274 | | GroveDb::add_average_case_get_merk_at_path::<RocksDbStorage>( ... | 285 | | .insert(base_path, estimated_layer_info.is_sum_tree); 286 | | } | |_____________^ | = 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 | 271 ~ if let std::collections::hash_map::Entry::Vacant(e) = self.cached_merks.entry(base_path) { 272 + cost_return_on_error_no_add!( 273 + &cost, 274 + GroveDb::add_average_case_get_merk_at_path::<RocksDbStorage>( 275 + &mut cost, 276 + &base_path, 277 + estimated_layer_info 278 + .estimated_layer_count 279 + .estimated_to_be_empty(), 280 + estimated_layer_info.is_sum_tree, 281 + grove_version 282 + ) 283 + ); 284 + e.insert(estimated_layer_info.is_sum_tree); 285 + } |
unnecessary use of `get(path).is_none()`: grovedb/src/batch/estimated_costs/average_case_costs.rs#L217
warning: unnecessary use of `get(path).is_none()` --> grovedb/src/batch/estimated_costs/average_case_costs.rs:217:30 | 217 | 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
variants `Execute`, `AverageCase`, and `WorstCase` are never constructed: grovedb/src/batch/mode.rs#L18
warning: variants `Execute`, `AverageCase`, and `WorstCase` are never constructed --> grovedb/src/batch/mode.rs:18:5 | 17 | pub enum BatchRunMode { | ------------ variants in this enum 18 | Execute, | ^^^^^^^ 19 | #[cfg(feature = "estimated_costs")] 20 | AverageCase(HashMap<KeyInfoPath, EstimatedLayerInformation>), | ^^^^^^^^^^^ 21 | #[cfg(feature = "estimated_costs")] 22 | WorstCase(HashMap<KeyInfoPath, WorstCaseLayerInformation>), | ^^^^^^^^^ | = note: `BatchRunMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
method `get_batch_run_mode` is never used: grovedb/src/batch/mod.rs#L661
warning: method `get_batch_run_mode` is never used --> grovedb/src/batch/mod.rs:661:8 | 658 | trait TreeCache<G, SR> { | --------- method in this trait ... 661 | fn get_batch_run_mode(&self) -> BatchRunMode; | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
duplicated attribute: merk/src/estimated_costs/average_case_costs.rs#L49
warning: duplicated attribute --> merk/src/estimated_costs/average_case_costs.rs:49:7 | 49 | #[cfg(feature = "full")] | ^^^^^^^^^^^^^^^^ | note: first defined here --> merk/src/estimated_costs/average_case_costs.rs:48:7 | 48 | #[cfg(feature = "full")] | ^^^^^^^^^^^^^^^^ help: remove this attribute --> merk/src/estimated_costs/average_case_costs.rs:49:7 | 49 | #[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
this function has too many arguments (8/7): merk/src/tree/mod.rs#L784
warning: this function has too many arguments (8/7) --> merk/src/tree/mod.rs:784:5 | 784 | / pub fn put_value_with_reference_value_hash_and_value_cost( 785 | | mut self, 786 | | value: Vec<u8>, 787 | | value_hash: CryptoHash, ... | 806 | | >, 807 | | ) -> CostResult<Self, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): merk/src/tree/walk/mod.rs#L326
warning: this function has too many arguments (8/7) --> merk/src/tree/walk/mod.rs:326:5 | 326 | / pub fn put_value_with_reference_value_hash_and_value_cost( 327 | | mut self, 328 | | value: Vec<u8>, 329 | | value_hash: CryptoHash, ... | 348 | | >, 349 | | ) -> CostResult<Self, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (10/7): merk/src/tree/ops.rs#L712
warning: this function has too many arguments (10/7) --> merk/src/tree/ops.rs:712:5 | 712 | / fn recurse<K: AsRef<[u8]>, C, V, U, R>( 713 | | self, 714 | | batch: &MerkBatch<K>, 715 | | mid: usize, ... | 722 | | grove_version: &GroveVersion, 723 | | ) -> CostResult<(Option<Self>, KeyUpdates), Error> | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): merk/src/tree/ops.rs#L148
warning: this function has too many arguments (8/7) --> merk/src/tree/ops.rs:148:5 | 148 | / pub fn apply_to<K: AsRef<[u8]>, C, V, U, R>( 149 | | maybe_tree: Option<Self>, 150 | | batch: &MerkBatch<K>, 151 | | source: S, ... | 156 | | grove_version: &GroveVersion, 157 | | ) -> CostContext<Result<(Option<TreeNode>, KeyUpdates), Error>> | |___________________________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
module has the same name as its containing module: merk/src/proofs/chunk.rs#L5
warning: module has the same name as its containing module --> merk/src/proofs/chunk.rs:5:1 | 5 | pub mod chunk; | ^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception = note: `#[warn(clippy::module_inception)]` on by default
this function has too many arguments (8/7): merk/src/merk/mod.rs#L656
warning: this function has too many arguments (8/7) --> merk/src/merk/mod.rs:656:5 | 656 | / fn verify_link( 657 | | &self, 658 | | link: &Link, 659 | | parent_key: &[u8], ... | 664 | | grove_version: &GroveVersion, 665 | | ) { | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
very complex type used. Consider factoring parts into `type` definitions: merk/src/merk/mod.rs#L596
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/mod.rs:596:10 | 596 | ) -> (BTreeMap<Vec<u8>, CryptoHash>, BTreeMap<Vec<u8>, Vec<u8>>) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
this function has too many arguments (9/7): merk/src/merk/apply.rs#L310
warning: this function has too many arguments (9/7) --> merk/src/merk/apply.rs:310:5 | 310 | / pub fn apply_unchecked<KB, KA, C, V, U, R>( 311 | | &mut self, 312 | | batch: &MerkBatch<KB>, 313 | | aux: &AuxMerkBatch<KA>, ... | 319 | | grove_version: &GroveVersion, 320 | | ) -> CostResult<(), Error> | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (9/7): merk/src/merk/apply.rs#L201
warning: this function has too many arguments (9/7) --> merk/src/merk/apply.rs:201:5 | 201 | / pub fn apply_with_costs_just_in_time_value_update<KB, KA>( 202 | | &mut self, 203 | | batch: &MerkBatch<KB>, 204 | | aux: &AuxMerkBatch<KA>, ... | 226 | | grove_version: &GroveVersion, 227 | | ) -> 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
very complex type used. Consider factoring parts into `type` definitions: merk/src/merk/chunks.rs#L393
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/chunks.rs:393:10 | 393 | ) -> Option<Result<(Vec<Op>, Option<Vec<u8>>), Error>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
very complex type used. Consider factoring parts into `type` definitions: merk/src/merk/chunks.rs#L363
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/chunks.rs:363:10 | 363 | ) -> Option<Result<(Vec<Op>, Option<Vec<u8>>), 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
method `attempt_state_recovery` is never used: merk/src/merk/restore.rs#L412
warning: method `attempt_state_recovery` is never used --> merk/src/merk/restore.rs:412:8 | 67 | impl<'db, S: StorageContext<'db>> Restorer<S> { | --------------------------------------------- method in this implementation ... 412 | fn attempt_state_recovery(&mut self, grove_version: &GroveVersion) -> Result<(), Error> { | ^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unexpected `cfg` condition name: `tests`: merk/src/tree/fuzz_tests.rs#L3
warning: unexpected `cfg` condition name: `tests` --> merk/src/tree/fuzz_tests.rs:3:8 | 3 | #![cfg(tests)] | ^^^^^ help: there is a config with a similar name: `test` | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
'test' may be misspelled as 'tests': merk/src/tree/fuzz_tests.rs#L3
warning: 'test' may be misspelled as 'tests' --> merk/src/tree/fuzz_tests.rs:3:8 | 3 | #![cfg(tests)] | ^^^^^ help: did you mean: `test` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#maybe_misused_cfg = note: `#[warn(clippy::maybe_misused_cfg)]` on by default
doc list item missing indentation: costs/src/context.rs#L173
warning: doc list item missing indentation --> costs/src/context.rs:173:5 | 173 | /// accumulator; 4. Early termination uses external cost accumulator so previous | ^ | = 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/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 173 | /// accumulator; 4. Early termination uses external cost accumulator so previous | +++
Compilation errors
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Compilation errors
The following actions uses Node.js version which is deprecated and will be forced to run on node20: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Compilation errors
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/
Compilation errors
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/
Compilation errors
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/
Compilation errors
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/
Linting
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Linting
The following actions uses Node.js version which is deprecated and will be forced to run on node20: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Linting
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/
Linting
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/
Linting
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/
Linting
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/
Tests
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Tests
The following actions uses Node.js version which is deprecated and will be forced to run on node20: styfle/cancel-workflow-action@0.9.1, actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Tests
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/
Tests
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/
Tests
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/
Tests
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/