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

Eric Milles commented on GROOVY-11975:
--------------------------------------

Extension methods or meta-class methods are another consideration.  Outside of 
STC, the addition of an extension to the super class could change the call 
target.

> STC: Groovy 5 can not compile super.foo with default interface method
> ---------------------------------------------------------------------
>
>                 Key: GROOVY-11975
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11975
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 5.x
>            Reporter: Saravanan
>            Assignee: Eric Milles
>            Priority: Minor
>         Attachments: image-2026-04-30-08-44-41-897.png
>
>
> {code:java}
> package com.company.test
> import groovy.transform.CompileStatic
> @CompileStatic
> interface IService {
>     default void save(T entity) {
>         System.out.println(entity);
>     }
> }
> @CompileStatic
> class TestGenericGroovy implements IService {
>     void save(String entity) {
>         // IService.super.save(entity) // works
>         super.save(entity) // doesn't work: Groovyc: [Static type checking] - 
> Default method save() requires qualified super
>     }
>     static void main(String[] args) {
>         new TestGenericGroovy().save("test")
>     }
> }
>  {code}
> This seems to stem from issue GROOVY-10494.
> Now that Groovy supports interfaces natively without traits, it looks like 
> this other fix is not necessary



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to