Invalid function call in generated output
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- javascript, ocaml
- Domaine
- compilers
Piste de recherche
Reproduisez l’issue 8153 avec le code source ReScript intégré et inspectez le JavaScript généré par le compilateur autour de test et broken. Comparez l’appel généré avec la cible globale du binding externe ; c’est terminé lorsque broken() conserve l’appel prévu à globalThis.test() au lieu de le résoudre vers le wrapper local.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
// External binding to global "test"
@val external _test: (string, (unit => unit) => unit) => unit = "test"
// Wrapper function shadows the external's target name
let test = (name, callback) => {
_test(name, _done => callback())
}
// BUG: This should call global test(), but calls local wrapper instead
let broken = () => {
_test("async", done => done())
}
Generates:
// Generated by ReScript, PLEASE EDIT WITH CARE
function test(name, callback) {
globalThis.test(name, _done => callback());
}
function broken() {
test("async", done => done());
}
export {
test,
broken,
}
/* No side effect */
- Langage dominant
- OCaml
- Étoiles
- 7.5k
- Forks
- 485
- Merge moyen
- 1 j 6 h
- PR mergées (30 j)
- 52
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de rescript-lang/rescript
-
Difficulté 4/5 3-5 jours Accessibilité débutants 68/100
rescript-lang/rescript#8688 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 76/100
rescript-lang/rescript#8687 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
rescript-lang/rescript#8659 · 2 commentaires · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
rescript-lang/rescript#8647 ·
Les mainteneurs répondent en général sous 1 jour
-
Untagged variants: boolean literal/payload overlap is rejected while string, int, float and bigint overlap is allowedPeut-être pris @cknitt l’a pris il y a 24 jours. Ouverte
rescript-lang/rescript#8632 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de rescript-lang/rescript
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
tree-sitter/tree-sitter-cpp#374 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
voidzero-dev/oxc-angular-compiler#511 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
tc39/proposal-deferred-reexports#98 ·
Les mainteneurs répondent en général sous 1 jour
-
bug good-title pdd
Difficulté 2/5 Moins d'une heure Accessibilité débutants 82/100
objectionary/phino#1630 ·
Les mainteneurs répondent en général sous 1 jour