[ 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)