[ 
https://issues.apache.org/jira/browse/GROOVY-10318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles updated GROOVY-10318:
---------------------------------
    Fix Version/s: 3.0.10

> Weird behavior of !in operator
> ------------------------------
>
>                 Key: GROOVY-10318
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10318
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 3.0.9
>            Reporter: Damir Murat
>            Assignee: Eric Milles
>            Priority: Major
>             Fix For: 4.0.0-beta-2, 3.0.10
>
>
> After upgrading to 3.0.9, I've noticed some unexpected behavior around the 
> "!in" operator. Consider the following example:
> {code:java}
> import groovy.transform.CompileStatic
> @CompileStatic
> class MyPogo {
>   String firstName
>   String lastName
> }
> @CompileStatic
> class Test {
>   void testMe() {
>     MyPogo myPogo = new MyPogo(firstName: "My First Name", lastName: "My Last 
> Name")
>     Map<String, ?> filteredProperties = myPogo.properties.findAll { 
>       Boolean result = it.key as String !in ["class"]
>       result
>     }
>     println filteredProperties
>     assert filteredProperties.size() == 2
>     
>     filteredProperties = myPogo.properties.findAll { 
>       (it.key as String !in ["class"]) as Boolean
>     }    
>     println filteredProperties
>     assert filteredProperties.size() == 2
>     
>     filteredProperties = myPogo.properties.findAll { 
>       it.key as String !in ["class"]
>     }    
>     println filteredProperties
>     assert filteredProperties.size() == 2
>   }
> }
> new Test().testMe()
> {code}
> When running it in GroocyConsole, the third assertion will fail without 
> apparent reason.
> It looks like for "!in" to work correctly, some additional operation is 
> required.
> The same code works for the 3.0.8 and 3.0.7 versions.
> Tnx



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

Reply via email to