Paul King created GROOVY-7905:
---------------------------------
Summary: ListWithDefault DGM methods aren't type inference friendly
Key: GROOVY-7905
URL: https://issues.apache.org/jira/browse/GROOVY-7905
Project: Groovy
Issue Type: Improvement
Reporter: Paul King
Assignee: Paul King
For the following script:
{code}
@groovy.transform.CompileStatic
def method() {
def list = [].withDefault{ it.longValue() }
list[0] = list[3]
assert list[0] == 3 && list[0].class == Long
}
method()
{code}
The list access call {{list[3]}} doesn't funnel through the {{ListWithDefault}}
method but instead the {{DGM.getAt(List, int)}} method since {{List}} is the
inferred type. The {{withDefault}} methods could instead return the more
specific type and then the correct type will be inferred and the expected
behavior is observed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)