Add must_use to some CRDT functions

This commit is contained in:
Alex 2021-12-22 09:57:02 +01:00
parent b76d0580a0
commit c7d5c73244
No known key found for this signature in database
GPG key ID: EDABF9711E244EB1
3 changed files with 3 additions and 1 deletions

View file

@ -63,6 +63,7 @@ where
/// ///
/// However extracting the mutator on its own and only sending that on the network is very /// However extracting the mutator on its own and only sending that on the network is very
/// interesting as it is much smaller than the whole map. /// interesting as it is much smaller than the whole map.
#[must_use = "CRDT mutators are meant to be merged into a CRDT and not ignored."]
pub fn update_mutator(&self, k: K, new_v: V) -> Self { pub fn update_mutator(&self, k: K, new_v: V) -> Self {
let new_vals = match self.vals.binary_search_by(|(k2, _, _)| k2.cmp(&k)) { let new_vals = match self.vals.binary_search_by(|(k2, _, _)| k2.cmp(&k)) {
Ok(i) => { Ok(i) => {

View file

@ -33,6 +33,7 @@ where
/// This can be used to build a delta-mutator: /// This can be used to build a delta-mutator:
/// when merged with another map, the value will be added or CRDT-merged if a previous /// when merged with another map, the value will be added or CRDT-merged if a previous
/// value already exists. /// value already exists.
#[must_use = "CRDT mutators are meant to be merged into a CRDT and not ignored."]
pub fn put_mutator(k: K, v: V) -> Self { pub fn put_mutator(k: K, v: V) -> Self {
Self { vals: vec![(k, v)] } Self { vals: vec![(k, v)] }
} }

View file

@ -7,7 +7,7 @@
//! counter. Alice does +1 on her copy, she reads 1. Bob does +3 on his copy, he reads 3. Now, //! counter. Alice does +1 on her copy, she reads 1. Bob does +3 on his copy, he reads 3. Now,
//! it is easy to merge their counters, order does not count: we always get 4. //! it is easy to merge their counters, order does not count: we always get 4.
//! //!
//! Learn more about CRDT [on Wikipedia](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) //! Learn more about CRDTs [on Wikipedia](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)
mod bool; mod bool;
#[allow(clippy::module_inception)] #[allow(clippy::module_inception)]