Introduce a collections crate w/ deterministic hashmap, hashset in tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
co-authored by
Nathan Sobo
parent
5ec003530f
commit
1a91aa8194
@@ -8,6 +8,7 @@ use super::{
|
||||
use anyhow::anyhow;
|
||||
use async_std::task;
|
||||
use async_tungstenite::{tungstenite::protocol::Role, WebSocketStream};
|
||||
use collections::{HashMap, HashSet};
|
||||
use futures::{future::BoxFuture, FutureExt};
|
||||
use parking_lot::{RwLock, RwLockReadGuard, RwLockWriteGuard};
|
||||
use postage::{mpsc, prelude::Sink as _, prelude::Stream as _};
|
||||
@@ -16,14 +17,7 @@ use rpc::{
|
||||
Connection, ConnectionId, Peer, TypedEnvelope,
|
||||
};
|
||||
use sha1::{Digest as _, Sha1};
|
||||
use std::{
|
||||
any::TypeId,
|
||||
collections::{HashMap, HashSet},
|
||||
future::Future,
|
||||
mem,
|
||||
sync::Arc,
|
||||
time::Instant,
|
||||
};
|
||||
use std::{any::TypeId, future::Future, mem, sync::Arc, time::Instant};
|
||||
use store::{Store, Worktree};
|
||||
use surf::StatusCode;
|
||||
use tide::log;
|
||||
@@ -220,7 +214,7 @@ impl Server {
|
||||
let receipt = request.receipt();
|
||||
let host_user_id = self.state().user_id_for_connection(request.sender_id)?;
|
||||
|
||||
let mut contact_user_ids = HashSet::new();
|
||||
let mut contact_user_ids = HashSet::default();
|
||||
contact_user_ids.insert(host_user_id);
|
||||
for github_login in request.payload.authorized_logins {
|
||||
match self.app_state.db.create_user(&github_login, false).await {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
use crate::db::{ChannelId, UserId};
|
||||
use anyhow::anyhow;
|
||||
use collections::{HashMap, HashSet};
|
||||
use rpc::{proto, ConnectionId};
|
||||
use std::collections::{hash_map, HashMap, HashSet};
|
||||
use std::collections::hash_map;
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct Store {
|
||||
@@ -172,15 +173,15 @@ impl Store {
|
||||
}
|
||||
|
||||
pub fn contacts_for_user(&self, user_id: UserId) -> Vec<proto::Contact> {
|
||||
let mut contacts = HashMap::new();
|
||||
let mut contacts = HashMap::default();
|
||||
for worktree_id in self
|
||||
.visible_worktrees_by_user_id
|
||||
.get(&user_id)
|
||||
.unwrap_or(&HashSet::new())
|
||||
.unwrap_or(&HashSet::default())
|
||||
{
|
||||
let worktree = &self.worktrees[worktree_id];
|
||||
|
||||
let mut guests = HashSet::new();
|
||||
let mut guests = HashSet::default();
|
||||
if let Ok(share) = worktree.share() {
|
||||
for guest_connection_id in share.guests.keys() {
|
||||
if let Ok(user_id) = self.user_id_for_connection(*guest_connection_id) {
|
||||
|
||||
Reference in New Issue
Block a user