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

ASF GitHub Bot commented on GROOVY-8741:
----------------------------------------

Github user danielsun1106 commented on the pull request:

    
https://github.com/apache/groovy/commit/35a3df1436b76f315a925f7d30479c8d092805c0#commitcomment-30151884
  
    GROOVY-8741: Make single character GString behave like similar String in 
'==' #782


> Single character GString and '==' with Character or Number
> ----------------------------------------------------------
>
>                 Key: GROOVY-8741
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8741
>             Project: Groovy
>          Issue Type: Bug
>            Reporter: Mikko Värri
>            Priority: Major
>
> Similar things have been touched before, like GROOVY-2340. But I didn't see 
> exactly this. I'm not sure if single character GStrings are even a thing. 
> Sorry if they aren't.
> But I found the following a bit inconsistent:
> {code:java}
> final String S = 'A'
> final Character C = 'A'
> final GString G = "$S"
> final Number N = 65
> assert C == S && S == G // 1a
> assert C      ==      G // 1b
> assert S == C && G == S // 2a
> //assert      G == C      // 2b, fails, inconsistent with 2a and 1b
> assert N == S && S == G // 3a
> //assert N      ==      G // 3b, fails, inconsistent with 3a
> assert S == N && G == S // 4a
> //assert      G == N      // 4b, fails, inconsistent with 4a
> {code}
> So, a single character GString equals a character, but only if it is on RHS. 
> It doesn't equal a number, ever. I wonder if it should behave like String 
> here.
> If there's interest in "fixing" this, I've got a patch that allows all those 
> asserts pass and doesn't seem to fail any of the existing test cases.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to