Remove async_trait dependency: async fn in traits is stable since Rust 1.75
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 50/100
Direção de pesquisa
Start by checking the DataFusion TableProvider trait definition and the PrunableStreamingTable implementation in src/lib.rs, then inspect the [dependencies] section of Cargo.toml. Confirm whether the trait uses native async fn; done means removing the attribute and dependency if compatible, then verifying with cargo test.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
Cargo.toml includes async-trait = '0.1' and src/lib.rs uses #[async_trait] on the TableProvider impl for PrunableStreamingTable.
The async_trait proc-macro crate was a workaround before Rust 1.75 (December 2023), which stabilized async fn in traits (RPITIT). The proc-macro generates less efficient code — it heap-allocates a Box<dyn Future> for each async call — whereas native async fn in traits avoids this overhead.
Steps
- Check whether the DataFusion
TableProvidertrait definition already uses nativeasync fn(it should in recent versions). - If so, remove the
#[async_trait]attribute from thePrunableStreamingTableimpl. - Remove
async-traitfromCargo.toml[dependencies]. - Verify with
cargo testthat nothing breaks.
Benefit
Reduces dependency count and eliminates unnecessary heap allocations in the async execution path.
- Linguagem predominante
- Python
- Estrelas
- 142
- Forks
- 19
- Merge médio
- 1d 9h
- PRs com merge (30d)
- 9
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o 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 xqlsystems/xarray-sql
-
documentation
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
xqlsystems/xarray-sql#268 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
xqlsystems/xarray-sql#267 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 74/100
xqlsystems/xarray-sql#243 ·
Mantenedores costumam responder em até 1 dia
-
publish.yml: the TestPyPI verification step is unreachable (and installs the wrong package name)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
xqlsystems/xarray-sql#242 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
xqlsystems/xarray-sql#237 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de xqlsystems/xarray-sql
Issues semelhantes
-
Use mhctools predictor_required=False for saved-result rescoringTalvez já em andamento @iskandr assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
521xueweihan/HelloGitHub#4051 · 1 comentário ·
-
bug documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
awslabs/visual-asset-management-system#514 ·
Mantenedores costumam responder em até 1 dia
-
backend bug spec:REQ-053
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
nolte/kamerplanter#2547 ·
Mantenedores costumam responder em até 1 dia