https://issues.dlang.org/show_bug.cgi?id=21538

RazvanN <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from RazvanN <[email protected]> ---
>From spec [1]: "A function in a derived class with the same name and covariant
with a function in a base class overrides that function". Also, [2] (point 8)
defines covariance: "A covariant function has a type that is implicitly
convertible to the type of the overridden function.". Finally, [3] (point 6)
shows that @safe functions are covariant with @system functions.

PR that explicitly introduced this: https://github.com/dlang/dmd/pull/6731 .

I think that this case was simply overlooked. Functions that implement
interface functions should match exactly.

[1] https://dlang.org/spec/function.html#function-inheritance
[2] https://dlang.org/spec/function.html#virtual-functions
[3] https://dlang.org/spec/function.html#safe-functions

--

Reply via email to