[ 
https://issues.apache.org/jira/browse/GROOVY-9710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17189705#comment-17189705
 ] 

Sam Gleske edited comment on GROOVY-9710 at 9/2/20, 8:59 PM:
-------------------------------------------------------------

Your original wording makes it sound like sorting occurs based on the bigger 
list.  I was confused I guess.

I refactored my code using findAll so that order from the list I care about is 
guaranteed.  I'll close this since it doesn't appear to be a bug after our 
discussion.  Thanks for your help.


was (Author: samrocketman):
Your original wording makes it sound like sorting occurs based on the bigger 
list.  I was confused I guess.

I refactored my code using findAll so that order from the list I care about is 
guaranteed.  I'll close this since it doesn't appear to be a bug after our 
discussion.  

> List.intersect changes behavior from Groovy 2.4 and Groovy 2.5+
> ---------------------------------------------------------------
>
>                 Key: GROOVY-9710
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9710
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime
>    Affects Versions: 3.0.5, 2.5.13
>         Environment: Ubuntu 18.04.5 LTS
> OpenJDK Java 1.8.0_265 (Private Build 25.265-b01)
> Gradle 5.6.3
>            Reporter: Sam Gleske
>            Priority: Major
>
> h2. Description
> [List.intersect|http://docs.groovy-lang.org/latest/html/groovy-jdk/java/util/List.html#intersect(java.lang.Iterable)]
>  preserves the ordering of the source list in Groovy 2.4 but instead takes 
> the ordering of the intersecting list. This can lead to unexpected behavior 
> in Groovy applications as code migrates to newer versions of Groovy.
> h2. Example code
> {code:java}
> // Passes assertion in Groovy 2.4.20 but fails in Groovy 2.5.13 and 3.0.5
> assert ['a', 'b'].intersect(['c', 'b', 'a']) == ['a', 'b']{code}
> h2. Expected behavior
> The order of the first list is preserved.
> h2. Actual behavior
> The order of the second list takes precedence.
> h2. Groovy version matrix
> ||Groovy version||Behavior||
> |2.4.20|Assertion passes|
> |2.5.13|Assertion fails (order reversed) |
> |3.0.5|Assertion fails (order reversed) |



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to