RustPython / RustPython/RustPython
Allow time implementation for wasm32-unknown-unknown
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 22.4k
- Forks
- 1.5k
- Ø Merge
- 16 Std. 33 Min.
- Gemergte PRs (30 T.)
- 165
Beschreibung
We are operating in a strict wasm32-unknown-unknown environment, but we do have a system API that provides the current nanoseconds. We would like to somehow hook up our time API into RustPython so that modules like time and datetime work properly.
In our own fork of RustPython, I've modified https://github.com/RustPython/RustPython/blob/main/vm/src/stdlib/time.rs in various places to remove any dependence on system time as an attempt to provide a blanket source of time for all time functionality.
You can see some of our changes here: https://github.com/demergent-labs/RustPython/commit/7439d7bc8de3f755c6f0629543a08322185d4c6f and here: https://github.com/demergent-labs/RustPython/commit/eea609fa590c8ccaade72d8948be0aabba858af8
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit vm/src/stdlib/time.rs und vergleiche die beiden referenzierten Commits im dem urgent-labs Fork, um die bestehenden wasm32-unknown-unknown-Änderungen zu verstehen. Ermittle, wie die API für Systemnanosekunden RustPython bereitgestellt und von den Modulen time und datetime gemeinsam genutzt werden soll. Als erledigt gilt, dass diese Module in der strikten wasm-Umgebung eine funktionierende Zeitfunktionalität bereitstellen, ohne auf nicht verfügbare Systemzeit angewiesen zu sein.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, wasm
- Bereich
- operating-systems
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100