feat: bidirectional references #648
clippy
2 errors, 165 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 2 |
Warning | 165 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.83.0 (90b35a623 2024-11-26)
- cargo 1.83.0 (5ffbef321 2024-10-29)
- clippy 0.1.83 (90b35a6 2024-11-26)
Annotations
Check failure on line 85 in node-grove/src/converter.rs
github-actions / clippy
non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_)`, `grovedb::Element::ItemWithBackwardsReferences(_, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _)` not covered
error[E0004]: non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_)`, `grovedb::Element::ItemWithBackwardsReferences(_, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _)` not covered
--> node-grove/src/converter.rs:85:43
|
85 | let js_value: Handle<JsValue> = match element {
| ^^^^^^^ patterns `grovedb::Element::BidirectionalReference(_)`, `grovedb::Element::ItemWithBackwardsReferences(_, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _)` not covered
|
note: `grovedb::Element` defined here
--> /home/runner/work/grovedb/grovedb/grovedb/src/element/mod.rs:77:1
|
77 | pub enum Element {
| ^^^^^^^^^^^^^^^^
...
91 | BidirectionalReference(BidirectionalReference),
| ---------------------- not covered
92 | /// An ordinary value that has a backwards reference
93 | ItemWithBackwardsReferences(Vec<u8>, Option<ElementFlags>),
| --------------------------- not covered
...
96 | SumItemWithBackwardsReferences(SumValue, Option<ElementFlags>),
| ------------------------------ not covered
= note: the matched value is of type `grovedb::Element`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
|
94 ~ Element::SumTree(..) => nested_vecs_to_js(vec![], cx)?,
95 ~ grovedb::Element::BidirectionalReference(_) | grovedb::Element::ItemWithBackwardsReferences(_, _) | grovedb::Element::SumItemWithBackwardsReferences(_, _) => todo!(),
|
Check failure on line 35 in node-grove/src/converter.rs
github-actions / clippy
non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_)`, `grovedb::Element::ItemWithBackwardsReferences(_, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _)` not covered
error[E0004]: non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_)`, `grovedb::Element::ItemWithBackwardsReferences(_, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _)` not covered
--> node-grove/src/converter.rs:35:11
|
35 | match element {
| ^^^^^^^ patterns `grovedb::Element::BidirectionalReference(_)`, `grovedb::Element::ItemWithBackwardsReferences(_, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _)` not covered
|
note: `grovedb::Element` defined here
--> /home/runner/work/grovedb/grovedb/grovedb/src/element/mod.rs:77:1
|
77 | pub enum Element {
| ^^^^^^^^^^^^^^^^
...
91 | BidirectionalReference(BidirectionalReference),
| ---------------------- not covered
92 | /// An ordinary value that has a backwards reference
93 | ItemWithBackwardsReferences(Vec<u8>, Option<ElementFlags>),
| --------------------------- not covered
...
96 | SumItemWithBackwardsReferences(SumValue, Option<ElementFlags>),
| ------------------------------ not covered
= note: the matched value is of type `grovedb::Element`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
|
40 ~ Element::SumTree(..) => "sum_tree".to_string(),
41 ~ grovedb::Element::BidirectionalReference(_) | grovedb::Element::ItemWithBackwardsReferences(_, _) | grovedb::Element::SumItemWithBackwardsReferences(_, _) => todo!(),
|
Check warning on line 741 in grovedb/src/lib.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/lib.rs:732:5
|
732 | / fn verify_merk_and_submerks_in_transaction<'db, B: AsRef<[u8]>, S: StorageContext<'db>>(
733 | | &'db self,
734 | | merk: Merk<S>,
735 | | path: &SubtreePath<B>,
... |
740 | | grove_version: &GroveVersion,
741 | | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> {
| |___________________________________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 741 in grovedb/src/lib.rs
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:741:10
|
741 | ) -> 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 717 in grovedb/src/lib.rs
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:717:10
|
717 | ) -> 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 48 in grovedb/src/util.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'a
warning: the following explicit lifetimes could be elided: 'a
--> grovedb/src/util.rs:48:6
|
48 | impl<'a, 'db> AsRef<Transaction<'db>> for TxRef<'a, 'db> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
48 - impl<'a, 'db> AsRef<Transaction<'db>> for TxRef<'a, 'db> {
48 + impl<'db> AsRef<Transaction<'db>> for TxRef<'_, 'db> {
|
Check warning on line 49 in grovedb/src/replication.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'db
warning: the following explicit lifetimes could be elided: 'db
--> grovedb/src/replication.rs:49:6
|
49 | impl<'db> Default for MultiStateSyncInfo<'db> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
49 - impl<'db> Default for MultiStateSyncInfo<'db> {
49 + impl Default for MultiStateSyncInfo<'_> {
|
Check warning on line 512 in grovedb/src/query/mod.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'a
warning: the following explicit lifetimes could be elided: 'a
--> grovedb/src/query/mod.rs:512:6
|
512 | impl<'a> fmt::Display for SinglePathSubquery<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
512 - impl<'a> fmt::Display for SinglePathSubquery<'a> {
512 + impl fmt::Display for SinglePathSubquery<'_> {
|
Check warning on line 483 in grovedb/src/query/mod.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'a
warning: the following explicit lifetimes could be elided: 'a
--> grovedb/src/query/mod.rs:483:6
|
483 | impl<'a> HasSubquery<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
483 - impl<'a> HasSubquery<'a> {
483 + impl HasSubquery<'_> {
|
Check warning on line 467 in grovedb/src/query/mod.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'a
warning: the following explicit lifetimes could be elided: 'a
--> grovedb/src/query/mod.rs:467:6
|
467 | impl<'a> fmt::Display for HasSubquery<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
467 - impl<'a> fmt::Display for HasSubquery<'a> {
467 + impl fmt::Display for HasSubquery<'_> {
|
Check warning on line 370 in grovedb/src/operations/proof/verify.rs
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:370:25
|
370 | 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 293 in grovedb/src/operations/proof/verify.rs
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: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
Check warning on line 238 in grovedb/src/operations/proof/verify.rs
github-actions / clippy
this function has too many arguments (8/7)
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
Check warning on line 218 in grovedb/src/operations/proof/generate.rs
github-actions / clippy
this expression creates a reference which is immediately dereferenced by the compiler
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/operations/proof/generate.rs:218:74
|
218 | 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
Check warning on line 74 in grovedb/src/operations/insert/mod.rs
github-actions / clippy
this expression creates a reference which is immediately dereferenced by the compiler
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/operations/insert/mod.rs:74:41
|
74 | let merk_cache = MerkCache::new(&self, tx.as_ref(), grove_version);
| ^^^^^ help: change this to: `self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
Check warning on line 597 in grovedb/src/operations/get/query.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:588:5
|
588 | / pub fn query_raw(
589 | | &self,
590 | | path_query: &PathQuery,
591 | | allow_cache: bool,
... |
596 | | grove_version: &GroveVersion,
597 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 251 in grovedb/src/operations/get/query.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:242:5
|
242 | / pub fn query(
243 | | &self,
244 | | path_query: &PathQuery,
245 | | allow_cache: bool,
... |
250 | | grove_version: &GroveVersion,
251 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 123 in grovedb/src/operations/get/query.rs
github-actions / clippy
this function has too many arguments (8/7)
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
Check warning on line 597 in grovedb/src/operations/delete/mod.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/mod.rs:581:5
|
581 | / fn delete_internal<B: AsRef<[u8]>>(
582 | | &self,
583 | | path: SubtreePath<B>,
584 | | key: &[u8],
... |
596 | | grove_version: &GroveVersion,
597 | | ) -> CostResult<bool, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 457 in grovedb/src/operations/delete/mod.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/mod.rs:448:5
|
448 | / pub fn delete_operation_for_delete_internal<B: AsRef<[u8]>>(
449 | | &self,
450 | | path: SubtreePath<B>,
451 | | key: &[u8],
... |
456 | | grove_version: &GroveVersion,
457 | | ) -> CostResult<Option<QualifiedGroveDbOp>, Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 130 in grovedb/src/operations/delete/worst_case.rs
github-actions / clippy
this function has too many arguments (8/7)
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<QualifiedGroveDbOp, Error> {
| |______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 208 in grovedb/src/operations/delete/delete_up_tree.rs
github-actions / clippy
this function has too many arguments (8/7)
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
Check warning on line 176 in grovedb/src/operations/delete/delete_up_tree.rs
github-actions / clippy
this function has too many arguments (8/7)
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
Check warning on line 148 in grovedb/src/operations/delete/average_case.rs
github-actions / clippy
this function has too many arguments (8/7)
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<QualifiedGroveDbOp, Error> {
| |______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 173 in grovedb/src/merk_cache.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'c
warning: the following explicit lifetimes could be elided: 'c
--> grovedb/src/merk_cache.rs:173:11
|
173 | impl<'db, 'c> MerkHandle<'db, 'c> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
173 - impl<'db, 'c> MerkHandle<'db, 'c> {
173 + impl<'db> MerkHandle<'db, '_> {
|