Stale comments after the dict and JSX representation changes
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 55/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, ocaml
- Ambito
- compilers
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.mlL1453 says dict spreads compile toObject.assignviaPrimitive_dict.spread. Since #8747Pdict_spreadcompiles to an object literal with spreads (lam_compile_primitive.ml).analysis/reanalyze/src/side_effects.mlL63 says "Object.assign reads the spread dicts". The logic (a spread may have side effects) still holds; the wording does not.compiler/ml/lambda.mlL292-L294 says.cmjfiles marshalLambda.twithout a version check, so constructors must not be inserted where they shift existing tags. #8754 then insertedPjsxamong the non-constant constructors and changedPjs_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.
- Lingua principale
- OCaml
- Stelle
- 7.5k
- Fork
- 484
- Merge medio
- 19h 20m
- PR unite (30g)
- 96
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi 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.
Altre issue di rescript-lang/rescript
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
rescript-lang/rescript#8806 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
rescript-lang/rescript#8798 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 58/100
rescript-lang/rescript#8757 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 40/100
rescript-lang/rescript#8753 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 22/100
rescript-lang/rescript#8733 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di rescript-lang/rescript
Issue simili
-
crash mlir
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
llvm/llvm-project#231201 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
parcel-bundler/lightningcss#1370 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 6 giorni
-
bug intrinsic low priority rt_lib
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno