Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Issues from adversarial experiments on semantic analysts (ece8b148 to a7721303)

Aperta
#8,833 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
compilers

Direzione di ricerca

This issue groups 23 separate issues covering compiler behavior, syntax and formatting, editor analysis, rewatch, tests, docs, CI and package metadata. Start with the linked sub-issue that matches the area you want to work on; its description should identify the specific defect or task and any relevant files or tests. Done means resolving that sub-issue’s stated task; the issue provides no single completion check for the whole collection.

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

Descrizione

Found by adversarial experiments on semantic analysts.

23 issues, covering 58 distinct defects in the changes from ece8b148 to a7721303 and the code they touch. Each issue was checked against 8d51b9ce7: behaviour bugs were reproduced with the compiler built at that commit. None repeats #8757–#8767.

  • 11 behaviour bugs, each in its own issue: a compiler crash, 5 miscompilations or wrong outputs (record copies, two JSX preserve-mode cases, the PPX round trip, toplevel module await), 3 formatter bugs, a lost watch in rescript watch and a test-harness race
  • 12 issues, most of them checklists, for tests that no longer guard their claim, dead code, stale comments and docs, missing tests, CHANGELOG classification, CI and package metadata

Compiler

  • #8810 Compiler crash (matching.ml assertion) on dict and optional-field record patterns mixing a value and ?None on one key
  • #8811 Unused record copies are no longer removed: object spreads are always treated as side-effecting
  • #8812 JSX preserve mode: the call fallback copies props given by a sole spread
  • #8813 JSX preserve mode spreads an @unboxed props record
  • #8814 External PPX round trip turns Primitive_dict.make(...) calls into dict literals and flattens nested dict-literal spreads
  • #8815 Toplevel module M = await (P: S) compiles to a static import
  • #8816 CHANGELOG: removed % primitives and the -pp flag are listed under Internal but break user code
  • #8817 Dead code and duplication in compiler/ml
  • #8818 Stale comments in the compiler

Syntax, formatter and editor analysis

  • #8819 Formatter prints module(await (await M): S), which the parser rejects
  • #8820 Formatter drops comments in dict patterns, variant spread patterns and dict literal spreads
  • #8821 Formatter indents dict literal rows twice after a spread
  • #8822 Missing tests for dict and module-await syntax in reanalyze, the formatter and the v0 AST bridge
  • #8823 Dead code in editor analysis and reanalyze
  • #8824 Stale comments and docs in syntax and analysis

Rewatch, tests, docs and packaging

  • #8825 rewatch watch on Linux stops watching a source folder when an overlapping recursive source folder is removed from rescript.json
  • #8826 super_errors snapshot update can fail because the long-path run reads snapshots while they are being rewritten
  • #8827 Build-test fixtures that no longer test what they claim
  • #8828 Stale developer docs, test comments and the build schema
  • #8829 rewatch comments that contradict the code
  • #8830 CI does not run npm run typecheck
  • #8831 @apply.transforms in rescript-tools migrate has no test
  • #8832 Root package.json exports ./lib/es6/* and ./lib/js/*, which the rescript package does not contain
Lingua principale
OCaml
Stelle
7.5k
Fork
484
Merge medio
18h 19m
PR unite (30g)
116

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rescript-lang/rescript

Tutte le issue di rescript-lang/rescript

Issue simili

Altre issue su Compilers

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.