Support `LinkedList<@Refined(“x>0”) Integer>`
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
No source files or tests are named. Start by examining existing refinement handling and how LiquidHaskell handles list refinements, then investigate translating lists to SMT-LIB and unboxing Integer to int. Done means the LinkedList example accepts 10 and rejects -100.
Written by the indexing model from the issue text.
Description
Add support for refining all the items inside a List.
This is a large task with several challenges inside, some of them include:
- supporting list refinements, see how LiquidHaskell handles them;
- how to translate lists to SMT lib;
- unboxing Integer to int.
Small example code:
LinkedList<@Refinement(“x>0”) Integer> li = new ArrayList<Integer>();
li.add(10); // okay
li.add(-100; // error
- 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 ·