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

A float ghost crashes the verifier: "Ghost not implemented for type float"

Aperta Adatta ai principianti
#443 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java
Ambito
testing-qa

Direzione di ricerca

Inizia dalla gestione predefinita di Ghost in TypeChecker.java, dove viene generata l’eccezione segnalata, e confronta come i ghost di tipo int e boolean ricevono valori predefiniti. Usa il riproduttore fornito per verificare il caso float; il lavoro è terminato quando un ghost di tipo float riceve un valore predefinito oppure l’annotazione @Ghost segnala chiaramente un errore elencando i tipi supportati.

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

Descrizione

Declaring a float ghost crashes the verifier when the ghost needs its default value. The result should be either support for the type or a proper error at the @Ghost annotation.

Reproducer:

import liquidjava.specification.Ghost;
import liquidjava.specification.StateRefinement;

@Ghost("float level")
class Tank {
    @StateRefinement(to = "true")
    public void fill() {}
}

public class Main {
    public static void main(String[] args) { Tank t = new Tank(); t.fill(); }
}

Found on main @ f7f366c (also on 1a506fe):

Exception in thread "main" java.lang.RuntimeException:
Error while checking CtConstructorImpl
  on null
  at (no source position: CtConstructorImpl)
  with Ghost not implemented for type float
	at liquidjava.processor.refinement_checker.TypeChecker.scan(TypeChecker.java:99)
	...

int and boolean ghosts get defaults (0, false); double was not tried. Expected: a default for float too (or a user-facing error naming the supported ghost types).

Found while cataloguing spec forms for co-specification (probe V19 there). Low priority.

Lingua principale
Java
Stelle
71
Fork
37
Merge medio
1g 19h
PR unite (30g)
57

Preparare l'ambiente

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 liquid-java/liquidjava

Tutte le issue di liquid-java/liquidjava

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.