Skip to content

Commit

Permalink
Fix clippy lints (#55)
Browse files Browse the repository at this point in the history
* Fix clippy lints

These were failing since Rust 1.72 and 1.73

* Bump tungstenite to 0.20.1

* Moved tokio-tungstenite to dev-dependencies (only used in tests).
* Renamed "tokio-tungstenite" feature to "tungstenite".
  • Loading branch information
teohhanhui authored Oct 22, 2023
1 parent f95edd1 commit 92c49f5
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 40 deletions.
8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ required-features = ["tokio"]

[[test]]
name = "interop"
required-features = ["tokio-tungstenite"]
required-features = ["tokio", "tungstenite"]

[features]
tokio = ["dep:tokio", "dep:tokio-util"]
tokio-tungstenite = ["tokio", "dep:tokio-tungstenite", "dep:tungstenite"]
tungstenite = ["dep:tungstenite"]

[dependencies]
automerge = { version = "0.4.1" }
Expand All @@ -33,8 +33,7 @@ tokio-util = { version = "0.7.8", features = ["codec", "net" ], optional = true
bytes = { version = "1.4.0" }
thiserror = "1.0.38"
minicbor = { version = "0.19.0", features = ["alloc"] }
tokio-tungstenite = { version = "0.19.0", features = ["connect"], optional = true}
tungstenite = { version = "0.19.0", optional = true }
tungstenite = { version = "0.20.1", optional = true }
tracing = "0.1.37"
ring = "0.16.20"
hex = "0.4.3"
Expand All @@ -47,6 +46,7 @@ axum = { version = "0.6.18" }
axum-macros = "0.3.7"
tokio = { version = "1.27", features = ["full"] }
tokio-serde = {version = "0.8.0", features = ["json"]}
tokio-tungstenite = { version = "0.20.1", features = ["connect"] }
serde_json = "1.0.96"
test_utils = { path = "test_utils" }
test-log = "0.2.12"
Expand Down
4 changes: 2 additions & 2 deletions examples/tcp-example.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,15 @@ impl AsyncInMemoryStorage {
let _ = sender.send(result);
}
StorageRequest::Append(doc_id, mut data, sender) => {
let entry = documents.entry(doc_id).or_insert_with(Default::default);
let entry = documents.entry(doc_id).or_default();
entry.append(&mut data);
let _ = sender.send(());
}
StorageRequest::Compact(doc_id, data, sender) => {
let _entry = documents
.entry(doc_id)
.and_modify(|entry| *entry = data)
.or_insert_with(Default::default);
.or_default();
let _ = sender.send(());
}
}
Expand Down
45 changes: 15 additions & 30 deletions src/repo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -742,10 +742,7 @@ impl DocumentInfo {
let mut document = self.document.write();
let start_heads = document.automerge.get_heads();
for (repo_id, messages) in per_remote {
let sync_state = self
.sync_states
.entry(repo_id)
.or_insert_with(SyncState::new);
let sync_state = self.sync_states.entry(repo_id).or_default();

// TODO: remove remote if there is an error.
for message in messages {
Expand All @@ -763,10 +760,7 @@ impl DocumentInfo {

/// Potentially generate an outgoing sync message.
fn generate_first_sync_message(&mut self, repo_id: RepoId) -> Option<SyncMessage> {
let sync_state = self
.sync_states
.entry(repo_id)
.or_insert_with(SyncState::new);
let sync_state = self.sync_states.entry(repo_id).or_default();
let document = self.document.read();
document.automerge.generate_sync_message(sync_state)
}
Expand Down Expand Up @@ -1062,10 +1056,8 @@ impl Repo {
let mut needs_flush = false;
let mut discard = false;
loop {
let pending_messages = self
.pending_messages
.entry(repo_id.clone())
.or_insert_with(Default::default);
let pending_messages =
self.pending_messages.entry(repo_id.clone()).or_default();
if pending_messages.is_empty() {
break;
}
Expand Down Expand Up @@ -1182,7 +1174,7 @@ impl Repo {
};
self.pending_messages
.entry(to_repo_id.clone())
.or_insert_with(Default::default)
.or_default()
.push_back(outgoing);
self.sinks_to_poll.insert(to_repo_id);
}
Expand Down Expand Up @@ -1214,7 +1206,7 @@ impl Repo {
};
self.pending_messages
.entry(to_repo_id.clone())
.or_insert_with(Default::default)
.or_default()
.push_back(outgoing);
self.sinks_to_poll.insert(to_repo_id);
}
Expand All @@ -1231,7 +1223,7 @@ impl Repo {
};
self.pending_messages
.entry(repo_id.clone())
.or_insert_with(Default::default)
.or_default()
.push_back(outgoing);
self.sinks_to_poll.insert(repo_id.clone());
}
Expand Down Expand Up @@ -1337,10 +1329,8 @@ impl Repo {
sink,
};
assert!(self.remote_repos.insert(repo_id.clone(), remote).is_none());
let pending_sinks = self
.pending_close_sinks
.entry(repo_id.clone())
.or_insert_with(Default::default);
let pending_sinks =
self.pending_close_sinks.entry(repo_id.clone()).or_default();
pending_sinks.push(existing_sink);
self.poll_close_sinks(repo_id.clone());
} else {
Expand All @@ -1364,7 +1354,7 @@ impl Repo {
};
self.pending_messages
.entry(repo_id.clone())
.or_insert_with(Default::default)
.or_default()
.push_back(outgoing);
}
}
Expand Down Expand Up @@ -1421,10 +1411,8 @@ impl Repo {
continue;
}

let per_doc = per_doc_messages
.entry(document_id)
.or_insert_with(Default::default);
let per_remote = per_doc.entry(from_repo_id).or_insert_with(Default::default);
let per_doc = per_doc_messages.entry(document_id).or_default();
let per_remote = per_doc.entry(from_repo_id).or_default();
per_remote.push_back(message.clone());
}
}
Expand Down Expand Up @@ -1458,7 +1446,7 @@ impl Repo {
};
self.pending_messages
.entry(to_repo_id.clone())
.or_insert_with(Default::default)
.or_default()
.push_back(outgoing);
self.sinks_to_poll.insert(to_repo_id);
}
Expand Down Expand Up @@ -1564,7 +1552,7 @@ impl Repo {
};
self.pending_messages
.entry(to_repo_id.clone())
.or_insert_with(Default::default)
.or_default()
.push_back(outgoing);
self.sinks_to_poll.insert(to_repo_id);
}
Expand Down Expand Up @@ -1602,10 +1590,7 @@ impl Repo {
.remote_repos
.drain()
.map(|(repo_id, remote_repo)| {
let pending = self
.pending_close_sinks
.entry(repo_id.clone())
.or_insert_with(Default::default);
let pending = self.pending_close_sinks.entry(repo_id.clone()).or_default();
pending.push(remote_repo.sink);
repo_id
})
Expand Down
4 changes: 2 additions & 2 deletions src/tokio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use tokio_util::codec::{Decoder, Encoder};
use crate::{repo::RepoHandle, ConnDirection};
use crate::{Message, NetworkError};

#[cfg(feature = "tokio-tungstenite")]
#[cfg(feature = "tungstenite")]
use futures::{Sink, SinkExt, Stream, StreamExt};

mod fs_storage;
Expand All @@ -33,7 +33,7 @@ impl RepoHandle {
Ok(())
}

#[cfg(feature = "tokio-tungstenite")]
#[cfg(feature = "tungstenite")]
pub async fn connect_tungstenite<S>(
&self,
stream: S,
Expand Down
6 changes: 4 additions & 2 deletions tests/network.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,8 @@ fn test_sinks_closed_on_replacement() {

done_sync_receiver.blocking_recv().unwrap();

let old_peers: HashMap<_, _> = peers_clone.drain().collect();
let old_peers = peers_clone.clone();
peers_clone.clear();

// Replace the peers.
let (sender, mut network_receiver) = channel(1);
Expand Down Expand Up @@ -406,7 +407,8 @@ fn test_streams_chained_on_replacement() {
}
});

let old_peers: HashMap<_, _> = peers_clone.drain().collect();
let old_peers = peers_clone.clone();
peers_clone.clear();

// Replace the peers.
// TODO: replace the peers with different networks to check chaining.
Expand Down

0 comments on commit 92c49f5

Please sign in to comment.