Remove async_trait dependency: async fn in traits is stable since Rust 1.75
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 50/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 142
- Forks
- 19
- Ø Merge
- 1 T. 9 Std.
- Gemergte PRs (30 T.)
- 9
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus xqlsystems/xarray-sql
-
documentation
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
xqlsystems/xarray-sql#268 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
xqlsystems/xarray-sql#267 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 74/100
xqlsystems/xarray-sql#243 ·
Maintainer antworten meist innerhalb von 1 Tag
-
publish.yml: the TestPyPI verification step is unreachable (and installs the wrong package name)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
xqlsystems/xarray-sql#242 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
xqlsystems/xarray-sql#237 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in xqlsystems/xarray-sql
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
SublimeText/AdvancedNewFile#211 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
Imbad0202/academic-research-skills#987 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
Pull-through from gcr.io returns 500 when pulling using podman/buildahEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenIssue Triage-Needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
pulp/pulp_container#2581 ·
Maintainer antworten meist innerhalb von 1 Tag