Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Remove async_trait dependency: async fn in traits is stable since Rust 1.75

Aperta
#125 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
50/100
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
backend

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

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

  1. Check whether the DataFusion TableProvider trait definition already uses native async fn (it should in recent versions).
  2. If so, remove the #[async_trait] attribute from the PrunableStreamingTable impl.
  3. Remove async-trait from Cargo.toml [dependencies].
  4. Verify with cargo test that nothing breaks.

Benefit

Reduces dependency count and eliminates unnecessary heap allocations in the async execution path.

Lingua principale
Python
Stelle
142
Fork
19
Merge medio
1g 9h
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di xqlsystems/xarray-sql

Tutte le issue di xqlsystems/xarray-sql

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.