Stale comments after the dict and JSX representation changes
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- Ein halber Tag
- Anfängerfreundlichkeit
- 55/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- javascript, ocaml
- Bereich
- compilers
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- OCaml
- Sterne
- 7.5k
- Forks
- 484
- Ø Merge
- 19 Std. 46 Min.
- Gemergte PRs (30 T.)
- 81
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus rescript-lang/rescript
-
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 58/100
rescript-lang/rescript#8757 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 40/100
rescript-lang/rescript#8753 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 22/100
rescript-lang/rescript#8733 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
rescript-lang/rescript#8727 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
rescript-lang/rescript#8726 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in rescript-lang/rescript
Ähnliche Issues
-
flang:semantics
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
llvm/llvm-project#231051 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug derived types format I/O medium priority semantics
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
webgpu-tools/wesl-rs#329 ·
Maintainer antworten meist innerhalb von 1 Tag
-
compiler/runtime
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
golang/go#82141 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag