July 09, 2017
https://issues.dlang.org/show_bug.cgi?id=2525

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu

--- Comment #13 from Martin Nowak <code@dawg.eu> ---
See Issue 9978 for why we allow to override interface functions. The given code should work.

--
July 09, 2017
https://issues.dlang.org/show_bug.cgi?id=2525

--- Comment #14 from Martin Nowak <code@dawg.eu> ---
As a workaround one can redeclare the interface methods in the abstract class.

----
interface I
{
    void foo();
}

abstract class A : I
{
    override void foo();
}

class B : A
{
    override void foo () {}
}
----

Note that this bug and the workaround also applies to implicit abstract classes.

----
interface I
{
    void foo();
}

class A : I
{
    abstract override void foo();
}

class B : A
{
    override void foo () {}
}
----

--
November 13, 2017
https://issues.dlang.org/show_bug.cgi?id=2525

Steven Schveighoffer <schveiguy@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |schveiguy@yahoo.com

--
January 09, 2020
https://issues.dlang.org/show_bug.cgi?id=2525

MichaelZ <dlang.org@bregalad.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dlang.org@bregalad.de

--
February 25, 2021
https://issues.dlang.org/show_bug.cgi?id=2525

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #15 from Dlang Bot <dlang-bot@dlang.rocks> ---
@seeseemelk created dlang/dmd pull request #12232 "Fix 2525: check all parent interfaces for overriden methods" fixing this issue:

- Fix 2525: check all parent interfaces for overriden methods

https://github.com/dlang/dmd/pull/12232

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=2525

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P3

--
January 29, 2023
https://issues.dlang.org/show_bug.cgi?id=2525

--- Comment #16 from Dlang Bot <dlang-bot@dlang.rocks> ---
@ntrel created dlang/dmd pull request #14853 "Fix 2525: check all parent interfaces for overriden methods" fixing this issue:

- Fix 2525: check all parent interfaces for overriden methods

  Fix 2525: refactor in order to use Array!(BaseClass) instead of dynamic array
and show deprecation

  Fix 2525: test if function is implemented by a parent class before throwing
an error

  Fix 2525: make forAllInterfaces take a delegate

  issue 2525: add unit tests

  issue 2525: update documentation

https://github.com/dlang/dmd/pull/14853

--
1 2
Next ›   Last »