Reserver does not need to be generic
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
Direção de pesquisa
Comece pela struct Reserver e por seus blocos impl Debug e inerentes, citados na issue, e depois encontre onde Reserver<ChunkId, ChunkId> é construído e usado. Remova os parâmetros de tipo para que os campos reservations e pending_removals usem ChunkId diretamente, e atualize os blocos impl e os pontos de chamada de acordo. Está pronto quando o crate compila com cargo check e os testes existentes passam com cargo test.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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,
- Linguagem predominante
- Rust
- Estrelas
- 96
- Forks
- 2
- Merge médio
- 8d 22h
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de channable/opsqueue
-
Make `submissions_canceled` and `add_chunks_done_to_submissions_failed` migrations bidirectionalAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
channable/opsqueue#193 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Complexity of async rustAbertadiscussion
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
channable/opsqueue#188 · 1 reação ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
channable/opsqueue#182 · 4 comentários ·
Mantenedores costumam responder em até 2 dias
Todas as issues de channable/opsqueue
Issues semelhantes
-
priority: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
storytold/photocraft#6286 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Four problem loader browser tests fail on WindowsTalvez já em andamento @Patriciaath999 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
original-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
effort/S kind/docs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Claude Code guards in .claude/settings.json never block: they read unset variables and exit 1Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
starkware-libs/sequencer#15229 ·
Mantenedores costumam responder em até 1 dia