bytecodealliance / bytecodealliance/rustix

Better factoring for flags code

Offen
#513 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
2.1k
Forks
294
Ø Merge
6 T. 22 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Rustix has this pattern where it defines flags types in both src/backend/linux_raw/\*/types.rs and src/backend/libc/\*/types.rs and then publicly exports those types from src/\*/\*.rs. This leads to a fair amount of duplication.

In many cases, espeically for flags corresponding to Linux-specific features, it would work to just define the public type in src/\*/\*.rs using the values of `c::*` constants which we could arrange to be defined by both backends, and it'd have less overall duplication.

It'd be nice to factor out the flags values in this way.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Vergleiche die Flag-Definitionen in src/backend/linux_raw/*/types.rs und src/backend/libc/*/types.rs mit ihren öffentlichen Exporten in src/*/*.rs. Identifiziere doppelte Flag-Werte und bestimme, welche c::*-Konstanten aus beiden Backends verfügbar sein müssten. Die Arbeit ist abgeschlossen, wenn die öffentlichen Flag-Typen diese gemeinsamen Konstanten mit weniger Duplizierung verwenden können und dabei die bestehenden Backend-Exporte erhalten bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
operating-systems
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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