liquid-java / liquid-java/liquidjava
This should not typecheck, but it typechecks
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 67
- Forks
- 36
- Ø Merge
- 10 T. 18 Std.
- Gemergte PRs (30 T.)
- 3
Beschreibung
```
@Ghost("int some_other_ghost")
public class Test2 {
int n = 0;
@StateRefinement(from="some_other_ghost(this) > 0", to="some_other_ghost(this) < 0")
private void f(){}
private void shouldFail(){
f();
f();
}
public static void main(String[] args) {
Test2 t = new Test2();
t.shouldFail();
}
}
```
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Verwende das Java-Snippet im Issue als Reproduktionsfall und führe LiquidJavas Typprüfer damit aus. Verfolge, warum die beiden Aufrufe von f() trotz der angegebenen Zustandsverfeinerung akzeptiert werden, und überprüfe anschließend, dass der Prüfer dieses Beispiel ablehnt und dabei das beabsichtigte Verfeinerungsverhalten beibehält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100