Arnaud CAVAILHEZ created GROOVY-7843: ----------------------------------------
Summary: Trait method calling closure cannot be inherited while using CompileStatic Key: GROOVY-7843 URL: https://issues.apache.org/jira/browse/GROOVY-7843 Project: Groovy Issue Type: Bug Reporter: Arnaud CAVAILHEZ Priority: Minor A trait extending another and calling itself more than 3 times: ```@CompileStatic trait UpperTrait { void call(Closure body){ body() } }``` ```@CompileStatic trait LowerTrait extends UpperTrait { void threeCalls() { call { call { call { } } } } }``` Will generate a `ClassCastException` when called: ```class ImplementsTrait implements LowerTrait { } new ImplementsTrait().threeCalls() ``` raises: ```Caught: java.lang.ClassCastException: LowerTrait$Trait$Helper$_threeCalls_closure1 cannot be cast to UpperTrait java.lang.ClassCastException: LowerTrait$Trait$Helper$_threeCalls_closure1 cannot be cast to UpperTrait at LowerTrait$Trait$Helper$_threeCalls_closure1$_closure2.doCall(LowerTrait.groovy:9) etc..``` -- This message was sent by Atlassian JIRA (v6.3.4#6332)