Add proc macro for converting async traits to return StackFutures
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece revisando a API existente de StackFuture e o comportamento da crate async_trait referenciado na issue. Defina como a proc macro deve ser expandida tanto para declarações de traits quanto para impls, incluindo as anotações de lifetime necessárias; considera-se concluído quando ambas as formas produzem métodos funcionais que retornam StackFuture com a capacidade solicitada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The idea here is to make a macro similar to the #[async_trait] one from the async trait crate. Using it would look something like this:
#[stackfuture::async_trait(4096)]
trait Foo {
async fn bar(&self) -> i32;
}
The macro would then expand to something like (along with whatever lifetime annotations are needed:
trait Foo {
fn bar(&self) -> StackFuture<i32, { 4096 }>`;
}
We'd do a similar thing for impls as well.
- Linguagem predominante
- Rust
- Estrelas
- 314
- Forks
- 17
- Merge médio
- 11h 50min
- PRs com merge (30d)
- 1
Guia de contribuição
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 microsoft/stackfuture
-
Add benchmarks Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
microsoft/stackfuture#8 · 1 reação ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/stackfuture#6 · 5 comentários ·
Todas as issues de microsoft/stackfuture
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
gitbutlerapp/gitbutler#15998 · 1 comentário ·
-
bug triage:deciding
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
open-telemetry/otel-arrow#4132 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100