emscripten-core / emscripten-core/emscripten

Named arguments(destructuring assignment) do not work for library functions

Aperta
#22,271 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
27.6k
Fork
3.6k
Merge medio
1g 14h
PR unite (30g)
125

Descrizione

The following example doesn't work. We'll need to update the regex for arrow functions [here](https://github.com/emscripten-core/emscripten/blob/d6f18aee98d183bde8210029975d68cae54a74c4/src/jsifier.mjs#L601) to support this.

```js
addToLibrary({
$zzz: ({num}) => {
console.log(num);
},
hello_world__deps: ['$zzz'],
hello_world: (num) => {
zzz({num});
}
});
```

```c
#include
#include

extern void hello_world(int);

int main() {
hello_world(99);
}
```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con l’espressione regolare delle arrow function in src/jsifier.mjs, intorno alla riga 601, e riproduci il problema usando l’esempio JavaScript addToLibrary e il relativo chiamante C. Verifica che le funzioni di libreria che usano parametri con destructuring vengano riconosciute correttamente e che l’esempio hello_world fornito funzioni come previsto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
compilers
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.