[ https://issues.apache.org/jira/browse/GROOVY-8194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16017960#comment-16017960 ]
Jochen Theodorou commented on GROOVY-8194: ------------------------------------------ this is actually a heritage from the times we had no spread operator yet. We did not yet have a chance to really change this. So I agree this should be different, but for Groovy 1.x and Groovy 2.x this is the correct behaviour > property access on a list acts like the spread operator > ------------------------------------------------------- > > Key: GROOVY-8194 > URL: https://issues.apache.org/jira/browse/GROOVY-8194 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.4.4, 2.4.10 > Reporter: zyro > > why does the following assertion pass? > {code} > class Dummy { > String name > } > def dummyOne = new Dummy(name: "dummy one") > def dummyTwo = new Dummy(name: "dummy two") > def dummies = [dummyOne, dummyTwo] > assert dummies.name == ["dummy one", "dummy two"] > {code} > imho, {{dummies.name}} should fail with a {{MissingPropertyException}}. > the assertion should only pass if the spread operator is actually used like > {code} > assert dummies*.name == ["dummy one", "dummy two"] > {code} > reproduced with groovy-2.4.4 and 2.4.10. > same behavior if the list is defined inline or if the list is assigned to a > variable first. > thanks, zyro -- This message was sent by Atlassian JIRA (v6.3.15#6346)