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

Outcome printer formats the bigint sign by hand instead of `Bigint_utils.to_string`

Chiusa Adatta ai principianti
#8,763 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
ocaml
Ambito
compilers

Direzione di ricerca

Inizia dal caso delle costanti bigint in compiler/syntax/src/res_outcome_printer.ml, intorno alle righe 486-487, dove segno e cifre vengono uniti a mano. Confrontalo con Bigint_utils.to_string in compiler/ml/bigint_utils.ml e verifica come res_core.ml usa già Bigint_utils dalla libreria syntax. È completato quando il printer chiama l'helper condiviso, la logica scritta a mano per il segno è stata eliminata e l'output stampato non cambia per i bigint positivi e negativi.

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

res_outcome_printer.ml L486-L487 formats a bigint constant by hand: (if positive then "" else "-") ^ digits ^ "n". The same logic exists as Bigint_utils.to_string, used by printlambda.ml and printtyped.ml. #8732 fixed a sign bug in exactly this hand-written copy. The syntax library already depends on ml and uses Bigint_utils (res_core.ml), so the printer can call the shared helper and keep one definition of the sign convention.

Possible cause (speculation only)

A guess: the fix in #8732 corrected the copy in place, the smallest change, rather than replacing it with the shared helper.

Lingua principale
OCaml
Stelle
7.5k
Fork
484
Merge medio
19h 46m
PR unite (30g)
81

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.