bytecodealliance / bytecodealliance/rustix
Better factoring for flags code
- 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
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