Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte Adaptée aux débutants
#443 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
java
Domaine
testing-qa

Piste de recherche

Commence par le traitement par défaut de Ghost dans TypeChecker.java, où l’exception signalée est levée, et compare la façon dont les ghosts de type int et boolean obtiennent des valeurs par défaut. Utilise le reproducteur fourni pour vérifier le cas float ; le travail est terminé lorsqu’un ghost de type float obtient une valeur par défaut ou que l’annotation @Ghost signale clairement une erreur en énumérant les types pris en charge.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Java
Étoiles
71
Forks
37
Merge moyen
1 j 19 h
PR mergées (30 j)
57

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de liquid-java/liquidjava

Toutes les issues de liquid-java/liquidjava

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.