structuredClone accepts boxed Symbols as empty objects
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 127k
- Fork
- 25.3k
- Merge medio
- 1g 23h
- PR unite (30g)
- 4
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Parti dal polyfill structuredClone di React Native e riproduci il problema con Object(Symbol()). Confronta il suo comportamento con quello di structuredClone nativo e del percorso esistente per i Symbols primitivi. Il lavoro è completato quando i boxed Symbols generano DataCloneError senza convertire il wrapper in una stringa, mentre il comportamento di clonazione esistente rimane invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, react-native
- Ambito
- mobile-dev
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 72/100