Reserver does not need to be generic
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia dalla struct Reserver e dai suoi blocchi impl Debug e inerenti, citati nell'issue, poi trova dove viene costruito e usato Reserver<ChunkId, ChunkId>. Rimuovi i parametri di tipo in modo che i campi reservations e pending_removals usino direttamente ChunkId, e aggiorna di conseguenza i blocchi impl e i punti di chiamata. È completato quando il crate compila con cargo check e i test esistenti passano con cargo test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The Reserver<K,V> currently has two type parameters, but is only ever created as Reserver<ChunkId, ChunkId>. Removing the type parameters and making the Reserver non-generic will make it more simple.
The current generic code:
pub struct Reserver<K, V> {
reservations: Cache<K, (V, UnboundedSender<V>, Instant), FxBuildHasher>,
pending_removals: Arc<Mutex<DelayQueue<K>>>,
}
impl<K, V> core::fmt::Debug for Reserver<K, V>
where
K: Hash + Eq + Send + Sync + Debug + Copy + 'static,
V: Send + Sync + Clone + Debug + 'static,
{
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("Reserver")
.field("reservations", &self.reservations)
.field("&pending_removals", &self.pending_removals)
.finish()
}
}
impl<K, V> Reserver<K, V>
where
K: Hash + Eq + Send + Sync + Debug + Copy + 'static,
V: Send + Sync + Clone + 'static,
- Lingua principale
- Rust
- Stelle
- 96
- Fork
- 2
- Merge medio
- 8g 22h
- PR unite (30g)
- 2
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di channable/opsqueue
-
Make `submissions_canceled` and `add_chunks_done_to_submissions_failed` migrations bidirectionalAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
channable/opsqueue#193 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Complexity of async rustApertadiscussion
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
channable/opsqueue#188 · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
channable/opsqueue#182 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di channable/opsqueue
Issue simili
-
area/infra good first issue type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
cristim/AztecCraft#92 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
charles-hood/DiagramCraft#51 ·
-
S: Untriaged T: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
libnyanpasu/clash-nyanpasu#5788 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
area:cli bug good first issue priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
rtk-ai/rtk#4589 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno