Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Stale comments after the dict and JSX representation changes

Fermée
#8,767 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
Une demi-journée
Accessibilité débutants
55/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
Active
Stack technique
javascript, ocaml
Domaine
compilers

Piste de recherche

Start with the three comments named in the issue: compiler/ml/translcore.ml around line 1453, analysis/reanalyze/src/side_effects.ml around line 63, and compiler/ml/lambda.ml lines 292-294. Check them against compiler/core/lam_compile_primitive.ml, which now compiles Pdict_spread to an object literal. Done when the dict and side-effect comments describe the current output, and the lambda.ml comment is either corrected or backed by the constructor-ordering practice. That last part needs a maintainer decision, so ask before changing it.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Found by differential semantic drift analysis from ece8b148 to a7721303.

What is broken

Comments still describe representations that the dict and JSX changes replaced:

  • translcore.ml L1453 says dict spreads compile to Object.assign via Primitive_dict.spread. Since #8747 Pdict_spread compiles to an object literal with spreads (lam_compile_primitive.ml).
  • analysis/reanalyze/src/side_effects.ml L63 says "Object.assign reads the spread dicts". The logic (a spread may have side effects) still holds; the wording does not.
  • compiler/ml/lambda.ml L292-L294 says .cmj files marshal Lambda.t without a version check, so constructors must not be inserted where they shift existing tags. #8754 then inserted Pjsx among the non-constant constructors and changed Pjs_call. Rebuilds after a compiler change probably make this harmless, but the comment and the practice disagree: either the comment overstates the constraint, or the constraint was broken.

Possible cause (speculation only)

A guess: each PR updated the code paths it changed and their tests, while comments elsewhere that describe the same mechanism were not searched for.

Langage dominant
OCaml
Étoiles
7.5k
Forks
484
Merge moyen
19 h 46 min
PR mergées (30 j)
81

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de rescript-lang/rescript

Toutes les issues de rescript-lang/rescript

Issues similaires

Plus d'issues Compilers

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.