Add proc macro for converting async traits to return StackFutures

Offen
#5 1 Kommentar 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
rust
Bereich
backend

Rechercherichtung

Beginnen Sie damit, die vorhandene StackFuture API und das im Issue referenzierte Verhalten der async_trait-Crate zu überprüfen. Legen Sie fest, wie das proc macro sowohl Trait-Deklarationen als auch impls expandieren soll, einschließlich der erforderlichen Lifetime-Annotationen; als erledigt gilt die Aufgabe, wenn beide Formen funktionierende Methoden liefern, die StackFuture mit der angeforderten Kapazität zurückgeben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

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.

Vorherrschende Sprache
Rust
Sterne
314
Forks
17
Ø Merge
11 Std. 50 Min.
Gemergte PRs (30 T.)
1

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/stackfuture

Alle Issues in microsoft/stackfuture

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.