structuredClone accepts boxed Symbols as empty objects
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C++
- Sterne
- 127k
- Forks
- 25.3k
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
Description
The React Native structuredClone polyfill correctly rejects primitive Symbols but treats boxed Symbols as arbitrary objects. structuredClone(Object(Symbol())) therefore returns {} instead of throwing, even though boxed Symbols are also not structured-cloneable.
Expected behavior
Boxed Symbols should throw DataCloneError, matching native structuredClone. The error path should not string-coerce the wrapper because Hermes throws a separate TypeError for that coercion.
React Native Version
0.87.1 and current main
Affected Platforms
JavaScript runtime - All
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 beim structuredClone-Polyfill von React Native und reproduziere das Problem mit Object(Symbol()). Vergleiche sein Verhalten mit dem nativen structuredClone und dem bestehenden Pfad für primitive Symbols. Als erledigt gilt, dass boxed Symbols DataCloneError auslösen, ohne den Wrapper in einen String zu konvertieren, während das bestehende Klonverhalten unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, react-native
- Bereich
- mobile-dev
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 72/100