This should not typecheck, but it typechecks
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Use the Java snippet in the issue as the reproduction case and run LiquidJava's type checker against it. Trace why the two calls to f() are accepted despite the stated state refinement, then verify that the checker rejects this example while preserving the intended refinement behavior.
Written by the indexing model from the issue text.
Description
@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();
}
}
- Dominant language
- Java
- Stars
- 67
- Forks
- 36
- Avg merge
- 10d 18h
- Merged PRs (30d)
- 3
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from liquid-java/liquidjava
-
enhancement
liquid-java/liquidjava#240 · 1 assignee ·
-
enhancement ide
Difficulty 3/5 1-2 days Newbie friendliness 45/100
liquid-java/liquidjava#206 ·
-
tests
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
liquid-java/liquidjava#198 ·
-
tests
Difficulty 4/5 3-5 days Newbie friendliness 25/100
liquid-java/liquidjava#197 ·
-
tests
Difficulty 4/5 3-5 days Newbie friendliness 35/100
liquid-java/liquidjava#196 · 2 comments ·
All issues in liquid-java/liquidjava
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
elastic/gradle-plugins#157 ·
-
enhancement Tools
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
apache/rocketmq-dashboard#5008 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
DETECT_PARAMETER_NAMES=false silently disables @ConstructorProperties-based Creator detection too Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
FasterXML/jackson-databind#6229 ·