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

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

Github user asfgit closed the pull request at:

    https://github.com/apache/groovy/pull/607


> Wrong 'Inconvertible types' error on casting interface 
> -------------------------------------------------------
>
>                 Key: GROOVY-8330
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8330
>             Project: Groovy
>          Issue Type: Bug
>          Components: Static compilation, Static Type Checker
>    Affects Versions: 2.4.12
>            Reporter: Alexey Afanasiev
>
> {code}
> import groovy.transform.CompileStatic
> interface A1{}
> interface A2 extends A1{}
>         
> class C1 implements A1{}
> class C2 extends C1 implements A2 {}
>         
> @CompileStatic
> def m(A2 a2) {
>        C1 c1 = (C1) a2 // There is error here now: Inconvertible types: 
> cannot cast A2 to C1
> }
> {code}
> JLS handle this situation in 5.1.6.1 :
> A narrowing reference conversion exists from reference type S to reference 
> type T
> if ......  - S is an interface type, T is a class type, and T does not name a 
> final class.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to