Skip to content

feat: bidirectional references #503

feat: bidirectional references

feat: bidirectional references #503

Triggered via pull request February 11, 2025 16:36
Status Success
Total duration 7m 20s
Artifacts

coverage.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

78 warnings
this function has too many arguments (8/7): grovedb/src/lib.rs#L933
warning: this function has too many arguments (8/7) --> grovedb/src/lib.rs:933:5 | 933 | / fn verify_merk_and_submerks_in_transaction<'db, B: AsRef<[u8]>, S: StorageContext<'db>>( 934 | | &'db self, 935 | | merk: Merk<S>, 936 | | path: &SubtreePath<B>, ... | 941 | | grove_version: &GroveVersion, 942 | | ) -> Result<VerificationIssues, 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/proof/verify.rs#L228
warning: this function has too many arguments (8/7) --> grovedb/src/operations/proof/verify.rs:228:5 | 228 | / fn verify_layer_proof<T>( 229 | | layer_proof: &LayerProof, 230 | | prove_options: &ProveOptions, 231 | | query: &PathQuery, ... | 236 | | grove_version: &GroveVersion, 237 | | ) -> Result<CryptoHash, Error> | |__________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/operations/proof/generate.rs#L215
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/operations/proof/generate.rs:215:74 | 215 | self.open_transactional_merk_at_path(path.as_slice().into(), &tx, None, grove_version) | ^^^ help: change this to: `tx` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this function has too many arguments (8/7): grovedb/src/operations/insert/mod.rs#L166
warning: this function has too many arguments (8/7) --> grovedb/src/operations/insert/mod.rs:166:5 | 166 | / fn add_element_on_transaction<'db, B: AsRef<[u8]>>( 167 | | &'db self, 168 | | path: SubtreePath<B>, 169 | | key: &[u8], ... | 174 | | grove_version: &GroveVersion, 175 | | ) -> 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
the following explicit lifetimes could be elided: 'b, 'db: grovedb/src/operations/insert/mod.rs#L117
warning: the following explicit lifetimes could be elided: 'b, 'db --> grovedb/src/operations/insert/mod.rs:117:30 | 117 | fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>( | ^^^ ^^ 118 | &self, 119 | path: SubtreePath<'b, B>, | ^^ ... 123 | transaction: &'db Transaction, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 117 ~ fn insert_on_transaction<B: AsRef<[u8]>>( 118 | &self, 119 ~ path: SubtreePath<'_, B>, 120 | key: &[u8], 121 | element: Element, 122 | options: InsertOptions, 123 ~ transaction: &Transaction, |
this function has too many arguments (8/7): grovedb/src/operations/insert/v1.rs#L17
warning: this function has too many arguments (8/7) --> grovedb/src/operations/insert/v1.rs:17:1 | 17 | / pub(super) fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>( 18 | | db: &GroveDb, 19 | | path: SubtreePath<'b, B>, 20 | | key: &[u8], ... | 25 | | grove_version: &GroveVersion, 26 | | ) -> CostResult<(), Error> { | |__________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
the following explicit lifetimes could be elided: 'b, 'db: grovedb/src/operations/insert/v1.rs#L17
warning: the following explicit lifetimes could be elided: 'b, 'db --> grovedb/src/operations/insert/v1.rs:17:37 | 17 | pub(super) fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>( | ^^^ ^^ 18 | db: &GroveDb, 19 | path: SubtreePath<'b, B>, | ^^ ... 23 | transaction: &'db Transaction, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 17 ~ pub(super) fn insert_on_transaction<B: AsRef<[u8]>>( 18 | db: &GroveDb, 19 ~ path: SubtreePath<'_, B>, 20 | key: &[u8], 21 | element: Element, 22 | options: InsertOptions, 23 ~ transaction: &Transaction, |
this function has too many arguments (8/7): grovedb/src/operations/insert/v0.rs#L12
warning: this function has too many arguments (8/7) --> grovedb/src/operations/insert/v0.rs:12:1 | 12 | / pub(super) fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>( 13 | | db: &GroveDb, 14 | | path: SubtreePath<'b, B>, 15 | | key: &[u8], ... | 20 | | grove_version: &GroveVersion, 21 | | ) -> 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#L629
warning: this function has too many arguments (8/7) --> grovedb/src/operations/get/query.rs:629:5 | 629 | / pub fn query_raw( 630 | | &self, 631 | | path_query: &PathQuery, 632 | | allow_cache: bool, ... | 637 | | grove_version: &GroveVersion, 638 | | ) -> 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#L255
warning: this function has too many arguments (8/7) --> grovedb/src/operations/get/query.rs:255:5 | 255 | / pub fn query( 256 | | &self, 257 | | path_query: &PathQuery, 258 | | allow_cache: bool, ... | 263 | | grove_version: &GroveVersion, 264 | | ) -> 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#L124
warning: this function has too many arguments (8/7) --> grovedb/src/operations/get/query.rs:124:5 | 124 | / pub fn query_many_raw( 125 | | &self, 126 | | path_queries: &[&PathQuery], 127 | | allow_cache: bool, ... | 132 | | grove_version: &GroveVersion, 133 | | ) -> 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#L532
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/mod.rs:532:5 | 532 | / fn delete_internal_on_transaction<B: AsRef<[u8]>>( 533 | | &self, 534 | | path: SubtreePath<B>, 535 | | key: &[u8], ... | 547 | | grove_version: &GroveVersion, 548 | | ) -> 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#L409
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/mod.rs:409:5 | 409 | / pub fn delete_operation_for_delete_internal<B: AsRef<[u8]>>( 410 | | &self, 411 | | path: SubtreePath<B>, 412 | | key: &[u8], ... | 417 | | grove_version: &GroveVersion, 418 | | ) -> CostResult<Option<QualifiedGroveDbOp>, 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#L113
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/worst_case.rs:113:5 | 113 | / pub fn worst_case_delete_operation_for_delete<'db, S: Storage<'db>>( 114 | | path: &KeyInfoPath, 115 | | key: &KeyInfo, 116 | | in_parent_tree_type: TreeType, ... | 121 | | grove_version: &GroveVersion, 122 | | ) -> CostResult<QualifiedGroveDbOp, 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<QualifiedGroveDbOp>>, 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<QualifiedGroveDbOp>, 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#L138
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/average_case.rs:138:5 | 138 | / pub fn average_case_delete_operation_for_delete<'db, S: Storage<'db>>( 139 | | path: &KeyInfoPath, 140 | | key: &KeyInfo, 141 | | in_parent_tree_type: TreeType, ... | 146 | | grove_version: &GroveVersion, 147 | | ) -> CostResult<QualifiedGroveDbOp, Error> { | |______________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
the following explicit lifetimes could be elided: 'c, 'db: grovedb/src/operations/delete/v1.rs#L184
warning: the following explicit lifetimes could be elided: 'c, 'db --> grovedb/src/operations/delete/v1.rs:184:6 | 184 | impl<'c, 'db, 'b, B: AsRef<[u8]>> util::Visit<'b, B> for DeletionVisitor<'c, 'db, 'b, B> { | ^^ ^^^ ^^ ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 184 - impl<'c, 'db, 'b, B: AsRef<[u8]>> util::Visit<'b, B> for DeletionVisitor<'c, 'db, 'b, B> { 184 + impl<'b, B: AsRef<[u8]>> util::Visit<'b, B> for DeletionVisitor<'_, '_, 'b, B> { |
this function has too many arguments (8/7): grovedb/src/operations/delete/v1.rs#L19
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/v1.rs:19:1 | 19 | / pub(super) fn delete_internal_on_transaction<B: AsRef<[u8]>>( 20 | | db: &GroveDb, 21 | | path: SubtreePath<B>, 22 | | key: &[u8], ... | 34 | | grove_version: &GroveVersion, 35 | | ) -> 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/v0.rs#L17
warning: this function has too many arguments (8/7) --> grovedb/src/operations/delete/v0.rs:17:1 | 17 | / pub(super) fn delete_internal_on_transaction<B: AsRef<[u8]>>( 18 | | db: &GroveDb, 19 | | path: SubtreePath<B>, 20 | | key: &[u8], ... | 32 | | grove_version: &GroveVersion, 33 | | ) -> CostResult<bool, Error> { | |____________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/merk_cache.rs#L254
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/merk_cache.rs:254:33 | 254 | ... &self.version, | ^^^^^^^^^^^^^ help: change this to: `self.version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/merk_cache.rs#L114
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/merk_cache.rs:114:59 | 114 | Element::get(&merk, parent_key, true, &self.version) | ^^^^^^^^^^^^^ help: change this to: `self.version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/merk_cache.rs#L114
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/merk_cache.rs:114:34 | 114 | Element::get(&merk, parent_key, true, &self.version) | ^^^^^ help: change this to: `merk` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this function has too many arguments (12/7): grovedb/src/element/query.rs#L717
warning: this function has too many arguments (12/7) --> grovedb/src/element/query.rs:717:5 | 717 | / fn query_item( 718 | | storage: &RocksDbStorage, 719 | | item: &QueryItem, 720 | | results: &mut Vec<QueryResultElement>, ... | 729 | | grove_version: &GroveVersion, 730 | | ) -> 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#L302
warning: this function has too many arguments (8/7) --> grovedb/src/element/query.rs:302:5 | 302 | / pub fn get_query_apply_function( 303 | | storage: &RocksDbStorage, 304 | | path: &[&[u8]], 305 | | sized_query: &SizedQuery, ... | 310 | | grove_version: &GroveVersion, 311 | | ) -> CostResult<(QueryResultElements, u16), Error> { | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/element/insert.rs#L544
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/element/insert.rs:544:32 | 544 | Self::get_optional(&merk, &key, true, grove_version) | ^^^^^ help: change this to: `merk` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/element/insert.rs#L381
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/element/insert.rs:381:32 | 381 | Self::get_optional(&merk, &key, true, grove_version) | ^^^^^ help: change this to: `merk` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/element/insert.rs#L239
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/element/insert.rs:239:43 | 239 | 1 => { Self::get_optional(&merk, key, true, grove_version) } | ^^^^^ help: change this to: `merk` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/debugger.rs#L346
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/debugger.rs:346:29 | 346 | ... &tx, | ^^^ help: change this to: `tx` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
the following explicit lifetimes could be elided: 'db, 'c: grovedb/src/bidirectional_references.rs#L641
warning: the following explicit lifetimes could be elided: 'db, 'c --> grovedb/src/bidirectional_references.rs:641:28 | 641 | fn get_backward_references<'db, 'c>( | ^^^ ^^ 642 | merk: &mut MerkHandle<'db, 'c>, | ^^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 641 ~ fn get_backward_references( 642 ~ merk: &mut MerkHandle<'_, '_>, |
the following explicit lifetimes could be elided: 'db, 'c: grovedb/src/bidirectional_references.rs#L600
warning: the following explicit lifetimes could be elided: 'db, 'c --> grovedb/src/bidirectional_references.rs:600:27 | 600 | fn add_backward_reference<'db, 'c>( | ^^^ ^^ 601 | target_merk: &mut MerkHandle<'db, 'c>, | ^^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 600 ~ fn add_backward_reference( 601 ~ target_merk: &mut MerkHandle<'_, '_>, |
the following explicit lifetimes could be elided: 'db, 'c: grovedb/src/bidirectional_references.rs#L561
warning: the following explicit lifetimes could be elided: 'db, 'c --> grovedb/src/bidirectional_references.rs:561:35 | 561 | fn get_backward_references_bitvec<'db, 'c>( | ^^^ ^^ 562 | merk: &mut MerkHandle<'db, 'c>, | ^^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 561 ~ fn get_backward_references_bitvec( 562 ~ merk: &mut MerkHandle<'_, '_>, |
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/bidirectional_references.rs#L462
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/bidirectional_references.rs:462:17 | 462 | &merk_cache.version | ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/bidirectional_references.rs#L350
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/bidirectional_references.rs:350:69 | 350 | cost_return_on_error!(&mut cost, new.value_hash(&merk_cache.version)) | ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/bidirectional_references.rs#L316
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/bidirectional_references.rs:316:69 | 316 | cost_return_on_error!(&mut cost, new.value_hash(&merk_cache.version)) | ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/bidirectional_references.rs#L220
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/bidirectional_references.rs:220:17 | 220 | &merk_cache.version, | ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this lifetime isn't used in the function definition: grovedb/src/bidirectional_references.rs#L113
warning: this lifetime isn't used in the function definition --> grovedb/src/bidirectional_references.rs:113:66 | 113 | pub(crate) fn process_bidirectional_reference_insertion<'db, 'b, 'k, B: AsRef<[u8]>>( | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default
the following explicit lifetimes could be elided: 'db: grovedb/src/bidirectional_references.rs#L113
warning: the following explicit lifetimes could be elided: 'db --> grovedb/src/bidirectional_references.rs:113:57 | 113 | pub(crate) fn process_bidirectional_reference_insertion<'db, 'b, 'k, B: AsRef<[u8]>>( | ^^^ 114 | merk_cache: &MerkCache<'db, 'b, B>, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 113 ~ pub(crate) fn process_bidirectional_reference_insertion<'b, 'k, B: AsRef<[u8]>>( 114 ~ merk_cache: &MerkCache<'_, 'b, B>, |
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/bidirectional_references.rs#L87
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/bidirectional_references.rs:87:57 | 87 | get_backward_references_bitvec(target_merk, &target_key) | ^^^^^^^^^^^ help: change this to: `target_key` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
the following explicit lifetimes could be elided: 'db, 'c: grovedb/src/bidirectional_references.rs#L78
warning: the following explicit lifetimes could be elided: 'db, 'c --> grovedb/src/bidirectional_references.rs:78:43 | 78 | fn remove_backward_reference_resolved<'db, 'c>( | ^^^ ^^ 79 | target_merk: &mut MerkHandle<'db, 'c>, | ^^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 78 ~ fn remove_backward_reference_resolved( 79 ~ target_merk: &mut MerkHandle<'_, '_>, |
the following explicit lifetimes could be elided: 'c, 'db: grovedb/src/bidirectional_references.rs#L44
warning: the following explicit lifetimes could be elided: 'c, 'db --> grovedb/src/bidirectional_references.rs:44:34 | 44 | fn remove_backward_reference<'db, 'b, 'c, B: AsRef<[u8]>>( | ^^^ ^^ 45 | self, 46 | merk_cache: &'c MerkCache<'db, 'b, B>, | ^^ ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 44 ~ fn remove_backward_reference<'b, B: AsRef<[u8]>>( 45 | self, 46 ~ merk_cache: &MerkCache<'_, 'b, B>, |
this function has too many arguments (8/7): grovedb/src/batch/mod.rs#L2426
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:2426:5 | 2426 | / pub fn apply_partial_batch_with_element_flags_update( 2427 | | &self, 2428 | | ops: Vec<QualifiedGroveDbOp>, 2429 | | batch_apply_options: Option<BatchApplyOptions>, ... | 2448 | | grove_version: &GroveVersion, 2449 | | ) -> 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#L2055
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:2055:5 | 2055 | / fn continue_partial_apply_body<'db, S: StorageContext<'db>>( 2056 | | &self, 2057 | | previous_leftover_operations: Option<OpsByLevelPath>, 2058 | | additional_ops: Vec<QualifiedGroveDbOp>, ... | 2074 | | grove_version: &GroveVersion, 2075 | | ) -> CostResult<Option<OpsByLevelPath>, 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): grovedb/src/batch/mod.rs#L961
warning: this function has too many arguments (9/7) --> grovedb/src/batch/mod.rs:961:5 | 961 | / fn process_reference_with_hop_count_greater_than_one<'a, G, SR>( 962 | | &'a mut self, 963 | | key: &[u8], 964 | | reference_path: &[Vec<u8>], ... | 970 | | grove_version: &GroveVersion, 971 | | ) -> CostResult<CryptoHash, 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#L743
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:743:5 | 743 | / fn process_reference<'a, G, SR>( 744 | | &'a mut self, 745 | | qualified_path: &[Vec<u8>], 746 | | ops_by_qualified_paths: &'a BTreeMap<Vec<Vec<u8>>, GroveOp>, ... | 751 | | grove_version: &GroveVersion, 752 | | ) -> CostResult<CryptoHash, 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#L680
warning: this function has too many arguments (8/7) --> grovedb/src/batch/mod.rs:680:5 | 680 | / fn execute_ops_on_path( 681 | | &mut self, 682 | | path: &KeyInfoPath, 683 | | ops_at_path_by_key: BTreeMap<KeyInfo, GroveOp>, ... | 688 | | grove_version: &GroveVersion, 689 | | ) -> CostResult<RootHashKeyAndAggregateData, 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): grovedb/src/batch/just_in_time_reference_update.rs#L29
warning: this function has too many arguments (9/7) --> grovedb/src/batch/just_in_time_reference_update.rs:29:5 | 29 | / pub(crate) fn process_old_element_flags<G, SR>( 30 | | key: &[u8], 31 | | serialized: &[u8], 32 | | new_element: &mut Element, ... | 38 | | grove_version: &GroveVersion, 39 | | ) -> CostResult<CryptoHash, 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
field `visitor` is never read: grovedb/src/util/visitor.rs#L33
warning: field `visitor` is never read --> grovedb/src/util/visitor.rs:33:9 | 31 | pub(crate) struct WalkResult<V> { | ---------- field in this struct 32 | pub short_circuited: bool, 33 | pub visitor: V, | ^^^^^^^
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#L677
warning: method `get_batch_run_mode` is never used --> grovedb/src/batch/mod.rs:677:8 | 674 | trait TreeCache<G, SR> { | --------- method in this trait ... 677 | fn get_batch_run_mode(&self) -> BatchRunMode; | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
this `else { if .. }` block can be collapsed: grovedb/src/operations/insert/v1.rs#L142
warning: this `else { if .. }` block can be collapsed --> grovedb/src/operations/insert/v1.rs:142:20 | 142 | } else { | ____________________^ 143 | | if options.propagate_backward_references { 144 | | let delta = cost_return_on_error!( 145 | | &mut cost, ... | 176 | | } 177 | | } | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if = note: `#[warn(clippy::collapsible_else_if)]` on by default help: collapse nested if block | 142 ~ } else if options.propagate_backward_references { 143 + let delta = cost_return_on_error!( 144 + &mut cost, 145 + subtree_to_insert_into.for_merk(|m| element.insert_subtree_if_changed( 146 + m, 147 + key, 148 + NULL_HASH, 149 + Some(options.as_merk_options()), 150 + grove_version 151 + )) 152 + ); 153 + 154 + cost_return_on_error!( 155 + &mut cost, 156 + process_update_element_with_backward_references( 157 + &cache, 158 + subtree_to_insert_into.clone(), 159 + path.derive_owned(), 160 + key, 161 + delta 162 + ) 163 + ); 164 + } else { 165 + cost_return_on_error!( 166 + &mut cost, 167 + subtree_to_insert_into.for_merk(|m| element.insert_subtree( 168 + m, 169 + key, 170 + NULL_HASH, 171 + Some(options.as_merk_options()), 172 + grove_version 173 + )) 174 + ); 175 + } |
constants have by default a `'static` lifetime: grovedb/src/bidirectional_references.rs#L22
warning: constants have by default a `'static` lifetime --> grovedb/src/bidirectional_references.rs:22:41 | 22 | const META_BACKWARD_REFERENCES_PREFIX: &'static [u8] = b"refs"; | -^^^^^^^----- help: consider removing `'static`: `&[u8]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default
unneeded sub `cfg` when there is only one condition: grovedb/src/element/insert.rs#L648
warning: unneeded sub `cfg` when there is only one condition --> grovedb/src/element/insert.rs:648:7 | 648 | #[cfg(all(feature = "minimal"))] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "minimal"` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg = note: `#[warn(clippy::non_minimal_cfg)]` on by default
this function has too many arguments (9/7): merk/src/tree/mod.rs#L943
warning: this function has too many arguments (9/7) --> merk/src/tree/mod.rs:943:5 | 943 | / pub fn put_value_with_reference_value_hash_and_value_cost( 944 | | mut self, 945 | | value: Vec<u8>, 946 | | value_hash: CryptoHash, ... | 969 | | >, 970 | | ) -> 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/mod.rs#L885
warning: this function has too many arguments (8/7) --> merk/src/tree/mod.rs:885:5 | 885 | / pub fn put_value_and_reference_value_hash( 886 | | mut self, 887 | | value: Vec<u8>, 888 | | value_hash: CryptoHash, ... | 910 | | >, 911 | | ) -> 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/mod.rs#L829
warning: this function has too many arguments (8/7) --> merk/src/tree/mod.rs:829:5 | 829 | / pub fn put_value_with_fixed_cost( 830 | | mut self, 831 | | value: Vec<u8>, 832 | | value_fixed_cost: u32, ... | 854 | | >, 855 | | ) -> 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 (9/7): merk/src/tree/walk/mod.rs#L341
warning: this function has too many arguments (9/7) --> merk/src/tree/walk/mod.rs:341:5 | 341 | / pub fn put_value_with_reference_value_hash_and_value_cost( 342 | | mut self, 343 | | value: Vec<u8>, 344 | | value_hash: CryptoHash, ... | 367 | | >, 368 | | ) -> 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#L295
warning: this function has too many arguments (8/7) --> merk/src/tree/walk/mod.rs:295:5 | 295 | / pub fn put_value_and_reference_value_hash( 296 | | mut self, 297 | | value: Vec<u8>, 298 | | value_hash: CryptoHash, ... | 320 | | >, 321 | | ) -> 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#L249
warning: this function has too many arguments (8/7) --> merk/src/tree/walk/mod.rs:249:5 | 249 | / pub fn put_value_with_fixed_cost( 250 | | mut self, 251 | | value: Vec<u8>, 252 | | value_fixed_cost: u32, ... | 274 | | >, 275 | | ) -> 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 (11/7): merk/src/tree/ops.rs#L733
warning: this function has too many arguments (11/7) --> merk/src/tree/ops.rs:733:5 | 733 | / fn recurse<K: AsRef<[u8]>, C, V, T, U, R>( 734 | | self, 735 | | batch: &MerkBatch<K>, 736 | | mid: usize, ... | 744 | | grove_version: &GroveVersion, 745 | | ) -> 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#L415
warning: this function has too many arguments (8/7) --> merk/src/tree/ops.rs:415:5 | 415 | / fn apply_sorted<K: AsRef<[u8]>, C, V, T, U, R>( 416 | | self, 417 | | batch: &MerkBatch<K>, 418 | | old_specialized_cost: &C, ... | 423 | | grove_version: &GroveVersion, 424 | | ) -> 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#L235
warning: this function has too many arguments (8/7) --> merk/src/tree/ops.rs:235:5 | 235 | / fn build<K: AsRef<[u8]>, C, V, T, U, R>( 236 | | batch: &MerkBatch<K>, 237 | | source: S, 238 | | old_tree_cost: &C, ... | 243 | | grove_version: &GroveVersion, 244 | | ) -> CostResult<Option<TreeNode>, 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/tree/ops.rs#L148
warning: this function has too many arguments (9/7) --> merk/src/tree/ops.rs:148:5 | 148 | / pub fn apply_to<K: AsRef<[u8]>, C, V, T, U, R>( 149 | | maybe_tree: Option<Self>, 150 | | batch: &MerkBatch<K>, 151 | | source: S, ... | 157 | | grove_version: &GroveVersion, 158 | | ) -> 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#L694
warning: this function has too many arguments (8/7) --> merk/src/merk/mod.rs:694:5 | 694 | / fn verify_link( 695 | | &self, 696 | | link: &Link, 697 | | parent_key: &[u8], ... | 702 | | grove_version: &GroveVersion, 703 | | ) { | |_____^ | = 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#L634
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/mod.rs:634:10 | 634 | ) -> (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 (10/7): merk/src/merk/apply.rs#L322
warning: this function has too many arguments (10/7) --> merk/src/merk/apply.rs:322:5 | 322 | / pub fn apply_unchecked<KB, KA, C, V, T, U, R>( 323 | | &mut self, 324 | | batch: &MerkBatch<KB>, 325 | | aux: &AuxMerkBatch<KA>, ... | 332 | | grove_version: &GroveVersion, 333 | | ) -> 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 (10/7): merk/src/merk/apply.rs#L206
warning: this function has too many arguments (10/7) --> merk/src/merk/apply.rs:206:5 | 206 | / pub fn apply_with_costs_just_in_time_value_update<KB, KA>( 207 | | &mut self, 208 | | batch: &MerkBatch<KB>, 209 | | aux: &AuxMerkBatch<KA>, ... | 235 | | grove_version: &GroveVersion, 236 | | ) -> 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 `apply_sorted_without_costs` is never used: merk/src/tree/ops.rs#L390
warning: method `apply_sorted_without_costs` is never used --> merk/src/tree/ops.rs:390:19 | 139 | / impl<S> Walker<S> 140 | | where 141 | | S: Fetch + Sized + Clone, | |_____________________________- method in this implementation ... 390 | pub(crate) fn apply_sorted_without_costs<K: AsRef<[u8]>>( | ^^^^^^^^^^^^^^^^^^^^^^^^^^
method `attempt_state_recovery` is never used: merk/src/merk/restore.rs#L418
warning: method `attempt_state_recovery` is never used --> merk/src/merk/restore.rs:418:8 | 68 | impl<'db, S: StorageContext<'db>> Restorer<S> { | --------------------------------------------- method in this implementation ... 418 | 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
explicit call to `.into_iter()` in function argument accepting `IntoIterator`: storage/src/storage.rs#L502
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` --> storage/src/storage.rs:502:26 | 502 | ops.roots.extend(other_ops.roots.into_iter()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.roots` | note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` --> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18 = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
explicit call to `.into_iter()` in function argument accepting `IntoIterator`: storage/src/storage.rs#L501
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` --> storage/src/storage.rs:501:24 | 501 | ops.aux.extend(other_ops.aux.into_iter()); | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.aux` | note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` --> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18 = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
explicit call to `.into_iter()` in function argument accepting `IntoIterator`: storage/src/storage.rs#L500
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` --> storage/src/storage.rs:500:25 | 500 | ops.meta.extend(other_ops.meta.into_iter()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.meta` | note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` --> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18 = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
explicit call to `.into_iter()` in function argument accepting `IntoIterator`: storage/src/storage.rs#L499
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` --> storage/src/storage.rs:499:25 | 499 | ops.data.extend(other_ops.data.into_iter()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.data` | note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` --> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18 = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default